From fec9cddf4092f904a76dc091e39f34c18860aa98 Mon Sep 17 00:00:00 2001 From: "Barry vd. Heuvel" Date: Fri, 24 Apr 2026 14:27:13 +0200 Subject: [PATCH 1/3] Add summary --- resources/debugbar.css | 122 +++++++++++++++++++++ resources/debugbar.js | 116 ++++++++++++++++++++ resources/dist/debugbar.min.css | 2 +- resources/dist/debugbar.min.js | 33 +++--- src/DataCollector/RequestDataCollector.php | 8 ++ src/JavascriptRenderer.php | 4 +- 6 files changed, 266 insertions(+), 19 deletions(-) diff --git a/resources/debugbar.css b/resources/debugbar.css index b993e41c..a6b0e3ab 100644 --- a/resources/debugbar.css +++ b/resources/debugbar.css @@ -590,11 +590,133 @@ div.phpdebugbar-panel { height: 100%; overflow: auto; width: 100%; + position: relative; } div.phpdebugbar-panel.phpdebugbar-active { display: block; } +div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float { + position: sticky; + top: 0; + right: 0; + height: 0; + z-index: 3; + pointer-events: none; +} +div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn { + position: absolute; + top: 8px; + right: 8px; + pointer-events: auto; + width: 28px; + height: 28px; + padding: 0; + display: inline-flex; + align-items: center; + justify-content: center; + color: var(--debugbar-text-muted); + background-color: var(--debugbar-background); + border: 1px solid var(--debugbar-border); + border-radius: 3px; + cursor: pointer; + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18); + transition: transform 0.12s ease, box-shadow 0.12s ease, color 0.12s ease; +} +div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn:hover { + color: var(--debugbar-text); + transform: translateY(-1px); + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.22); +} +div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn.phpdebugbar-panel-summary-btn-active { + color: var(--debugbar-text); + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22) inset; +} +div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn::before { + content: ""; + display: inline-block; + width: 16px; + height: 16px; + -webkit-mask-image: var(--debugbar-icon-bookmark); + mask-image: var(--debugbar-icon-bookmark); + -webkit-mask-size: contain; + mask-size: contain; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-position: center; + mask-position: center; + background-color: currentColor; +} + +div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover { + position: absolute; + top: 44px; + right: 8px; + pointer-events: auto; + min-width: 260px; + max-width: min(480px, 90vw); + max-height: 60vh; + padding: 8px; + background-color: var(--debugbar-background); + border: 1px solid var(--debugbar-border); + border-radius: 4px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); + display: flex; + flex-direction: column; + gap: 6px; + overflow: hidden; +} +div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover div.phpdebugbar-panel-summary-content { + flex: 1 1 auto; + overflow: auto; + white-space: pre-wrap; + word-break: break-word; + font-family: var(--debugbar-font-mono); + font-size: 11px; + line-height: 1.4; + color: var(--debugbar-text); + padding: 4px; + background-color: var(--debugbar-background-alt); + border-radius: 3px; +} +div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy { + flex: 0 0 auto; + align-self: flex-end; + display: inline-flex; + align-items: center; + gap: 4px; + padding: 2px 8px; + font-size: 11px; + font-family: inherit; + color: var(--debugbar-text); + background-color: var(--debugbar-background-alt); + border: 1px solid var(--debugbar-border); + border-radius: 3px; + cursor: pointer; + line-height: 1.4; +} +div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy:hover { + background-color: var(--debugbar-background); +} +div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy::before { + content: ""; + display: inline-block; + width: 11px; + height: 11px; + -webkit-mask-image: var(--debugbar-icon-copy); + mask-image: var(--debugbar-icon-copy); + -webkit-mask-size: contain; + mask-size: contain; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-position: center; + mask-position: center; + background-color: currentColor; +} +div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy.phpdebugbar-panel-summary-copied { + color: var(--debugbar-success, #4caf50); +} + /* -------------------------------------- */ div.phpdebugbar-mini-design a.phpdebugbar-tab { diff --git a/resources/debugbar.js b/resources/debugbar.js index 4e5042d4..1aaa5030 100644 --- a/resources/debugbar.js +++ b/resources/debugbar.js @@ -247,6 +247,8 @@ window.PhpDebugBar = window.PhpDebugBar || {}; * - title * - badge * - widget + * - summary: string (shown as-is) or object (rendered as "key = value" + * per line). Shows a floating button with a popover + copy button. * - data: forward data to widget data */ class Tab extends Widget { @@ -287,11 +289,125 @@ window.PhpDebugBar = window.PhpDebugBar || {}; } }); + this.summaryFloat = document.createElement('div'); + this.summaryFloat.classList.add(csscls('panel-summary-float')); + this.summaryFloat.hidden = true; + + this.summaryBtn = document.createElement('button'); + this.summaryBtn.type = 'button'; + this.summaryBtn.classList.add(csscls('panel-summary-btn')); + this.summaryBtn.setAttribute('title', 'Show summary'); + this.summaryBtn.addEventListener('click', (e) => { + e.stopPropagation(); + this._toggleSummary(); + }); + this.summaryFloat.append(this.summaryBtn); + + this.summaryPopover = document.createElement('div'); + this.summaryPopover.classList.add(csscls('panel-summary-popover')); + this.summaryPopover.hidden = true; + this.summaryPopover.addEventListener('click', (e) => { + e.stopPropagation(); + }); + + this.summaryContent = document.createElement('div'); + this.summaryContent.classList.add(csscls('panel-summary-content')); + this.summaryPopover.append(this.summaryContent); + + this.summaryCopyBtn = document.createElement('button'); + this.summaryCopyBtn.type = 'button'; + this.summaryCopyBtn.classList.add(csscls('panel-summary-copy')); + this.summaryCopyBtn.setAttribute('title', 'Copy to clipboard'); + this.summaryCopyLabel = document.createElement('span'); + this.summaryCopyLabel.textContent = 'Copy'; + this.summaryCopyBtn.append(this.summaryCopyLabel); + this.summaryCopyBtn.addEventListener('click', () => { + const text = this._summaryText || ''; + if (!text) { + return; + } + const done = () => { + const prev = this.summaryCopyLabel.textContent; + this.summaryCopyBtn.classList.add(csscls('panel-summary-copied')); + this.summaryCopyLabel.textContent = 'Copied!'; + setTimeout(() => { + this.summaryCopyLabel.textContent = prev; + this.summaryCopyBtn.classList.remove(csscls('panel-summary-copied')); + }, 1500); + }; + if (navigator.clipboard?.writeText) { + navigator.clipboard.writeText(text).then(done, () => {}); + } else { + const ta = document.createElement('textarea'); + ta.value = text; + ta.style.position = 'fixed'; + ta.style.opacity = '0'; + document.body.append(ta); + ta.select(); + try { + if (document.execCommand('copy')) { + done(); + } + } catch (e) { + // ignore + } + ta.remove(); + } + }); + this.summaryPopover.append(this.summaryCopyBtn); + this.summaryFloat.append(this.summaryPopover); + + this._closeSummaryOnDocClick = () => { + this.summaryPopover.hidden = true; + this.summaryBtn.classList.remove(csscls('panel-summary-btn-active')); + }; + this._closeSummaryOnEsc = (e) => { + if (e.key === 'Escape') { + this._closeSummaryOnDocClick(); + } + }; + + this._toggleSummary = () => { + const wasHidden = this.summaryPopover.hidden; + this.summaryPopover.hidden = !wasHidden; + this.summaryBtn.classList.toggle(csscls('panel-summary-btn-active'), wasHidden); + if (wasHidden) { + document.addEventListener('click', this._closeSummaryOnDocClick); + document.addEventListener('keydown', this._closeSummaryOnEsc); + } else { + document.removeEventListener('click', this._closeSummaryOnDocClick); + document.removeEventListener('keydown', this._closeSummaryOnEsc); + } + }; + this.bindAttr('widget', function (widget) { this.el.innerHTML = ''; + this.el.append(this.summaryFloat); this.el.append(widget.el); }); + this.bindAttr('summary', function (summary) { + let text = ''; + if (typeof summary === 'string') { + text = summary; + } else if (summary != null && typeof summary === 'object') { + text = Object.entries(summary) + .map(([k, v]) => { + const val = v !== null && typeof v === 'object' + ? JSON.stringify(v) + : String(v); + return `${k} = ${val}`; + }) + .join('\n'); + } + this._summaryText = text; + this.summaryContent.textContent = text; + this.summaryFloat.hidden = !text; + if (!text && !this.summaryPopover.hidden) { + this._closeSummaryOnDocClick(); + } + }); + this.widgetRendered = false; this.bindAttr('data', function (data) { if (this.has('widget')) { diff --git a/resources/dist/debugbar.min.css b/resources/dist/debugbar.min.css index 3f5a6f5d..87c5f76f 100644 --- a/resources/dist/debugbar.min.css +++ b/resources/dist/debugbar.min.css @@ -1,4 +1,4 @@ -:root{--debugbar-icon-adjustments: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2010a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%204v4%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2012v8%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2016a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%204v10%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2018v2%22%20%2F%3E%20%3Cpath%20d%3D%22M16%207a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%204v1%22%20%2F%3E%20%3Cpath%20d%3D%22M18%209v11%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-adjustments-horizontal: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%206a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206l8%200%22%20%2F%3E%20%3Cpath%20d%3D%22M16%206l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2012a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012l2%200%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2012l10%200%22%20%2F%3E%20%3Cpath%20d%3D%22M15%2018a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2018l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M19%2018l1%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrow-right: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2012l14%200%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2018l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M13%206l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-left-right: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2017l-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2010l-3%20-3l3%20-3%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207l18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2020l3%20-3l-3%20-3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bolt: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%203l0%207l6%200l-8%2011l0%20-7l-6%200l8%20-11%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bookmark: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M18%207v14l-6%20-4l-6%204v-14a4%204%200%200%201%204%20-4h4a4%204%200%200%201%204%204%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-box: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%203l8%204.5l0%209l-8%204.5l-8%20-4.5l0%20-9l8%20-4.5%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l8%20-4.5%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l0%209%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l-8%20-4.5%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-briefcase: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%209a2%202%200%200%201%202%20-2h14a2%202%200%200%201%202%202v9a2%202%200%200%201%20-2%202h-14a2%202%200%200%201%20-2%20-2l0%20-9%22%20%2F%3E%20%3Cpath%20d%3D%22M8%207v-2a2%202%200%200%201%202%20-2h4a2%202%200%200%201%202%202v2%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2013a20%2020%200%200%200%2018%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bug: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%209v-1a3%203%200%200%201%206%200v1%22%20%2F%3E%20%3Cpath%20d%3D%22M8%209h8a6%206%200%200%201%201%203v3a5%205%200%200%201%20-10%200v-3a6%206%200%200%201%201%20-3%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2013l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2013l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2020l0%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2019l3.35%20-2%22%20%2F%3E%20%3Cpath%20d%3D%22M20%2019l-3.35%20-2%22%20%2F%3E%20%3Cpath%20d%3D%22M4%207l3.75%202.4%22%20%2F%3E%20%3Cpath%20d%3D%22M20%207l-3.75%202.4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-calendar: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%207a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-12a2%202%200%200%201%20-2%20-2v-12%22%20%2F%3E%20%3Cpath%20d%3D%22M16%203v4%22%20%2F%3E%20%3Cpath%20d%3D%22M8%203v4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2011h16%22%20%2F%3E%20%3Cpath%20d%3D%22M11%2015h1%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2015v3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chart-infographic: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207a4%204%200%201%200%208%200a4%204%200%201%200%20-8%200%22%20%2F%3E%20%3Cpath%20d%3D%22M7%203v4h4%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2017l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2014l0%207%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2013l0%208%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2012l0%209%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-clock: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%2018%200a9%209%200%200%200%20-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%207v5l3%203%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-code: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M7%208l-4%204l4%204%22%20%2F%3E%20%3Cpath%20d%3D%22M17%208l4%204l-4%204%22%20%2F%3E%20%3Cpath%20d%3D%22M14%204l-4%2016%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-database: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206a8%203%200%201%200%2016%200a8%203%200%201%200%20-16%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206v6a8%203%200%200%200%2016%200v-6%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012v6a8%203%200%200%200%2016%200v-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-file-code: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M14%203v4a1%201%200%200%200%201%201h4%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2021h-10a2%202%200%200%201%20-2%20-2v-14a2%202%200%200%201%202%20-2h7l5%205v11a2%202%200%200%201%20-2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2013l-1%202l1%202%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2013l1%202l-1%202%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-flag: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%205a5%205%200%200%201%207%200a5%205%200%200%200%207%200v9a5%205%200%200%201%20-7%200a5%205%200%200%200%20-7%200v-9%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2021v-7%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-history: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%208l0%204l2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M3.05%2011a9%209%200%201%201%20.5%204m-.5%205v-5h5%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-inbox: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-12a2%202%200%200%201%20-2%20-2l0%20-12%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2013h3l3%203h4l3%20-3h3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-leaf: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2021c.5%20-4.5%202.5%20-8%207%20-10%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2018c6.218%200%2010.5%20-3.288%2011%20-12v-2h-4.014c-9%200%20-11.986%204%20-12%209c0%201%200%203%202%205h3l.014%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-list: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%206l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2012l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2018l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M5%206l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2012l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2018l0%20.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-logs: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2018h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2018h2%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2012h2%22%20%2F%3E%20%3Cpath%20d%3D%22M8%206h2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%206h6%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2012h6%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2018h6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-mobiledata: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2012v-8%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2020v-8%22%20%2F%3E%20%3Cpath%20d%3D%22M13%207l3%20-3l3%203%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2017l3%203l3%20-3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-search: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010a7%207%200%201%200%2014%200a7%207%200%201%200%20-14%200%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2021l-6%20-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-server-cog: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207a3%203%200%200%201%203%20-3h12a3%203%200%200%201%203%203v2a3%203%200%200%201%20-3%203h-12a3%203%200%200%201%20-3%20-3v-2%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2020h-6a3%203%200%200%201%20-3%20-3v-2a3%203%200%200%201%203%20-3h10.5%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2018a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2014.5v1.5%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2020v1.5%22%20%2F%3E%20%3Cpath%20d%3D%22M21.032%2016.25l-1.299%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M16.27%2019l-1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M14.97%2016.25l1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M19.733%2019l1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M7%208v.01%22%20%2F%3E%20%3Cpath%20d%3D%22M7%2016v.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-share-3: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%204v4c-6.575%201.028%20-9.02%206.788%20-10%2012c-.037%20.206%205.384%20-5.962%2010%20-6v4l8%20-7l-8%20-7%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-tags: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%208v4.172a2%202%200%200%200%20.586%201.414l5.71%205.71a2.41%202.41%200%200%200%203.408%200l3.592%20-3.592a2.41%202.41%200%200%200%200%20-3.408l-5.71%20-5.71a2%202%200%200%200%20-1.414%20-.586h-4.172a2%202%200%200%200%20-2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2019l1.592%20-1.592a4.82%204.82%200%200%200%200%20-6.816l-4.592%20-4.592%22%20%2F%3E%20%3Cpath%20d%3D%22M7%2010h-.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-x: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M18%206l-12%2012%22%20%2F%3E%20%3Cpath%20d%3D%22M6%206l12%2012%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-maximize: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M16%204l4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2010l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2020l-4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2020l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2020l4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2014l6%206%22%20%2F%3E%20%3Cpath%20d%3D%22M8%204l-4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M4%204l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-minimize: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%209l4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M3%203l6%206%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2015l4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2021l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M19%209l-4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M15%209l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M19%2015l-4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M15%2015l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chevron-down: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M6%209l6%206l6%20-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chevron-up: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2015l6%20-6l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-folder-open: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2019l2.757%20-7.351a1%201%200%200%201%20.936%20-.649h12.307a1%201%200%200%201%20.986%201.164l-.996%205.211a2%202%200%200%201%20-1.964%201.625h-14.026a2%202%200%200%201%20-2%20-2v-11a2%202%200%200%201%202%20-2h4l3%203h7a2%202%200%200%201%202%202v2%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-brand-php: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M2%2012a10%209%200%201%200%2020%200a10%209%200%201%200%20-20%200%22%20%2F%3E%20%3Cpath%20d%3D%22M5.5%2015l.395%20-1.974l.605%20-3.026h1.32a1%201%200%200%201%20.986%201.164l-.167%201a1%201%200%200%201%20-.986%20.836h-1.653%22%20%2F%3E%20%3Cpath%20d%3D%22M15.5%2015l.395%20-1.974l.605%20-3.026h1.32a1%201%200%200%201%20.986%201.164l-.167%201a1%201%200%200%201%20-.986%20.836h-1.653%22%20%2F%3E%20%3Cpath%20d%3D%22M12%207.5l-1%205.5%22%20%2F%3E%20%3Cpath%20d%3D%22M11.6%2010h2.4l-.5%203%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-refresh: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M20%2011a8.1%208.1%200%200%200%20-15.5%20-2m-.5%20-4v4h4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2013a8.1%208.1%200%200%200%2015.5%202m.5%204v-4h-4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-cpu: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%206a1%201%200%200%201%201%20-1h12a1%201%200%200%201%201%201v12a1%201%200%200%201%20-1%201h-12a1%201%200%200%201%20-1%20-1l0%20-12%22%20%2F%3E%20%3Cpath%20d%3D%22M9%209h6v6h-6l0%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010h2%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2014h2%22%20%2F%3E%20%3Cpath%20d%3D%22M10%203v2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%203v2%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2010h-2%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2014h-2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2021v-2%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2021v-2%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-table: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%205a2%202%200%200%201%202%20-2h14a2%202%200%200%201%202%202v14a2%202%200%200%201%20-2%202h-14a2%202%200%200%201%20-2%20-2v-14%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010h18%22%20%2F%3E%20%3Cpath%20d%3D%22M10%203v18%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-link: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2015l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M11%206l.463%20-.536a5%205%200%200%201%207.071%207.072l-.534%20.464%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2018l-.397%20.534a5.068%205.068%200%200%201%20-7.127%200a4.972%204.972%200%200%201%200%20-7.071l.524%20-.463%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-copy: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M7%209.667a2.667%202.667%200%200%201%202.667%20-2.667h8.666a2.667%202.667%200%200%201%202.667%202.667v8.666a2.667%202.667%200%200%201%20-2.667%202.667h-8.666a2.667%202.667%200%200%201%20-2.667%20-2.667l0%20-8.666%22%20%2F%3E%20%3Cpath%20d%3D%22M4.012%2016.737a2.005%202.005%200%200%201%20-1.012%20-1.737v-10c0%20-1.1%20.9%20-2%202%20-2h10c.75%200%201.158%20.385%201.5%201%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-circle-check: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%2018%200a9%209%200%201%200%20-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2012l2%202l4%20-4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-external-link: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%206h-6a2%202%200%200%200%20-2%202v10a2%202%200%200%200%202%202h10a2%202%200%200%200%202%20-2v-6%22%20%2F%3E%20%3Cpath%20d%3D%22M11%2013l9%20-9%22%20%2F%3E%20%3Cpath%20d%3D%22M15%204h5v5%22%20%2F%3E%20%3C%2Fsvg%3E)}.phpdebugbar-icon-adjustments:before{-webkit-mask-image:var(--debugbar-icon-adjustments);mask-image:var(--debugbar-icon-adjustments)}.phpdebugbar-icon-adjustments-horizontal:before{-webkit-mask-image:var(--debugbar-icon-adjustments-horizontal);mask-image:var(--debugbar-icon-adjustments-horizontal)}.phpdebugbar-icon-arrow-right:before{-webkit-mask-image:var(--debugbar-icon-arrow-right);mask-image:var(--debugbar-icon-arrow-right)}.phpdebugbar-icon-arrows-left-right:before{-webkit-mask-image:var(--debugbar-icon-arrows-left-right);mask-image:var(--debugbar-icon-arrows-left-right)}.phpdebugbar-icon-bolt:before{-webkit-mask-image:var(--debugbar-icon-bolt);mask-image:var(--debugbar-icon-bolt)}.phpdebugbar-icon-bookmark:before{-webkit-mask-image:var(--debugbar-icon-bookmark);mask-image:var(--debugbar-icon-bookmark)}.phpdebugbar-icon-box:before{-webkit-mask-image:var(--debugbar-icon-box);mask-image:var(--debugbar-icon-box)}.phpdebugbar-icon-briefcase:before{-webkit-mask-image:var(--debugbar-icon-briefcase);mask-image:var(--debugbar-icon-briefcase)}.phpdebugbar-icon-bug:before{-webkit-mask-image:var(--debugbar-icon-bug);mask-image:var(--debugbar-icon-bug)}.phpdebugbar-icon-calendar:before{-webkit-mask-image:var(--debugbar-icon-calendar);mask-image:var(--debugbar-icon-calendar)}.phpdebugbar-icon-chart-infographic:before{-webkit-mask-image:var(--debugbar-icon-chart-infographic);mask-image:var(--debugbar-icon-chart-infographic)}.phpdebugbar-icon-clock:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}.phpdebugbar-icon-code:before{-webkit-mask-image:var(--debugbar-icon-code);mask-image:var(--debugbar-icon-code)}.phpdebugbar-icon-database:before{-webkit-mask-image:var(--debugbar-icon-database);mask-image:var(--debugbar-icon-database)}.phpdebugbar-icon-file-code:before{-webkit-mask-image:var(--debugbar-icon-file-code);mask-image:var(--debugbar-icon-file-code)}.phpdebugbar-icon-flag:before{-webkit-mask-image:var(--debugbar-icon-flag);mask-image:var(--debugbar-icon-flag)}.phpdebugbar-icon-history:before{-webkit-mask-image:var(--debugbar-icon-history);mask-image:var(--debugbar-icon-history)}.phpdebugbar-icon-inbox:before{-webkit-mask-image:var(--debugbar-icon-inbox);mask-image:var(--debugbar-icon-inbox)}.phpdebugbar-icon-leaf:before{-webkit-mask-image:var(--debugbar-icon-leaf);mask-image:var(--debugbar-icon-leaf)}.phpdebugbar-icon-list:before{-webkit-mask-image:var(--debugbar-icon-list);mask-image:var(--debugbar-icon-list)}.phpdebugbar-icon-logs:before{-webkit-mask-image:var(--debugbar-icon-logs);mask-image:var(--debugbar-icon-logs)}.phpdebugbar-icon-mobiledata:before{-webkit-mask-image:var(--debugbar-icon-mobiledata);mask-image:var(--debugbar-icon-mobiledata)}.phpdebugbar-icon-search:before{-webkit-mask-image:var(--debugbar-icon-search);mask-image:var(--debugbar-icon-search)}.phpdebugbar-icon-server-cog:before{-webkit-mask-image:var(--debugbar-icon-server-cog);mask-image:var(--debugbar-icon-server-cog)}.phpdebugbar-icon-share-3:before{-webkit-mask-image:var(--debugbar-icon-share-3);mask-image:var(--debugbar-icon-share-3)}.phpdebugbar-icon-tags:before{-webkit-mask-image:var(--debugbar-icon-tags);mask-image:var(--debugbar-icon-tags)}.phpdebugbar-icon-x:before{-webkit-mask-image:var(--debugbar-icon-x);mask-image:var(--debugbar-icon-x)}.phpdebugbar-icon-arrows-maximize:before{-webkit-mask-image:var(--debugbar-icon-arrows-maximize);mask-image:var(--debugbar-icon-arrows-maximize)}.phpdebugbar-icon-arrows-minimize:before{-webkit-mask-image:var(--debugbar-icon-arrows-minimize);mask-image:var(--debugbar-icon-arrows-minimize)}.phpdebugbar-icon-chevron-down:before{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}.phpdebugbar-icon-chevron-up:before{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}.phpdebugbar-icon-folder-open:before{-webkit-mask-image:var(--debugbar-icon-folder-open);mask-image:var(--debugbar-icon-folder-open)}.phpdebugbar-icon-brand-php:before{-webkit-mask-image:var(--debugbar-icon-brand-php);mask-image:var(--debugbar-icon-brand-php)}.phpdebugbar-icon-refresh:before{-webkit-mask-image:var(--debugbar-icon-refresh);mask-image:var(--debugbar-icon-refresh)}.phpdebugbar-icon-cpu:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}.phpdebugbar-icon-table:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}.phpdebugbar-icon-link:before{-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link)}.phpdebugbar-icon-copy:before{-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy)}.phpdebugbar-icon-circle-check:before{-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}.phpdebugbar-icon-external-link:before{-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link)}@media print{div.phpdebugbar{display:none}}div.phpdebugbar,div.phpdebugbar-openhandler,div.phpdebugbar-widgets-datasets-panel{--debugbar-background: #F7F7F7;--debugbar-background-alt: #EFEFEF;--debugbar-text: #222;--debugbar-text-muted: #888;--debugbar-border: #eee;--debugbar-header: #efefef;--debugbar-header-text: #555;--debugbar-header-border: #ddd;--debugbar-active: #ccc;--debugbar-active-text: #666;--debugbar-icons: #555;--debugbar-badge: #ccc;--debugbar-badge-text: #555;--debugbar-badge-active: #477e96;--debugbar-badge-active-text: #fff;--debugbar-link: #888;--debugbar-hover: #aaa;--debugbar-accent: #6BB7D8;--debugbar-accent-border: #477e96;--debugbar-font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--debugbar-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--debugbar-icon-brand: var(--debugbar-icon-brand-php)}div.phpdebugbar[data-theme=dark],div.phpdebugbar-openhandler[data-theme=dark],div.phpdebugbar-widgets-datasets-panel[data-theme=dark]{--debugbar-background: #2a2a2a;--debugbar-background-alt: #333333;--debugbar-text: #e0e0e0;--debugbar-text-muted: #aaaaaa;--debugbar-border: #3a3a3a;--debugbar-header: #1e1e1e;--debugbar-header-text: #cccccc;--debugbar-header-border: #444;--debugbar-active: #444;--debugbar-active-text: #e0e0e0;--debugbar-icons: #cccccc;--debugbar-badge: #444;--debugbar-badge-text: #cccccc;--debugbar-badge-active: #4F8FB3;--debugbar-badge-active-text: #1e1e1e;--debugbar-accent: #4F8FB3;--debugbar-accent-border: #3F7A94;--debugbar-link: #aaaaaa;--debugbar-hover: #888888}div.phpdebugbar{position:fixed;bottom:0;left:0;width:100%;border-top:0;font-family:var(--debugbar-font-sans);background:var(--debugbar-background);z-index:100000000;font-size:13px;color:var(--debugbar-text);text-align:left;line-height:1.2em;letter-spacing:normal;direction:ltr}div.phpdebugbar.phpdebugbar-fullscreen,div.phpdebugbar.phpdebugbar-fullscreen[data-toolbarPosition=top]{top:0;bottom:0;display:flex;flex-direction:column}div.phpdebugbar.phpdebugbar-fullscreen .phpdebugbar-body{flex:1;height:calc(100% - 32px)!important}div.phpdebugbar.phpdebugbar-fullscreen .phpdebugbar-resize-handle{display:none}.phpdebugbar [hidden]{display:none!important}div.phpdebugbar[data-openBtnPosition=bottomRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=topRight].phpdebugbar-closed{left:auto;right:0}div.phpdebugbar[data-openBtnPosition=topRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=topLeft].phpdebugbar-closed{bottom:auto;top:0;border-bottom:1px solid var(--debugbar-header-border)}div.phpdebugbar[data-openBtnPosition=bottomRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=bottomLeft].phpdebugbar-closed{border-top:1px solid var(--debugbar-header-border)}.phpdebugbar-closed[data-openBtnPosition=bottomLeft],.phpdebugbar-closed[data-openBtnPosition=topLeft]{border-right:1px solid var(--debugbar-header-border)}.phpdebugbar-closed[data-openBtnPosition=bottomRight],.phpdebugbar-closed[data-openBtnPosition=topRight]{border-left:1px solid var(--debugbar-header-border)}div.phpdebugbar a,div.phpdebugbar-openhandler{cursor:pointer}div.phpdebugbar-drag-capture{position:fixed;inset:0;z-index:100000001;background:none;display:none;cursor:row-resize}div.phpdebugbar-closed{width:auto}div.phpdebugbar *{margin:0;padding:0;border:0;font-weight:400;text-decoration:none;clear:initial;width:auto;direction:ltr;text-align:left;-moz-box-sizing:content-box;box-sizing:content-box}div.phpdebugbar select,div.phpdebugbar input{appearance:auto}div.phpdebugbar ol,div.phpdebugbar ul{list-style:none}div.phpdebugbar ul li,div.phpdebugbar ol li,div.phpdebugbar dl li{line-height:normal}div.phpdebugbar table,.phpdebugbar-openhandler table{border-collapse:collapse;border-spacing:0;color:inherit}div.phpdebugbar input[type=text],div.phpdebugbar input[type=password],div.phpdebugbar select{font-family:var(--debugbar-font-sans);background:var(--debugbar-background);font-size:14px;color:var(--debugbar-text);padding:0;border:1px solid var(--debugbar-border);border-radius:.25rem;margin:0}div.phpdebugbar code,div.phpdebugbar pre,div.phpdebugbar samp{background:none;font-family:var(--debugbar-font-mono);font-size:1em;border:0!important;padding:0;margin:0}div.phpdebugbar code,div.phpdebugbar pre{color:var(--debugbar-text)}div.phpdebugbar pre.sf-dump{background:none!important;z-index:0!important;display:block!important;color:#a0a000;outline:0}div.phpdebugbar pre.sf-dump .sf-dump-private{color:gray}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-public{color:#fc0}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-protected{color:#a0a000}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-private{color:#9d9266}a.phpdebugbar-restore-btn{float:left;padding:4px;font-size:14px;color:var(--debugbar-icons);text-decoration:none;width:24px;height:24px}div.phpdebugbar-resize-handle{height:4px;margin-top:-4px;width:100%;background:none;border-bottom:1px solid var(--debugbar-header-border);cursor:row-resize}div.phpdebugbar-minimized div.phpdebugbar-resize-handle{cursor:auto}div.phpdebugbar-resize-handle.phpdebugbar-resize-handle-bottom{margin-top:4px}div.phpdebugbar-minimized{border-top:1px solid var(--debugbar-header-border)}div.phpdebugbar-minimized[data-toolbarPosition=top]{border-top:0;border-bottom:1px solid var(--debugbar-header-border)}div.phpdebugbar[data-toolbarPosition=top]{bottom:auto;top:0}div.phpdebugbar[data-toolbarPosition=top] div.phpdebugbar-resize-handle-top{height:0;display:none}div.phpdebugbar[data-toolbarPosition=top] div.phpdebugbar-resize-handle-bottom{margin-top:0}div.phpdebugbar[data-toolbarPosition=bottom] div.phpdebugbar-resize-handle-bottom{height:0;margin-top:0}a.phpdebugbar-restore-btn:after{-webkit-mask-image:var(--debugbar-icon-brand);mask-image:var(--debugbar-icon-brand);-webkit-mask-size:20px 20px;mask-size:20px 20px;background-color:var(--debugbar-icons)}div.phpdebugbar-header{background-color:var(--debugbar-header);min-height:32px;line-height:16px}div.phpdebugbar-header:before,div.phpdebugbar-header:after{display:table;line-height:0;content:""}div.phpdebugbar-header:after{clear:both}div.phpdebugbar-header-left{float:left}div.phpdebugbar-header-right{float:right}div.phpdebugbar-header>div>*{padding:5px;font-size:13px;height:22px;color:var(--debugbar-header-text);text-decoration:none}div.phpdebugbar-header-left>*,div.phpdebugbar-header-right>*{line-height:0;display:flex;align-items:center}div.phpdebugbar-header-left>*{float:left}div.phpdebugbar-header-right>*{float:right}div.phpdebugbar-header-right select{padding:0;line-height:1em;background-color:var(--debugbar-header);color:var(--debugbar-header-text)}span.phpdebugbar-indicator,a.phpdebugbar-indicator{border-right:1px solid var(--debugbar-header-border)}.phpdebugbar[data-hideEmptyTabs=true] .phpdebugbar-tab[data-empty=true]:not(.phpdebugbar-active){display:none}a.phpdebugbar-tab.phpdebugbar-active{background:var(--debugbar-active);color:var(--debugbar-active-text)}a.phpdebugbar-tab .phpdebugbar-text{font-size:14px}a.phpdebugbar-tab span.phpdebugbar-badge{display:none;margin-left:5px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge);border-radius:4px;color:var(--debugbar-badge-text);font-weight:400;text-shadow:none}a.phpdebugbar-tab.phpdebugbar-active span.phpdebugbar-badge{background:var(--debugbar-badge-active);color:var(--debugbar-badge-active-text)}a.phpdebugbar-tab i{display:none;vertical-align:middle}.phpdebugbar-icon,i.phpdebugbar-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.phpdebugbar-icon:before,i.phpdebugbar-icon:before{content:"";display:block;justify-content:center;flex-shrink:0;width:1.3em;height:1.3em;background-size:contain;background-repeat:no-repeat;background-position:center;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}.phpdebugbar-icon-brand:before{-webkit-mask-image:var(--debugbar-icon-brand);mask-image:var(--debugbar-icon-brand)}a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-visible{display:inline}a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-important{background:#ed6868;color:#fff}a.phpdebugbar-close-btn,a.phpdebugbar-open-btn,a.phpdebugbar-fullscreen-btn,a.phpdebugbar-minimize-btn,a.phpdebugbar-maximize-btn,a.phpdebugbar-tab.phpdebugbar-tab-history,a.phpdebugbar-tab.phpdebugbar-tab-settings{width:16px;height:22px;position:relative}a.phpdebugbar-close-btn:after,a.phpdebugbar-open-btn:after,a.phpdebugbar-restore-btn:after,a.phpdebugbar-fullscreen-btn:after,a.phpdebugbar-minimize-btn:after,a.phpdebugbar-maximize-btn:after{content:" ";display:block;left:0;position:absolute;top:0;width:100%;height:100%;background-color:var(--debugbar-icons);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:18px 18px;mask-size:18px 18px}a.phpdebugbar-restore-btn:after{-webkit-mask-size:24px 24px;mask-size:24px 24px;mask-repeat:no-repeat;mask-position:center;position:relative}a.phpdebugbar-minimize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}a.phpdebugbar-maximize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}div.phpdebugbar[data-toolbarPosition=top] a.phpdebugbar-minimize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}div.phpdebugbar[data-toolbarPosition=top] a.phpdebugbar-maximize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}a.phpdebugbar-close-btn:after{-webkit-mask-image:var(--debugbar-icon-x);mask-image:var(--debugbar-icon-x)}a.phpdebugbar-fullscreen-btn:after{-webkit-mask-image:var(--debugbar-icon-arrows-maximize);mask-image:var(--debugbar-icon-arrows-maximize)}div.phpdebugbar.phpdebugbar-fullscreen a.phpdebugbar-fullscreen-btn:after{-webkit-mask-image:var(--debugbar-icon-arrows-minimize);mask-image:var(--debugbar-icon-arrows-minimize)}a.phpdebugbar-open-btn:after{-webkit-mask-image:var(--debugbar-icon-folder-open);mask-image:var(--debugbar-icon-folder-open)}.phpdebugbar-indicator{position:relative;cursor:pointer}.phpdebugbar-indicator span.phpdebugbar-text{margin-left:5px}.phpdebugbar-indicator span.phpdebugbar-tooltip{display:none;position:absolute;bottom:38px;background:var(--debugbar-header);border:1px solid var(--debugbar-header-border);color:var(--debugbar-header-text);font-size:11px;padding:2px 6px;z-index:100000001;text-align:center;white-space:nowrap;right:0;line-height:1.5;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.phpdebugbar-indicator:hover span.phpdebugbar-tooltip:not(.phpdebugbar-disabled){display:block}.phpdebugbar-indicator span.phpdebugbar-tooltip dl{display:grid;grid-gap:4px 10px;grid-template-columns:max-content}.phpdebugbar-indicator span.phpdebugbar-tooltip dl dt{font-weight:700;text-align:left}.phpdebugbar-indicator span.phpdebugbar-tooltip dl dd{margin:0;grid-column-start:2;text-align:left}.phpdebugbar .phpdebugbar-datasets-switcher{float:right}.phpdebugbar .phpdebugbar-datasets-switcher select{max-width:200px;height:22px;padding:4px 0;border:none}.phpdebugbar button,.phpdebugbar-openhandler button{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;margin:0 5px;padding:0 12px;height:20px;line-height:normal;cursor:pointer}div.phpdebugbar-body{border-top:1px solid var(--debugbar-header-border);position:relative;height:300px}div.phpdebugbar-panel{height:100%;overflow:auto;width:100%}div.phpdebugbar-panel.phpdebugbar-active{display:block}div.phpdebugbar-mini-design a.phpdebugbar-tab{position:relative;border-right:1px solid var(--debugbar-header-border)}div.phpdebugbar-mini-design a.phpdebugbar-tab span.phpdebugbar-text{display:none}div.phpdebugbar-mini-design a.phpdebugbar-tab:hover span.phpdebugbar-text{display:block;position:absolute;top:-30px;background:var(--debugbar-background);opacity:1;border:1px solid var(--debugbar-header-border);color:var(--debugbar-header-text);font-size:11px;padding:2px 6px;z-index:100000001;text-align:center;right:0;line-height:1.5;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}div.phpdebugbar-mini-design a.phpdebugbar-tab i{display:inline-block}a.phpdebugbar-tab.phpdebugbar-tab-history{width:auto;min-width:22px}a.phpdebugbar-tab.phpdebugbar-tab-history,a.phpdebugbar-tab.phpdebugbar-tab-settings{display:flex;justify-content:center;align-items:center}a.phpdebugbar-tab.phpdebugbar-tab-history .phpdebugbar-text,a.phpdebugbar-tab.phpdebugbar-tab-settings .phpdebugbar-text{display:none;white-space:nowrap}a.phpdebugbar-tab.phpdebugbar-tab-history i,a.phpdebugbar-tab.phpdebugbar-tab-settings i{display:inline-block}.phpdebugbar-widgets-dataset-history table{width:100%;table-layout:fixed}.phpdebugbar-widgets-dataset-history table th{font-weight:700}.phpdebugbar-widgets-dataset-history table td,.phpdebugbar-widgets-dataset-history table th{padding:6px 3px;border-bottom:1px solid var(--debugbar-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phpdebugbar-widgets-dataset-history table td a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phpdebugbar-widgets-dataset-history table tr.phpdebugbar-widgets-active{background:var(--debugbar-active);color:var(--debugbar-active-text)}.phpdebugbar-widgets-dataset-history span.phpdebugbar-badge{margin:0 5px 0 2px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge);border-radius:4px;color:var(--debugbar-badge-text);font-weight:400;text-shadow:none;vertical-align:middle}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions{text-align:center;padding:7px 0;position:sticky;top:0;background:var(--debugbar-background)}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions a{margin:0 10px}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions input{margin:5px}.phpdebugbar-settings .phpdebugbar-form-row{display:block;border-top:1px solid var(--debugbar-border);min-height:17px;padding:5px 10px}.phpdebugbar-settings .phpdebugbar-form-label{width:200px;font-weight:700;display:inline-block;clear:none}.phpdebugbar-settings .phpdebugbar-form-input{font-weight:700;display:inline-block;clear:none}.phpdebugbar-settings input[type=text],.phpdebugbar-settings select{margin:0 5px;min-width:200px}.phpdebugbar-settings input[type=checkbox]{margin:0 5px}pre.phpdebugbar-widgets-code-block{white-space:pre;word-wrap:normal;overflow:hidden}pre.phpdebugbar-widgets-code-block code{display:block;overflow-x:auto;overflow-y:hidden}pre.phpdebugbar-widgets-code-block code.phpdebugbar-widgets-numbered-code{padding:5px;line-height:normal}pre.phpdebugbar-widgets-code-block ul li.phpdebugbar-widgets-highlighted-line{font-weight:bolder;text-decoration:underline}pre.phpdebugbar-widgets-code-block ul li.phpdebugbar-widgets-highlighted-line span{position:absolute;background:var(--debugbar-text);min-width:calc(100% - 85px);margin-left:10px;opacity:.15}pre.phpdebugbar-widgets-code-block ul{position:static;float:left;padding:5px;border-right:1px solid var(--debugbar-header-border);text-align:right}.phpdebugbar-widgets-kvlist span.phpdebugbar-widgets-filename,li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename,table.phpdebugbar-widgets-tablevar span.phpdebugbar-widgets-filename{display:block;font-style:italic;float:right;margin-left:8px;color:var(--debugbar-link)}a.phpdebugbar-widgets-editor-link,a.phpdebugbar-widgets-external-link{color:var(--debugbar-link)}.phpdebugbar-widgets-kvlist span.phpdebugbar-widgets-filename:hover,li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename:hover,a.phpdebugbar-widgets-editor-link:hover,a.phpdebugbar-widgets-external-link:hover{color:var(--debugbar-hover)}a.phpdebugbar-widgets-editor-link:before,a.phpdebugbar-widgets-external-link:after{content:"";display:inline-block;width:1em;height:1em;margin-left:4px;vertical-align:middle;-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}table.phpdebugbar-widgets-params{width:70%;margin:10px;border:1px solid var(--debugbar-border);font-family:var(--debugbar-font-mono);font-size:13px;border-collapse:collapse}table.phpdebugbar-widgets-params th{font-weight:700}table.phpdebugbar-widgets-params td{border:1px solid var(--debugbar-border);border-left:none;border-right:none;padding:0 5px}table.phpdebugbar-widgets-params .phpdebugbar-widgets-name{width:20%;font-weight:700;vertical-align:top}.phpdebugbar-widgets-truncated{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}ul.phpdebugbar-widgets-list{margin:0;padding:0;list-style:none;font-family:var(--debugbar-font-mono)}ul.phpdebugbar-widgets-list li.phpdebugbar-widgets-list-item{padding:7px 10px;border-bottom:1px solid var(--debugbar-border);position:relative;overflow:hidden}div.phpdebugbar-widgets-messages{position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column}div.phpdebugbar-widgets-messages ul.phpdebugbar-widgets-list{padding-bottom:45px;flex:1;overflow-y:auto}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value{display:flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value:before{margin-right:8px;font-family:system-ui,sans-serif;font-size:1.25em;line-height:1;display:inline-flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success{color:#28a745}.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success{color:#56db3a}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success:before{content:"\2713"}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-alert:before{content:"\2139";color:#cbcf38}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-debug:before{color:#78d79a}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-warning:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-emergency:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-notice:before{content:"\26a0";color:#ecb03d}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-critical{color:red}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-critical:before{content:"\2716"}.phpdebugbar-widgets-params .phpdebugbar-widgets-value pre.sf-dump,dl.phpdebugbar-widgets-kvlist dd.phpdebugbar-widgets-value pre.sf-dump,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item pre.sf-dump{display:inline-block!important;padding-top:0;padding-left:0;padding-bottom:0}dl.phpdebugbar-widgets-kvlist dd.phpdebugbar-widgets-value pre.sf-dump{max-width:calc(100% - 5px)}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-label{float:right;font-size:12px;padding:2px 4px;color:#888;margin:0 2px;text-decoration:none;text-shadow:none;background:none;font-weight:400}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-context-count{float:right;font-size:12px;padding:2px 4px;color:#888;margin:0 2px;text-decoration:none;text-shadow:none;background:none;font-weight:400;display:inline-flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-context-count:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector{color:#555;font-style:italic}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar{position:relative;flex-shrink:0;width:100%;background:var(--debugbar-header);color:var(--debugbar-text);border-top:1px solid var(--debugbar-border);border-bottom:0px;height:20px;padding:4px 0}div.phpdebugbar-widgets-messages li .phpdebugbar-widgets-label-called-from{float:right;color:var(--debugbar-text-muted);padding-left:5px;border-bottom:1px dotted var(--debugbar-border)}div.phpdebugbar-widgets-messages li .phpdebugbar-widgets-label-called-from:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input{border:0;margin:0 0 0 7px;width:30%;box-shadow:none;border-radius:3px;padding:2px 6px;height:15px}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input:focus{outline:none}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter{float:right;font-size:12px;padding:2px 4px;background:#7cacd5;margin:0 2px;border-radius:4px;color:var(--debugbar-background);text-decoration:none}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded{background:var(--debugbar-active);color:var(--debugbar-text-muted)}dl.phpdebugbar-widgets-kvlist{margin:0;display:grid;grid-template-columns:minmax(160px,15%) minmax(0,1fr)}dl.phpdebugbar-widgets-kvlist dt{grid-column:1;min-width:0;padding:5px 10px;border-top:1px solid var(--debugbar-border);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}dl.phpdebugbar-widgets-kvlist dd{grid-column:2;margin:0;padding:5px 10px;border-top:1px solid var(--debugbar-border);cursor:pointer;min-height:17px;overflow-wrap:anywhere;overflow-x:auto}dl.phpdebugbar-widgets-varlist,dl.phpdebugbar-widgets-jsonvarlist,dl.phpdebugbar-widgets-htmlvarlist{font-family:var(--debugbar-font-mono)}dl.phpdebugbar-widgets-jsonvarlist dd,dl.phpdebugbar-widgets-htmlvarlist dd{cursor:initial}ul.phpdebugbar-widgets-timeline{margin:0;padding:0;list-style:none}ul.phpdebugbar-widgets-timeline .phpdebugbar-widgets-measure{height:20px;position:relative;border:none;display:block}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label,ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-collector{position:absolute;font-size:12px;font-family:var(--debugbar-font-mono);color:var(--debugbar-text);top:4px;left:5px;background:none;text-shadow:none;font-weight:400;white-space:pre}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-collector{left:initial;right:5px}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-value{display:block;position:absolute;height:calc(100% - 4px);background-color:var(--debugbar-accent);border-bottom:2px solid var(--debugbar-accent-border);top:2px;border-radius:3px;min-width:2px}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item{cursor:pointer}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-message{display:block;color:red}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-type{display:block;position:absolute;right:4px;top:4px;font-weight:700}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-file{margin:10px;padding:5px;border:1px solid var(--debugbar-border);font-family:var(--debugbar-font-mono)}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename{float:none}div.phpdebugbar[data-theme=dark] code.phpdebugbar-widgets-sql,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-name,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-key,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-success>pre.sf-dump>.sf-dump-note{color:#fdfd96}table.phpdebugbar-widgets-tablevar{width:100%;table-layout:auto;font-size:1em}table.phpdebugbar-widgets-tablevar td:first-child{width:150px;white-space:nowrap;font-family:var(--debugbar-font-mono)}table.phpdebugbar-widgets-tablevar td.phpdebugbar-widgets-editor{width:5%;white-space:nowrap;text-align:right}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td{font-weight:700}table.phpdebugbar-widgets-tablevar td{padding:2px 4px;border-bottom:1px solid var(--debugbar-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td{position:sticky;inset-inline-start:0px;background:var(--debugbar-background);border-bottom:none;z-index:1;top:0;bottom:0}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td:after,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:var(--debugbar-border)}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td:after{bottom:auto;top:0}div.phpdebugbar span.phpdebugbar-widgets-badge{margin:0 5px 0 8px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge-active);border-radius:4px;color:var(--debugbar-badge-active-text);font-weight:400;text-shadow:none;vertical-align:middle}.phpdebugbar .phpdebugbar-widgets-datasets-switcher-widget{position:relative;float:right;display:flex;padding:0!important;margin:0!important;height:32px;align-items:center}.phpdebugbar .phpdebugbar-widgets-datasets-badge{position:relative;display:flex;align-items:center;gap:6px;padding:0 10px;height:32px;background:var(--debugbar-header);color:var(--debugbar-header-text);cursor:pointer;font-size:12px;line-height:normal;transition:background-color .15s;font-family:var(--debugbar-font-sans);border-right:1px solid var(--debugbar-header-border)}.phpdebugbar .phpdebugbar-widgets-datasets-badge:hover{background:var(--debugbar-active)}.phpdebugbar .phpdebugbar-widgets-datasets-badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:9px;font-weight:600;font-size:11px}.phpdebugbar .phpdebugbar-widgets-datasets-badge-count[hidden]{display:none}.phpdebugbar .phpdebugbar-widgets-datasets-badge-url{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-panel{position:fixed;width:600px;background:var(--debugbar-background);border:1px solid var(--debugbar-border);box-shadow:0 2px 8px #0000001a;overflow:hidden;z-index:100000001}.phpdebugbar-widgets-datasets-panel-toolbar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--debugbar-background-alt);border-bottom:1px solid var(--debugbar-border);font-size:12px;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-autoshow{display:flex;align-items:center;gap:4px;cursor:pointer;color:var(--debugbar-text);white-space:nowrap;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-autoshow input[type=checkbox]{cursor:pointer;margin:0}.phpdebugbar-widgets-datasets-clear-btn,.phpdebugbar-widgets-datasets-showall-btn{color:var(--debugbar-link);text-decoration:none;cursor:pointer;white-space:nowrap;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-clear-btn:hover,.phpdebugbar-widgets-datasets-showall-btn:hover{color:var(--debugbar-hover);text-decoration:underline}.phpdebugbar-widgets-datasets-refresh-btn{color:var(--debugbar-text-muted);text-decoration:none;cursor:pointer;white-space:nowrap;font-size:14px;display:inline-flex;align-items:center}.phpdebugbar-widgets-datasets-refresh-btn[hidden]{display:none}.phpdebugbar-widgets-datasets-refresh-btn:hover,.phpdebugbar-widgets-datasets-refresh-btn.phpdebugbar-widgets-active{color:var(--debugbar-text)}.phpdebugbar-widgets-datasets-refresh-btn.phpdebugbar-widgets-active i{animation:phpdebugbar-spin 2s linear infinite}@keyframes phpdebugbar-spin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.phpdebugbar-widgets-datasets-search{flex:1;padding:3px 8px;font-size:11px;min-width:120px;border:1px solid var(--debugbar-border);background:var(--debugbar-background);color:var(--debugbar-text);border-radius:2px;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-list{max-height:300px;overflow-y:auto}.phpdebugbar-widgets-datasets-list-item{display:grid;grid-template-columns:45px 50px 1fr auto auto auto;gap:6px;padding:5px 10px;border-bottom:1px solid var(--debugbar-border);cursor:pointer;transition:background-color .1s;align-items:center;font-size:11px}.phpdebugbar-widgets-datasets-list-item[hidden]{display:none}.phpdebugbar-widgets-datasets-list-item:hover{background:var(--debugbar-background-alt)}.phpdebugbar-widgets-datasets-list-item.phpdebugbar-widgets-active{background:var(--debugbar-active);font-weight:500}.phpdebugbar-widgets-datasets-item-nb{color:var(--debugbar-text-muted);font-weight:600;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-copy-id{cursor:pointer;color:var(--debugbar-text-muted);display:inline-flex;align-items:center;margin-right:-4px;position:relative}.phpdebugbar-widgets-datasets-item-copy-id i{font-size:12px}.phpdebugbar-widgets-datasets-item-copy-id:hover{color:var(--debugbar-text)}.phpdebugbar-widgets-datasets-item-copy-id.phpdebugbar-widgets-copied{color:var(--debugbar-success, #28a745)}.phpdebugbar-widgets-datasets-item-time{color:var(--debugbar-text-muted);font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-request{display:flex;gap:6px;align-items:center;overflow:hidden}.phpdebugbar-widgets-datasets-item-method{padding:1px 5px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:2px;font-weight:600;font-family:var(--debugbar-font-mono);flex-shrink:0}.phpdebugbar-widgets-datasets-item-url{color:var(--debugbar-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-suffix{color:var(--debugbar-text-muted);font-family:var(--debugbar-font-mono);flex-shrink:0}.phpdebugbar-widgets-datasets-item-badges{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}.phpdebugbar-widgets-datasets-item-badge{display:inline-flex;align-items:center;gap:2px;padding:1px 4px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:2px;font-size:10px;font-weight:600;cursor:pointer;transition:background-color .1s}.phpdebugbar-widgets-datasets-item-badge:hover{background:var(--debugbar-badge-active);color:var(--debugbar-badge-active-text)}.phpdebugbar-widgets-datasets-item-badge i{width:12px;height:12px}div.phpdebugbar-openhandler-overlay{position:fixed;left:0;top:0;width:100%;height:100%;background:#000;opacity:.3;z-index:100000002}div.phpdebugbar-openhandler{position:fixed;margin:auto;inset:0;width:80%;height:70%;background:var(--debugbar-background);color:var(--debugbar-text);border:2px solid var(--debugbar-header-border);overflow:auto;z-index:100000003;font-family:var(--debugbar-font-sans);font-size:14px;padding:0}div.phpdebugbar-openhandler select,div.phpdebugbar-openhandler input{appearance:auto}div.phpdebugbar-openhandler input,div.phpdebugbar-openhandler select{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;height:20px;margin:0 5px;padding:0}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions input[name=uri]{width:200px}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions input[name=ip]{width:90px}div.phpdebugbar-openhandler a{color:var(--debugbar-header-text)}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header{background:var(--debugbar-header) no-repeat 5px 4px;color:var(--debugbar-header-text);margin-bottom:10px;display:flex;align-items:center;padding:5px 8px}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-closebtn,div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-brand{font-size:14px;color:var(--debugbar-header-text);text-decoration:none;padding-right:5px;line-height:1;align-items:center}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-closebtn{margin-left:auto}div.phpdebugbar-openhandler table{width:100%;table-layout:fixed;font-size:14px}div.phpdebugbar-openhandler table td,div.phpdebugbar-openhandler table th{border:0px solid var(--debugbar-border);padding:2px 8px}div.phpdebugbar-openhandler table th,div.phpdebugbar-openhandler table tr:nth-child(2n){background-color:var(--debugbar-background-alt)}div.phpdebugbar-openhandler table th:nth-child(3),div.phpdebugbar-openhandler table td:nth-child(3),div.phpdebugbar-openhandler table th:nth-child(5),div.phpdebugbar-openhandler table td:nth-child(5),div.phpdebugbar-openhandler table th:nth-child(6),div.phpdebugbar-openhandler table td:nth-child(6){text-align:center}div.phpdebugbar-openhandler table td{padding:6px 3px;border-bottom:1px solid var(--debugbar-border)}div.phpdebugbar-openhandler table td a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phpdebugbar-openhandler-id-cell{display:flex;align-items:center;gap:4px}.phpdebugbar-openhandler-id-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55px;display:inline-block;font-family:var(--debugbar-font-mono);font-size:12px}.phpdebugbar-openhandler-copy-id{cursor:pointer;color:var(--debugbar-text-muted);display:inline-flex;align-items:center;position:relative;flex-shrink:0}.phpdebugbar-openhandler-copy-id i{font-size:12px}.phpdebugbar-openhandler-copy-id:hover{color:var(--debugbar-text)}.phpdebugbar-openhandler-copy-id.phpdebugbar-openhandler-copied{color:var(--debugbar-success, #28a745)}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions{text-align:center;padding:7px 0}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions a{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;margin:5px;padding:4px 12px}div.phpdebugbar-widgets-mails span.phpdebugbar-widgets-subject{display:block}div.phpdebugbar-widgets-mails li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-headers{margin:10px;padding:5px;border:1px solid var(--debugbar-border);font-family:var(--debugbar-font-mono)}div.phpdebugbar-widgets-sqlqueries{position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-status{font-family:var(--debugbar-font-mono);padding:6px;border-bottom:1px solid var(--debugbar-border);font-weight:700;color:var(--debugbar-text);background-color:var(--debugbar-background-alt);flex-shrink:0;order:1}div.phpdebugbar-widgets-sqlqueries ul.phpdebugbar-widgets-list{flex:1;overflow-y:auto;order:2}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-error{color:red}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id{float:right;margin-left:8px;color:var(--debugbar-text-muted)}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-database,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-duration,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-row-count,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-copy-clipboard,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-stmt-id{color:var(--debugbar-text)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard-check:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before,div.phpdebugbar-widgets-sqlqueries a.phpdebugbar-widgets-editor-link:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before{-webkit-mask-image:var(--debugbar-icon-database);mask-image:var(--debugbar-icon-database)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before{-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before{-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard-check:before{-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}div.phpdebugbar-widgets-sqlqueries a.phpdebugbar-widgets-editor-link:before{-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link)}div.phpdebugbar-widgets-sqlqueries a.phpdebugbar-widgets-editor-link{color:var(--debugbar-link)}div.phpdebugbar-widgets-sqlqueries a.phpdebugbar-widgets-editor-link:hover{color:var(--debugbar-hover)}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-error{display:block;font-weight:700}code.phpdebugbar-widgets-sql{white-space:pre-wrap;overflow-wrap:break-word;word-wrap:break-word}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-slow{background-color:#ffe4e4}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate{background-color:#fdfdcd}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-slow{background-color:#623100}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate{background-color:#565602}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar{position:relative;flex-shrink:0;width:100%;z-index:1;order:3}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter{float:right;font-size:12px;padding:2px 4px;background:#7cacd5;margin:0 2px;border-radius:4px;color:#fff;text-decoration:none}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded{background:var(--debugbar-background);color:var(--debugbar-text)}div.phpdebugbar-widgets-sqlqueries a.phpdebugbar-widgets-duplicates{font-weight:700;text-decoration:underline}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item div.phpdebugbar-widgets-bg-measure{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-bg-measure div.phpdebugbar-widgets-value{position:absolute;bottom:0;height:1px;opacity:1;background:var(--debugbar-accent-border)}div.phpdebugbar-widgets-sqlqueries td.phpdebugbar-widgets-value li.phpdebugbar-widgets-table-list-item{text-align:left;padding-left:6px}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-text-muted{color:var(--debugbar-text-muted)}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction,div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-message,div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-info{font-weight:bolder}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction{color:#d73a49}[data-theme=dark] div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction{color:#ff7b72}div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status{font-family:var(--debugbar-font-mono);padding:6px;border-bottom:1px solid var(--debugbar-border);font-weight:700;color:var(--debugbar-text);background-color:var(--debugbar-background-alt)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type{float:right;margin-left:8px;color:var(--debugbar-text)}div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-render-time,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-param-count,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status a.phpdebugbar-widgets-editor-link,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-type{color:var(--debugbar-text)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before,div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link:hover{color:var(--debugbar-hover)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before{-webkit-mask-image:var(--debugbar-icon-code);mask-image:var(--debugbar-icon-code)}div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link:before{-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link);margin-left:4px}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-callgraph>pre *{background-color:inherit!important}pre code.phpdebugbar-hljs{display:block;overflow-x:auto;padding:1em}code.phpdebugbar-hljs{padding:3px 5px}/*! +:root{--debugbar-icon-adjustments: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2010a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%204v4%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2012v8%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2016a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%204v10%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2018v2%22%20%2F%3E%20%3Cpath%20d%3D%22M16%207a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%204v1%22%20%2F%3E%20%3Cpath%20d%3D%22M18%209v11%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-adjustments-horizontal: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%206a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206l8%200%22%20%2F%3E%20%3Cpath%20d%3D%22M16%206l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2012a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012l2%200%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2012l10%200%22%20%2F%3E%20%3Cpath%20d%3D%22M15%2018a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2018l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M19%2018l1%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrow-right: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2012l14%200%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2018l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M13%206l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-left-right: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2017l-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2010l-3%20-3l3%20-3%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207l18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2020l3%20-3l-3%20-3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bolt: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%203l0%207l6%200l-8%2011l0%20-7l-6%200l8%20-11%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bookmark: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M18%207v14l-6%20-4l-6%204v-14a4%204%200%200%201%204%20-4h4a4%204%200%200%201%204%204%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-box: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%203l8%204.5l0%209l-8%204.5l-8%20-4.5l0%20-9l8%20-4.5%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l8%20-4.5%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l0%209%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l-8%20-4.5%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-briefcase: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%209a2%202%200%200%201%202%20-2h14a2%202%200%200%201%202%202v9a2%202%200%200%201%20-2%202h-14a2%202%200%200%201%20-2%20-2l0%20-9%22%20%2F%3E%20%3Cpath%20d%3D%22M8%207v-2a2%202%200%200%201%202%20-2h4a2%202%200%200%201%202%202v2%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2013a20%2020%200%200%200%2018%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bug: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%209v-1a3%203%200%200%201%206%200v1%22%20%2F%3E%20%3Cpath%20d%3D%22M8%209h8a6%206%200%200%201%201%203v3a5%205%200%200%201%20-10%200v-3a6%206%200%200%201%201%20-3%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2013l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2013l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2020l0%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2019l3.35%20-2%22%20%2F%3E%20%3Cpath%20d%3D%22M20%2019l-3.35%20-2%22%20%2F%3E%20%3Cpath%20d%3D%22M4%207l3.75%202.4%22%20%2F%3E%20%3Cpath%20d%3D%22M20%207l-3.75%202.4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-calendar: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%207a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-12a2%202%200%200%201%20-2%20-2v-12%22%20%2F%3E%20%3Cpath%20d%3D%22M16%203v4%22%20%2F%3E%20%3Cpath%20d%3D%22M8%203v4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2011h16%22%20%2F%3E%20%3Cpath%20d%3D%22M11%2015h1%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2015v3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chart-infographic: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207a4%204%200%201%200%208%200a4%204%200%201%200%20-8%200%22%20%2F%3E%20%3Cpath%20d%3D%22M7%203v4h4%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2017l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2014l0%207%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2013l0%208%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2012l0%209%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-clock: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%2018%200a9%209%200%200%200%20-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%207v5l3%203%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-code: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M7%208l-4%204l4%204%22%20%2F%3E%20%3Cpath%20d%3D%22M17%208l4%204l-4%204%22%20%2F%3E%20%3Cpath%20d%3D%22M14%204l-4%2016%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-database: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206a8%203%200%201%200%2016%200a8%203%200%201%200%20-16%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206v6a8%203%200%200%200%2016%200v-6%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012v6a8%203%200%200%200%2016%200v-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-file-code: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M14%203v4a1%201%200%200%200%201%201h4%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2021h-10a2%202%200%200%201%20-2%20-2v-14a2%202%200%200%201%202%20-2h7l5%205v11a2%202%200%200%201%20-2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2013l-1%202l1%202%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2013l1%202l-1%202%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-flag: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%205a5%205%200%200%201%207%200a5%205%200%200%200%207%200v9a5%205%200%200%201%20-7%200a5%205%200%200%200%20-7%200v-9%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2021v-7%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-history: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%208l0%204l2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M3.05%2011a9%209%200%201%201%20.5%204m-.5%205v-5h5%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-inbox: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-12a2%202%200%200%201%20-2%20-2l0%20-12%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2013h3l3%203h4l3%20-3h3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-leaf: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2021c.5%20-4.5%202.5%20-8%207%20-10%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2018c6.218%200%2010.5%20-3.288%2011%20-12v-2h-4.014c-9%200%20-11.986%204%20-12%209c0%201%200%203%202%205h3l.014%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-list: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%206l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2012l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2018l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M5%206l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2012l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2018l0%20.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-logs: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2018h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2018h2%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2012h2%22%20%2F%3E%20%3Cpath%20d%3D%22M8%206h2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%206h6%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2012h6%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2018h6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-mobiledata: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2012v-8%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2020v-8%22%20%2F%3E%20%3Cpath%20d%3D%22M13%207l3%20-3l3%203%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2017l3%203l3%20-3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-search: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010a7%207%200%201%200%2014%200a7%207%200%201%200%20-14%200%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2021l-6%20-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-server-cog: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207a3%203%200%200%201%203%20-3h12a3%203%200%200%201%203%203v2a3%203%200%200%201%20-3%203h-12a3%203%200%200%201%20-3%20-3v-2%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2020h-6a3%203%200%200%201%20-3%20-3v-2a3%203%200%200%201%203%20-3h10.5%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2018a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2014.5v1.5%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2020v1.5%22%20%2F%3E%20%3Cpath%20d%3D%22M21.032%2016.25l-1.299%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M16.27%2019l-1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M14.97%2016.25l1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M19.733%2019l1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M7%208v.01%22%20%2F%3E%20%3Cpath%20d%3D%22M7%2016v.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-share-3: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%204v4c-6.575%201.028%20-9.02%206.788%20-10%2012c-.037%20.206%205.384%20-5.962%2010%20-6v4l8%20-7l-8%20-7%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-tags: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%208v4.172a2%202%200%200%200%20.586%201.414l5.71%205.71a2.41%202.41%200%200%200%203.408%200l3.592%20-3.592a2.41%202.41%200%200%200%200%20-3.408l-5.71%20-5.71a2%202%200%200%200%20-1.414%20-.586h-4.172a2%202%200%200%200%20-2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2019l1.592%20-1.592a4.82%204.82%200%200%200%200%20-6.816l-4.592%20-4.592%22%20%2F%3E%20%3Cpath%20d%3D%22M7%2010h-.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-x: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M18%206l-12%2012%22%20%2F%3E%20%3Cpath%20d%3D%22M6%206l12%2012%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-maximize: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M16%204l4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2010l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2020l-4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2020l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2020l4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2014l6%206%22%20%2F%3E%20%3Cpath%20d%3D%22M8%204l-4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M4%204l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-minimize: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%209l4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M3%203l6%206%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2015l4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2021l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M19%209l-4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M15%209l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M19%2015l-4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M15%2015l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chevron-down: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M6%209l6%206l6%20-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chevron-up: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2015l6%20-6l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-folder-open: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2019l2.757%20-7.351a1%201%200%200%201%20.936%20-.649h12.307a1%201%200%200%201%20.986%201.164l-.996%205.211a2%202%200%200%201%20-1.964%201.625h-14.026a2%202%200%200%201%20-2%20-2v-11a2%202%200%200%201%202%20-2h4l3%203h7a2%202%200%200%201%202%202v2%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-brand-php: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M2%2012a10%209%200%201%200%2020%200a10%209%200%201%200%20-20%200%22%20%2F%3E%20%3Cpath%20d%3D%22M5.5%2015l.395%20-1.974l.605%20-3.026h1.32a1%201%200%200%201%20.986%201.164l-.167%201a1%201%200%200%201%20-.986%20.836h-1.653%22%20%2F%3E%20%3Cpath%20d%3D%22M15.5%2015l.395%20-1.974l.605%20-3.026h1.32a1%201%200%200%201%20.986%201.164l-.167%201a1%201%200%200%201%20-.986%20.836h-1.653%22%20%2F%3E%20%3Cpath%20d%3D%22M12%207.5l-1%205.5%22%20%2F%3E%20%3Cpath%20d%3D%22M11.6%2010h2.4l-.5%203%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-refresh: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M20%2011a8.1%208.1%200%200%200%20-15.5%20-2m-.5%20-4v4h4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2013a8.1%208.1%200%200%200%2015.5%202m.5%204v-4h-4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-cpu: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%206a1%201%200%200%201%201%20-1h12a1%201%200%200%201%201%201v12a1%201%200%200%201%20-1%201h-12a1%201%200%200%201%20-1%20-1l0%20-12%22%20%2F%3E%20%3Cpath%20d%3D%22M9%209h6v6h-6l0%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010h2%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2014h2%22%20%2F%3E%20%3Cpath%20d%3D%22M10%203v2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%203v2%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2010h-2%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2014h-2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2021v-2%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2021v-2%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-table: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%205a2%202%200%200%201%202%20-2h14a2%202%200%200%201%202%202v14a2%202%200%200%201%20-2%202h-14a2%202%200%200%201%20-2%20-2v-14%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010h18%22%20%2F%3E%20%3Cpath%20d%3D%22M10%203v18%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-link: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2015l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M11%206l.463%20-.536a5%205%200%200%201%207.071%207.072l-.534%20.464%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2018l-.397%20.534a5.068%205.068%200%200%201%20-7.127%200a4.972%204.972%200%200%201%200%20-7.071l.524%20-.463%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-copy: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M7%209.667a2.667%202.667%200%200%201%202.667%20-2.667h8.666a2.667%202.667%200%200%201%202.667%202.667v8.666a2.667%202.667%200%200%201%20-2.667%202.667h-8.666a2.667%202.667%200%200%201%20-2.667%20-2.667l0%20-8.666%22%20%2F%3E%20%3Cpath%20d%3D%22M4.012%2016.737a2.005%202.005%200%200%201%20-1.012%20-1.737v-10c0%20-1.1%20.9%20-2%202%20-2h10c.75%200%201.158%20.385%201.5%201%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-circle-check: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%2018%200a9%209%200%201%200%20-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2012l2%202l4%20-4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-external-link: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%206h-6a2%202%200%200%200%20-2%202v10a2%202%200%200%200%202%202h10a2%202%200%200%200%202%20-2v-6%22%20%2F%3E%20%3Cpath%20d%3D%22M11%2013l9%20-9%22%20%2F%3E%20%3Cpath%20d%3D%22M15%204h5v5%22%20%2F%3E%20%3C%2Fsvg%3E)}.phpdebugbar-icon-adjustments:before{-webkit-mask-image:var(--debugbar-icon-adjustments);mask-image:var(--debugbar-icon-adjustments)}.phpdebugbar-icon-adjustments-horizontal:before{-webkit-mask-image:var(--debugbar-icon-adjustments-horizontal);mask-image:var(--debugbar-icon-adjustments-horizontal)}.phpdebugbar-icon-arrow-right:before{-webkit-mask-image:var(--debugbar-icon-arrow-right);mask-image:var(--debugbar-icon-arrow-right)}.phpdebugbar-icon-arrows-left-right:before{-webkit-mask-image:var(--debugbar-icon-arrows-left-right);mask-image:var(--debugbar-icon-arrows-left-right)}.phpdebugbar-icon-bolt:before{-webkit-mask-image:var(--debugbar-icon-bolt);mask-image:var(--debugbar-icon-bolt)}.phpdebugbar-icon-bookmark:before{-webkit-mask-image:var(--debugbar-icon-bookmark);mask-image:var(--debugbar-icon-bookmark)}.phpdebugbar-icon-box:before{-webkit-mask-image:var(--debugbar-icon-box);mask-image:var(--debugbar-icon-box)}.phpdebugbar-icon-briefcase:before{-webkit-mask-image:var(--debugbar-icon-briefcase);mask-image:var(--debugbar-icon-briefcase)}.phpdebugbar-icon-bug:before{-webkit-mask-image:var(--debugbar-icon-bug);mask-image:var(--debugbar-icon-bug)}.phpdebugbar-icon-calendar:before{-webkit-mask-image:var(--debugbar-icon-calendar);mask-image:var(--debugbar-icon-calendar)}.phpdebugbar-icon-chart-infographic:before{-webkit-mask-image:var(--debugbar-icon-chart-infographic);mask-image:var(--debugbar-icon-chart-infographic)}.phpdebugbar-icon-clock:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}.phpdebugbar-icon-code:before{-webkit-mask-image:var(--debugbar-icon-code);mask-image:var(--debugbar-icon-code)}.phpdebugbar-icon-database:before{-webkit-mask-image:var(--debugbar-icon-database);mask-image:var(--debugbar-icon-database)}.phpdebugbar-icon-file-code:before{-webkit-mask-image:var(--debugbar-icon-file-code);mask-image:var(--debugbar-icon-file-code)}.phpdebugbar-icon-flag:before{-webkit-mask-image:var(--debugbar-icon-flag);mask-image:var(--debugbar-icon-flag)}.phpdebugbar-icon-history:before{-webkit-mask-image:var(--debugbar-icon-history);mask-image:var(--debugbar-icon-history)}.phpdebugbar-icon-inbox:before{-webkit-mask-image:var(--debugbar-icon-inbox);mask-image:var(--debugbar-icon-inbox)}.phpdebugbar-icon-leaf:before{-webkit-mask-image:var(--debugbar-icon-leaf);mask-image:var(--debugbar-icon-leaf)}.phpdebugbar-icon-list:before{-webkit-mask-image:var(--debugbar-icon-list);mask-image:var(--debugbar-icon-list)}.phpdebugbar-icon-logs:before{-webkit-mask-image:var(--debugbar-icon-logs);mask-image:var(--debugbar-icon-logs)}.phpdebugbar-icon-mobiledata:before{-webkit-mask-image:var(--debugbar-icon-mobiledata);mask-image:var(--debugbar-icon-mobiledata)}.phpdebugbar-icon-search:before{-webkit-mask-image:var(--debugbar-icon-search);mask-image:var(--debugbar-icon-search)}.phpdebugbar-icon-server-cog:before{-webkit-mask-image:var(--debugbar-icon-server-cog);mask-image:var(--debugbar-icon-server-cog)}.phpdebugbar-icon-share-3:before{-webkit-mask-image:var(--debugbar-icon-share-3);mask-image:var(--debugbar-icon-share-3)}.phpdebugbar-icon-tags:before{-webkit-mask-image:var(--debugbar-icon-tags);mask-image:var(--debugbar-icon-tags)}.phpdebugbar-icon-x:before{-webkit-mask-image:var(--debugbar-icon-x);mask-image:var(--debugbar-icon-x)}.phpdebugbar-icon-arrows-maximize:before{-webkit-mask-image:var(--debugbar-icon-arrows-maximize);mask-image:var(--debugbar-icon-arrows-maximize)}.phpdebugbar-icon-arrows-minimize:before{-webkit-mask-image:var(--debugbar-icon-arrows-minimize);mask-image:var(--debugbar-icon-arrows-minimize)}.phpdebugbar-icon-chevron-down:before{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}.phpdebugbar-icon-chevron-up:before{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}.phpdebugbar-icon-folder-open:before{-webkit-mask-image:var(--debugbar-icon-folder-open);mask-image:var(--debugbar-icon-folder-open)}.phpdebugbar-icon-brand-php:before{-webkit-mask-image:var(--debugbar-icon-brand-php);mask-image:var(--debugbar-icon-brand-php)}.phpdebugbar-icon-refresh:before{-webkit-mask-image:var(--debugbar-icon-refresh);mask-image:var(--debugbar-icon-refresh)}.phpdebugbar-icon-cpu:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}.phpdebugbar-icon-table:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}.phpdebugbar-icon-link:before{-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link)}.phpdebugbar-icon-copy:before{-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy)}.phpdebugbar-icon-circle-check:before{-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}.phpdebugbar-icon-external-link:before{-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link)}@media print{div.phpdebugbar{display:none}}div.phpdebugbar,div.phpdebugbar-openhandler,div.phpdebugbar-widgets-datasets-panel{--debugbar-background: #F7F7F7;--debugbar-background-alt: #EFEFEF;--debugbar-text: #222;--debugbar-text-muted: #888;--debugbar-border: #eee;--debugbar-header: #efefef;--debugbar-header-text: #555;--debugbar-header-border: #ddd;--debugbar-active: #ccc;--debugbar-active-text: #666;--debugbar-icons: #555;--debugbar-badge: #ccc;--debugbar-badge-text: #555;--debugbar-badge-active: #477e96;--debugbar-badge-active-text: #fff;--debugbar-link: #888;--debugbar-hover: #aaa;--debugbar-accent: #6BB7D8;--debugbar-accent-border: #477e96;--debugbar-font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--debugbar-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--debugbar-icon-brand: var(--debugbar-icon-brand-php)}div.phpdebugbar[data-theme=dark],div.phpdebugbar-openhandler[data-theme=dark],div.phpdebugbar-widgets-datasets-panel[data-theme=dark]{--debugbar-background: #2a2a2a;--debugbar-background-alt: #333333;--debugbar-text: #e0e0e0;--debugbar-text-muted: #aaaaaa;--debugbar-border: #3a3a3a;--debugbar-header: #1e1e1e;--debugbar-header-text: #cccccc;--debugbar-header-border: #444;--debugbar-active: #444;--debugbar-active-text: #e0e0e0;--debugbar-icons: #cccccc;--debugbar-badge: #444;--debugbar-badge-text: #cccccc;--debugbar-badge-active: #4F8FB3;--debugbar-badge-active-text: #1e1e1e;--debugbar-accent: #4F8FB3;--debugbar-accent-border: #3F7A94;--debugbar-link: #aaaaaa;--debugbar-hover: #888888}div.phpdebugbar{position:fixed;bottom:0;left:0;width:100%;border-top:0;font-family:var(--debugbar-font-sans);background:var(--debugbar-background);z-index:100000000;font-size:13px;color:var(--debugbar-text);text-align:left;line-height:1.2em;letter-spacing:normal;direction:ltr}div.phpdebugbar.phpdebugbar-fullscreen,div.phpdebugbar.phpdebugbar-fullscreen[data-toolbarPosition=top]{top:0;bottom:0;display:flex;flex-direction:column}div.phpdebugbar.phpdebugbar-fullscreen .phpdebugbar-body{flex:1;height:calc(100% - 32px)!important}div.phpdebugbar.phpdebugbar-fullscreen .phpdebugbar-resize-handle{display:none}.phpdebugbar [hidden]{display:none!important}div.phpdebugbar[data-openBtnPosition=bottomRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=topRight].phpdebugbar-closed{left:auto;right:0}div.phpdebugbar[data-openBtnPosition=topRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=topLeft].phpdebugbar-closed{bottom:auto;top:0;border-bottom:1px solid var(--debugbar-header-border)}div.phpdebugbar[data-openBtnPosition=bottomRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=bottomLeft].phpdebugbar-closed{border-top:1px solid var(--debugbar-header-border)}.phpdebugbar-closed[data-openBtnPosition=bottomLeft],.phpdebugbar-closed[data-openBtnPosition=topLeft]{border-right:1px solid var(--debugbar-header-border)}.phpdebugbar-closed[data-openBtnPosition=bottomRight],.phpdebugbar-closed[data-openBtnPosition=topRight]{border-left:1px solid var(--debugbar-header-border)}div.phpdebugbar a,div.phpdebugbar-openhandler{cursor:pointer}div.phpdebugbar-drag-capture{position:fixed;inset:0;z-index:100000001;background:none;display:none;cursor:row-resize}div.phpdebugbar-closed{width:auto}div.phpdebugbar *{margin:0;padding:0;border:0;font-weight:400;text-decoration:none;clear:initial;width:auto;direction:ltr;text-align:left;-moz-box-sizing:content-box;box-sizing:content-box}div.phpdebugbar select,div.phpdebugbar input{appearance:auto}div.phpdebugbar ol,div.phpdebugbar ul{list-style:none}div.phpdebugbar ul li,div.phpdebugbar ol li,div.phpdebugbar dl li{line-height:normal}div.phpdebugbar table,.phpdebugbar-openhandler table{border-collapse:collapse;border-spacing:0;color:inherit}div.phpdebugbar input[type=text],div.phpdebugbar input[type=password],div.phpdebugbar select{font-family:var(--debugbar-font-sans);background:var(--debugbar-background);font-size:14px;color:var(--debugbar-text);padding:0;border:1px solid var(--debugbar-border);border-radius:.25rem;margin:0}div.phpdebugbar code,div.phpdebugbar pre,div.phpdebugbar samp{background:none;font-family:var(--debugbar-font-mono);font-size:1em;border:0!important;padding:0;margin:0}div.phpdebugbar code,div.phpdebugbar pre{color:var(--debugbar-text)}div.phpdebugbar pre.sf-dump{background:none!important;z-index:0!important;display:block!important;color:#a0a000;outline:0}div.phpdebugbar pre.sf-dump .sf-dump-private{color:gray}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-public{color:#fc0}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-protected{color:#a0a000}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-private{color:#9d9266}a.phpdebugbar-restore-btn{float:left;padding:4px;font-size:14px;color:var(--debugbar-icons);text-decoration:none;width:24px;height:24px}div.phpdebugbar-resize-handle{height:4px;margin-top:-4px;width:100%;background:none;border-bottom:1px solid var(--debugbar-header-border);cursor:row-resize}div.phpdebugbar-minimized div.phpdebugbar-resize-handle{cursor:auto}div.phpdebugbar-resize-handle.phpdebugbar-resize-handle-bottom{margin-top:4px}div.phpdebugbar-minimized{border-top:1px solid var(--debugbar-header-border)}div.phpdebugbar-minimized[data-toolbarPosition=top]{border-top:0;border-bottom:1px solid var(--debugbar-header-border)}div.phpdebugbar[data-toolbarPosition=top]{bottom:auto;top:0}div.phpdebugbar[data-toolbarPosition=top] div.phpdebugbar-resize-handle-top{height:0;display:none}div.phpdebugbar[data-toolbarPosition=top] div.phpdebugbar-resize-handle-bottom{margin-top:0}div.phpdebugbar[data-toolbarPosition=bottom] div.phpdebugbar-resize-handle-bottom{height:0;margin-top:0}a.phpdebugbar-restore-btn:after{-webkit-mask-image:var(--debugbar-icon-brand);mask-image:var(--debugbar-icon-brand);-webkit-mask-size:20px 20px;mask-size:20px 20px;background-color:var(--debugbar-icons)}div.phpdebugbar-header{background-color:var(--debugbar-header);min-height:32px;line-height:16px}div.phpdebugbar-header:before,div.phpdebugbar-header:after{display:table;line-height:0;content:""}div.phpdebugbar-header:after{clear:both}div.phpdebugbar-header-left{float:left}div.phpdebugbar-header-right{float:right}div.phpdebugbar-header>div>*{padding:5px;font-size:13px;height:22px;color:var(--debugbar-header-text);text-decoration:none}div.phpdebugbar-header-left>*,div.phpdebugbar-header-right>*{line-height:0;display:flex;align-items:center}div.phpdebugbar-header-left>*{float:left}div.phpdebugbar-header-right>*{float:right}div.phpdebugbar-header-right select{padding:0;line-height:1em;background-color:var(--debugbar-header);color:var(--debugbar-header-text)}span.phpdebugbar-indicator,a.phpdebugbar-indicator{border-right:1px solid var(--debugbar-header-border)}.phpdebugbar[data-hideEmptyTabs=true] .phpdebugbar-tab[data-empty=true]:not(.phpdebugbar-active){display:none}a.phpdebugbar-tab.phpdebugbar-active{background:var(--debugbar-active);color:var(--debugbar-active-text)}a.phpdebugbar-tab .phpdebugbar-text{font-size:14px}a.phpdebugbar-tab span.phpdebugbar-badge{display:none;margin-left:5px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge);border-radius:4px;color:var(--debugbar-badge-text);font-weight:400;text-shadow:none}a.phpdebugbar-tab.phpdebugbar-active span.phpdebugbar-badge{background:var(--debugbar-badge-active);color:var(--debugbar-badge-active-text)}a.phpdebugbar-tab i{display:none;vertical-align:middle}.phpdebugbar-icon,i.phpdebugbar-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.phpdebugbar-icon:before,i.phpdebugbar-icon:before{content:"";display:block;justify-content:center;flex-shrink:0;width:1.3em;height:1.3em;background-size:contain;background-repeat:no-repeat;background-position:center;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}.phpdebugbar-icon-brand:before{-webkit-mask-image:var(--debugbar-icon-brand);mask-image:var(--debugbar-icon-brand)}a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-visible{display:inline}a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-important{background:#ed6868;color:#fff}a.phpdebugbar-close-btn,a.phpdebugbar-open-btn,a.phpdebugbar-fullscreen-btn,a.phpdebugbar-minimize-btn,a.phpdebugbar-maximize-btn,a.phpdebugbar-tab.phpdebugbar-tab-history,a.phpdebugbar-tab.phpdebugbar-tab-settings{width:16px;height:22px;position:relative}a.phpdebugbar-close-btn:after,a.phpdebugbar-open-btn:after,a.phpdebugbar-restore-btn:after,a.phpdebugbar-fullscreen-btn:after,a.phpdebugbar-minimize-btn:after,a.phpdebugbar-maximize-btn:after{content:" ";display:block;left:0;position:absolute;top:0;width:100%;height:100%;background-color:var(--debugbar-icons);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:18px 18px;mask-size:18px 18px}a.phpdebugbar-restore-btn:after{-webkit-mask-size:24px 24px;mask-size:24px 24px;mask-repeat:no-repeat;mask-position:center;position:relative}a.phpdebugbar-minimize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}a.phpdebugbar-maximize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}div.phpdebugbar[data-toolbarPosition=top] a.phpdebugbar-minimize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}div.phpdebugbar[data-toolbarPosition=top] a.phpdebugbar-maximize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}a.phpdebugbar-close-btn:after{-webkit-mask-image:var(--debugbar-icon-x);mask-image:var(--debugbar-icon-x)}a.phpdebugbar-fullscreen-btn:after{-webkit-mask-image:var(--debugbar-icon-arrows-maximize);mask-image:var(--debugbar-icon-arrows-maximize)}div.phpdebugbar.phpdebugbar-fullscreen a.phpdebugbar-fullscreen-btn:after{-webkit-mask-image:var(--debugbar-icon-arrows-minimize);mask-image:var(--debugbar-icon-arrows-minimize)}a.phpdebugbar-open-btn:after{-webkit-mask-image:var(--debugbar-icon-folder-open);mask-image:var(--debugbar-icon-folder-open)}.phpdebugbar-indicator{position:relative;cursor:pointer}.phpdebugbar-indicator span.phpdebugbar-text{margin-left:5px}.phpdebugbar-indicator span.phpdebugbar-tooltip{display:none;position:absolute;bottom:38px;background:var(--debugbar-header);border:1px solid var(--debugbar-header-border);color:var(--debugbar-header-text);font-size:11px;padding:2px 6px;z-index:100000001;text-align:center;white-space:nowrap;right:0;line-height:1.5;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.phpdebugbar-indicator:hover span.phpdebugbar-tooltip:not(.phpdebugbar-disabled){display:block}.phpdebugbar-indicator span.phpdebugbar-tooltip dl{display:grid;grid-gap:4px 10px;grid-template-columns:max-content}.phpdebugbar-indicator span.phpdebugbar-tooltip dl dt{font-weight:700;text-align:left}.phpdebugbar-indicator span.phpdebugbar-tooltip dl dd{margin:0;grid-column-start:2;text-align:left}.phpdebugbar .phpdebugbar-datasets-switcher{float:right}.phpdebugbar .phpdebugbar-datasets-switcher select{max-width:200px;height:22px;padding:4px 0;border:none}.phpdebugbar button,.phpdebugbar-openhandler button{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;margin:0 5px;padding:0 12px;height:20px;line-height:normal;cursor:pointer}div.phpdebugbar-body{border-top:1px solid var(--debugbar-header-border);position:relative;height:300px}div.phpdebugbar-panel{height:100%;overflow:auto;width:100%;position:relative}div.phpdebugbar-panel.phpdebugbar-active{display:block}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float{position:sticky;top:0;right:0;height:0;z-index:3;pointer-events:none}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn{position:absolute;top:8px;right:8px;pointer-events:auto;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--debugbar-text-muted);background-color:var(--debugbar-background);border:1px solid var(--debugbar-border);border-radius:3px;cursor:pointer;box-shadow:0 2px 6px #0000002e;transition:transform .12s ease,box-shadow .12s ease,color .12s ease}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn:hover{color:var(--debugbar-text);transform:translateY(-1px);box-shadow:0 4px 10px #00000038}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn.phpdebugbar-panel-summary-btn-active{color:var(--debugbar-text);box-shadow:0 2px 4px #00000038 inset}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn:before{content:"";display:inline-block;width:16px;height:16px;-webkit-mask-image:var(--debugbar-icon-bookmark);mask-image:var(--debugbar-icon-bookmark);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;background-color:currentColor}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover{position:absolute;top:44px;right:8px;pointer-events:auto;min-width:260px;max-width:min(480px,90vw);max-height:60vh;padding:8px;background-color:var(--debugbar-background);border:1px solid var(--debugbar-border);border-radius:4px;box-shadow:0 4px 12px #0003;display:flex;flex-direction:column;gap:6px;overflow:hidden}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover div.phpdebugbar-panel-summary-content{flex:1 1 auto;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--debugbar-font-mono);font-size:11px;line-height:1.4;color:var(--debugbar-text);padding:4px;background-color:var(--debugbar-background-alt);border-radius:3px}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy{flex:0 0 auto;align-self:flex-end;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-family:inherit;color:var(--debugbar-text);background-color:var(--debugbar-background-alt);border:1px solid var(--debugbar-border);border-radius:3px;cursor:pointer;line-height:1.4}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy:hover{background-color:var(--debugbar-background)}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy:before{content:"";display:inline-block;width:11px;height:11px;-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;background-color:currentColor}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy.phpdebugbar-panel-summary-copied{color:var(--debugbar-success, #4caf50)}div.phpdebugbar-mini-design a.phpdebugbar-tab{position:relative;border-right:1px solid var(--debugbar-header-border)}div.phpdebugbar-mini-design a.phpdebugbar-tab span.phpdebugbar-text{display:none}div.phpdebugbar-mini-design a.phpdebugbar-tab:hover span.phpdebugbar-text{display:block;position:absolute;top:-30px;background:var(--debugbar-background);opacity:1;border:1px solid var(--debugbar-header-border);color:var(--debugbar-header-text);font-size:11px;padding:2px 6px;z-index:100000001;text-align:center;right:0;line-height:1.5;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}div.phpdebugbar-mini-design a.phpdebugbar-tab i{display:inline-block}a.phpdebugbar-tab.phpdebugbar-tab-history{width:auto;min-width:22px}a.phpdebugbar-tab.phpdebugbar-tab-history,a.phpdebugbar-tab.phpdebugbar-tab-settings{display:flex;justify-content:center;align-items:center}a.phpdebugbar-tab.phpdebugbar-tab-history .phpdebugbar-text,a.phpdebugbar-tab.phpdebugbar-tab-settings .phpdebugbar-text{display:none;white-space:nowrap}a.phpdebugbar-tab.phpdebugbar-tab-history i,a.phpdebugbar-tab.phpdebugbar-tab-settings i{display:inline-block}.phpdebugbar-widgets-dataset-history table{width:100%;table-layout:fixed}.phpdebugbar-widgets-dataset-history table th{font-weight:700}.phpdebugbar-widgets-dataset-history table td,.phpdebugbar-widgets-dataset-history table th{padding:6px 3px;border-bottom:1px solid var(--debugbar-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phpdebugbar-widgets-dataset-history table td a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phpdebugbar-widgets-dataset-history table tr.phpdebugbar-widgets-active{background:var(--debugbar-active);color:var(--debugbar-active-text)}.phpdebugbar-widgets-dataset-history span.phpdebugbar-badge{margin:0 5px 0 2px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge);border-radius:4px;color:var(--debugbar-badge-text);font-weight:400;text-shadow:none;vertical-align:middle}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions{text-align:center;padding:7px 0;position:sticky;top:0;background:var(--debugbar-background)}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions a{margin:0 10px}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions input{margin:5px}.phpdebugbar-settings .phpdebugbar-form-row{display:block;border-top:1px solid var(--debugbar-border);min-height:17px;padding:5px 10px}.phpdebugbar-settings .phpdebugbar-form-label{width:200px;font-weight:700;display:inline-block;clear:none}.phpdebugbar-settings .phpdebugbar-form-input{font-weight:700;display:inline-block;clear:none}.phpdebugbar-settings input[type=text],.phpdebugbar-settings select{margin:0 5px;min-width:200px}.phpdebugbar-settings input[type=checkbox]{margin:0 5px}pre.phpdebugbar-widgets-code-block{white-space:pre;word-wrap:normal;overflow:hidden}pre.phpdebugbar-widgets-code-block code{display:block;overflow-x:auto;overflow-y:hidden}pre.phpdebugbar-widgets-code-block code.phpdebugbar-widgets-numbered-code{padding:5px;line-height:normal}pre.phpdebugbar-widgets-code-block ul li.phpdebugbar-widgets-highlighted-line{font-weight:bolder;text-decoration:underline}pre.phpdebugbar-widgets-code-block ul li.phpdebugbar-widgets-highlighted-line span{position:absolute;background:var(--debugbar-text);min-width:calc(100% - 85px);margin-left:10px;opacity:.15}pre.phpdebugbar-widgets-code-block ul{position:static;float:left;padding:5px;border-right:1px solid var(--debugbar-header-border);text-align:right}.phpdebugbar-widgets-kvlist span.phpdebugbar-widgets-filename,li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename,table.phpdebugbar-widgets-tablevar span.phpdebugbar-widgets-filename{display:block;font-style:italic;float:right;margin-left:8px;color:var(--debugbar-link)}a.phpdebugbar-widgets-editor-link,a.phpdebugbar-widgets-external-link{color:var(--debugbar-link)}.phpdebugbar-widgets-kvlist span.phpdebugbar-widgets-filename:hover,li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename:hover,a.phpdebugbar-widgets-editor-link:hover,a.phpdebugbar-widgets-external-link:hover{color:var(--debugbar-hover)}a.phpdebugbar-widgets-editor-link:before,a.phpdebugbar-widgets-external-link:after{content:"";display:inline-block;width:1em;height:1em;margin-left:4px;vertical-align:middle;-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}table.phpdebugbar-widgets-params{width:70%;margin:10px;border:1px solid var(--debugbar-border);font-family:var(--debugbar-font-mono);font-size:13px;border-collapse:collapse}table.phpdebugbar-widgets-params th{font-weight:700}table.phpdebugbar-widgets-params td{border:1px solid var(--debugbar-border);border-left:none;border-right:none;padding:0 5px}table.phpdebugbar-widgets-params .phpdebugbar-widgets-name{width:20%;font-weight:700;vertical-align:top}.phpdebugbar-widgets-truncated{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}ul.phpdebugbar-widgets-list{margin:0;padding:0;list-style:none;font-family:var(--debugbar-font-mono)}ul.phpdebugbar-widgets-list li.phpdebugbar-widgets-list-item{padding:7px 10px;border-bottom:1px solid var(--debugbar-border);position:relative;overflow:hidden}div.phpdebugbar-widgets-messages{position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column}div.phpdebugbar-widgets-messages ul.phpdebugbar-widgets-list{padding-bottom:45px;flex:1;overflow-y:auto}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value{display:flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value:before{margin-right:8px;font-family:system-ui,sans-serif;font-size:1.25em;line-height:1;display:inline-flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success{color:#28a745}.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success{color:#56db3a}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success:before{content:"\2713"}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-alert:before{content:"\2139";color:#cbcf38}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-debug:before{color:#78d79a}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-warning:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-emergency:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-notice:before{content:"\26a0";color:#ecb03d}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-critical{color:red}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-critical:before{content:"\2716"}.phpdebugbar-widgets-params .phpdebugbar-widgets-value pre.sf-dump,dl.phpdebugbar-widgets-kvlist dd.phpdebugbar-widgets-value pre.sf-dump,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item pre.sf-dump{display:inline-block!important;padding-top:0;padding-left:0;padding-bottom:0}dl.phpdebugbar-widgets-kvlist dd.phpdebugbar-widgets-value pre.sf-dump{max-width:calc(100% - 5px)}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-label{float:right;font-size:12px;padding:2px 4px;color:#888;margin:0 2px;text-decoration:none;text-shadow:none;background:none;font-weight:400}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-context-count{float:right;font-size:12px;padding:2px 4px;color:#888;margin:0 2px;text-decoration:none;text-shadow:none;background:none;font-weight:400;display:inline-flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-context-count:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector{color:#555;font-style:italic}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar{position:relative;flex-shrink:0;width:100%;background:var(--debugbar-header);color:var(--debugbar-text);border-top:1px solid var(--debugbar-border);border-bottom:0px;height:20px;padding:4px 0}div.phpdebugbar-widgets-messages li .phpdebugbar-widgets-label-called-from{float:right;color:var(--debugbar-text-muted);padding-left:5px;border-bottom:1px dotted var(--debugbar-border)}div.phpdebugbar-widgets-messages li .phpdebugbar-widgets-label-called-from:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input{border:0;margin:0 0 0 7px;width:30%;box-shadow:none;border-radius:3px;padding:2px 6px;height:15px}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input:focus{outline:none}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter{float:right;font-size:12px;padding:2px 4px;background:#7cacd5;margin:0 2px;border-radius:4px;color:var(--debugbar-background);text-decoration:none}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded{background:var(--debugbar-active);color:var(--debugbar-text-muted)}dl.phpdebugbar-widgets-kvlist{margin:0;display:grid;grid-template-columns:minmax(160px,15%) minmax(0,1fr)}dl.phpdebugbar-widgets-kvlist dt{grid-column:1;min-width:0;padding:5px 10px;border-top:1px solid var(--debugbar-border);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}dl.phpdebugbar-widgets-kvlist dd{grid-column:2;margin:0;padding:5px 10px;border-top:1px solid var(--debugbar-border);cursor:pointer;min-height:17px;overflow-wrap:anywhere;overflow-x:auto}dl.phpdebugbar-widgets-varlist,dl.phpdebugbar-widgets-jsonvarlist,dl.phpdebugbar-widgets-htmlvarlist{font-family:var(--debugbar-font-mono)}dl.phpdebugbar-widgets-jsonvarlist dd,dl.phpdebugbar-widgets-htmlvarlist dd{cursor:initial}ul.phpdebugbar-widgets-timeline{margin:0;padding:0;list-style:none}ul.phpdebugbar-widgets-timeline .phpdebugbar-widgets-measure{height:20px;position:relative;border:none;display:block}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label,ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-collector{position:absolute;font-size:12px;font-family:var(--debugbar-font-mono);color:var(--debugbar-text);top:4px;left:5px;background:none;text-shadow:none;font-weight:400;white-space:pre}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-collector{left:initial;right:5px}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-value{display:block;position:absolute;height:calc(100% - 4px);background-color:var(--debugbar-accent);border-bottom:2px solid var(--debugbar-accent-border);top:2px;border-radius:3px;min-width:2px}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item{cursor:pointer}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-message{display:block;color:red}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-type{display:block;position:absolute;right:4px;top:4px;font-weight:700}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-file{margin:10px;padding:5px;border:1px solid var(--debugbar-border);font-family:var(--debugbar-font-mono)}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename{float:none}div.phpdebugbar[data-theme=dark] code.phpdebugbar-widgets-sql,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-name,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-key,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-success>pre.sf-dump>.sf-dump-note{color:#fdfd96}table.phpdebugbar-widgets-tablevar{width:100%;table-layout:auto;font-size:1em}table.phpdebugbar-widgets-tablevar td:first-child{width:150px;white-space:nowrap;font-family:var(--debugbar-font-mono)}table.phpdebugbar-widgets-tablevar td.phpdebugbar-widgets-editor{width:5%;white-space:nowrap;text-align:right}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td{font-weight:700}table.phpdebugbar-widgets-tablevar td{padding:2px 4px;border-bottom:1px solid var(--debugbar-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td{position:sticky;inset-inline-start:0px;background:var(--debugbar-background);border-bottom:none;z-index:1;top:0;bottom:0}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td:after,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:var(--debugbar-border)}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td:after{bottom:auto;top:0}div.phpdebugbar span.phpdebugbar-widgets-badge{margin:0 5px 0 8px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge-active);border-radius:4px;color:var(--debugbar-badge-active-text);font-weight:400;text-shadow:none;vertical-align:middle}.phpdebugbar .phpdebugbar-widgets-datasets-switcher-widget{position:relative;float:right;display:flex;padding:0!important;margin:0!important;height:32px;align-items:center}.phpdebugbar .phpdebugbar-widgets-datasets-badge{position:relative;display:flex;align-items:center;gap:6px;padding:0 10px;height:32px;background:var(--debugbar-header);color:var(--debugbar-header-text);cursor:pointer;font-size:12px;line-height:normal;transition:background-color .15s;font-family:var(--debugbar-font-sans);border-right:1px solid var(--debugbar-header-border)}.phpdebugbar .phpdebugbar-widgets-datasets-badge:hover{background:var(--debugbar-active)}.phpdebugbar .phpdebugbar-widgets-datasets-badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:9px;font-weight:600;font-size:11px}.phpdebugbar .phpdebugbar-widgets-datasets-badge-count[hidden]{display:none}.phpdebugbar .phpdebugbar-widgets-datasets-badge-url{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-panel{position:fixed;width:600px;background:var(--debugbar-background);border:1px solid var(--debugbar-border);box-shadow:0 2px 8px #0000001a;overflow:hidden;z-index:100000001}.phpdebugbar-widgets-datasets-panel-toolbar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--debugbar-background-alt);border-bottom:1px solid var(--debugbar-border);font-size:12px;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-autoshow{display:flex;align-items:center;gap:4px;cursor:pointer;color:var(--debugbar-text);white-space:nowrap;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-autoshow input[type=checkbox]{cursor:pointer;margin:0}.phpdebugbar-widgets-datasets-clear-btn,.phpdebugbar-widgets-datasets-showall-btn{color:var(--debugbar-link);text-decoration:none;cursor:pointer;white-space:nowrap;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-clear-btn:hover,.phpdebugbar-widgets-datasets-showall-btn:hover{color:var(--debugbar-hover);text-decoration:underline}.phpdebugbar-widgets-datasets-refresh-btn{color:var(--debugbar-text-muted);text-decoration:none;cursor:pointer;white-space:nowrap;font-size:14px;display:inline-flex;align-items:center}.phpdebugbar-widgets-datasets-refresh-btn[hidden]{display:none}.phpdebugbar-widgets-datasets-refresh-btn:hover,.phpdebugbar-widgets-datasets-refresh-btn.phpdebugbar-widgets-active{color:var(--debugbar-text)}.phpdebugbar-widgets-datasets-refresh-btn.phpdebugbar-widgets-active i{animation:phpdebugbar-spin 2s linear infinite}@keyframes phpdebugbar-spin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.phpdebugbar-widgets-datasets-search{flex:1;padding:3px 8px;font-size:11px;min-width:120px;border:1px solid var(--debugbar-border);background:var(--debugbar-background);color:var(--debugbar-text);border-radius:2px;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-list{max-height:300px;overflow-y:auto}.phpdebugbar-widgets-datasets-list-item{display:grid;grid-template-columns:45px 50px 1fr auto auto auto;gap:6px;padding:5px 10px;border-bottom:1px solid var(--debugbar-border);cursor:pointer;transition:background-color .1s;align-items:center;font-size:11px}.phpdebugbar-widgets-datasets-list-item[hidden]{display:none}.phpdebugbar-widgets-datasets-list-item:hover{background:var(--debugbar-background-alt)}.phpdebugbar-widgets-datasets-list-item.phpdebugbar-widgets-active{background:var(--debugbar-active);font-weight:500}.phpdebugbar-widgets-datasets-item-nb{color:var(--debugbar-text-muted);font-weight:600;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-copy-id{cursor:pointer;color:var(--debugbar-text-muted);display:inline-flex;align-items:center;margin-right:-4px;position:relative}.phpdebugbar-widgets-datasets-item-copy-id i{font-size:12px}.phpdebugbar-widgets-datasets-item-copy-id:hover{color:var(--debugbar-text)}.phpdebugbar-widgets-datasets-item-copy-id.phpdebugbar-widgets-copied{color:var(--debugbar-success, #28a745)}.phpdebugbar-widgets-datasets-item-time{color:var(--debugbar-text-muted);font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-request{display:flex;gap:6px;align-items:center;overflow:hidden}.phpdebugbar-widgets-datasets-item-method{padding:1px 5px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:2px;font-weight:600;font-family:var(--debugbar-font-mono);flex-shrink:0}.phpdebugbar-widgets-datasets-item-url{color:var(--debugbar-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-suffix{color:var(--debugbar-text-muted);font-family:var(--debugbar-font-mono);flex-shrink:0}.phpdebugbar-widgets-datasets-item-badges{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}.phpdebugbar-widgets-datasets-item-badge{display:inline-flex;align-items:center;gap:2px;padding:1px 4px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:2px;font-size:10px;font-weight:600;cursor:pointer;transition:background-color .1s}.phpdebugbar-widgets-datasets-item-badge:hover{background:var(--debugbar-badge-active);color:var(--debugbar-badge-active-text)}.phpdebugbar-widgets-datasets-item-badge i{width:12px;height:12px}div.phpdebugbar-openhandler-overlay{position:fixed;left:0;top:0;width:100%;height:100%;background:#000;opacity:.3;z-index:100000002}div.phpdebugbar-openhandler{position:fixed;margin:auto;inset:0;width:80%;height:70%;background:var(--debugbar-background);color:var(--debugbar-text);border:2px solid var(--debugbar-header-border);overflow:auto;z-index:100000003;font-family:var(--debugbar-font-sans);font-size:14px;padding:0}div.phpdebugbar-openhandler select,div.phpdebugbar-openhandler input{appearance:auto}div.phpdebugbar-openhandler input,div.phpdebugbar-openhandler select{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;height:20px;margin:0 5px;padding:0}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions input[name=uri]{width:200px}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions input[name=ip]{width:90px}div.phpdebugbar-openhandler a{color:var(--debugbar-header-text)}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header{background:var(--debugbar-header) no-repeat 5px 4px;color:var(--debugbar-header-text);margin-bottom:10px;display:flex;align-items:center;padding:5px 8px}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-closebtn,div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-brand{font-size:14px;color:var(--debugbar-header-text);text-decoration:none;padding-right:5px;line-height:1;align-items:center}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-closebtn{margin-left:auto}div.phpdebugbar-openhandler table{width:100%;table-layout:fixed;font-size:14px}div.phpdebugbar-openhandler table td,div.phpdebugbar-openhandler table th{border:0px solid var(--debugbar-border);padding:2px 8px}div.phpdebugbar-openhandler table th,div.phpdebugbar-openhandler table tr:nth-child(2n){background-color:var(--debugbar-background-alt)}div.phpdebugbar-openhandler table th:nth-child(3),div.phpdebugbar-openhandler table td:nth-child(3),div.phpdebugbar-openhandler table th:nth-child(5),div.phpdebugbar-openhandler table td:nth-child(5),div.phpdebugbar-openhandler table th:nth-child(6),div.phpdebugbar-openhandler table td:nth-child(6){text-align:center}div.phpdebugbar-openhandler table td{padding:6px 3px;border-bottom:1px solid var(--debugbar-border)}div.phpdebugbar-openhandler table td a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phpdebugbar-openhandler-id-cell{display:flex;align-items:center;gap:4px}.phpdebugbar-openhandler-id-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55px;display:inline-block;font-family:var(--debugbar-font-mono);font-size:12px}.phpdebugbar-openhandler-copy-id{cursor:pointer;color:var(--debugbar-text-muted);display:inline-flex;align-items:center;position:relative;flex-shrink:0}.phpdebugbar-openhandler-copy-id i{font-size:12px}.phpdebugbar-openhandler-copy-id:hover{color:var(--debugbar-text)}.phpdebugbar-openhandler-copy-id.phpdebugbar-openhandler-copied{color:var(--debugbar-success, #28a745)}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions{text-align:center;padding:7px 0}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions a{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;margin:5px;padding:4px 12px}div.phpdebugbar-widgets-mails span.phpdebugbar-widgets-subject{display:block}div.phpdebugbar-widgets-mails li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-headers{margin:10px;padding:5px;border:1px solid var(--debugbar-border);font-family:var(--debugbar-font-mono)}div.phpdebugbar-widgets-sqlqueries{position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-status{font-family:var(--debugbar-font-mono);padding:6px;border-bottom:1px solid var(--debugbar-border);font-weight:700;color:var(--debugbar-text);background-color:var(--debugbar-background-alt);flex-shrink:0;order:1}div.phpdebugbar-widgets-sqlqueries ul.phpdebugbar-widgets-list{flex:1;overflow-y:auto;order:2}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-error{color:red}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id{float:right;margin-left:8px;color:var(--debugbar-text-muted)}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-database,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-duration,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-row-count,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-copy-clipboard,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-stmt-id{color:var(--debugbar-text)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard-check:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before,div.phpdebugbar-widgets-sqlqueries a.phpdebugbar-widgets-editor-link:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before{-webkit-mask-image:var(--debugbar-icon-database);mask-image:var(--debugbar-icon-database)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before{-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before{-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard-check:before{-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}div.phpdebugbar-widgets-sqlqueries a.phpdebugbar-widgets-editor-link:before{-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link)}div.phpdebugbar-widgets-sqlqueries a.phpdebugbar-widgets-editor-link{color:var(--debugbar-link)}div.phpdebugbar-widgets-sqlqueries a.phpdebugbar-widgets-editor-link:hover{color:var(--debugbar-hover)}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-error{display:block;font-weight:700}code.phpdebugbar-widgets-sql{white-space:pre-wrap;overflow-wrap:break-word;word-wrap:break-word}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-slow{background-color:#ffe4e4}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate{background-color:#fdfdcd}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-slow{background-color:#623100}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate{background-color:#565602}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar{position:relative;flex-shrink:0;width:100%;z-index:1;order:3}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter{float:right;font-size:12px;padding:2px 4px;background:#7cacd5;margin:0 2px;border-radius:4px;color:#fff;text-decoration:none}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded{background:var(--debugbar-background);color:var(--debugbar-text)}div.phpdebugbar-widgets-sqlqueries a.phpdebugbar-widgets-duplicates{font-weight:700;text-decoration:underline}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item div.phpdebugbar-widgets-bg-measure{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-bg-measure div.phpdebugbar-widgets-value{position:absolute;bottom:0;height:1px;opacity:1;background:var(--debugbar-accent-border)}div.phpdebugbar-widgets-sqlqueries td.phpdebugbar-widgets-value li.phpdebugbar-widgets-table-list-item{text-align:left;padding-left:6px}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-text-muted{color:var(--debugbar-text-muted)}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction,div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-message,div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-info{font-weight:bolder}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction{color:#d73a49}[data-theme=dark] div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction{color:#ff7b72}div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status{font-family:var(--debugbar-font-mono);padding:6px;border-bottom:1px solid var(--debugbar-border);font-weight:700;color:var(--debugbar-text);background-color:var(--debugbar-background-alt)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type{float:right;margin-left:8px;color:var(--debugbar-text)}div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-render-time,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-param-count,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status a.phpdebugbar-widgets-editor-link,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-type{color:var(--debugbar-text)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before,div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link:hover{color:var(--debugbar-hover)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before{-webkit-mask-image:var(--debugbar-icon-code);mask-image:var(--debugbar-icon-code)}div.phpdebugbar-widgets-templates a.phpdebugbar-widgets-editor-link:before{-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link);margin-left:4px}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-callgraph>pre *{background-color:inherit!important}pre code.phpdebugbar-hljs{display:block;overflow-x:auto;padding:1em}code.phpdebugbar-hljs{padding:3px 5px}/*! Theme: GitHub Description: Light theme as seen on github.com Author: github.com diff --git a/resources/dist/debugbar.min.js b/resources/dist/debugbar.min.js index aa2a8605..7385ff34 100644 --- a/resources/dist/debugbar.min.js +++ b/resources/dist/debugbar.min.js @@ -1,19 +1,20 @@ -(()=>{var Dn=Object.defineProperty;var Pt=Object.getOwnPropertySymbols;var Mn=Object.prototype.hasOwnProperty,Pn=Object.prototype.propertyIsEnumerable;var Bt=Math.pow,Ut=(s,W,N)=>W in s?Dn(s,W,{enumerable:!0,configurable:!0,writable:!0,value:N}):s[W]=N,pt=(s,W)=>{for(var N in W||(W={}))Mn.call(W,N)&&Ut(s,N,W[N]);if(Pt)for(var N of Pt(W))Pn.call(W,N)&&Ut(s,N,W[N]);return s};(()=>{var s=Object.create,W=Object.defineProperty,N=Object.getOwnPropertyDescriptor,m=Object.getOwnPropertyNames,h=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty,c=(f,U)=>()=>(U||f((U={exports:{}}).exports,U),U.exports),B=(f,U,Q,ee)=>{if(U&&typeof U=="object"||typeof U=="function")for(let ne of m(U))!k.call(f,ne)&&ne!==Q&&W(f,ne,{get:()=>U[ne],enumerable:!(ee=N(U,ne))||ee.enumerable});return f},V=(f,U,Q)=>(Q=f!=null?s(h(f)):{},B(U||!f||!f.__esModule?W(Q,"default",{value:f,enumerable:!0}):Q,f)),F=c((f,U)=>{function Q(n){return n instanceof Map?n.clear=n.delete=n.set=function(){throw new Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=function(){throw new Error("set is read-only")}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach(v=>{let G=n[v],Z=typeof G;(Z==="object"||Z==="function")&&!Object.isFrozen(G)&&Q(G)}),n}var ee=class{constructor(n){n.data===void 0&&(n.data={}),this.data=n.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function ne(n){return n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function ie(n,...v){let G=Object.create(null);for(let Z in n)G[Z]=n[Z];return v.forEach(function(Z){for(let de in Z)G[de]=Z[de]}),G}var se="",le=n=>!!n.scope,ce=(n,{prefix:v})=>{if(n.startsWith("language:"))return n.replace("language:","language-");if(n.includes(".")){let G=n.split(".");return[`${v}${G.shift()}`,...G.map((Z,de)=>`${Z}${"_".repeat(de+1)}`)].join(" ")}return`${v}${n}`},ge=class{constructor(n,v){this.buffer="",this.classPrefix=v.classPrefix,n.walk(this)}addText(n){this.buffer+=ne(n)}openNode(n){if(!le(n))return;let v=ce(n.scope,{prefix:this.classPrefix});this.span(v)}closeNode(n){le(n)&&(this.buffer+=se)}value(){return this.buffer}span(n){this.buffer+=``}},Ie=(n={})=>{let v={children:[]};return Object.assign(v,n),v},Me=class Ht{constructor(){this.rootNode=Ie(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(v){this.top.children.push(v)}openNode(v){let G=Ie({scope:v});this.add(G),this.stack.push(G)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(v){return this.constructor._walk(v,this.rootNode)}static _walk(v,G){return typeof G=="string"?v.addText(G):G.children&&(v.openNode(G),G.children.forEach(Z=>this._walk(v,Z)),v.closeNode(G)),v}static _collapse(v){typeof v!="string"&&v.children&&(v.children.every(G=>typeof G=="string")?v.children=[v.children.join("")]:v.children.forEach(G=>{Ht._collapse(G)}))}},Le=class extends Me{constructor(n){super(),this.options=n}addText(n){n!==""&&this.add(n)}startScope(n){this.openNode(n)}endScope(){this.closeNode()}__addSublanguage(n,v){let G=n.root;v&&(G.scope=`language:${v}`),this.add(G)}toHTML(){return new ge(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function me(n){return n?typeof n=="string"?n:n.source:null}function Ce(n){return Te("(?=",n,")")}function ke(n){return Te("(?:",n,")*")}function Pe(n){return Te("(?:",n,")?")}function Te(...n){return n.map(v=>me(v)).join("")}function De(n){let v=n[n.length-1];return typeof v=="object"&&v.constructor===Object?(n.splice(n.length-1,1),v):{}}function ve(...n){return"("+(De(n).capture?"":"?:")+n.map(v=>me(v)).join("|")+")"}function xe(n){return new RegExp(n.toString()+"|").exec("").length-1}function he(n,v){let G=n&&n.exec(v);return G&&G.index===0}var we=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Ae(n,{joinWith:v}){let G=0;return n.map(Z=>{G+=1;let de=G,ue=me(Z),$="";for(;ue.length>0;){let j=we.exec(ue);if(!j){$+=ue;break}$+=ue.substring(0,j.index),ue=ue.substring(j.index+j[0].length),j[0][0]==="\\"&&j[1]?$+="\\"+String(Number(j[1])+de):($+=j[0],j[0]==="("&&G++)}return $}).map(Z=>`(${Z})`).join(v)}var Ge=/\b\B/,_e="[a-zA-Z]\\w*",je="[a-zA-Z_]\\w*",Xe="\\b\\d+(\\.\\d+)?",Ke="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ye="\\b(0b[01]+)",Ne="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Ue=(n={})=>{let v=/^#![ ]*\//;return n.binary&&(n.begin=Te(v,/.*\b/,n.binary,/\b.*/)),ie({scope:"meta",begin:v,end:/$/,relevance:0,"on:begin":(G,Z)=>{G.index!==0&&Z.ignoreMatch()}},n)},qe={begin:"\\\\[\\s\\S]",relevance:0},Se={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[qe]},Ve={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[qe]},Qe={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},$e=function(n,v,G={}){let Z=ie({scope:"comment",begin:n,end:v,contains:[]},G);Z.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let de=ve("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return Z.contains.push({begin:Te(/[ ]+/,"(",de,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Z},nt=$e("//","$"),it=$e("/\\*","\\*/"),Wt=$e("#","$"),Ft={scope:"number",begin:Xe,relevance:0},Gt={scope:"number",begin:Ke,relevance:0},jt={scope:"number",begin:ye,relevance:0},Vt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[qe,{begin:/\[/,end:/\]/,relevance:0,contains:[qe]}]},$t={scope:"title",begin:_e,relevance:0},zt={scope:"title",begin:je,relevance:0},Yt={begin:"\\.\\s*"+je,relevance:0},Xt=function(n){return Object.assign(n,{"on:begin":(v,G)=>{G.data._beginMatch=v[1]},"on:end":(v,G)=>{G.data._beginMatch!==v[1]&&G.ignoreMatch()}})},at=Object.freeze({__proto__:null,APOS_STRING_MODE:Se,BACKSLASH_ESCAPE:qe,BINARY_NUMBER_MODE:jt,BINARY_NUMBER_RE:ye,COMMENT:$e,C_BLOCK_COMMENT_MODE:it,C_LINE_COMMENT_MODE:nt,C_NUMBER_MODE:Gt,C_NUMBER_RE:Ke,END_SAME_AS_BEGIN:Xt,HASH_COMMENT_MODE:Wt,IDENT_RE:_e,MATCH_NOTHING_RE:Ge,METHOD_GUARD:Yt,NUMBER_MODE:Ft,NUMBER_RE:Xe,PHRASAL_WORDS_MODE:Qe,QUOTE_STRING_MODE:Ve,REGEXP_MODE:Vt,RE_STARTERS_RE:Ne,SHEBANG:Ue,TITLE_MODE:$t,UNDERSCORE_IDENT_RE:je,UNDERSCORE_TITLE_MODE:zt});function Kt(n,v){n.input[n.index-1]==="."&&v.ignoreMatch()}function qt(n,v){n.className!==void 0&&(n.scope=n.className,delete n.className)}function Qt(n,v){v&&n.beginKeywords&&(n.begin="\\b("+n.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",n.__beforeBegin=Kt,n.keywords=n.keywords||n.beginKeywords,delete n.beginKeywords,n.relevance===void 0&&(n.relevance=0))}function Zt(n,v){Array.isArray(n.illegal)&&(n.illegal=ve(...n.illegal))}function Jt(n,v){if(n.match){if(n.begin||n.end)throw new Error("begin & end are not supported with match");n.begin=n.match,delete n.match}}function en(n,v){n.relevance===void 0&&(n.relevance=1)}var tn=(n,v)=>{if(!n.beforeMatch)return;if(n.starts)throw new Error("beforeMatch cannot be used with starts");let G=Object.assign({},n);Object.keys(n).forEach(Z=>{delete n[Z]}),n.keywords=G.keywords,n.begin=Te(G.beforeMatch,Ce(G.begin)),n.starts={relevance:0,contains:[Object.assign(G,{endsParent:!0})]},n.relevance=0,delete G.beforeMatch},nn=["of","and","for","in","not","or","if","then","parent","list","value"],sn="keyword";function Rt(n,v,G=sn){let Z=Object.create(null);return typeof n=="string"?de(G,n.split(" ")):Array.isArray(n)?de(G,n):Object.keys(n).forEach(function(ue){Object.assign(Z,Rt(n[ue],v,ue))}),Z;function de(ue,$){v&&($=$.map(j=>j.toLowerCase())),$.forEach(function(j){let X=j.split("|");Z[X[0]]=[ue,an(X[0],X[1])]})}}function an(n,v){return v?Number(v):rn(n)?0:1}function rn(n){return nn.includes(n.toLowerCase())}var Lt={},Ze=n=>{console.error(n)},Nt=(n,...v)=>{console.log(`WARN: ${n}`,...v)},et=(n,v)=>{Lt[`${n}/${v}`]||(console.log(`Deprecated as of ${n}. ${v}`),Lt[`${n}/${v}`]=!0)},rt=new Error;function _t(n,v,{key:G}){let Z=0,de=n[G],ue={},$={};for(let j=1;j<=v.length;j++)$[j+Z]=de[j],ue[j+Z]=!0,Z+=xe(v[j-1]);n[G]=$,n[G]._emit=ue,n[G]._multi=!0}function on(n){if(Array.isArray(n.begin)){if(n.skip||n.excludeBegin||n.returnBegin)throw Ze("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),rt;if(typeof n.beginScope!="object"||n.beginScope===null)throw Ze("beginScope must be object"),rt;_t(n,n.begin,{key:"beginScope"}),n.begin=Ae(n.begin,{joinWith:""})}}function ln(n){if(Array.isArray(n.end)){if(n.skip||n.excludeEnd||n.returnEnd)throw Ze("skip, excludeEnd, returnEnd not compatible with endScope: {}"),rt;if(typeof n.endScope!="object"||n.endScope===null)throw Ze("endScope must be object"),rt;_t(n,n.end,{key:"endScope"}),n.end=Ae(n.end,{joinWith:""})}}function cn(n){n.scope&&typeof n.scope=="object"&&n.scope!==null&&(n.beginScope=n.scope,delete n.scope)}function dn(n){cn(n),typeof n.beginScope=="string"&&(n.beginScope={_wrap:n.beginScope}),typeof n.endScope=="string"&&(n.endScope={_wrap:n.endScope}),on(n),ln(n)}function un(n){function v($,j){return new RegExp(me($),"m"+(n.case_insensitive?"i":"")+(n.unicodeRegex?"u":"")+(j?"g":""))}class G{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(j,X){X.position=this.position++,this.matchIndexes[this.matchAt]=X,this.regexes.push([X,j]),this.matchAt+=xe(j)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let j=this.regexes.map(X=>X[1]);this.matcherRe=v(Ae(j,{joinWith:"|"}),!0),this.lastIndex=0}exec(j){this.matcherRe.lastIndex=this.lastIndex;let X=this.matcherRe.exec(j);if(!X)return null;let fe=X.findIndex((st,Et)=>Et>0&&st!==void 0),pe=this.matchIndexes[fe];return X.splice(0,fe),Object.assign(X,pe)}}class Z{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(j){if(this.multiRegexes[j])return this.multiRegexes[j];let X=new G;return this.rules.slice(j).forEach(([fe,pe])=>X.addRule(fe,pe)),X.compile(),this.multiRegexes[j]=X,X}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(j,X){this.rules.push([j,X]),X.type==="begin"&&this.count++}exec(j){let X=this.getMatcher(this.regexIndex);X.lastIndex=this.lastIndex;let fe=X.exec(j);if(this.resumingScanAtSamePosition()&&!(fe&&fe.index===this.lastIndex)){let pe=this.getMatcher(0);pe.lastIndex=this.lastIndex+1,fe=pe.exec(j)}return fe&&(this.regexIndex+=fe.position+1,this.regexIndex===this.count&&this.considerAll()),fe}}function de($){let j=new Z;return $.contains.forEach(X=>j.addRule(X.begin,{rule:X,type:"begin"})),$.terminatorEnd&&j.addRule($.terminatorEnd,{type:"end"}),$.illegal&&j.addRule($.illegal,{type:"illegal"}),j}function ue($,j){let X=$;if($.isCompiled)return X;[qt,Jt,dn,tn].forEach(pe=>pe($,j)),n.compilerExtensions.forEach(pe=>pe($,j)),$.__beforeBegin=null,[Qt,Zt,en].forEach(pe=>pe($,j)),$.isCompiled=!0;let fe=null;return typeof $.keywords=="object"&&$.keywords.$pattern&&($.keywords=Object.assign({},$.keywords),fe=$.keywords.$pattern,delete $.keywords.$pattern),fe=fe||/\w+/,$.keywords&&($.keywords=Rt($.keywords,n.case_insensitive)),X.keywordPatternRe=v(fe,!0),j&&($.begin||($.begin=/\B|\b/),X.beginRe=v(X.begin),!$.end&&!$.endsWithParent&&($.end=/\B|\b/),$.end&&(X.endRe=v(X.end)),X.terminatorEnd=me(X.end)||"",$.endsWithParent&&j.terminatorEnd&&(X.terminatorEnd+=($.end?"|":"")+j.terminatorEnd)),$.illegal&&(X.illegalRe=v($.illegal)),$.contains||($.contains=[]),$.contains=[].concat(...$.contains.map(function(pe){return pn(pe==="self"?$:pe)})),$.contains.forEach(function(pe){ue(pe,X)}),$.starts&&ue($.starts,j),X.matcher=de(X),X}if(n.compilerExtensions||(n.compilerExtensions=[]),n.contains&&n.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return n.classNameAliases=ie(n.classNameAliases||{}),ue(n)}function St(n){return n?n.endsWithParent||St(n.starts):!1}function pn(n){return n.variants&&!n.cachedVariants&&(n.cachedVariants=n.variants.map(function(v){return ie(n,{variants:null},v)})),n.cachedVariants?n.cachedVariants:St(n)?ie(n,{starts:n.starts?ie(n.starts):null}):Object.isFrozen(n)?ie(n):n}var hn="11.11.1",En=class extends Error{constructor(n,v){super(n),this.name="HTMLInjectionError",this.html=v}},ht=ne,At=ie,yt=Symbol("nomatch"),gn=7,Ot=function(n){let v=Object.create(null),G=Object.create(null),Z=[],de=!0,ue="Could not find the language '{}', did you forget to load/include a language module?",$={disableAutodetect:!0,name:"Plain text",contains:[]},j={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:Le};function X(D){return j.noHighlightRe.test(D)}function fe(D){let Y=D.className+" ";Y+=D.parentNode?D.parentNode.className:"";let te=j.languageDetectRe.exec(Y);if(te){let re=ze(te[1]);return re||(Nt(ue.replace("{}",te[1])),Nt("Falling back to no-highlight mode for this block.",D)),re?te[1]:"no-highlight"}return Y.split(/\s+/).find(re=>X(re)||ze(re))}function pe(D,Y,te){let re="",Ee="";typeof Y=="object"?(re=D,te=Y.ignoreIllegals,Ee=Y.language):(et("10.7.0","highlight(lang, code, ...args) has been deprecated."),et("10.7.0",`Please use highlight(code, options) instead. -https://github.com/highlightjs/highlight.js/issues/2277`),Ee=D,re=Y),te===void 0&&(te=!0);let Be={code:re,language:Ee};lt("before:highlight",Be);let Ye=Be.result?Be.result:st(Be.language,Be.code,te);return Ye.code=Be.code,lt("after:highlight",Ye),Ye}function st(D,Y,te,re){let Ee=Object.create(null);function Be(H,z){return H.keywords[z]}function Ye(){if(!q.keywords){be.addText(oe);return}let H=0;q.keywordPatternRe.lastIndex=0;let z=q.keywordPatternRe.exec(oe),J="";for(;z;){J+=oe.substring(H,z.index);let ae=We.case_insensitive?z[0].toLowerCase():z[0],Re=Be(q,ae);if(Re){let[Fe,wn]=Re;if(be.addText(J),J="",Ee[ae]=(Ee[ae]||0)+1,Ee[ae]<=gn&&(ut+=wn),Fe.startsWith("_"))J+=z[0];else{let kn=We.classNameAliases[Fe]||Fe;He(z[0],kn)}}else J+=z[0];H=q.keywordPatternRe.lastIndex,z=q.keywordPatternRe.exec(oe)}J+=oe.substring(H),be.addText(J)}function ct(){if(oe==="")return;let H=null;if(typeof q.subLanguage=="string"){if(!v[q.subLanguage]){be.addText(oe);return}H=st(q.subLanguage,oe,!0,Mt[q.subLanguage]),Mt[q.subLanguage]=H._top}else H=gt(oe,q.subLanguage.length?q.subLanguage:null);q.relevance>0&&(ut+=H.relevance),be.__addSublanguage(H._emitter,H.language)}function Oe(){q.subLanguage!=null?ct():Ye(),oe=""}function He(H,z){H!==""&&(be.startScope(z),be.addText(H),be.endScope())}function xt(H,z){let J=1,ae=z.length-1;for(;J<=ae;){if(!H._emit[J]){J++;continue}let Re=We.classNameAliases[H[J]]||H[J],Fe=z[J];Re?He(Fe,Re):(oe=Fe,Ye(),oe=""),J++}}function wt(H,z){return H.scope&&typeof H.scope=="string"&&be.openNode(We.classNameAliases[H.scope]||H.scope),H.beginScope&&(H.beginScope._wrap?(He(oe,We.classNameAliases[H.beginScope._wrap]||H.beginScope._wrap),oe=""):H.beginScope._multi&&(xt(H.beginScope,z),oe="")),q=Object.create(H,{parent:{value:q}}),q}function kt(H,z,J){let ae=he(H.endRe,J);if(ae){if(H["on:end"]){let Re=new ee(H);H["on:end"](z,Re),Re.isMatchIgnored&&(ae=!1)}if(ae){for(;H.endsParent&&H.parent;)H=H.parent;return H}}if(H.endsWithParent)return kt(H.parent,z,J)}function On(H){return q.matcher.regexIndex===0?(oe+=H[0],1):(Tt=!0,0)}function In(H){let z=H[0],J=H.rule,ae=new ee(J),Re=[J.__beforeBegin,J["on:begin"]];for(let Fe of Re)if(Fe&&(Fe(H,ae),ae.isMatchIgnored))return On(z);return J.skip?oe+=z:(J.excludeBegin&&(oe+=z),Oe(),!J.returnBegin&&!J.excludeBegin&&(oe=z)),wt(J,H),J.returnBegin?0:z.length}function Cn(H){let z=H[0],J=Y.substring(H.index),ae=kt(q,H,J);if(!ae)return yt;let Re=q;q.endScope&&q.endScope._wrap?(Oe(),He(z,q.endScope._wrap)):q.endScope&&q.endScope._multi?(Oe(),xt(q.endScope,H)):Re.skip?oe+=z:(Re.returnEnd||Re.excludeEnd||(oe+=z),Oe(),Re.excludeEnd&&(oe=z));do q.scope&&be.closeNode(),!q.skip&&!q.subLanguage&&(ut+=q.relevance),q=q.parent;while(q!==ae.parent);return ae.starts&&wt(ae.starts,H),Re.returnEnd?0:z.length}function vn(){let H=[];for(let z=q;z!==We;z=z.parent)z.scope&&H.unshift(z.scope);H.forEach(z=>be.openNode(z))}let dt={};function Dt(H,z){let J=z&&z[0];if(oe+=H,J==null)return Oe(),0;if(dt.type==="begin"&&z.type==="end"&&dt.index===z.index&&J===""){if(oe+=Y.slice(z.index,z.index+1),!de){let ae=new Error(`0 width match regex (${D})`);throw ae.languageName=D,ae.badRule=dt.rule,ae}return 1}if(dt=z,z.type==="begin")return In(z);if(z.type==="illegal"&&!te){let ae=new Error('Illegal lexeme "'+J+'" for mode "'+(q.scope||"")+'"');throw ae.mode=q,ae}else if(z.type==="end"){let ae=Cn(z);if(ae!==yt)return ae}if(z.type==="illegal"&&J==="")return oe+=` -`,1;if(bt>1e5&&bt>z.index*3)throw new Error("potential infinite loop, way more iterations than matches");return oe+=J,J.length}let We=ze(D);if(!We)throw Ze(ue.replace("{}",D)),new Error('Unknown language: "'+D+'"');let xn=un(We),ft="",q=re||xn,Mt={},be=new j.__emitter(j);vn();let oe="",ut=0,Je=0,bt=0,Tt=!1;try{if(We.__emitTokens)We.__emitTokens(Y,be);else{for(q.matcher.considerAll();;){bt++,Tt?Tt=!1:q.matcher.considerAll(),q.matcher.lastIndex=Je;let H=q.matcher.exec(Y);if(!H)break;let z=Y.substring(Je,H.index),J=Dt(z,H);Je=H.index+J}Dt(Y.substring(Je))}return be.finalize(),ft=be.toHTML(),{language:D,value:ft,relevance:ut,illegal:!1,_emitter:be,_top:q}}catch(H){if(H.message&&H.message.includes("Illegal"))return{language:D,value:ht(Y),illegal:!0,relevance:0,_illegalBy:{message:H.message,index:Je,context:Y.slice(Je-100,Je+100),mode:H.mode,resultSoFar:ft},_emitter:be};if(de)return{language:D,value:ht(Y),illegal:!1,relevance:0,errorRaised:H,_emitter:be,_top:q};throw H}}function Et(D){let Y={value:ht(D),illegal:!1,relevance:0,_top:$,_emitter:new j.__emitter(j)};return Y._emitter.addText(D),Y}function gt(D,Y){Y=Y||j.languages||Object.keys(v);let te=Et(D),re=Y.filter(ze).filter(vt).map(Oe=>st(Oe,D,!1));re.unshift(te);let Ee=re.sort((Oe,He)=>{if(Oe.relevance!==He.relevance)return He.relevance-Oe.relevance;if(Oe.language&&He.language){if(ze(Oe.language).supersetOf===He.language)return 1;if(ze(He.language).supersetOf===Oe.language)return-1}return 0}),[Be,Ye]=Ee,ct=Be;return ct.secondBest=Ye,ct}function mn(D,Y,te){let re=Y&&G[Y]||te;D.classList.add("hljs"),D.classList.add(`language-${re}`)}function mt(D){let Y=null,te=fe(D);if(X(te))return;if(lt("before:highlightElement",{el:D,language:te}),D.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",D);return}if(D.children.length>0&&(j.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(D)),j.throwUnescapedHTML))throw new En("One of your code blocks includes unescaped HTML.",D.innerHTML);Y=D;let re=Y.textContent,Ee=te?pe(re,{language:te,ignoreIllegals:!0}):gt(re);D.innerHTML=Ee.value,D.dataset.highlighted="yes",mn(D,te,Ee.language),D.result={language:Ee.language,re:Ee.relevance,relevance:Ee.relevance},Ee.secondBest&&(D.secondBest={language:Ee.secondBest.language,relevance:Ee.secondBest.relevance}),lt("after:highlightElement",{el:D,result:Ee,text:re})}function fn(D){j=At(j,D)}let bn=()=>{ot(),et("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Tn(){ot(),et("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let It=!1;function ot(){function D(){ot()}if(document.readyState==="loading"){It||window.addEventListener("DOMContentLoaded",D,!1),It=!0;return}document.querySelectorAll(j.cssSelector).forEach(mt)}function Rn(D,Y){let te=null;try{te=Y(n)}catch(re){if(Ze("Language definition for '{}' could not be registered.".replace("{}",D)),de)Ze(re);else throw re;te=$}te.name||(te.name=D),v[D]=te,te.rawDefinition=Y.bind(null,n),te.aliases&&Ct(te.aliases,{languageName:D})}function Ln(D){delete v[D];for(let Y of Object.keys(G))G[Y]===D&&delete G[Y]}function Nn(){return Object.keys(v)}function ze(D){return D=(D||"").toLowerCase(),v[D]||v[G[D]]}function Ct(D,{languageName:Y}){typeof D=="string"&&(D=[D]),D.forEach(te=>{G[te.toLowerCase()]=Y})}function vt(D){let Y=ze(D);return Y&&!Y.disableAutodetect}function _n(D){D["before:highlightBlock"]&&!D["before:highlightElement"]&&(D["before:highlightElement"]=Y=>{D["before:highlightBlock"](Object.assign({block:Y.el},Y))}),D["after:highlightBlock"]&&!D["after:highlightElement"]&&(D["after:highlightElement"]=Y=>{D["after:highlightBlock"](Object.assign({block:Y.el},Y))})}function Sn(D){_n(D),Z.push(D)}function An(D){let Y=Z.indexOf(D);Y!==-1&&Z.splice(Y,1)}function lt(D,Y){let te=D;Z.forEach(function(re){re[te]&&re[te](Y)})}function yn(D){return et("10.7.0","highlightBlock will be removed entirely in v12.0"),et("10.7.0","Please use highlightElement now."),mt(D)}Object.assign(n,{highlight:pe,highlightAuto:gt,highlightAll:ot,highlightElement:mt,highlightBlock:yn,configure:fn,initHighlighting:bn,initHighlightingOnLoad:Tn,registerLanguage:Rn,unregisterLanguage:Ln,listLanguages:Nn,getLanguage:ze,registerAliases:Ct,autoDetection:vt,inherit:At,addPlugin:Sn,removePlugin:An}),n.debugMode=function(){de=!1},n.safeMode=function(){de=!0},n.versionString=hn,n.regex={concat:Te,lookahead:Ce,either:ve,optional:Pe,anyNumberOfTimes:ke};for(let D in at)typeof at[D]=="object"&&Q(at[D]);return Object.assign(n,at),n},tt=Ot({});tt.newInstance=()=>Ot({}),U.exports=tt,tt.HighlightJS=tt,tt.default=tt}),d=V(F(),1),e=d.default;function t(f){let U=f.regex,Q=/(?![A-Za-z0-9])(?![$])/,ee=U.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,Q),ne=U.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,Q),ie=U.concat(/[A-Z]+/,Q),se={scope:"variable",match:"\\$+"+ee},le={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},ce={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},ge=f.inherit(f.APOS_STRING_MODE,{illegal:null}),Ie=f.inherit(f.QUOTE_STRING_MODE,{illegal:null,contains:f.QUOTE_STRING_MODE.contains.concat(ce)}),Me={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:f.QUOTE_STRING_MODE.contains.concat(ce),"on:begin":(ye,Ne)=>{Ne.data._beginMatch=ye[1]||ye[2]},"on:end":(ye,Ne)=>{Ne.data._beginMatch!==ye[1]&&Ne.ignoreMatch()}},Le=f.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),me=`[ -]`,Ce={scope:"string",variants:[Ie,ge,Me,Le]},ke={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},Pe=["false","null","true"],Te=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],De=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],ve={keyword:Te,literal:(ye=>{let Ne=[];return ye.forEach(Ue=>{Ne.push(Ue),Ue.toLowerCase()===Ue?Ne.push(Ue.toUpperCase()):Ne.push(Ue.toLowerCase())}),Ne})(Pe),built_in:De},xe=ye=>ye.map(Ne=>Ne.replace(/\|\d+$/,"")),he={variants:[{match:[/new/,U.concat(me,"+"),U.concat("(?!",xe(De).join("\\b|"),"\\b)"),ne],scope:{1:"keyword",4:"title.class"}}]},we=U.concat(ee,"\\b(?!\\()"),Ae={variants:[{match:[U.concat(/::/,U.lookahead(/(?!class\b)/)),we],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[ne,U.concat(/::/,U.lookahead(/(?!class\b)/)),we],scope:{1:"title.class",3:"variable.constant"}},{match:[ne,U.concat("::",U.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[ne,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},Ge={scope:"attr",match:U.concat(ee,U.lookahead(":"),U.lookahead(/(?!::)/))},_e={relevance:0,begin:/\(/,end:/\)/,keywords:ve,contains:[Ge,se,Ae,f.C_BLOCK_COMMENT_MODE,Ce,ke,he]},je={relevance:0,match:[/\b/,U.concat("(?!fn\\b|function\\b|",xe(Te).join("\\b|"),"|",xe(De).join("\\b|"),"\\b)"),ee,U.concat(me,"*"),U.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[_e]};_e.contains.push(je);let Xe=[Ge,Ae,f.C_BLOCK_COMMENT_MODE,Ce,ke,he],Ke={begin:U.concat(/#\[\s*\\?/,U.either(ne,ie)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:Pe,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:Pe,keyword:["new","array"]},contains:["self",...Xe]},...Xe,{scope:"meta",variants:[{match:ne},{match:ie}]}]};return{case_insensitive:!1,keywords:ve,contains:[Ke,f.HASH_COMMENT_MODE,f.COMMENT("//","$"),f.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:f.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},le,{scope:"variable.language",match:/\$this\b/},se,je,Ae,{match:[/const/,/\s/,ee],scope:{1:"keyword",3:"variable.constant"}},he,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},f.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:ve,contains:["self",Ke,se,Ae,f.C_BLOCK_COMMENT_MODE,Ce,ke]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},f.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[f.inherit(f.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},f.UNDERSCORE_TITLE_MODE]},Ce,ke]}}function a(f){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},f.inherit(f.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),f.inherit(f.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}var R="[A-Za-z$_][0-9A-Za-z$_]*",A=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],I=["true","false","null","undefined","NaN","Infinity"],C=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],y=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],b=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],S=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],L=[].concat(b,C,y);function g(f){let U=f.regex,Q=(Se,{after:Ve})=>{let Qe="",end:""},ie=/<[A-Za-z0-9\\._:-]+\s*\/>/,se={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Se,Ve)=>{let Qe=Se[0].length+Se.index,$e=Se.input[Qe];if($e==="<"||$e===","){Ve.ignoreMatch();return}$e===">"&&(Q(Se,{after:Qe})||Ve.ignoreMatch());let nt,it=Se.input.substring(Qe);if(nt=it.match(/^\s*=/)){Ve.ignoreMatch();return}if((nt=it.match(/^\s+extends\s+/))&&nt.index===0){Ve.ignoreMatch();return}}},le={$pattern:R,keyword:A,literal:I,built_in:L,"variable.language":S},ce="[0-9](_?[0-9])*",ge=`\\.(${ce})`,Ie="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",Me={className:"number",variants:[{begin:`(\\b(${Ie})((${ge})|\\.)?|(${ge}))[eE][+-]?(${ce})\\b`},{begin:`\\b(${Ie})\\b((${ge})\\b|\\.)?|(${ge})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},Le={className:"subst",begin:"\\$\\{",end:"\\}",keywords:le,contains:[]},me={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[f.BACKSLASH_ESCAPE,Le],subLanguage:"xml"}},Ce={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[f.BACKSLASH_ESCAPE,Le],subLanguage:"css"}},ke={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[f.BACKSLASH_ESCAPE,Le],subLanguage:"graphql"}},Pe={className:"string",begin:"`",end:"`",contains:[f.BACKSLASH_ESCAPE,Le]},Te={className:"comment",variants:[f.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:ee+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),f.C_BLOCK_COMMENT_MODE,f.C_LINE_COMMENT_MODE]},De=[f.APOS_STRING_MODE,f.QUOTE_STRING_MODE,me,Ce,ke,Pe,{match:/\$\d+/},Me];Le.contains=De.concat({begin:/\{/,end:/\}/,keywords:le,contains:["self"].concat(De)});let ve=[].concat(Te,Le.contains),xe=ve.concat([{begin:/(\s*)\(/,end:/\)/,keywords:le,contains:["self"].concat(ve)}]),he={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:le,contains:xe},we={variants:[{match:[/class/,/\s+/,ee,/\s+/,/extends/,/\s+/,U.concat(ee,"(",U.concat(/\./,ee),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,ee],scope:{1:"keyword",3:"title.class"}}]},Ae={relevance:0,match:U.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...C,...y]}},Ge={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},_e={variants:[{match:[/function/,/\s+/,ee,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[he],illegal:/%/},je={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function Xe(Se){return U.concat("(?!",Se.join("|"),")")}let Ke={match:U.concat(/\b/,Xe([...b,"super","import"].map(Se=>`${Se}\\s*\\(`)),ee,U.lookahead(/\s*\(/)),className:"title.function",relevance:0},ye={begin:U.concat(/\./,U.lookahead(U.concat(ee,/(?![0-9A-Za-z$_(])/))),end:ee,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Ne={match:[/get|set/,/\s+/,ee,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},he]},Ue="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+f.UNDERSCORE_IDENT_RE+")\\s*=>",qe={match:[/const|var|let/,/\s+/,ee,/\s*/,/=\s*/,/(async\s*)?/,U.lookahead(Ue)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[he]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:le,exports:{PARAMS_CONTAINS:xe,CLASS_REFERENCE:Ae},illegal:/#(?![$_A-z])/,contains:[f.SHEBANG({label:"shebang",binary:"node",relevance:5}),Ge,f.APOS_STRING_MODE,f.QUOTE_STRING_MODE,me,Ce,ke,Pe,Te,{match:/\$\d+/},Me,Ae,{scope:"attr",match:ee+U.lookahead(":"),relevance:0},qe,{begin:"("+f.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[Te,f.REGEXP_MODE,{className:"function",begin:Ue,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:f.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:le,contains:xe}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:ne.begin,end:ne.end},{match:ie},{begin:se.begin,"on:begin":se.isTrulyOpeningTag,end:se.end}],subLanguage:"xml",contains:[{begin:se.begin,end:se.end,skip:!0,contains:["self"]}]}]},_e,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+f.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[he,f.inherit(f.TITLE_MODE,{begin:ee,className:"title.function"})]},{match:/\.\.\./,relevance:0},ye,{match:"\\$"+ee,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[he]},Ke,je,we,Ne,{match:/\$[(.]/}]}}function O(f){let U=f.regex,Q=f.COMMENT("--","$"),ee={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},ne={begin:/"/,end:/"/,contains:[{match:/""/}]},ie=["true","false","unknown"],se=["double precision","large object","with timezone","without timezone"],le=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],ce=["add","asc","collation","desc","final","first","last","view"],ge=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],Ie=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],Me=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],Le=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],me=Ie,Ce=[...ge,...ce].filter(he=>!Ie.includes(he)),ke={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},Pe={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},Te={match:U.concat(/\b/,U.either(...me),/\s*\(/),relevance:0,keywords:{built_in:me}};function De(he){return U.concat(/\b/,U.either(...he.map(we=>we.replace(/\s+/,"\\s+"))),/\b/)}let ve={scope:"keyword",match:De(Le),relevance:0};function xe(he,{exceptions:we,when:Ae}={}){let Ge=Ae;return we=we||[],he.map(_e=>_e.match(/\|\d+$/)||we.includes(_e)?_e:Ge(_e)?`${_e}|0`:_e)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:xe(Ce,{when:he=>he.length<3}),literal:ie,type:le,built_in:Me},contains:[{scope:"type",match:De(se)},ve,Te,ke,ee,ne,f.C_NUMBER_MODE,f.C_BLOCK_COMMENT_MODE,Q,Pe]}}function o(f){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}var u=f=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:f.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[f.APOS_STRING_MODE,f.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:f.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),l=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],E=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],w=[...l,...E],_=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),M=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),P=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function T(f){let U=f.regex,Q=u(f),ee={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},ne="and or not only",ie=/@-?\w[\w]*(-\w+)*/,se="[a-zA-Z-][a-zA-Z0-9_-]*",le=[f.APOS_STRING_MODE,f.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[Q.BLOCK_COMMENT,ee,Q.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+se,relevance:0},Q.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+i.join("|")+")"},{begin:":(:)?("+M.join("|")+")"}]},Q.CSS_VARIABLE,{className:"attribute",begin:"\\b("+P.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[Q.BLOCK_COMMENT,Q.HEXCOLOR,Q.IMPORTANT,Q.CSS_NUMBER_MODE,...le,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...le,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},Q.FUNCTION_DISPATCH]},{begin:U.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:ie},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:ne,attribute:_.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...le,Q.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+w.join("|")+")\\b"}]}}function r(f){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function p(f){let U=f.regex,Q=U.concat(/[\p{L}_]/u,U.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),ee=/[\p{L}0-9._:-]+/u,ne={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},ie={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},se=f.inherit(ie,{begin:/\(/,end:/\)/}),le=f.inherit(f.APOS_STRING_MODE,{className:"string"}),ce=f.inherit(f.QUOTE_STRING_MODE,{className:"string"}),ge={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[ie,ce,le,se,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[ie,se,ce,le]}]}]},f.COMMENT(//,{relevance:10}),{begin://,relevance:10},ne,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[ce]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[ge],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[ge],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:U.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:Q,relevance:0,starts:ge}]},{className:"tag",begin:U.concat(/<\//,U.lookahead(U.concat(Q,/>/))),contains:[{className:"name",begin:Q,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function x(f){let U="true false yes no null",Q="[\\w#;/?:@&=+$,.~*'()[\\]]+",ee={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},ne={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},ie={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},se={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[f.BACKSLASH_ESCAPE,ne]},le=f.inherit(se,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),ce={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},ge={end:",",endsWithParent:!0,excludeEnd:!0,keywords:U,relevance:0},Ie={begin:/\{/,end:/\}/,contains:[ge],illegal:"\\n",relevance:0},Me={begin:"\\[",end:"\\]",contains:[ge],illegal:"\\n",relevance:0},Le=[ee,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+Q},{className:"type",begin:"!<"+Q+">"},{className:"type",begin:"!"+Q},{className:"type",begin:"!!"+Q},{className:"meta",begin:"&"+f.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+f.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},f.HASH_COMMENT_MODE,{beginKeywords:U,keywords:{literal:U}},ce,{className:"number",begin:f.C_NUMBER_RE+"\\b",relevance:0},Ie,Me,ie,se],me=[...Le];return me.pop(),me.push(le),ge.contains=me,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:Le}}e.registerLanguage("php",t),e.registerLanguage("php-template",a),e.registerLanguage("javascript",g),e.registerLanguage("sql",O),e.registerLanguage("shell",o),e.registerLanguage("css",T),e.registerLanguage("plaintext",r),e.registerLanguage("xml",p),e.registerLanguage("yaml",x);var K=e.getLanguage("sql");K.keywords.keyword=Array.from(new Set([...K.keywords.keyword,"if","ifnull","limit","aes_decrypt","aes_encrypt","ascii","bin","bit_and","bit_count","bit_length","bit_or","bit_xor","coercibility","concat","group_concat","concat_ws","connection_id","conv","curdate","curtime","database","date_add","date_format","date_sub","dayname","dayofmonth","dayofweek","dayofyear","elt","export_set","field","find_in_set","format","from_base64","from_days","from_unixtime","get_lock","greatest","hex","ifnull","inet_aton","inet_ntoa","instr","isnull","last_insert_id","least","lpad","ltrim","make_set","md5","monthname","now","oct","ord","password","quote","release_lock","repeat","replace","reverse","rpad","rtrim","sec_to_time","sha1","sha2","sleep","soundex","space","straight_join","strcmp","str_to_date","substr","sysdate","time_format","time_to_sec","to_base64","to_days","unix_timestamp","updatexml","version","week","weekday","yearweek","length","substring_index","json_unquote","json_extract","json_contains"])),K.keywords.type=Array.from(new Set([...K.keywords.type,"longtext"])),e.configure({classPrefix:"phpdebugbar-hljs-"}),globalThis.phpdebugbar_hljs=e.default})();(()=>{var s=Object.create,W=Object.defineProperty,N=Object.getOwnPropertyDescriptor,m=Object.getOwnPropertyNames,h=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty,c=(o,u)=>()=>(u||o((u={exports:{}}).exports,u),u.exports),B=(o,u,l,E)=>{if(u&&typeof u=="object"||typeof u=="function")for(let w of m(u))!k.call(o,w)&&w!==l&&W(o,w,{get:()=>u[w],enumerable:!(E=N(u,w))||E.enumerable});return o},V=(o,u,l)=>(l=o!=null?s(h(o)):{},B(u||!o||!o.__esModule?W(l,"default",{value:o,enumerable:!0}):l,o)),F=c(o=>{"use strict";o.__esModule=!0;var u=/[\\^$.*+?()[\]{}|]/g,l=RegExp(u.source);function E(w){return w&&l.test(w)?w.replace(u,"\\$&"):w||""}o.default=E}),d=c(o=>{"use strict";o.__esModule=!0,o.TokenTypes=void 0;var u;(function(l){l.WHITESPACE="whitespace",l.WORD="word",l.STRING="string",l.RESERVED="reserved",l.RESERVED_TOP_LEVEL="reserved-top-level",l.RESERVED_TOP_LEVEL_NO_INDENT="reserved-top-level-no-indent",l.RESERVED_NEWLINE="reserved-newline",l.OPERATOR="operator",l.NO_SPACE_OPERATOR="no-space-operator",l.OPEN_PAREN="open-paren",l.CLOSE_PAREN="close-paren",l.LINE_COMMENT="line-comment",l.BLOCK_COMMENT="block-comment",l.NUMBER="number",l.PLACEHOLDER="placeholder",l.SERVERVARIABLE="servervariable"})(u=o.TokenTypes||(o.TokenTypes={}))}),e=c(o=>{"use strict";var u=o&&o.__importDefault||function(_){return _&&_.__esModule?_:{default:_}};o.__esModule=!0;var l=u(F()),E=d(),w=(function(){function _(i){this.WHITESPACE_REGEX=/^(\s+)/u,this.NUMBER_REGEX=/^((-\s*)?[0-9]+(\.[0-9]+)?|0x[0-9a-fA-F]+|0b[01]+|([a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}))\b/u,this.AMBIGUOS_OPERATOR_REGEX=/^(\?\||\?&)/u,this.OPERATOR_REGEX=/^(!=|<>|>>|<<|==|<=|>=|!<|!>|\|\|\/|\|\/|\|\||~~\*|~~|!~~\*|!~~|~\*|!~\*|!~|:=|=>|&&|@>|<@|#-|@@|@|.)/u,this.NO_SPACE_OPERATOR_REGEX=/^(::|->>|->|#>>|#>)/u,this.BLOCK_COMMENT_REGEX=/^(\/\*[^]*?(?:\*\/|$))/u,this.LINE_COMMENT_REGEX=this.createLineCommentRegex(i.lineCommentTypes),this.RESERVED_TOP_LEVEL_REGEX=this.createReservedWordRegex(i.reservedTopLevelWords),this.RESERVED_TOP_LEVEL_NO_INDENT_REGEX=this.createReservedWordRegex(i.reservedTopLevelWordsNoIndent),this.RESERVED_NEWLINE_REGEX=this.createReservedWordRegex(i.reservedNewlineWords),this.RESERVED_PLAIN_REGEX=this.createReservedWordRegex(i.reservedWords),this.WORD_REGEX=this.createWordRegex(i.specialWordChars),this.STRING_REGEX=this.createStringRegex(i.stringTypes),this.OPEN_PAREN_REGEX=this.createParenRegex(i.openParens),this.CLOSE_PAREN_REGEX=this.createParenRegex(i.closeParens),this.INDEXED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(i.indexedPlaceholderTypes,"[0-9]*"),this.IDENT_NAMED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(i.namedPlaceholderTypes,"[a-zA-Z0-9._$]+"),this.STRING_NAMED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(i.namedPlaceholderTypes,this.createStringPattern(i.stringTypes))}return _.prototype.createLineCommentRegex=function(i){var M="((?|(?:[^>]))";return new RegExp("^((?:".concat(i.map(function(P){return(0,l.default)(P)}).join("|"),")").concat(M,`.*?(?:\r +(()=>{var Dn=Object.defineProperty;var Pt=Object.getOwnPropertySymbols;var Mn=Object.prototype.hasOwnProperty,Pn=Object.prototype.propertyIsEnumerable;var Ut=Math.pow,Bt=(s,W,b)=>W in s?Dn(s,W,{enumerable:!0,configurable:!0,writable:!0,value:b}):s[W]=b,pt=(s,W)=>{for(var b in W||(W={}))Mn.call(W,b)&&Bt(s,b,W[b]);if(Pt)for(var b of Pt(W))Pn.call(W,b)&&Bt(s,b,W[b]);return s};(()=>{var s=Object.create,W=Object.defineProperty,b=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,h=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty,c=(f,B)=>()=>(B||f((B={exports:{}}).exports,B),B.exports),U=(f,B,Q,ee)=>{if(B&&typeof B=="object"||typeof B=="function")for(let ne of g(B))!k.call(f,ne)&&ne!==Q&&W(f,ne,{get:()=>B[ne],enumerable:!(ee=b(B,ne))||ee.enumerable});return f},V=(f,B,Q)=>(Q=f!=null?s(h(f)):{},U(B||!f||!f.__esModule?W(Q,"default",{value:f,enumerable:!0}):Q,f)),F=c((f,B)=>{function Q(n){return n instanceof Map?n.clear=n.delete=n.set=function(){throw new Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=function(){throw new Error("set is read-only")}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach(v=>{let G=n[v],Z=typeof G;(Z==="object"||Z==="function")&&!Object.isFrozen(G)&&Q(G)}),n}var ee=class{constructor(n){n.data===void 0&&(n.data={}),this.data=n.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function ne(n){return n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function ie(n,...v){let G=Object.create(null);for(let Z in n)G[Z]=n[Z];return v.forEach(function(Z){for(let de in Z)G[de]=Z[de]}),G}var se="",le=n=>!!n.scope,ce=(n,{prefix:v})=>{if(n.startsWith("language:"))return n.replace("language:","language-");if(n.includes(".")){let G=n.split(".");return[`${v}${G.shift()}`,...G.map((Z,de)=>`${Z}${"_".repeat(de+1)}`)].join(" ")}return`${v}${n}`},Ee=class{constructor(n,v){this.buffer="",this.classPrefix=v.classPrefix,n.walk(this)}addText(n){this.buffer+=ne(n)}openNode(n){if(!le(n))return;let v=ce(n.scope,{prefix:this.classPrefix});this.span(v)}closeNode(n){le(n)&&(this.buffer+=se)}value(){return this.buffer}span(n){this.buffer+=``}},Ie=(n={})=>{let v={children:[]};return Object.assign(v,n),v},Me=class Ht{constructor(){this.rootNode=Ie(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(v){this.top.children.push(v)}openNode(v){let G=Ie({scope:v});this.add(G),this.stack.push(G)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(v){return this.constructor._walk(v,this.rootNode)}static _walk(v,G){return typeof G=="string"?v.addText(G):G.children&&(v.openNode(G),G.children.forEach(Z=>this._walk(v,Z)),v.closeNode(G)),v}static _collapse(v){typeof v!="string"&&v.children&&(v.children.every(G=>typeof G=="string")?v.children=[v.children.join("")]:v.children.forEach(G=>{Ht._collapse(G)}))}},Le=class extends Me{constructor(n){super(),this.options=n}addText(n){n!==""&&this.add(n)}startScope(n){this.openNode(n)}endScope(){this.closeNode()}__addSublanguage(n,v){let G=n.root;v&&(G.scope=`language:${v}`),this.add(G)}toHTML(){return new Ee(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function ge(n){return n?typeof n=="string"?n:n.source:null}function Ce(n){return Te("(?=",n,")")}function ke(n){return Te("(?:",n,")*")}function Pe(n){return Te("(?:",n,")?")}function Te(...n){return n.map(v=>ge(v)).join("")}function De(n){let v=n[n.length-1];return typeof v=="object"&&v.constructor===Object?(n.splice(n.length-1,1),v):{}}function ve(...n){return"("+(De(n).capture?"":"?:")+n.map(v=>ge(v)).join("|")+")"}function xe(n){return new RegExp(n.toString()+"|").exec("").length-1}function he(n,v){let G=n&&n.exec(v);return G&&G.index===0}var we=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Se(n,{joinWith:v}){let G=0;return n.map(Z=>{G+=1;let de=G,ue=ge(Z),$="";for(;ue.length>0;){let j=we.exec(ue);if(!j){$+=ue;break}$+=ue.substring(0,j.index),ue=ue.substring(j.index+j[0].length),j[0][0]==="\\"&&j[1]?$+="\\"+String(Number(j[1])+de):($+=j[0],j[0]==="("&&G++)}return $}).map(Z=>`(${Z})`).join(v)}var Ge=/\b\B/,Ne="[a-zA-Z]\\w*",je="[a-zA-Z_]\\w*",Xe="\\b\\d+(\\.\\d+)?",Ke="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Ae="\\b(0b[01]+)",ye="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Be=(n={})=>{let v=/^#![ ]*\//;return n.binary&&(n.begin=Te(v,/.*\b/,n.binary,/\b.*/)),ie({scope:"meta",begin:v,end:/$/,relevance:0,"on:begin":(G,Z)=>{G.index!==0&&Z.ignoreMatch()}},n)},qe={begin:"\\\\[\\s\\S]",relevance:0},_e={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[qe]},Ve={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[qe]},Qe={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},$e=function(n,v,G={}){let Z=ie({scope:"comment",begin:n,end:v,contains:[]},G);Z.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let de=ve("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return Z.contains.push({begin:Te(/[ ]+/,"(",de,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Z},nt=$e("//","$"),it=$e("/\\*","\\*/"),Wt=$e("#","$"),Ft={scope:"number",begin:Xe,relevance:0},Gt={scope:"number",begin:Ke,relevance:0},jt={scope:"number",begin:Ae,relevance:0},Vt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[qe,{begin:/\[/,end:/\]/,relevance:0,contains:[qe]}]},$t={scope:"title",begin:Ne,relevance:0},zt={scope:"title",begin:je,relevance:0},Yt={begin:"\\.\\s*"+je,relevance:0},Xt=function(n){return Object.assign(n,{"on:begin":(v,G)=>{G.data._beginMatch=v[1]},"on:end":(v,G)=>{G.data._beginMatch!==v[1]&&G.ignoreMatch()}})},at=Object.freeze({__proto__:null,APOS_STRING_MODE:_e,BACKSLASH_ESCAPE:qe,BINARY_NUMBER_MODE:jt,BINARY_NUMBER_RE:Ae,COMMENT:$e,C_BLOCK_COMMENT_MODE:it,C_LINE_COMMENT_MODE:nt,C_NUMBER_MODE:Gt,C_NUMBER_RE:Ke,END_SAME_AS_BEGIN:Xt,HASH_COMMENT_MODE:Wt,IDENT_RE:Ne,MATCH_NOTHING_RE:Ge,METHOD_GUARD:Yt,NUMBER_MODE:Ft,NUMBER_RE:Xe,PHRASAL_WORDS_MODE:Qe,QUOTE_STRING_MODE:Ve,REGEXP_MODE:Vt,RE_STARTERS_RE:ye,SHEBANG:Be,TITLE_MODE:$t,UNDERSCORE_IDENT_RE:je,UNDERSCORE_TITLE_MODE:zt});function Kt(n,v){n.input[n.index-1]==="."&&v.ignoreMatch()}function qt(n,v){n.className!==void 0&&(n.scope=n.className,delete n.className)}function Qt(n,v){v&&n.beginKeywords&&(n.begin="\\b("+n.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",n.__beforeBegin=Kt,n.keywords=n.keywords||n.beginKeywords,delete n.beginKeywords,n.relevance===void 0&&(n.relevance=0))}function Zt(n,v){Array.isArray(n.illegal)&&(n.illegal=ve(...n.illegal))}function Jt(n,v){if(n.match){if(n.begin||n.end)throw new Error("begin & end are not supported with match");n.begin=n.match,delete n.match}}function en(n,v){n.relevance===void 0&&(n.relevance=1)}var tn=(n,v)=>{if(!n.beforeMatch)return;if(n.starts)throw new Error("beforeMatch cannot be used with starts");let G=Object.assign({},n);Object.keys(n).forEach(Z=>{delete n[Z]}),n.keywords=G.keywords,n.begin=Te(G.beforeMatch,Ce(G.begin)),n.starts={relevance:0,contains:[Object.assign(G,{endsParent:!0})]},n.relevance=0,delete G.beforeMatch},nn=["of","and","for","in","not","or","if","then","parent","list","value"],sn="keyword";function Rt(n,v,G=sn){let Z=Object.create(null);return typeof n=="string"?de(G,n.split(" ")):Array.isArray(n)?de(G,n):Object.keys(n).forEach(function(ue){Object.assign(Z,Rt(n[ue],v,ue))}),Z;function de(ue,$){v&&($=$.map(j=>j.toLowerCase())),$.forEach(function(j){let X=j.split("|");Z[X[0]]=[ue,an(X[0],X[1])]})}}function an(n,v){return v?Number(v):rn(n)?0:1}function rn(n){return nn.includes(n.toLowerCase())}var Lt={},Ze=n=>{console.error(n)},yt=(n,...v)=>{console.log(`WARN: ${n}`,...v)},et=(n,v)=>{Lt[`${n}/${v}`]||(console.log(`Deprecated as of ${n}. ${v}`),Lt[`${n}/${v}`]=!0)},rt=new Error;function Nt(n,v,{key:G}){let Z=0,de=n[G],ue={},$={};for(let j=1;j<=v.length;j++)$[j+Z]=de[j],ue[j+Z]=!0,Z+=xe(v[j-1]);n[G]=$,n[G]._emit=ue,n[G]._multi=!0}function on(n){if(Array.isArray(n.begin)){if(n.skip||n.excludeBegin||n.returnBegin)throw Ze("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),rt;if(typeof n.beginScope!="object"||n.beginScope===null)throw Ze("beginScope must be object"),rt;Nt(n,n.begin,{key:"beginScope"}),n.begin=Se(n.begin,{joinWith:""})}}function ln(n){if(Array.isArray(n.end)){if(n.skip||n.excludeEnd||n.returnEnd)throw Ze("skip, excludeEnd, returnEnd not compatible with endScope: {}"),rt;if(typeof n.endScope!="object"||n.endScope===null)throw Ze("endScope must be object"),rt;Nt(n,n.end,{key:"endScope"}),n.end=Se(n.end,{joinWith:""})}}function cn(n){n.scope&&typeof n.scope=="object"&&n.scope!==null&&(n.beginScope=n.scope,delete n.scope)}function dn(n){cn(n),typeof n.beginScope=="string"&&(n.beginScope={_wrap:n.beginScope}),typeof n.endScope=="string"&&(n.endScope={_wrap:n.endScope}),on(n),ln(n)}function un(n){function v($,j){return new RegExp(ge($),"m"+(n.case_insensitive?"i":"")+(n.unicodeRegex?"u":"")+(j?"g":""))}class G{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(j,X){X.position=this.position++,this.matchIndexes[this.matchAt]=X,this.regexes.push([X,j]),this.matchAt+=xe(j)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let j=this.regexes.map(X=>X[1]);this.matcherRe=v(Se(j,{joinWith:"|"}),!0),this.lastIndex=0}exec(j){this.matcherRe.lastIndex=this.lastIndex;let X=this.matcherRe.exec(j);if(!X)return null;let fe=X.findIndex((st,mt)=>mt>0&&st!==void 0),pe=this.matchIndexes[fe];return X.splice(0,fe),Object.assign(X,pe)}}class Z{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(j){if(this.multiRegexes[j])return this.multiRegexes[j];let X=new G;return this.rules.slice(j).forEach(([fe,pe])=>X.addRule(fe,pe)),X.compile(),this.multiRegexes[j]=X,X}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(j,X){this.rules.push([j,X]),X.type==="begin"&&this.count++}exec(j){let X=this.getMatcher(this.regexIndex);X.lastIndex=this.lastIndex;let fe=X.exec(j);if(this.resumingScanAtSamePosition()&&!(fe&&fe.index===this.lastIndex)){let pe=this.getMatcher(0);pe.lastIndex=this.lastIndex+1,fe=pe.exec(j)}return fe&&(this.regexIndex+=fe.position+1,this.regexIndex===this.count&&this.considerAll()),fe}}function de($){let j=new Z;return $.contains.forEach(X=>j.addRule(X.begin,{rule:X,type:"begin"})),$.terminatorEnd&&j.addRule($.terminatorEnd,{type:"end"}),$.illegal&&j.addRule($.illegal,{type:"illegal"}),j}function ue($,j){let X=$;if($.isCompiled)return X;[qt,Jt,dn,tn].forEach(pe=>pe($,j)),n.compilerExtensions.forEach(pe=>pe($,j)),$.__beforeBegin=null,[Qt,Zt,en].forEach(pe=>pe($,j)),$.isCompiled=!0;let fe=null;return typeof $.keywords=="object"&&$.keywords.$pattern&&($.keywords=Object.assign({},$.keywords),fe=$.keywords.$pattern,delete $.keywords.$pattern),fe=fe||/\w+/,$.keywords&&($.keywords=Rt($.keywords,n.case_insensitive)),X.keywordPatternRe=v(fe,!0),j&&($.begin||($.begin=/\B|\b/),X.beginRe=v(X.begin),!$.end&&!$.endsWithParent&&($.end=/\B|\b/),$.end&&(X.endRe=v(X.end)),X.terminatorEnd=ge(X.end)||"",$.endsWithParent&&j.terminatorEnd&&(X.terminatorEnd+=($.end?"|":"")+j.terminatorEnd)),$.illegal&&(X.illegalRe=v($.illegal)),$.contains||($.contains=[]),$.contains=[].concat(...$.contains.map(function(pe){return pn(pe==="self"?$:pe)})),$.contains.forEach(function(pe){ue(pe,X)}),$.starts&&ue($.starts,j),X.matcher=de(X),X}if(n.compilerExtensions||(n.compilerExtensions=[]),n.contains&&n.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return n.classNameAliases=ie(n.classNameAliases||{}),ue(n)}function _t(n){return n?n.endsWithParent||_t(n.starts):!1}function pn(n){return n.variants&&!n.cachedVariants&&(n.cachedVariants=n.variants.map(function(v){return ie(n,{variants:null},v)})),n.cachedVariants?n.cachedVariants:_t(n)?ie(n,{starts:n.starts?ie(n.starts):null}):Object.isFrozen(n)?ie(n):n}var hn="11.11.1",mn=class extends Error{constructor(n,v){super(n),this.name="HTMLInjectionError",this.html=v}},ht=ne,St=ie,At=Symbol("nomatch"),En=7,Ot=function(n){let v=Object.create(null),G=Object.create(null),Z=[],de=!0,ue="Could not find the language '{}', did you forget to load/include a language module?",$={disableAutodetect:!0,name:"Plain text",contains:[]},j={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:Le};function X(D){return j.noHighlightRe.test(D)}function fe(D){let Y=D.className+" ";Y+=D.parentNode?D.parentNode.className:"";let te=j.languageDetectRe.exec(Y);if(te){let re=ze(te[1]);return re||(yt(ue.replace("{}",te[1])),yt("Falling back to no-highlight mode for this block.",D)),re?te[1]:"no-highlight"}return Y.split(/\s+/).find(re=>X(re)||ze(re))}function pe(D,Y,te){let re="",me="";typeof Y=="object"?(re=D,te=Y.ignoreIllegals,me=Y.language):(et("10.7.0","highlight(lang, code, ...args) has been deprecated."),et("10.7.0",`Please use highlight(code, options) instead. +https://github.com/highlightjs/highlight.js/issues/2277`),me=D,re=Y),te===void 0&&(te=!0);let Ue={code:re,language:me};lt("before:highlight",Ue);let Ye=Ue.result?Ue.result:st(Ue.language,Ue.code,te);return Ye.code=Ue.code,lt("after:highlight",Ye),Ye}function st(D,Y,te,re){let me=Object.create(null);function Ue(H,z){return H.keywords[z]}function Ye(){if(!q.keywords){be.addText(oe);return}let H=0;q.keywordPatternRe.lastIndex=0;let z=q.keywordPatternRe.exec(oe),J="";for(;z;){J+=oe.substring(H,z.index);let ae=We.case_insensitive?z[0].toLowerCase():z[0],Re=Ue(q,ae);if(Re){let[Fe,wn]=Re;if(be.addText(J),J="",me[ae]=(me[ae]||0)+1,me[ae]<=En&&(ut+=wn),Fe.startsWith("_"))J+=z[0];else{let kn=We.classNameAliases[Fe]||Fe;He(z[0],kn)}}else J+=z[0];H=q.keywordPatternRe.lastIndex,z=q.keywordPatternRe.exec(oe)}J+=oe.substring(H),be.addText(J)}function ct(){if(oe==="")return;let H=null;if(typeof q.subLanguage=="string"){if(!v[q.subLanguage]){be.addText(oe);return}H=st(q.subLanguage,oe,!0,Mt[q.subLanguage]),Mt[q.subLanguage]=H._top}else H=Et(oe,q.subLanguage.length?q.subLanguage:null);q.relevance>0&&(ut+=H.relevance),be.__addSublanguage(H._emitter,H.language)}function Oe(){q.subLanguage!=null?ct():Ye(),oe=""}function He(H,z){H!==""&&(be.startScope(z),be.addText(H),be.endScope())}function xt(H,z){let J=1,ae=z.length-1;for(;J<=ae;){if(!H._emit[J]){J++;continue}let Re=We.classNameAliases[H[J]]||H[J],Fe=z[J];Re?He(Fe,Re):(oe=Fe,Ye(),oe=""),J++}}function wt(H,z){return H.scope&&typeof H.scope=="string"&&be.openNode(We.classNameAliases[H.scope]||H.scope),H.beginScope&&(H.beginScope._wrap?(He(oe,We.classNameAliases[H.beginScope._wrap]||H.beginScope._wrap),oe=""):H.beginScope._multi&&(xt(H.beginScope,z),oe="")),q=Object.create(H,{parent:{value:q}}),q}function kt(H,z,J){let ae=he(H.endRe,J);if(ae){if(H["on:end"]){let Re=new ee(H);H["on:end"](z,Re),Re.isMatchIgnored&&(ae=!1)}if(ae){for(;H.endsParent&&H.parent;)H=H.parent;return H}}if(H.endsWithParent)return kt(H.parent,z,J)}function On(H){return q.matcher.regexIndex===0?(oe+=H[0],1):(Tt=!0,0)}function In(H){let z=H[0],J=H.rule,ae=new ee(J),Re=[J.__beforeBegin,J["on:begin"]];for(let Fe of Re)if(Fe&&(Fe(H,ae),ae.isMatchIgnored))return On(z);return J.skip?oe+=z:(J.excludeBegin&&(oe+=z),Oe(),!J.returnBegin&&!J.excludeBegin&&(oe=z)),wt(J,H),J.returnBegin?0:z.length}function Cn(H){let z=H[0],J=Y.substring(H.index),ae=kt(q,H,J);if(!ae)return At;let Re=q;q.endScope&&q.endScope._wrap?(Oe(),He(z,q.endScope._wrap)):q.endScope&&q.endScope._multi?(Oe(),xt(q.endScope,H)):Re.skip?oe+=z:(Re.returnEnd||Re.excludeEnd||(oe+=z),Oe(),Re.excludeEnd&&(oe=z));do q.scope&&be.closeNode(),!q.skip&&!q.subLanguage&&(ut+=q.relevance),q=q.parent;while(q!==ae.parent);return ae.starts&&wt(ae.starts,H),Re.returnEnd?0:z.length}function vn(){let H=[];for(let z=q;z!==We;z=z.parent)z.scope&&H.unshift(z.scope);H.forEach(z=>be.openNode(z))}let dt={};function Dt(H,z){let J=z&&z[0];if(oe+=H,J==null)return Oe(),0;if(dt.type==="begin"&&z.type==="end"&&dt.index===z.index&&J===""){if(oe+=Y.slice(z.index,z.index+1),!de){let ae=new Error(`0 width match regex (${D})`);throw ae.languageName=D,ae.badRule=dt.rule,ae}return 1}if(dt=z,z.type==="begin")return In(z);if(z.type==="illegal"&&!te){let ae=new Error('Illegal lexeme "'+J+'" for mode "'+(q.scope||"")+'"');throw ae.mode=q,ae}else if(z.type==="end"){let ae=Cn(z);if(ae!==At)return ae}if(z.type==="illegal"&&J==="")return oe+=` +`,1;if(bt>1e5&&bt>z.index*3)throw new Error("potential infinite loop, way more iterations than matches");return oe+=J,J.length}let We=ze(D);if(!We)throw Ze(ue.replace("{}",D)),new Error('Unknown language: "'+D+'"');let xn=un(We),ft="",q=re||xn,Mt={},be=new j.__emitter(j);vn();let oe="",ut=0,Je=0,bt=0,Tt=!1;try{if(We.__emitTokens)We.__emitTokens(Y,be);else{for(q.matcher.considerAll();;){bt++,Tt?Tt=!1:q.matcher.considerAll(),q.matcher.lastIndex=Je;let H=q.matcher.exec(Y);if(!H)break;let z=Y.substring(Je,H.index),J=Dt(z,H);Je=H.index+J}Dt(Y.substring(Je))}return be.finalize(),ft=be.toHTML(),{language:D,value:ft,relevance:ut,illegal:!1,_emitter:be,_top:q}}catch(H){if(H.message&&H.message.includes("Illegal"))return{language:D,value:ht(Y),illegal:!0,relevance:0,_illegalBy:{message:H.message,index:Je,context:Y.slice(Je-100,Je+100),mode:H.mode,resultSoFar:ft},_emitter:be};if(de)return{language:D,value:ht(Y),illegal:!1,relevance:0,errorRaised:H,_emitter:be,_top:q};throw H}}function mt(D){let Y={value:ht(D),illegal:!1,relevance:0,_top:$,_emitter:new j.__emitter(j)};return Y._emitter.addText(D),Y}function Et(D,Y){Y=Y||j.languages||Object.keys(v);let te=mt(D),re=Y.filter(ze).filter(vt).map(Oe=>st(Oe,D,!1));re.unshift(te);let me=re.sort((Oe,He)=>{if(Oe.relevance!==He.relevance)return He.relevance-Oe.relevance;if(Oe.language&&He.language){if(ze(Oe.language).supersetOf===He.language)return 1;if(ze(He.language).supersetOf===Oe.language)return-1}return 0}),[Ue,Ye]=me,ct=Ue;return ct.secondBest=Ye,ct}function gn(D,Y,te){let re=Y&&G[Y]||te;D.classList.add("hljs"),D.classList.add(`language-${re}`)}function gt(D){let Y=null,te=fe(D);if(X(te))return;if(lt("before:highlightElement",{el:D,language:te}),D.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",D);return}if(D.children.length>0&&(j.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(D)),j.throwUnescapedHTML))throw new mn("One of your code blocks includes unescaped HTML.",D.innerHTML);Y=D;let re=Y.textContent,me=te?pe(re,{language:te,ignoreIllegals:!0}):Et(re);D.innerHTML=me.value,D.dataset.highlighted="yes",gn(D,te,me.language),D.result={language:me.language,re:me.relevance,relevance:me.relevance},me.secondBest&&(D.secondBest={language:me.secondBest.language,relevance:me.secondBest.relevance}),lt("after:highlightElement",{el:D,result:me,text:re})}function fn(D){j=St(j,D)}let bn=()=>{ot(),et("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Tn(){ot(),et("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let It=!1;function ot(){function D(){ot()}if(document.readyState==="loading"){It||window.addEventListener("DOMContentLoaded",D,!1),It=!0;return}document.querySelectorAll(j.cssSelector).forEach(gt)}function Rn(D,Y){let te=null;try{te=Y(n)}catch(re){if(Ze("Language definition for '{}' could not be registered.".replace("{}",D)),de)Ze(re);else throw re;te=$}te.name||(te.name=D),v[D]=te,te.rawDefinition=Y.bind(null,n),te.aliases&&Ct(te.aliases,{languageName:D})}function Ln(D){delete v[D];for(let Y of Object.keys(G))G[Y]===D&&delete G[Y]}function yn(){return Object.keys(v)}function ze(D){return D=(D||"").toLowerCase(),v[D]||v[G[D]]}function Ct(D,{languageName:Y}){typeof D=="string"&&(D=[D]),D.forEach(te=>{G[te.toLowerCase()]=Y})}function vt(D){let Y=ze(D);return Y&&!Y.disableAutodetect}function Nn(D){D["before:highlightBlock"]&&!D["before:highlightElement"]&&(D["before:highlightElement"]=Y=>{D["before:highlightBlock"](Object.assign({block:Y.el},Y))}),D["after:highlightBlock"]&&!D["after:highlightElement"]&&(D["after:highlightElement"]=Y=>{D["after:highlightBlock"](Object.assign({block:Y.el},Y))})}function _n(D){Nn(D),Z.push(D)}function Sn(D){let Y=Z.indexOf(D);Y!==-1&&Z.splice(Y,1)}function lt(D,Y){let te=D;Z.forEach(function(re){re[te]&&re[te](Y)})}function An(D){return et("10.7.0","highlightBlock will be removed entirely in v12.0"),et("10.7.0","Please use highlightElement now."),gt(D)}Object.assign(n,{highlight:pe,highlightAuto:Et,highlightAll:ot,highlightElement:gt,highlightBlock:An,configure:fn,initHighlighting:bn,initHighlightingOnLoad:Tn,registerLanguage:Rn,unregisterLanguage:Ln,listLanguages:yn,getLanguage:ze,registerAliases:Ct,autoDetection:vt,inherit:St,addPlugin:_n,removePlugin:Sn}),n.debugMode=function(){de=!1},n.safeMode=function(){de=!0},n.versionString=hn,n.regex={concat:Te,lookahead:Ce,either:ve,optional:Pe,anyNumberOfTimes:ke};for(let D in at)typeof at[D]=="object"&&Q(at[D]);return Object.assign(n,at),n},tt=Ot({});tt.newInstance=()=>Ot({}),B.exports=tt,tt.HighlightJS=tt,tt.default=tt}),d=V(F(),1),e=d.default;function t(f){let B=f.regex,Q=/(?![A-Za-z0-9])(?![$])/,ee=B.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,Q),ne=B.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,Q),ie=B.concat(/[A-Z]+/,Q),se={scope:"variable",match:"\\$+"+ee},le={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},ce={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},Ee=f.inherit(f.APOS_STRING_MODE,{illegal:null}),Ie=f.inherit(f.QUOTE_STRING_MODE,{illegal:null,contains:f.QUOTE_STRING_MODE.contains.concat(ce)}),Me={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:f.QUOTE_STRING_MODE.contains.concat(ce),"on:begin":(Ae,ye)=>{ye.data._beginMatch=Ae[1]||Ae[2]},"on:end":(Ae,ye)=>{ye.data._beginMatch!==Ae[1]&&ye.ignoreMatch()}},Le=f.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),ge=`[ +]`,Ce={scope:"string",variants:[Ie,Ee,Me,Le]},ke={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},Pe=["false","null","true"],Te=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],De=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],ve={keyword:Te,literal:(Ae=>{let ye=[];return Ae.forEach(Be=>{ye.push(Be),Be.toLowerCase()===Be?ye.push(Be.toUpperCase()):ye.push(Be.toLowerCase())}),ye})(Pe),built_in:De},xe=Ae=>Ae.map(ye=>ye.replace(/\|\d+$/,"")),he={variants:[{match:[/new/,B.concat(ge,"+"),B.concat("(?!",xe(De).join("\\b|"),"\\b)"),ne],scope:{1:"keyword",4:"title.class"}}]},we=B.concat(ee,"\\b(?!\\()"),Se={variants:[{match:[B.concat(/::/,B.lookahead(/(?!class\b)/)),we],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[ne,B.concat(/::/,B.lookahead(/(?!class\b)/)),we],scope:{1:"title.class",3:"variable.constant"}},{match:[ne,B.concat("::",B.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[ne,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},Ge={scope:"attr",match:B.concat(ee,B.lookahead(":"),B.lookahead(/(?!::)/))},Ne={relevance:0,begin:/\(/,end:/\)/,keywords:ve,contains:[Ge,se,Se,f.C_BLOCK_COMMENT_MODE,Ce,ke,he]},je={relevance:0,match:[/\b/,B.concat("(?!fn\\b|function\\b|",xe(Te).join("\\b|"),"|",xe(De).join("\\b|"),"\\b)"),ee,B.concat(ge,"*"),B.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[Ne]};Ne.contains.push(je);let Xe=[Ge,Se,f.C_BLOCK_COMMENT_MODE,Ce,ke,he],Ke={begin:B.concat(/#\[\s*\\?/,B.either(ne,ie)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:Pe,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:Pe,keyword:["new","array"]},contains:["self",...Xe]},...Xe,{scope:"meta",variants:[{match:ne},{match:ie}]}]};return{case_insensitive:!1,keywords:ve,contains:[Ke,f.HASH_COMMENT_MODE,f.COMMENT("//","$"),f.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:f.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},le,{scope:"variable.language",match:/\$this\b/},se,je,Se,{match:[/const/,/\s/,ee],scope:{1:"keyword",3:"variable.constant"}},he,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},f.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:ve,contains:["self",Ke,se,Se,f.C_BLOCK_COMMENT_MODE,Ce,ke]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},f.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[f.inherit(f.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},f.UNDERSCORE_TITLE_MODE]},Ce,ke]}}function a(f){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},f.inherit(f.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),f.inherit(f.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}var T="[A-Za-z$_][0-9A-Za-z$_]*",R=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],O=["true","false","null","undefined","NaN","Infinity"],C=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],A=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],L=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],S=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],N=[].concat(L,C,A);function E(f){let B=f.regex,Q=(_e,{after:Ve})=>{let Qe="",end:""},ie=/<[A-Za-z0-9\\._:-]+\s*\/>/,se={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(_e,Ve)=>{let Qe=_e[0].length+_e.index,$e=_e.input[Qe];if($e==="<"||$e===","){Ve.ignoreMatch();return}$e===">"&&(Q(_e,{after:Qe})||Ve.ignoreMatch());let nt,it=_e.input.substring(Qe);if(nt=it.match(/^\s*=/)){Ve.ignoreMatch();return}if((nt=it.match(/^\s+extends\s+/))&&nt.index===0){Ve.ignoreMatch();return}}},le={$pattern:T,keyword:R,literal:O,built_in:N,"variable.language":S},ce="[0-9](_?[0-9])*",Ee=`\\.(${ce})`,Ie="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",Me={className:"number",variants:[{begin:`(\\b(${Ie})((${Ee})|\\.)?|(${Ee}))[eE][+-]?(${ce})\\b`},{begin:`\\b(${Ie})\\b((${Ee})\\b|\\.)?|(${Ee})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},Le={className:"subst",begin:"\\$\\{",end:"\\}",keywords:le,contains:[]},ge={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[f.BACKSLASH_ESCAPE,Le],subLanguage:"xml"}},Ce={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[f.BACKSLASH_ESCAPE,Le],subLanguage:"css"}},ke={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[f.BACKSLASH_ESCAPE,Le],subLanguage:"graphql"}},Pe={className:"string",begin:"`",end:"`",contains:[f.BACKSLASH_ESCAPE,Le]},Te={className:"comment",variants:[f.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:ee+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),f.C_BLOCK_COMMENT_MODE,f.C_LINE_COMMENT_MODE]},De=[f.APOS_STRING_MODE,f.QUOTE_STRING_MODE,ge,Ce,ke,Pe,{match:/\$\d+/},Me];Le.contains=De.concat({begin:/\{/,end:/\}/,keywords:le,contains:["self"].concat(De)});let ve=[].concat(Te,Le.contains),xe=ve.concat([{begin:/(\s*)\(/,end:/\)/,keywords:le,contains:["self"].concat(ve)}]),he={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:le,contains:xe},we={variants:[{match:[/class/,/\s+/,ee,/\s+/,/extends/,/\s+/,B.concat(ee,"(",B.concat(/\./,ee),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,ee],scope:{1:"keyword",3:"title.class"}}]},Se={relevance:0,match:B.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...C,...A]}},Ge={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Ne={variants:[{match:[/function/,/\s+/,ee,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[he],illegal:/%/},je={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function Xe(_e){return B.concat("(?!",_e.join("|"),")")}let Ke={match:B.concat(/\b/,Xe([...L,"super","import"].map(_e=>`${_e}\\s*\\(`)),ee,B.lookahead(/\s*\(/)),className:"title.function",relevance:0},Ae={begin:B.concat(/\./,B.lookahead(B.concat(ee,/(?![0-9A-Za-z$_(])/))),end:ee,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ye={match:[/get|set/,/\s+/,ee,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},he]},Be="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+f.UNDERSCORE_IDENT_RE+")\\s*=>",qe={match:[/const|var|let/,/\s+/,ee,/\s*/,/=\s*/,/(async\s*)?/,B.lookahead(Be)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[he]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:le,exports:{PARAMS_CONTAINS:xe,CLASS_REFERENCE:Se},illegal:/#(?![$_A-z])/,contains:[f.SHEBANG({label:"shebang",binary:"node",relevance:5}),Ge,f.APOS_STRING_MODE,f.QUOTE_STRING_MODE,ge,Ce,ke,Pe,Te,{match:/\$\d+/},Me,Se,{scope:"attr",match:ee+B.lookahead(":"),relevance:0},qe,{begin:"("+f.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[Te,f.REGEXP_MODE,{className:"function",begin:Be,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:f.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:le,contains:xe}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:ne.begin,end:ne.end},{match:ie},{begin:se.begin,"on:begin":se.isTrulyOpeningTag,end:se.end}],subLanguage:"xml",contains:[{begin:se.begin,end:se.end,skip:!0,contains:["self"]}]}]},Ne,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+f.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[he,f.inherit(f.TITLE_MODE,{begin:ee,className:"title.function"})]},{match:/\.\.\./,relevance:0},Ae,{match:"\\$"+ee,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[he]},Ke,je,we,ye,{match:/\$[(.]/}]}}function I(f){let B=f.regex,Q=f.COMMENT("--","$"),ee={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},ne={begin:/"/,end:/"/,contains:[{match:/""/}]},ie=["true","false","unknown"],se=["double precision","large object","with timezone","without timezone"],le=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],ce=["add","asc","collation","desc","final","first","last","view"],Ee=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],Ie=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],Me=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],Le=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],ge=Ie,Ce=[...Ee,...ce].filter(he=>!Ie.includes(he)),ke={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},Pe={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},Te={match:B.concat(/\b/,B.either(...ge),/\s*\(/),relevance:0,keywords:{built_in:ge}};function De(he){return B.concat(/\b/,B.either(...he.map(we=>we.replace(/\s+/,"\\s+"))),/\b/)}let ve={scope:"keyword",match:De(Le),relevance:0};function xe(he,{exceptions:we,when:Se}={}){let Ge=Se;return we=we||[],he.map(Ne=>Ne.match(/\|\d+$/)||we.includes(Ne)?Ne:Ge(Ne)?`${Ne}|0`:Ne)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:xe(Ce,{when:he=>he.length<3}),literal:ie,type:le,built_in:Me},contains:[{scope:"type",match:De(se)},ve,Te,ke,ee,ne,f.C_NUMBER_MODE,f.C_BLOCK_COMMENT_MODE,Q,Pe]}}function o(f){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}var u=f=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:f.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[f.APOS_STRING_MODE,f.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:f.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),l=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],m=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],w=[...l,...m],_=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),M=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),P=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function y(f){let B=f.regex,Q=u(f),ee={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},ne="and or not only",ie=/@-?\w[\w]*(-\w+)*/,se="[a-zA-Z-][a-zA-Z0-9_-]*",le=[f.APOS_STRING_MODE,f.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[Q.BLOCK_COMMENT,ee,Q.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+se,relevance:0},Q.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+i.join("|")+")"},{begin:":(:)?("+M.join("|")+")"}]},Q.CSS_VARIABLE,{className:"attribute",begin:"\\b("+P.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[Q.BLOCK_COMMENT,Q.HEXCOLOR,Q.IMPORTANT,Q.CSS_NUMBER_MODE,...le,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...le,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},Q.FUNCTION_DISPATCH]},{begin:B.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:ie},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:ne,attribute:_.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...le,Q.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+w.join("|")+")\\b"}]}}function r(f){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function p(f){let B=f.regex,Q=B.concat(/[\p{L}_]/u,B.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),ee=/[\p{L}0-9._:-]+/u,ne={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},ie={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},se=f.inherit(ie,{begin:/\(/,end:/\)/}),le=f.inherit(f.APOS_STRING_MODE,{className:"string"}),ce=f.inherit(f.QUOTE_STRING_MODE,{className:"string"}),Ee={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[ie,ce,le,se,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[ie,se,ce,le]}]}]},f.COMMENT(//,{relevance:10}),{begin://,relevance:10},ne,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[ce]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[Ee],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[Ee],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:B.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:Q,relevance:0,starts:Ee}]},{className:"tag",begin:B.concat(/<\//,B.lookahead(B.concat(Q,/>/))),contains:[{className:"name",begin:Q,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function x(f){let B="true false yes no null",Q="[\\w#;/?:@&=+$,.~*'()[\\]]+",ee={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},ne={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},ie={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},se={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[f.BACKSLASH_ESCAPE,ne]},le=f.inherit(se,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),ce={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},Ee={end:",",endsWithParent:!0,excludeEnd:!0,keywords:B,relevance:0},Ie={begin:/\{/,end:/\}/,contains:[Ee],illegal:"\\n",relevance:0},Me={begin:"\\[",end:"\\]",contains:[Ee],illegal:"\\n",relevance:0},Le=[ee,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+Q},{className:"type",begin:"!<"+Q+">"},{className:"type",begin:"!"+Q},{className:"type",begin:"!!"+Q},{className:"meta",begin:"&"+f.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+f.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},f.HASH_COMMENT_MODE,{beginKeywords:B,keywords:{literal:B}},ce,{className:"number",begin:f.C_NUMBER_RE+"\\b",relevance:0},Ie,Me,ie,se],ge=[...Le];return ge.pop(),ge.push(le),Ee.contains=ge,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:Le}}e.registerLanguage("php",t),e.registerLanguage("php-template",a),e.registerLanguage("javascript",E),e.registerLanguage("sql",I),e.registerLanguage("shell",o),e.registerLanguage("css",y),e.registerLanguage("plaintext",r),e.registerLanguage("xml",p),e.registerLanguage("yaml",x);var K=e.getLanguage("sql");K.keywords.keyword=Array.from(new Set([...K.keywords.keyword,"if","ifnull","limit","aes_decrypt","aes_encrypt","ascii","bin","bit_and","bit_count","bit_length","bit_or","bit_xor","coercibility","concat","group_concat","concat_ws","connection_id","conv","curdate","curtime","database","date_add","date_format","date_sub","dayname","dayofmonth","dayofweek","dayofyear","elt","export_set","field","find_in_set","format","from_base64","from_days","from_unixtime","get_lock","greatest","hex","ifnull","inet_aton","inet_ntoa","instr","isnull","last_insert_id","least","lpad","ltrim","make_set","md5","monthname","now","oct","ord","password","quote","release_lock","repeat","replace","reverse","rpad","rtrim","sec_to_time","sha1","sha2","sleep","soundex","space","straight_join","strcmp","str_to_date","substr","sysdate","time_format","time_to_sec","to_base64","to_days","unix_timestamp","updatexml","version","week","weekday","yearweek","length","substring_index","json_unquote","json_extract","json_contains"])),K.keywords.type=Array.from(new Set([...K.keywords.type,"longtext"])),e.configure({classPrefix:"phpdebugbar-hljs-"}),globalThis.phpdebugbar_hljs=e.default})();(()=>{var s=Object.create,W=Object.defineProperty,b=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,h=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty,c=(o,u)=>()=>(u||o((u={exports:{}}).exports,u),u.exports),U=(o,u,l,m)=>{if(u&&typeof u=="object"||typeof u=="function")for(let w of g(u))!k.call(o,w)&&w!==l&&W(o,w,{get:()=>u[w],enumerable:!(m=b(u,w))||m.enumerable});return o},V=(o,u,l)=>(l=o!=null?s(h(o)):{},U(u||!o||!o.__esModule?W(l,"default",{value:o,enumerable:!0}):l,o)),F=c(o=>{"use strict";o.__esModule=!0;var u=/[\\^$.*+?()[\]{}|]/g,l=RegExp(u.source);function m(w){return w&&l.test(w)?w.replace(u,"\\$&"):w||""}o.default=m}),d=c(o=>{"use strict";o.__esModule=!0,o.TokenTypes=void 0;var u;(function(l){l.WHITESPACE="whitespace",l.WORD="word",l.STRING="string",l.RESERVED="reserved",l.RESERVED_TOP_LEVEL="reserved-top-level",l.RESERVED_TOP_LEVEL_NO_INDENT="reserved-top-level-no-indent",l.RESERVED_NEWLINE="reserved-newline",l.OPERATOR="operator",l.NO_SPACE_OPERATOR="no-space-operator",l.OPEN_PAREN="open-paren",l.CLOSE_PAREN="close-paren",l.LINE_COMMENT="line-comment",l.BLOCK_COMMENT="block-comment",l.NUMBER="number",l.PLACEHOLDER="placeholder",l.SERVERVARIABLE="servervariable"})(u=o.TokenTypes||(o.TokenTypes={}))}),e=c(o=>{"use strict";var u=o&&o.__importDefault||function(_){return _&&_.__esModule?_:{default:_}};o.__esModule=!0;var l=u(F()),m=d(),w=(function(){function _(i){this.WHITESPACE_REGEX=/^(\s+)/u,this.NUMBER_REGEX=/^((-\s*)?[0-9]+(\.[0-9]+)?|0x[0-9a-fA-F]+|0b[01]+|([a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}))\b/u,this.AMBIGUOS_OPERATOR_REGEX=/^(\?\||\?&)/u,this.OPERATOR_REGEX=/^(!=|<>|>>|<<|==|<=|>=|!<|!>|\|\|\/|\|\/|\|\||~~\*|~~|!~~\*|!~~|~\*|!~\*|!~|:=|=>|&&|@>|<@|#-|@@|@|.)/u,this.NO_SPACE_OPERATOR_REGEX=/^(::|->>|->|#>>|#>)/u,this.BLOCK_COMMENT_REGEX=/^(\/\*[^]*?(?:\*\/|$))/u,this.LINE_COMMENT_REGEX=this.createLineCommentRegex(i.lineCommentTypes),this.RESERVED_TOP_LEVEL_REGEX=this.createReservedWordRegex(i.reservedTopLevelWords),this.RESERVED_TOP_LEVEL_NO_INDENT_REGEX=this.createReservedWordRegex(i.reservedTopLevelWordsNoIndent),this.RESERVED_NEWLINE_REGEX=this.createReservedWordRegex(i.reservedNewlineWords),this.RESERVED_PLAIN_REGEX=this.createReservedWordRegex(i.reservedWords),this.WORD_REGEX=this.createWordRegex(i.specialWordChars),this.STRING_REGEX=this.createStringRegex(i.stringTypes),this.OPEN_PAREN_REGEX=this.createParenRegex(i.openParens),this.CLOSE_PAREN_REGEX=this.createParenRegex(i.closeParens),this.INDEXED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(i.indexedPlaceholderTypes,"[0-9]*"),this.IDENT_NAMED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(i.namedPlaceholderTypes,"[a-zA-Z0-9._$]+"),this.STRING_NAMED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(i.namedPlaceholderTypes,this.createStringPattern(i.stringTypes))}return _.prototype.createLineCommentRegex=function(i){var M="((?|(?:[^>]))";return new RegExp("^((?:".concat(i.map(function(P){return(0,l.default)(P)}).join("|"),")").concat(M,`.*?(?:\r |\r| -|$))`),"u")},_.prototype.createReservedWordRegex=function(i){var M=i.join("|").replace(/ /gu,"\\s+");return new RegExp("^(".concat(M,")\\b"),"iu")},_.prototype.createWordRegex=function(i){return new RegExp("^([\\p{Alphabetic}\\p{Mark}\\p{Decimal_Number}\\p{Connector_Punctuation}\\p{Join_Control}".concat(i.join(""),"]+)"),"u")},_.prototype.createStringRegex=function(i){return new RegExp("^("+this.createStringPattern(i)+")","u")},_.prototype.createStringPattern=function(i){var M={"``":"((`[^`]*($|`))+)","[]":"((\\[[^\\]]*($|\\]))(\\][^\\]]*($|\\]))*)",'""':'(("[^"\\\\]*(?:\\\\.[^"\\\\]*)*("|$))+)',"''":"(('[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)","N''":"((N'[^N'\\\\]*(?:\\\\.[^N'\\\\]*)*('|$))+)","E''":"(((E|e)'[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)"};return i.map(function(P){return M[P]}).join("|")},_.prototype.createParenRegex=function(i){var M=this;return new RegExp("^("+i.map(function(P){return M.escapeParen(P)}).join("|")+")","iu")},_.prototype.escapeParen=function(i){return i.length===1?(0,l.default)(i):"\\b"+i+"\\b"},_.prototype.createPlaceholderRegex=function(i,M){if(!i||i.length===0)return null;var P=i.map(l.default).join("|");return new RegExp("^((?:".concat(P,")(?:").concat(M,"))"),"u")},_.prototype.tokenize=function(i){if(!i)return[];for(var M=[],P;i.length;)P=this.getNextToken(i,P),i=i.substring(P.value.length),M.push(P);return M},_.prototype.getNextToken=function(i,M){return this.getWhitespaceToken(i)||this.getCommentToken(i)||this.getStringToken(i)||this.getOpenParenToken(i)||this.getCloseParenToken(i)||this.getAmbiguosOperatorToken(i)||this.getNoSpaceOperatorToken(i)||this.getServerVariableToken(i)||this.getPlaceholderToken(i)||this.getNumberToken(i)||this.getReservedWordToken(i,M)||this.getWordToken(i)||this.getOperatorToken(i)},_.prototype.getWhitespaceToken=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.WHITESPACE,regex:this.WHITESPACE_REGEX})},_.prototype.getCommentToken=function(i){return this.getLineCommentToken(i)||this.getBlockCommentToken(i)},_.prototype.getLineCommentToken=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.LINE_COMMENT,regex:this.LINE_COMMENT_REGEX})},_.prototype.getBlockCommentToken=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.BLOCK_COMMENT,regex:this.BLOCK_COMMENT_REGEX})},_.prototype.getStringToken=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.STRING,regex:this.STRING_REGEX})},_.prototype.getOpenParenToken=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.OPEN_PAREN,regex:this.OPEN_PAREN_REGEX})},_.prototype.getCloseParenToken=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.CLOSE_PAREN,regex:this.CLOSE_PAREN_REGEX})},_.prototype.getPlaceholderToken=function(i){return this.getIdentNamedPlaceholderToken(i)||this.getStringNamedPlaceholderToken(i)||this.getIndexedPlaceholderToken(i)},_.prototype.getServerVariableToken=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.SERVERVARIABLE,regex:/(^@@\w+)/iu})},_.prototype.getIdentNamedPlaceholderToken=function(i){return this.getPlaceholderTokenWithKey({input:i,regex:this.IDENT_NAMED_PLACEHOLDER_REGEX,parseKey:function(M){return M.slice(1)}})},_.prototype.getStringNamedPlaceholderToken=function(i){var M=this;return this.getPlaceholderTokenWithKey({input:i,regex:this.STRING_NAMED_PLACEHOLDER_REGEX,parseKey:function(P){return M.getEscapedPlaceholderKey({key:P.slice(2,-1),quoteChar:P.slice(-1)})}})},_.prototype.getIndexedPlaceholderToken=function(i){return this.getPlaceholderTokenWithKey({input:i,regex:this.INDEXED_PLACEHOLDER_REGEX,parseKey:function(M){return M.slice(1)}})},_.prototype.getPlaceholderTokenWithKey=function(i){var M=i.input,P=i.regex,T=i.parseKey,r=this.getTokenOnFirstMatch({input:M,regex:P,type:E.TokenTypes.PLACEHOLDER});return r&&(r.key=T(r.value)),r},_.prototype.getEscapedPlaceholderKey=function(i){var M=i.key,P=i.quoteChar;return M.replace(new RegExp((0,l.default)("\\"+P),"gu"),P)},_.prototype.getNumberToken=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.NUMBER,regex:this.NUMBER_REGEX})},_.prototype.getOperatorToken=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.OPERATOR,regex:this.OPERATOR_REGEX})},_.prototype.getAmbiguosOperatorToken=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.OPERATOR,regex:this.AMBIGUOS_OPERATOR_REGEX})},_.prototype.getNoSpaceOperatorToken=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.NO_SPACE_OPERATOR,regex:this.NO_SPACE_OPERATOR_REGEX})},_.prototype.getReservedWordToken=function(i,M){if(!(M&&M.value&&M.value==="."))return this.getToplevelReservedToken(i)||this.getNewlineReservedToken(i)||this.getTopLevelReservedTokenNoIndent(i)||this.getPlainReservedToken(i)},_.prototype.getToplevelReservedToken=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.RESERVED_TOP_LEVEL,regex:this.RESERVED_TOP_LEVEL_REGEX})},_.prototype.getNewlineReservedToken=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.RESERVED_NEWLINE,regex:this.RESERVED_NEWLINE_REGEX})},_.prototype.getPlainReservedToken=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.RESERVED,regex:this.RESERVED_PLAIN_REGEX})},_.prototype.getTopLevelReservedTokenNoIndent=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.RESERVED_TOP_LEVEL_NO_INDENT,regex:this.RESERVED_TOP_LEVEL_NO_INDENT_REGEX})},_.prototype.getWordToken=function(i){return this.getTokenOnFirstMatch({input:i,type:E.TokenTypes.WORD,regex:this.WORD_REGEX})},_.prototype.getTokenOnFirstMatch=function(i){var M=i.input,P=i.type,T=i.regex,r=M.match(T);if(r)return{type:P,value:r[1]}},_})();o.default=w}),t=c(o=>{"use strict";o.__esModule=!0;var u=function(l){return l===void 0&&(l=[]),l[l.length-1]};o.default=u}),a=c(o=>{"use strict";var u=o&&o.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};o.__esModule=!0;var l=u(t()),E="top-level",w="block-level",_=(function(){function i(M){this.indent=M,this.indentTypes=[],this.indent=M||" "}return i.prototype.getIndent=function(){return new Array(this.indentTypes.length).fill(this.indent).join("")},i.prototype.increaseTopLevel=function(){this.indentTypes.push(E)},i.prototype.increaseBlockLevel=function(){this.indentTypes.push(w)},i.prototype.decreaseTopLevel=function(){(0,l.default)(this.indentTypes)===E&&this.indentTypes.pop()},i.prototype.decreaseBlockLevel=function(){for(;this.indentTypes.length>0;){var M=this.indentTypes.pop();if(M!==E)break}},i.prototype.resetIndentation=function(){this.indentTypes=[]},i})();o.default=_}),R=c(o=>{"use strict";o.__esModule=!0;var u=d(),l=50,E=(function(){function w(){this.level=0}return w.prototype.beginIfPossible=function(_,i){this.level===0&&this.isInlineBlock(_,i)?this.level=1:this.level>0?this.level++:this.level=0},w.prototype.end=function(){this.level--},w.prototype.isActive=function(){return this.level>0},w.prototype.isInlineBlock=function(_,i){for(var M=0,P=0,T=i;T<_.length;T++){var r=_[T];if(M+=r.value.length,M>l)return!1;if(r.type===u.TokenTypes.OPEN_PAREN)P++;else if(r.type===u.TokenTypes.CLOSE_PAREN&&(P--,P===0))return!0;if(this.isForbiddenToken(r))return!1}return!1},w.prototype.isForbiddenToken=function(_){var i=_.type,M=_.value;return i===u.TokenTypes.RESERVED_TOP_LEVEL||i===u.TokenTypes.RESERVED_NEWLINE||i===u.TokenTypes.LINE_COMMENT||i===u.TokenTypes.BLOCK_COMMENT||M===";"},w})();o.default=E}),A=c(o=>{"use strict";o.__esModule=!0;var u=(function(){function l(E){this.params=E,this.index=0,this.params=E}return l.prototype.get=function(E){var w=E.key,_=E.value;return this.params?w?this.params[w]:this.params[this.index++]:_},l})();o.default=u}),I=c(o=>{"use strict";var u=o&&o.__importDefault||function(T){return T&&T.__esModule?T:{default:T}};o.__esModule=!0;var l=d(),E=u(a()),w=u(R()),_=u(A()),i=[" "," "],M=function(T){for(var r=T.length-1;r>=0&&i.includes(T[r]);)r--;return T.substring(0,r+1)},P=(function(){function T(r,p,x){this.cfg=r,this.tokenizer=p,this.tokenOverride=x,this.tokens=[],this.previousReservedWord={type:null,value:null},this.previousNonWhiteSpace={type:null,value:null},this.index=0,this.indentation=new E.default(this.cfg.indent),this.inlineBlock=new w.default,this.params=new _.default(this.cfg.params)}return T.prototype.format=function(r){this.tokens=this.tokenizer.tokenize(r);var p=this.getFormattedQueryFromTokens();return p.trim()},T.prototype.getFormattedQueryFromTokens=function(){var r=this,p="";return this.tokens.forEach(function(x,K){r.index=K,r.tokenOverride&&(x=r.tokenOverride(x,r.previousReservedWord)||x),x.type===l.TokenTypes.WHITESPACE?p=r.formatWhitespace(x,p):x.type===l.TokenTypes.LINE_COMMENT?p=r.formatLineComment(x,p):x.type===l.TokenTypes.BLOCK_COMMENT?p=r.formatBlockComment(x,p):x.type===l.TokenTypes.RESERVED_TOP_LEVEL||x.type===l.TokenTypes.RESERVED_TOP_LEVEL_NO_INDENT||x.type===l.TokenTypes.RESERVED_NEWLINE||x.type===l.TokenTypes.RESERVED?p=r.formatReserved(x,p):x.type===l.TokenTypes.OPEN_PAREN?p=r.formatOpeningParentheses(x,p):x.type===l.TokenTypes.CLOSE_PAREN?p=r.formatClosingParentheses(x,p):x.type===l.TokenTypes.NO_SPACE_OPERATOR?p=r.formatWithoutSpaces(x,p):x.type===l.TokenTypes.PLACEHOLDER||x.type===l.TokenTypes.SERVERVARIABLE?p=r.formatPlaceholder(x,p):x.value===","?p=r.formatComma(x,p):x.value===":"?p=r.formatWithSpaceAfter(x,p):x.value==="."?p=r.formatWithoutSpaces(x,p):x.value===";"?p=r.formatQuerySeparator(x,p):p=r.formatWithSpaces(x,p),x.type!==l.TokenTypes.WHITESPACE&&(r.previousNonWhiteSpace=x)}),p},T.prototype.formatWhitespace=function(r,p){return this.cfg.linesBetweenQueries==="preserve"&&/((\r\n|\n)(\r\n|\n)+)/u.test(r.value)&&this.previousToken().value===";"?p.replace(/(\n|\r\n)$/u,"")+r.value:p},T.prototype.formatReserved=function(r,p){return r.type===l.TokenTypes.RESERVED_NEWLINE&&this.previousReservedWord&&this.previousReservedWord.value&&r.value.toUpperCase()==="AND"&&this.previousReservedWord.value.toUpperCase()==="BETWEEN"&&(r.type=l.TokenTypes.RESERVED),r.type===l.TokenTypes.RESERVED_TOP_LEVEL?p=this.formatTopLevelReservedWord(r,p):r.type===l.TokenTypes.RESERVED_TOP_LEVEL_NO_INDENT?p=this.formatTopLevelReservedWordNoIndent(r,p):r.type===l.TokenTypes.RESERVED_NEWLINE?p=this.formatNewlineReservedWord(r,p):p=this.formatWithSpaces(r,p),this.previousReservedWord=r,p},T.prototype.formatLineComment=function(r,p){return this.addNewline(p+r.value)},T.prototype.formatBlockComment=function(r,p){return this.addNewline(this.addNewline(p)+this.indentComment(r.value))},T.prototype.indentComment=function(r){return r.replace(/\n[ \t]*/gu,` -`+this.indentation.getIndent()+" ")},T.prototype.formatTopLevelReservedWordNoIndent=function(r,p){return this.indentation.decreaseTopLevel(),p=this.addNewline(p)+this.equalizeWhitespace(this.formatReservedWord(r.value)),this.addNewline(p)},T.prototype.formatTopLevelReservedWord=function(r,p){var x=this.previousNonWhiteSpace.value!==","&&!["GRANT"].includes("".concat(this.previousNonWhiteSpace.value).toUpperCase());return x&&(this.indentation.decreaseTopLevel(),p=this.addNewline(p)),p=p+this.equalizeWhitespace(this.formatReservedWord(r.value))+" ",x&&this.indentation.increaseTopLevel(),p},T.prototype.formatNewlineReservedWord=function(r,p){return this.addNewline(p)+this.equalizeWhitespace(this.formatReservedWord(r.value))+" "},T.prototype.equalizeWhitespace=function(r){return r.replace(/\s+/gu," ")},T.prototype.formatOpeningParentheses=function(r,p){r.value=this.formatCase(r.value);var x=this.previousToken().type;return x!==l.TokenTypes.WHITESPACE&&x!==l.TokenTypes.OPEN_PAREN&&x!==l.TokenTypes.LINE_COMMENT&&(p=M(p)),p+=r.value,this.inlineBlock.beginIfPossible(this.tokens,this.index),this.inlineBlock.isActive()||(this.indentation.increaseBlockLevel(),p=this.addNewline(p)),p},T.prototype.formatClosingParentheses=function(r,p){return r.value=this.formatCase(r.value),this.inlineBlock.isActive()?(this.inlineBlock.end(),this.formatWithSpaceAfter(r,p)):(this.indentation.decreaseBlockLevel(),this.formatWithSpaces(r,this.addNewline(p)))},T.prototype.formatPlaceholder=function(r,p){return p+this.params.get(r)+" "},T.prototype.formatComma=function(r,p){return p=M(p)+r.value+" ",this.inlineBlock.isActive()||/^LIMIT$/iu.test(this.previousReservedWord.value)?p:this.addNewline(p)},T.prototype.formatWithSpaceAfter=function(r,p){return M(p)+r.value+" "},T.prototype.formatWithoutSpaces=function(r,p){return M(p)+r.value},T.prototype.formatWithSpaces=function(r,p){var x=r.type===l.TokenTypes.RESERVED?this.formatReservedWord(r.value):r.value;return p+x+" "},T.prototype.formatReservedWord=function(r){return this.formatCase(r)},T.prototype.formatQuerySeparator=function(r,p){this.indentation.resetIndentation();var x=` +|$))`),"u")},_.prototype.createReservedWordRegex=function(i){var M=i.join("|").replace(/ /gu,"\\s+");return new RegExp("^(".concat(M,")\\b"),"iu")},_.prototype.createWordRegex=function(i){return new RegExp("^([\\p{Alphabetic}\\p{Mark}\\p{Decimal_Number}\\p{Connector_Punctuation}\\p{Join_Control}".concat(i.join(""),"]+)"),"u")},_.prototype.createStringRegex=function(i){return new RegExp("^("+this.createStringPattern(i)+")","u")},_.prototype.createStringPattern=function(i){var M={"``":"((`[^`]*($|`))+)","[]":"((\\[[^\\]]*($|\\]))(\\][^\\]]*($|\\]))*)",'""':'(("[^"\\\\]*(?:\\\\.[^"\\\\]*)*("|$))+)',"''":"(('[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)","N''":"((N'[^N'\\\\]*(?:\\\\.[^N'\\\\]*)*('|$))+)","E''":"(((E|e)'[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)"};return i.map(function(P){return M[P]}).join("|")},_.prototype.createParenRegex=function(i){var M=this;return new RegExp("^("+i.map(function(P){return M.escapeParen(P)}).join("|")+")","iu")},_.prototype.escapeParen=function(i){return i.length===1?(0,l.default)(i):"\\b"+i+"\\b"},_.prototype.createPlaceholderRegex=function(i,M){if(!i||i.length===0)return null;var P=i.map(l.default).join("|");return new RegExp("^((?:".concat(P,")(?:").concat(M,"))"),"u")},_.prototype.tokenize=function(i){if(!i)return[];for(var M=[],P;i.length;)P=this.getNextToken(i,P),i=i.substring(P.value.length),M.push(P);return M},_.prototype.getNextToken=function(i,M){return this.getWhitespaceToken(i)||this.getCommentToken(i)||this.getStringToken(i)||this.getOpenParenToken(i)||this.getCloseParenToken(i)||this.getAmbiguosOperatorToken(i)||this.getNoSpaceOperatorToken(i)||this.getServerVariableToken(i)||this.getPlaceholderToken(i)||this.getNumberToken(i)||this.getReservedWordToken(i,M)||this.getWordToken(i)||this.getOperatorToken(i)},_.prototype.getWhitespaceToken=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.WHITESPACE,regex:this.WHITESPACE_REGEX})},_.prototype.getCommentToken=function(i){return this.getLineCommentToken(i)||this.getBlockCommentToken(i)},_.prototype.getLineCommentToken=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.LINE_COMMENT,regex:this.LINE_COMMENT_REGEX})},_.prototype.getBlockCommentToken=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.BLOCK_COMMENT,regex:this.BLOCK_COMMENT_REGEX})},_.prototype.getStringToken=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.STRING,regex:this.STRING_REGEX})},_.prototype.getOpenParenToken=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.OPEN_PAREN,regex:this.OPEN_PAREN_REGEX})},_.prototype.getCloseParenToken=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.CLOSE_PAREN,regex:this.CLOSE_PAREN_REGEX})},_.prototype.getPlaceholderToken=function(i){return this.getIdentNamedPlaceholderToken(i)||this.getStringNamedPlaceholderToken(i)||this.getIndexedPlaceholderToken(i)},_.prototype.getServerVariableToken=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.SERVERVARIABLE,regex:/(^@@\w+)/iu})},_.prototype.getIdentNamedPlaceholderToken=function(i){return this.getPlaceholderTokenWithKey({input:i,regex:this.IDENT_NAMED_PLACEHOLDER_REGEX,parseKey:function(M){return M.slice(1)}})},_.prototype.getStringNamedPlaceholderToken=function(i){var M=this;return this.getPlaceholderTokenWithKey({input:i,regex:this.STRING_NAMED_PLACEHOLDER_REGEX,parseKey:function(P){return M.getEscapedPlaceholderKey({key:P.slice(2,-1),quoteChar:P.slice(-1)})}})},_.prototype.getIndexedPlaceholderToken=function(i){return this.getPlaceholderTokenWithKey({input:i,regex:this.INDEXED_PLACEHOLDER_REGEX,parseKey:function(M){return M.slice(1)}})},_.prototype.getPlaceholderTokenWithKey=function(i){var M=i.input,P=i.regex,y=i.parseKey,r=this.getTokenOnFirstMatch({input:M,regex:P,type:m.TokenTypes.PLACEHOLDER});return r&&(r.key=y(r.value)),r},_.prototype.getEscapedPlaceholderKey=function(i){var M=i.key,P=i.quoteChar;return M.replace(new RegExp((0,l.default)("\\"+P),"gu"),P)},_.prototype.getNumberToken=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.NUMBER,regex:this.NUMBER_REGEX})},_.prototype.getOperatorToken=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.OPERATOR,regex:this.OPERATOR_REGEX})},_.prototype.getAmbiguosOperatorToken=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.OPERATOR,regex:this.AMBIGUOS_OPERATOR_REGEX})},_.prototype.getNoSpaceOperatorToken=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.NO_SPACE_OPERATOR,regex:this.NO_SPACE_OPERATOR_REGEX})},_.prototype.getReservedWordToken=function(i,M){if(!(M&&M.value&&M.value==="."))return this.getToplevelReservedToken(i)||this.getNewlineReservedToken(i)||this.getTopLevelReservedTokenNoIndent(i)||this.getPlainReservedToken(i)},_.prototype.getToplevelReservedToken=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.RESERVED_TOP_LEVEL,regex:this.RESERVED_TOP_LEVEL_REGEX})},_.prototype.getNewlineReservedToken=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.RESERVED_NEWLINE,regex:this.RESERVED_NEWLINE_REGEX})},_.prototype.getPlainReservedToken=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.RESERVED,regex:this.RESERVED_PLAIN_REGEX})},_.prototype.getTopLevelReservedTokenNoIndent=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.RESERVED_TOP_LEVEL_NO_INDENT,regex:this.RESERVED_TOP_LEVEL_NO_INDENT_REGEX})},_.prototype.getWordToken=function(i){return this.getTokenOnFirstMatch({input:i,type:m.TokenTypes.WORD,regex:this.WORD_REGEX})},_.prototype.getTokenOnFirstMatch=function(i){var M=i.input,P=i.type,y=i.regex,r=M.match(y);if(r)return{type:P,value:r[1]}},_})();o.default=w}),t=c(o=>{"use strict";o.__esModule=!0;var u=function(l){return l===void 0&&(l=[]),l[l.length-1]};o.default=u}),a=c(o=>{"use strict";var u=o&&o.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};o.__esModule=!0;var l=u(t()),m="top-level",w="block-level",_=(function(){function i(M){this.indent=M,this.indentTypes=[],this.indent=M||" "}return i.prototype.getIndent=function(){return new Array(this.indentTypes.length).fill(this.indent).join("")},i.prototype.increaseTopLevel=function(){this.indentTypes.push(m)},i.prototype.increaseBlockLevel=function(){this.indentTypes.push(w)},i.prototype.decreaseTopLevel=function(){(0,l.default)(this.indentTypes)===m&&this.indentTypes.pop()},i.prototype.decreaseBlockLevel=function(){for(;this.indentTypes.length>0;){var M=this.indentTypes.pop();if(M!==m)break}},i.prototype.resetIndentation=function(){this.indentTypes=[]},i})();o.default=_}),T=c(o=>{"use strict";o.__esModule=!0;var u=d(),l=50,m=(function(){function w(){this.level=0}return w.prototype.beginIfPossible=function(_,i){this.level===0&&this.isInlineBlock(_,i)?this.level=1:this.level>0?this.level++:this.level=0},w.prototype.end=function(){this.level--},w.prototype.isActive=function(){return this.level>0},w.prototype.isInlineBlock=function(_,i){for(var M=0,P=0,y=i;y<_.length;y++){var r=_[y];if(M+=r.value.length,M>l)return!1;if(r.type===u.TokenTypes.OPEN_PAREN)P++;else if(r.type===u.TokenTypes.CLOSE_PAREN&&(P--,P===0))return!0;if(this.isForbiddenToken(r))return!1}return!1},w.prototype.isForbiddenToken=function(_){var i=_.type,M=_.value;return i===u.TokenTypes.RESERVED_TOP_LEVEL||i===u.TokenTypes.RESERVED_NEWLINE||i===u.TokenTypes.LINE_COMMENT||i===u.TokenTypes.BLOCK_COMMENT||M===";"},w})();o.default=m}),R=c(o=>{"use strict";o.__esModule=!0;var u=(function(){function l(m){this.params=m,this.index=0,this.params=m}return l.prototype.get=function(m){var w=m.key,_=m.value;return this.params?w?this.params[w]:this.params[this.index++]:_},l})();o.default=u}),O=c(o=>{"use strict";var u=o&&o.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};o.__esModule=!0;var l=d(),m=u(a()),w=u(T()),_=u(R()),i=[" "," "],M=function(y){for(var r=y.length-1;r>=0&&i.includes(y[r]);)r--;return y.substring(0,r+1)},P=(function(){function y(r,p,x){this.cfg=r,this.tokenizer=p,this.tokenOverride=x,this.tokens=[],this.previousReservedWord={type:null,value:null},this.previousNonWhiteSpace={type:null,value:null},this.index=0,this.indentation=new m.default(this.cfg.indent),this.inlineBlock=new w.default,this.params=new _.default(this.cfg.params)}return y.prototype.format=function(r){this.tokens=this.tokenizer.tokenize(r);var p=this.getFormattedQueryFromTokens();return p.trim()},y.prototype.getFormattedQueryFromTokens=function(){var r=this,p="";return this.tokens.forEach(function(x,K){r.index=K,r.tokenOverride&&(x=r.tokenOverride(x,r.previousReservedWord)||x),x.type===l.TokenTypes.WHITESPACE?p=r.formatWhitespace(x,p):x.type===l.TokenTypes.LINE_COMMENT?p=r.formatLineComment(x,p):x.type===l.TokenTypes.BLOCK_COMMENT?p=r.formatBlockComment(x,p):x.type===l.TokenTypes.RESERVED_TOP_LEVEL||x.type===l.TokenTypes.RESERVED_TOP_LEVEL_NO_INDENT||x.type===l.TokenTypes.RESERVED_NEWLINE||x.type===l.TokenTypes.RESERVED?p=r.formatReserved(x,p):x.type===l.TokenTypes.OPEN_PAREN?p=r.formatOpeningParentheses(x,p):x.type===l.TokenTypes.CLOSE_PAREN?p=r.formatClosingParentheses(x,p):x.type===l.TokenTypes.NO_SPACE_OPERATOR?p=r.formatWithoutSpaces(x,p):x.type===l.TokenTypes.PLACEHOLDER||x.type===l.TokenTypes.SERVERVARIABLE?p=r.formatPlaceholder(x,p):x.value===","?p=r.formatComma(x,p):x.value===":"?p=r.formatWithSpaceAfter(x,p):x.value==="."?p=r.formatWithoutSpaces(x,p):x.value===";"?p=r.formatQuerySeparator(x,p):p=r.formatWithSpaces(x,p),x.type!==l.TokenTypes.WHITESPACE&&(r.previousNonWhiteSpace=x)}),p},y.prototype.formatWhitespace=function(r,p){return this.cfg.linesBetweenQueries==="preserve"&&/((\r\n|\n)(\r\n|\n)+)/u.test(r.value)&&this.previousToken().value===";"?p.replace(/(\n|\r\n)$/u,"")+r.value:p},y.prototype.formatReserved=function(r,p){return r.type===l.TokenTypes.RESERVED_NEWLINE&&this.previousReservedWord&&this.previousReservedWord.value&&r.value.toUpperCase()==="AND"&&this.previousReservedWord.value.toUpperCase()==="BETWEEN"&&(r.type=l.TokenTypes.RESERVED),r.type===l.TokenTypes.RESERVED_TOP_LEVEL?p=this.formatTopLevelReservedWord(r,p):r.type===l.TokenTypes.RESERVED_TOP_LEVEL_NO_INDENT?p=this.formatTopLevelReservedWordNoIndent(r,p):r.type===l.TokenTypes.RESERVED_NEWLINE?p=this.formatNewlineReservedWord(r,p):p=this.formatWithSpaces(r,p),this.previousReservedWord=r,p},y.prototype.formatLineComment=function(r,p){return this.addNewline(p+r.value)},y.prototype.formatBlockComment=function(r,p){return this.addNewline(this.addNewline(p)+this.indentComment(r.value))},y.prototype.indentComment=function(r){return r.replace(/\n[ \t]*/gu,` +`+this.indentation.getIndent()+" ")},y.prototype.formatTopLevelReservedWordNoIndent=function(r,p){return this.indentation.decreaseTopLevel(),p=this.addNewline(p)+this.equalizeWhitespace(this.formatReservedWord(r.value)),this.addNewline(p)},y.prototype.formatTopLevelReservedWord=function(r,p){var x=this.previousNonWhiteSpace.value!==","&&!["GRANT"].includes("".concat(this.previousNonWhiteSpace.value).toUpperCase());return x&&(this.indentation.decreaseTopLevel(),p=this.addNewline(p)),p=p+this.equalizeWhitespace(this.formatReservedWord(r.value))+" ",x&&this.indentation.increaseTopLevel(),p},y.prototype.formatNewlineReservedWord=function(r,p){return this.addNewline(p)+this.equalizeWhitespace(this.formatReservedWord(r.value))+" "},y.prototype.equalizeWhitespace=function(r){return r.replace(/\s+/gu," ")},y.prototype.formatOpeningParentheses=function(r,p){r.value=this.formatCase(r.value);var x=this.previousToken().type;return x!==l.TokenTypes.WHITESPACE&&x!==l.TokenTypes.OPEN_PAREN&&x!==l.TokenTypes.LINE_COMMENT&&(p=M(p)),p+=r.value,this.inlineBlock.beginIfPossible(this.tokens,this.index),this.inlineBlock.isActive()||(this.indentation.increaseBlockLevel(),p=this.addNewline(p)),p},y.prototype.formatClosingParentheses=function(r,p){return r.value=this.formatCase(r.value),this.inlineBlock.isActive()?(this.inlineBlock.end(),this.formatWithSpaceAfter(r,p)):(this.indentation.decreaseBlockLevel(),this.formatWithSpaces(r,this.addNewline(p)))},y.prototype.formatPlaceholder=function(r,p){return p+this.params.get(r)+" "},y.prototype.formatComma=function(r,p){return p=M(p)+r.value+" ",this.inlineBlock.isActive()||/^LIMIT$/iu.test(this.previousReservedWord.value)?p:this.addNewline(p)},y.prototype.formatWithSpaceAfter=function(r,p){return M(p)+r.value+" "},y.prototype.formatWithoutSpaces=function(r,p){return M(p)+r.value},y.prototype.formatWithSpaces=function(r,p){var x=r.type===l.TokenTypes.RESERVED?this.formatReservedWord(r.value):r.value;return p+x+" "},y.prototype.formatReservedWord=function(r){return this.formatCase(r)},y.prototype.formatQuerySeparator=function(r,p){this.indentation.resetIndentation();var x=` `;return this.cfg.linesBetweenQueries!=="preserve"&&(x=` -`.repeat(this.cfg.linesBetweenQueries||1)),M(p)+r.value+x},T.prototype.addNewline=function(r){return r=M(r),r.endsWith(` +`.repeat(this.cfg.linesBetweenQueries||1)),M(p)+r.value+x},y.prototype.addNewline=function(r){return r=M(r),r.endsWith(` `)||(r+=` -`),r+this.indentation.getIndent()},T.prototype.previousToken=function(){return this.tokens[this.index-1]||{type:null,value:null}},T.prototype.formatCase=function(r){return this.cfg.reservedWordCase==="upper"?r.toUpperCase():this.cfg.reservedWordCase==="lower"?r.toLowerCase():r},T})();o.default=P}),C=c(o=>{"use strict";var u=o&&o.__importDefault||function(_){return _&&_.__esModule?_:{default:_}};o.__esModule=!0;var l=u(e()),E=u(I()),w=(function(){function _(i){this.cfg=i}return _.prototype.format=function(i){return new E.default(this.cfg,this.tokenizer(),this.tokenOverride).format(i)},_.prototype.tokenize=function(i){return this.tokenizer().tokenize(i)},_.prototype.tokenizer=function(){return new l.default(this.getTokenizerConfig())},_})();o.default=w}),y=c(o=>{"use strict";var u=o&&o.__extends||(function(){var T=function(r,p){return T=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,K){x.__proto__=K}||function(x,K){for(var f in K)Object.prototype.hasOwnProperty.call(K,f)&&(x[f]=K[f])},T(r,p)};return function(r,p){if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");T(r,p);function x(){this.constructor=r}r.prototype=p===null?Object.create(p):(x.prototype=p.prototype,new x)}})(),l=o&&o.__importDefault||function(T){return T&&T.__esModule?T:{default:T}};o.__esModule=!0;var E=l(C()),w=(function(T){u(r,T);function r(){return T!==null&&T.apply(this,arguments)||this}return r.prototype.getTokenizerConfig=function(){return{reservedWords:_,reservedTopLevelWords:i,reservedNewlineWords:P,reservedTopLevelWordsNoIndent:M,stringTypes:['""',"''","``","[]"],openParens:["("],closeParens:[")"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:[":"],lineCommentTypes:["--"],specialWordChars:["#","@"]}},r})(E.default);o.default=w;var _=["ABS","ACTIVATE","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","ANY","ARE","ARRAY","AS","ASC","ASENSITIVE","ASSOCIATE","ASUTIME","ASYMMETRIC","AT","ATOMIC","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","AVG","BEFORE","BEGIN","BETWEEN","BIGINT","BINARY","BLOB","BOOLEAN","BOTH","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CCSID","CEIL","CEILING","CHAR","CHARACTER","CHARACTER_LENGTH","CHAR_LENGTH","CHECK","CLOB","CLONE","CLOSE","CLUSTER","COALESCE","COLLATE","COLLECT","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","CONVERT","CORR","CORRESPONDING","COUNT","COUNT_BIG","COVAR_POP","COVAR_SAMP","CREATE","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DATE","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DEREF","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DOUBLE","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELEMENT","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPTION","EXCLUDING","EXCLUSIVE","EXEC","EXECUTE","EXISTS","EXIT","EXP","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FILTER","FINAL","FIRST","FLOAT","FLOOR","FOR","FOREIGN","FREE","FULL","FUNCTION","FUSION","GENERAL","GENERATED","GET","GLOBAL","GOTO","GRANT","GRAPHIC","GROUP","GROUPING","HANDLER","HASH","HASHED_VALUE","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INT","INTEGER","INTEGRITY","INTERSECTION","INTERVAL","INTO","IS","ISOBID","ISOLATION","ITERATE","JAR","JAVA","KEEP","KEY","LABEL","LANGUAGE","LARGE","LATERAL","LC_CTYPE","LEADING","LEAVE","LEFT","LIKE","LINKTYPE","LN","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LONG","LOOP","LOWER","MAINTAINED","MATCH","MATERIALIZED","MAX","MAXVALUE","MEMBER","MERGE","METHOD","MICROSECOND","MICROSECONDS","MIN","MINUTE","MINUTES","MINVALUE","MOD","MODE","MODIFIES","MODULE","MONTH","MONTHS","MULTISET","NAN","NATIONAL","NATURAL","NCHAR","NCLOB","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZE","NORMALIZED","NOT","NULL","NULLIF","NULLS","NUMERIC","NUMPARTS","OBID","OCTET_LENGTH","OF","OFFSET","OLD","OLD_TABLE","ON","ONLY","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","ORDER","OUT","OUTER","OVER","OVERLAPS","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","PIECESIZE","PLAN","POSITION","POWER","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","REAL","RECOVERY","RECURSIVE","REF","REFERENCES","REFERENCING","REFRESH","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROLLUP","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCOPE","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SIGNAL","SIMILAR","SIMPLE","SMALLINT","SNAN","SOME","SOURCE","SPECIFIC","SPECIFICTYPE","SQL","SQLEXCEPTION","SQLID","SQLSTATE","SQLWARNING","SQRT","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STDDEV_POP","STDDEV_SAMP","STOGROUP","STORES","STYLE","SUBMULTISET","SUBSTRING","SUM","SUMMARY","SYMMETRIC","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","TABLESPACE","THEN","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSACTION","TRANSLATE","TRANSLATION","TREAT","TRIGGER","TRIM","TRUE","TRUNCATE","TYPE","UESCAPE","UNDO","UNIQUE","UNKNOWN","UNNEST","UNTIL","UPPER","USAGE","USER","USING","VALIDPROC","VALUE","VARCHAR","VARIABLE","VARIANT","VARYING","VAR_POP","VAR_SAMP","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHILE","WIDTH_BUCKET","WINDOW","WITH","WITHIN","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],i=["ADD","AFTER","ALTER COLUMN","ALTER TABLE","DELETE FROM","EXCEPT","FETCH FIRST","FROM","GROUP BY","GO","HAVING","INSERT INTO","INTERSECT","LIMIT","ORDER BY","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UPDATE","VALUES","WHERE"],M=["INTERSECT","INTERSECT ALL","MINUS","UNION","UNION ALL"],P=["AND","CROSS JOIN","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN"]}),b=c(o=>{"use strict";var u=o&&o.__extends||(function(){var T=function(r,p){return T=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,K){x.__proto__=K}||function(x,K){for(var f in K)Object.prototype.hasOwnProperty.call(K,f)&&(x[f]=K[f])},T(r,p)};return function(r,p){if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");T(r,p);function x(){this.constructor=r}r.prototype=p===null?Object.create(p):(x.prototype=p.prototype,new x)}})(),l=o&&o.__importDefault||function(T){return T&&T.__esModule?T:{default:T}};o.__esModule=!0;var E=l(C()),w=(function(T){u(r,T);function r(){return T!==null&&T.apply(this,arguments)||this}return r.prototype.getTokenizerConfig=function(){return{reservedWords:_,reservedTopLevelWords:i,reservedNewlineWords:P,reservedTopLevelWordsNoIndent:M,stringTypes:['""',"''","``"],openParens:["(","[","{"],closeParens:[")","]","}"],namedPlaceholderTypes:["$"],lineCommentTypes:["#","--"],specialWordChars:[]}},r})(E.default);o.default=w;var _=["ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","CONNECT","CONTINUE","CORRELATE","COVER","CREATE","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FIRST","FLATTEN","FOR","FORCE","FROM","FUNCTION","GRANT","GROUP","GSI","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LAST","LEFT","LET","LETTING","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MISSING","NAMESPACE","NEST","NOT","NULL","NUMBER","OBJECT","OFFSET","ON","OPTION","OR","ORDER","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROCEDURE","PUBLIC","RAW","REALM","REDUCE","RENAME","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","SATISFIES","SCHEMA","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TO","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WITH","WITHIN","WORK","XOR"],i=["DELETE FROM","EXCEPT ALL","EXCEPT","EXPLAIN DELETE FROM","EXPLAIN UPDATE","EXPLAIN UPSERT","FROM","GROUP BY","HAVING","INFER","INSERT INTO","LET","LIMIT","MERGE","NEST","ORDER BY","PREPARE","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UNNEST","UPDATE","UPSERT","USE KEYS","VALUES","WHERE"],M=["INTERSECT","INTERSECT ALL","MINUS","UNION","UNION ALL"],P=["AND","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","XOR"]}),S=c(o=>{"use strict";var u=o&&o.__extends||(function(){var r=function(p,x){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(K,f){K.__proto__=f}||function(K,f){for(var U in f)Object.prototype.hasOwnProperty.call(f,U)&&(K[U]=f[U])},r(p,x)};return function(p,x){if(typeof x!="function"&&x!==null)throw new TypeError("Class extends value "+String(x)+" is not a constructor or null");r(p,x);function K(){this.constructor=p}p.prototype=x===null?Object.create(x):(K.prototype=x.prototype,new K)}})(),l=o&&o.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};o.__esModule=!0;var E=l(C()),w=d(),_=(function(r){u(p,r);function p(){var x=r!==null&&r.apply(this,arguments)||this;return x.tokenOverride=function(K,f){if(K.type===w.TokenTypes.RESERVED_TOP_LEVEL&&f.value&&K.value.toUpperCase()==="SET"&&f.value.toUpperCase()==="BY")return K.type=w.TokenTypes.RESERVED,K},x}return p.prototype.getTokenizerConfig=function(){return{reservedWords:i,reservedTopLevelWords:M,reservedNewlineWords:T,reservedTopLevelWordsNoIndent:P,stringTypes:['""',"N''","''","``"],openParens:["(","CASE"],closeParens:[")","END"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:[":"],lineCommentTypes:["--"],specialWordChars:["_","$","#",".","@"]}},p})(E.default);o.default=_;var i=["A","ACCESSIBLE","AGENT","AGGREGATE","ALL","ALTER","ANY","ARRAY","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BETWEEN","BFILE_BASE","BINARY_INTEGER","BINARY","BLOB_BASE","BLOCK","BODY","BOOLEAN","BOTH","BOUND","BREADTH","BULK","BY","BYTE","C","CALL","CALLING","CASCADE","CASE","CHAR_BASE","CHAR","CHARACTER","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOB_BASE","CLONE","CLOSE","CLUSTER","CLUSTERS","COALESCE","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONTINUE","CONVERT","COUNT","CRASH","CREATE","CREDENTIAL","CURRENT","CURRVAL","CURSOR","CUSTOMDATUM","DANGLING","DATA","DATE_BASE","DATE","DAY","DECIMAL","DEFAULT","DEFINE","DELETE","DEPTH","DESC","DETERMINISTIC","DIRECTORY","DISTINCT","DO","DOUBLE","DROP","DURATION","ELEMENT","ELSIF","EMPTY","END","ESCAPE","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTENDS","EXTERNAL","EXTRACT","FALSE","FETCH","FINAL","FIRST","FIXED","FLOAT","FOR","FORALL","FORCE","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSTANTIABLE","INT","INTEGER","INTERFACE","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMITED","LOCAL","LOCK","LONG","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUTE","MLSLABEL","MOD","MODE","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NATURAL","NATURALN","NCHAR","NEW","NEXTVAL","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","NULLIF","NUMBER_BASE","NUMBER","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","OLD","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","ORACLE","ORADATA","ORDER","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERLAPS","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARENT","PARTITION","PASCAL","PCTFREE","PIPE","PIPELINED","PLS_INTEGER","PLUGGABLE","POSITIVE","POSITIVEN","PRAGMA","PRECISION","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","RAW","READ","REAL","RECORD","REF","REFERENCE","RELEASE","RELIES_ON","REM","REMAINDER","RENAME","RESOURCE","RESULT_CACHE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","ROWID","ROWNUM","ROWTYPE","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SEARCH","SECOND","SEGMENT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SHARE","SHORT","SIZE_T","SIZE","SMALLINT","SOME","SPACE","SPARSE","SQL","SQLCODE","SQLDATA","SQLERRM","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUCCESSFUL","SUM","SYNONYM","SYSDATE","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMESTAMP","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSACTION","TRANSACTIONAL","TRIGGER","TRUE","TRUSTED","TYPE","UB1","UB2","UB4","UID","UNDER","UNIQUE","UNPLUG","UNSIGNED","UNTRUSTED","USE","USER","USING","VALIDATE","VALIST","VALUE","VARCHAR","VARCHAR2","VARIABLE","VARIANCE","VARRAY","VARYING","VIEW","VIEWS","VOID","WHENEVER","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],M=["ADD","ALTER COLUMN","ALTER TABLE","BEGIN","CONNECT BY","DECLARE","DELETE FROM","DELETE","END","EXCEPT","EXCEPTION","FETCH FIRST","FROM","GROUP BY","HAVING","INSERT INTO","INSERT","LIMIT","LOOP","MODIFY","ORDER BY","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","START WITH","UPDATE","VALUES","WHERE"],P=["INTERSECT","INTERSECT ALL","MINUS","UNION","UNION ALL"],T=["AND","CROSS APPLY","CROSS JOIN","ELSE","END","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER APPLY","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","WHEN","XOR"]}),L=c(o=>{"use strict";var u=o&&o.__extends||(function(){var T=function(r,p){return T=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,K){x.__proto__=K}||function(x,K){for(var f in K)Object.prototype.hasOwnProperty.call(K,f)&&(x[f]=K[f])},T(r,p)};return function(r,p){if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");T(r,p);function x(){this.constructor=r}r.prototype=p===null?Object.create(p):(x.prototype=p.prototype,new x)}})(),l=o&&o.__importDefault||function(T){return T&&T.__esModule?T:{default:T}};o.__esModule=!0;var E=l(C()),w=(function(T){u(r,T);function r(){return T!==null&&T.apply(this,arguments)||this}return r.prototype.getTokenizerConfig=function(){return{reservedWords:_,reservedTopLevelWords:i,reservedNewlineWords:P,reservedTopLevelWordsNoIndent:M,stringTypes:['""',"N''","''","``","[]","E''"],openParens:["(","CASE"],closeParens:[")","END"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:["@",":","%","$"],lineCommentTypes:["#","--"],specialWordChars:[]}},r})(E.default);o.default=w;var _=["ACCESSIBLE","ACTION","AGAINST","AGGREGATE","ALGORITHM","ALL","ALTER","ANALYSE","ANALYZE","AS","ASC","AUTOCOMMIT","AUTO_INCREMENT","BACKUP","BEGIN","BETWEEN","BINLOG","BOTH","CASCADE","CASE","CHANGE","CHANGED","CHARACTER SET","CHARSET","CHECK","CHECKSUM","COLLATE","COLLATION","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPRESSED","CONCURRENT","CONSTRAINT","CONTAINS","CONVERT","COUNT","CREATE","CROSS","CURRENT_TIMESTAMP","DATABASE","DATABASES","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DAY","DEFAULT","DEFINER","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO","DROP","DUMPFILE","DUPLICATE","DYNAMIC","ELSE","ENCLOSED","END","ENGINE","ENGINES","ENGINE_TYPE","ESCAPE","ESCAPED","EVENTS","EXEC","EXECUTE","EXISTS","EXPLAIN","EXTENDED","FAST","FETCH","FIELDS","FILE","FIRST","FIXED","FLUSH","FOR","FORCE","FOREIGN","FULL","FULLTEXT","FUNCTION","GLOBAL","GRANTS","GROUP_CONCAT","HEAP","HIGH_PRIORITY","HOSTS","HOUR","HOUR_MINUTE","HOUR_SECOND","IDENTIFIED","IF","IFNULL","IGNORE","IN","INDEX","INDEXES","INFILE","INSERT","INSERT_ID","INSERT_METHOD","INTERVAL","INTO","INVOKER","IS","ISOLATION","KEY","KEYS","KILL","LAST_INSERT_ID","LEADING","LEVEL","LIKE","LINEAR","LINES","LOAD","LOCAL","LOCK","LOCKS","LOGS","LOW_PRIORITY","MARIA","MASTER","MASTER_CONNECT_RETRY","MASTER_HOST","MASTER_LOG_FILE","MATCH","MAX_CONNECTIONS_PER_HOUR","MAX_QUERIES_PER_HOUR","MAX_ROWS","MAX_UPDATES_PER_HOUR","MAX_USER_CONNECTIONS","MEDIUM","MERGE","MINUTE","MINUTE_SECOND","MIN_ROWS","MODE","MONTH","MRG_MYISAM","MYISAM","NAMES","NATURAL","NOT","NOW()","NULL","OFFSET","ON DELETE","ON UPDATE","ON","ONLY","OPEN","OPTIMIZE","OPTION","OPTIONALLY","OUTFILE","PACK_KEYS","PAGE","PARTIAL","PARTITION","PARTITIONS","PASSWORD","PRIMARY","PRIVILEGES","PROCEDURE","PROCESS","PROCESSLIST","PURGE","QUICK","RAID0","RAID_CHUNKS","RAID_CHUNKSIZE","RAID_TYPE","RANGE","READ","READ_ONLY","READ_WRITE","REFERENCES","REGEXP","RELOAD","RENAME","REPAIR","REPEATABLE","REPLACE","REPLICATION","RESET","RESTORE","RESTRICT","RETURN","RETURNS","REVOKE","RLIKE","ROLLBACK","ROW","ROWS","ROW_FORMAT","SECOND","SECURITY","SEPARATOR","SERIALIZABLE","SESSION","SHARE","SHOW","SHUTDOWN","SLAVE","SONAME","SOUNDS","SQL","SQL_AUTO_IS_NULL","SQL_BIG_RESULT","SQL_BIG_SELECTS","SQL_BIG_TABLES","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQL_LOG_BIN","SQL_LOG_OFF","SQL_LOG_UPDATE","SQL_LOW_PRIORITY_UPDATES","SQL_MAX_JOIN_SIZE","SQL_NO_CACHE","SQL_QUOTE_SHOW_CREATE","SQL_SAFE_UPDATES","SQL_SELECT_LIMIT","SQL_SLAVE_SKIP_COUNTER","SQL_SMALL_RESULT","SQL_WARNINGS","START","STARTING","STATUS","STOP","STORAGE","STRAIGHT_JOIN","STRING","STRIPED","SUPER","TABLE","TABLES","TEMPORARY","TERMINATED","THEN","TO","TRAILING","TRANSACTIONAL","TRIGGER","TRUE","TRUNCATE","TYPE","TYPES","UNCOMMITTED","UNIQUE","UNLOCK","UNSIGNED","USAGE","USE","USING","VARIABLES","VIEW","WHEN","WITH","WORK","WRITE","YEAR_MONTH"],i=["ADD","AFTER","ALTER COLUMN","ALTER TABLE","CREATE OR REPLACE","DECLARE","DELETE FROM","EXCEPT","FETCH FIRST","FROM","GO","GRANT","GROUP BY","HAVING","INSERT INTO","INSERT","LIMIT","MODIFY","ORDER BY","RETURNING","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UPDATE","VALUES","WHERE"],M=["INTERSECT ALL","INTERSECT","MINUS","UNION ALL","UNION"],P=["AND","CROSS APPLY","CROSS JOIN","ELSE","INNER JOIN","FULL JOIN","FULL OUTER JOIN","LEFT JOIN","LEFT OUTER JOIN","NATURAL JOIN","OR","OUTER APPLY","OUTER JOIN","RENAME","RIGHT JOIN","RIGHT OUTER JOIN","JOIN","WHEN","XOR"]}),g=c(o=>{"use strict";var u=o&&o.__importDefault||function(P){return P&&P.__esModule?P:{default:P}};o.__esModule=!0,o.tokenize=o.format=void 0;var l=u(y()),E=u(b()),w=u(S()),_=u(L()),i=function(P,T){switch(T===void 0&&(T={}),T.language){case"db2":return new l.default(T).format(P);case"n1ql":return new E.default(T).format(P);case"pl/sql":return new w.default(T).format(P);default:return new _.default(T).format(P)}};o.format=i;var M=function(P,T){return T===void 0&&(T={}),new _.default(T).tokenize(P)};o.tokenize=M,o.default={format:o.format,tokenize:o.tokenize}}),O=V(g(),1);globalThis.phpdebugbar_sqlformatter=O.default.default})();window.PhpDebugBar=window.PhpDebugBar||{};(function(){const s=window.PhpDebugBar;s.utils=s.utils||{};const W=s.utils.getDictValue=function(d,e,t){if(d==null)return t;const a=String(e).split(".");let R=d;for(const A of a)if(R==null||(R=R[A],R===void 0))return t;return R};s.utils.csscls=function(d,e){const t=String(d).trim();return t.includes(" ")?t.split(/\s+/).filter(Boolean).map(a=>s.utils.csscls(a,e)).join(" "):t.startsWith(".")?`.${e}${t.slice(1)}`:e+t},s.utils.makecsscls=function(d){return e=>s.utils.csscls(e,d)};const N=s.utils.makecsscls("phpdebugbar-");s.utils.sfDump=function(d){typeof window.Sfdump=="function"&&d.querySelectorAll("pre.sf-dump[id]").forEach(e=>{window.Sfdump(e.id,{maxDepth:0})})},s.utils.schedule=function(d){return window.requestIdleCallback?window.requestIdleCallback(d,{timeout:1e3}):setTimeout(d,0)};class m{get tagName(){return"div"}constructor(e={}){this._attributes=pt({},this.defaults),this._boundAttributes={},this.el=document.createElement(this.tagName),this.className&&this.el.classList.add(...this.className.split(" ")),this.initialize(e),this.render()}initialize(e){this.set(e)}render(){}set(e,t){const a=typeof e=="string"?{[e]:t}:e,R=[];for(const A in a)if(t=a[A],this._attributes[A]=t,this._boundAttributes[A])for(const I of this._boundAttributes[A])R.includes(I)||(I.call(this,t),R.push(I))}has(e){return this._attributes[e]!==void 0&&this._attributes[e]!==null}get(e){return this._attributes[e]}bindAttr(e,t){if(Array.isArray(e)){for(const a of e)this.bindAttr(a,t);return}if(this._boundAttributes[e]||(this._boundAttributes[e]=[]),t instanceof HTMLElement){const a=t;t=R=>a.textContent=R||""}this._boundAttributes[e].push(t),this.has(e)&&t.call(this,this._attributes[e])}static extend(e){const t=this;class a extends t{}for(const R in e){const A=Object.getOwnPropertyDescriptor(e,R);A&&Object.defineProperty(a.prototype,R,A)}return Object.assign(a,t),a.__super__=t.prototype,a}}m.prototype.defaults={},s.Widget=m;class h extends m{get className(){return N("panel")}render(){this.active=!1,this.tab=document.createElement("a"),this.tab.classList.add(N("tab")),this.icon=document.createElement("i"),this.tab.append(this.icon),this.bindAttr("icon",function(t){t?this.icon.className=`phpdebugbar-icon phpdebugbar-icon-${t}`:this.icon.className=""});const e=document.createElement("span");e.classList.add(N("text")),this.tab.append(e),this.bindAttr("title",e),this.badge=document.createElement("span"),this.badge.classList.add(N("badge")),this.tab.append(this.badge),this.bindAttr("badge",function(t){t!==null?(this.badge.textContent=t,this.badge.classList.add(N("visible"))):this.badge.classList.remove(N("visible"))}),this.bindAttr("widget",function(t){this.el.innerHTML="",this.el.append(t.el)}),this.widgetRendered=!1,this.bindAttr("data",function(t){this.has("widget")&&(this.tab.setAttribute("data-empty",Object.keys(t).length===0||t.count===0),!this.widgetRendered&&this.active&&t!=null?this.renderWidgetData():this.widgetRendered=!1)})}renderWidgetData(){const e=this.get("data"),t=this.get("widget");e==null||!t||(t.set("data",e),s.utils.schedule(()=>{s.utils.sfDump(t.el)}),this.widgetRendered=!0)}show(){const e=N("active");this.tab.classList.add(e),this.tab.hidden=!1,this.el.classList.add(e),this.el.hidden=!1,this.active=!0,this.widgetRendered||this.renderWidgetData()}hide(){const e=N("active");this.tab.classList.remove(e),this.el.classList.remove(e),this.el.hidden=!0,this.active=!1}}class k extends m{get tagName(){return"span"}get className(){return N("indicator")}render(){this.icon=document.createElement("i"),this.el.append(this.icon),this.bindAttr("icon",function(t){t?this.icon.className=`phpdebugbar-icon phpdebugbar-icon-${t}`:this.icon.className=""}),this.bindAttr("link",function(t){t?(this.el.addEventListener("click",()=>{this.get("debugbar").showTab(t)}),this.el.style.cursor="pointer"):this.el.style.cursor=""});const e=document.createElement("span");e.classList.add(N("text")),this.el.append(e),this.bindAttr(["title","data"],e),this.tooltip=document.createElement("span"),this.tooltip.classList.add(N("tooltip"),N("disabled")),this.el.append(this.tooltip),this.bindAttr("tooltip",function(t){if(t)if(Array.isArray(t)||typeof t=="object"){const a=document.createElement("dl");for(const[R,A]of Object.entries(t)){const I=document.createElement("dt");I.textContent=R,a.append(I);const C=document.createElement("dd");C.textContent=A,a.append(C)}this.tooltip.innerHTML="",this.tooltip.append(a),this.tooltip.classList.remove(N("disabled"))}else this.tooltip.textContent=t,this.tooltip.classList.remove(N("disabled"));else this.tooltip.classList.add(N("disabled"))})}}class c extends m{get tagName(){return"form"}get className(){return N("settings")}initialize(e){this.set(e);const t=this.get("debugbar");this.settings=JSON.parse(localStorage.getItem("phpdebugbar-settings"))||{};for(const a in t.options)a in this.settings&&(t.options[a]=this.settings[a]),a==="theme"?t.setTheme(t.options[a]):t.el.setAttribute(`data-${a}`,t.options[a])}clearSettings(){const e=this.get("debugbar");if(localStorage.removeItem("phpdebugbar-settings"),localStorage.removeItem("phpdebugbar-ajaxhandler-autoshow"),this.settings={},e.options=pt({},e.defaultOptions),e.ajaxHandler){const t=e.ajaxHandler.defaultAutoShow;e.ajaxHandler.setAutoShow(t),this.set("autoshow",t),e.controls.__datasets&&e.controls.__datasets.get("widget").set("autoshow",this.autoshow.checked)}this.initialize(e.options)}storeSetting(e,t){this.settings[e]=t;const a=this.get("debugbar");a.options[e]=t,e!=="theme"&&a.el.setAttribute(`data-${e}`,t),localStorage.setItem("phpdebugbar-settings",JSON.stringify(this.settings))}render(){this.el.innerHTML="";const e=this.get("debugbar"),t=this,a={},R=document.createElement("select");R.innerHTML='',R.value=e.options.theme,R.addEventListener("change",function(){t.storeSetting("theme",this.value),e.setTheme(this.value)}),a.Theme=R;const A=document.createElement("select");A.innerHTML='',A.value=e.options.openBtnPosition,A.addEventListener("change",function(){t.storeSetting("openBtnPosition",this.value),this.value==="topLeft"||this.value==="topRight"?t.storeSetting("toolbarPosition","top"):t.storeSetting("toolbarPosition","bottom"),t.get("debugbar").recomputeBottomOffset()}),a["Toolbar Position"]=A,this.hideEmptyTabs=document.createElement("input"),this.hideEmptyTabs.type="checkbox",this.hideEmptyTabs.checked=e.options.hideEmptyTabs,this.hideEmptyTabs.addEventListener("click",function(){t.storeSetting("hideEmptyTabs",this.checked),t.get("debugbar").respCSSSize=0,t.get("debugbar").resize()});const I=document.createElement("label");I.append(this.hideEmptyTabs,"Hide empty tabs until they have data"),a["Hide Empty Tabs"]=I;const C=document.createElement("input");C.type="checkbox",C.checked=e.options.showFullscreenBtn,C.addEventListener("click",function(){t.storeSetting("showFullscreenBtn",this.checked),e.toggleFullscreenBtn(this.checked)});const y=document.createElement("label");y.append(C,"Show fullscreen button in toolbar"),a.Fullscreen=y,this.autoshow=document.createElement("input"),this.autoshow.type="checkbox",this.autoshow.checked=e.ajaxHandler&&e.ajaxHandler.autoShow,this.autoshow.addEventListener("click",function(){e.ajaxHandler&&e.ajaxHandler.setAutoShow(this.checked),e.controls.__datasets&&e.controls.__datasets.get("widget").set("autoshow",this.checked),e.datasetSwitcherWidget&&e.datasetSwitcherWidget.set("autoshow",this.checked)}),this.bindAttr("autoshow",function(){this.autoshow.checked=this.get("autoshow");const L=this.autoshow.closest(`.${N("form-row")}`);L&&(L.style.display="")});const b=document.createElement("label");b.append(this.autoshow,"Automatically show new incoming Ajax requests"),a.Autoshow=b;const S=document.createElement("button");S.textContent="Reset settings",S.addEventListener("click",L=>{L.preventDefault(),t.clearSettings(),t.render()}),a["Reset to defaults"]=S;for(const[L,g]of Object.entries(a)){const O=document.createElement("div");O.classList.add(N("form-row"));const o=document.createElement("div");o.classList.add(N("form-label")),o.textContent=L,O.append(o);const u=document.createElement("div");u.classList.add(N("form-input")),g instanceof HTMLElement?u.append(g):u.innerHTML=g,O.append(u),t.el.append(O)}e.ajaxHandler||(this.autoshow.closest(`.${N("form-row")}`).style.display="none")}}class B{constructor(e){this.debugbar=e}format(e,t,a,R){if(a=a?` ${a}`:"",R=R||Object.keys(this.debugbar.datasets).length,t.__meta===void 0)return`#${R}${a}`;const A=t.__meta.uri.split("/");let I=A.pop();I||(I=`${A.pop()||""}/`),A.length&&!Number.isNaN(I)&&(I=`${A.pop()}/${I}`);const C=150;return I.length>C&&(I=`${I.substr(0,C)}...`),`#${R} ${I}${a} (${t.__meta.datetime.split(" ")[1]})`}}s.DatasetTitleFormater=B;class V extends m{get className(){return"phpdebugbar"}initialize(e={}){this.options=Object.assign({bodyBottomInset:!0,theme:"auto",toolbarPosition:"bottom",openBtnPosition:"bottomLeft",hideEmptyTabs:!1,showFullscreenBtn:!1,spaNavigationEvents:[]},e),this.defaultOptions=pt({},this.options),this.controls={},this.dataMap={},this.datasets={},this.firstTabName=null,this.activePanelName=null,this.activeDatasetId=null,this.pendingDataSetId=null,this.datesetTitleFormater=new B(this);const t=window.getComputedStyle(document.body);this.bodyPaddingBottomHeight=Number.parseInt(t.paddingBottom),this.bodyPaddingTopHeight=Number.parseInt(t.paddingTop);try{this.isIframe=window.self!==window.top&&window.top.PhpDebugBar&&window.top.PhpDebugBar}catch(a){this.isIframe=!1}this.registerResizeHandler(),this.registerMediaListener(),this.registerNavigationListener(),this.settingsControl=new s.DebugBar.Tab({icon:"adjustments-horizontal",title:"Settings",widget:new c({debugbar:this})})}registerResizeHandler(){if(this.resize.bind===void 0||this.isIframe)return;const e=this.resize.bind(this);this.respCSSSize=0,window.addEventListener("resize",e),setTimeout(e,20)}registerMediaListener(){window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.options.theme==="auto"&&this.setTheme("auto")})}registerNavigationListener(){const e=this.options.spaNavigationEvents;if(!(!e||!e.length))for(const t of e)document.addEventListener(t,()=>{this.recalculateBodyPadding()})}recalculateBodyPadding(){if(!this.options.bodyBottomInset)return;document.body.style.paddingTop="",document.body.style.paddingBottom="";const e=window.getComputedStyle(document.body);this.bodyPaddingTopHeight=Number.parseFloat(e.paddingTop),this.bodyPaddingBottomHeight=Number.parseFloat(e.paddingBottom),this.recomputeBottomOffset()}setTheme(e){this.options.theme=e,e==="auto"&&(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),this.el.setAttribute("data-theme",e),this.openHandler&&this.openHandler.el.setAttribute("data-theme",e),this.datasetSwitcherWidget&&this.datasetSwitcherWidget.panel&&this.datasetSwitcherWidget.panel.setAttribute("data-theme",e)}resize(){if(this.isIframe)return;let e=this.respCSSSize;if(this.respCSSSize===0){const I=Array.from(this.header.children).filter(C=>C.offsetParent!==null);for(const C of I){const y=window.getComputedStyle(C);e+=C.offsetWidth+Number.parseFloat(y.marginLeft)+Number.parseFloat(y.marginRight)}}const t=this.header.offsetWidth,a=N("mini-design"),R=this.header.classList.contains(a);t<=e&&!R?(this.respCSSSize=e,this.header.classList.add(a)):e{e.close()}),this.headerLeft=document.createElement("div"),this.headerLeft.classList.add(N("header-left")),this.header.append(this.headerLeft),this.headerRight=document.createElement("div"),this.headerRight.classList.add(N("header-right")),this.header.append(this.headerRight),this.body=document.createElement("div"),this.body.classList.add(N("body")),this.el.append(this.body),this.recomputeBottomOffset(),this.resizeHandleBottom=document.createElement("div"),this.resizeHandleBottom.classList.add(N("resize-handle")),this.resizeHandleBottom.classList.add(N("resize-handle-bottom")),this.el.append(this.resizeHandleBottom);let t,a;const R=C=>{const y=a+(t-C.pageY);e.setHeight(y)},A=C=>{const y=a-(t-C.pageY);e.setHeight(y)},I=()=>{document.removeEventListener("mousemove",R),document.removeEventListener("mousemove",A),document.removeEventListener("mouseup",I),e.dragCapture.style.display="none"};this.resizeHandle.addEventListener("mousedown",C=>{a=e.body.offsetHeight,t=C.pageY,document.addEventListener("mousemove",R),document.addEventListener("mouseup",I),e.dragCapture.style.display="",C.preventDefault()}),this.resizeHandleBottom.addEventListener("mousedown",C=>{a=e.body.offsetHeight,t=C.pageY,document.addEventListener("mousemove",A),document.addEventListener("mouseup",I),e.dragCapture.style.display="",C.preventDefault()}),this.closebtn=document.createElement("a"),this.closebtn.classList.add(N("close-btn")),this.headerRight.append(this.closebtn),this.closebtn.addEventListener("click",()=>{e.close()}),this.fullscreenbtn=document.createElement("a"),this.fullscreenbtn.classList.add(N("fullscreen-btn")),this.fullscreenbtn.hidden=!this.options.showFullscreenBtn,this.headerRight.append(this.fullscreenbtn),this.fullscreenbtn.addEventListener("click",()=>{e.toggleFullscreen()}),this.minimizebtn=document.createElement("a"),this.minimizebtn.classList.add(N("minimize-btn")),this.minimizebtn.hidden=!this.isMinimized(),this.headerRight.append(this.minimizebtn),this.minimizebtn.addEventListener("click",()=>{e.minimize()}),this.maximizebtn=document.createElement("a"),this.maximizebtn.classList.add(N("maximize-btn")),this.maximizebtn.hidden=this.isMinimized(),this.headerRight.append(this.maximizebtn),this.maximizebtn.addEventListener("click",()=>{e.restore()}),this.restorebtn=document.createElement("a"),this.restorebtn.classList.add(N("restore-btn")),this.restorebtn.hidden=!0,this.el.append(this.restorebtn),this.restorebtn.addEventListener("click",()=>{e.restore()}),this.openbtn=document.createElement("a"),this.openbtn.classList.add(N("open-btn")),this.openbtn.hidden=!0,this.headerRight.append(this.openbtn),this.openbtn.addEventListener("click",()=>{e.openHandler.show((C,y)=>{e.addDataSet(y,C,"(opened)")})}),this.datasetsSelectSpan=document.createElement("span"),this.datasetsSelectSpan.classList.add(N("datasets-switcher")),this.datasetsSelectSpan.setAttribute("name","datasets-switcher"),this.datasetsSelect=document.createElement("select"),this.datasetsSelect.hidden=!0,this.datasetsSelectSpan.append(this.datasetsSelect),this.headerRight.append(this.datasetsSelectSpan),this.datasetsSelect.addEventListener("change",function(){e.showDataSet(this.value)}),this.controls.__settings=this.settingsControl,this.settingsControl.tab.classList.add(N("tab-settings")),this.settingsControl.tab.setAttribute("data-collector","__settings"),this.settingsControl.el.setAttribute("data-collector","__settings"),this.settingsControl.el.hidden=!0,this.maximizebtn.after(this.settingsControl.tab),this.settingsControl.tab.hidden=!1,this.settingsControl.tab.addEventListener("click",()=>{!this.isMinimized()&&this.activePanelName==="__settings"&&!this.isFullscreen()?this.minimize():(this.showTab("__settings"),this.settingsControl.get("widget").render())}),this.body.append(this.settingsControl.el)}setHeight(e){if(this.isFullscreen())return;const t=40,a=window.innerHeight-this.header.offsetHeight-10;e=Math.min(e,a),e=Math.max(e,t),this.body.style.height=`${e}px`,localStorage.setItem("phpdebugbar-height",e),this.recomputeBottomOffset()}restoreState(){if(this.isIframe)return;const e=localStorage.getItem("phpdebugbar-height");this.setHeight(Number.parseInt(e)||this.body.offsetHeight);const t=localStorage.getItem("phpdebugbar-open");if(t&&t==="0")this.close();else{const a=localStorage.getItem("phpdebugbar-visible");if(a&&a==="1"){const R=localStorage.getItem("phpdebugbar-tab");this.isTab(R)?this.showTab(R):this.showTab()}else this.minimize()}this.options.showFullscreenBtn&&sessionStorage.getItem("phpdebugbar-fullscreen")==="1"&&this.toggleFullscreen()}createTab(e,t,a){const R=new h({title:a||e.replace(/[_-]/g," ").charAt(0).toUpperCase()+e.slice(1),widget:t});return this.addTab(e,R)}addTab(e,t){if(this.isControl(e))throw new Error(`${e} already exists`);const a=this;return this.headerLeft.append(t.tab),t.tab.addEventListener("click",()=>{!a.isMinimized()&&a.activePanelName===e&&!a.isFullscreen()?a.minimize():(a.restore(),a.showTab(e))}),t.tab.setAttribute("data-empty",!0),t.tab.setAttribute("data-collector",e),t.el.setAttribute("data-collector",e),this.body.append(t.el),this.controls[e]=t,this.firstTabName===null&&(this.firstTabName=e),t}createIndicator(e,t,a,R){const A=new k({icon:t,tooltip:a});return this.addIndicator(e,A,R)}addIndicator(e,t,a){if(this.isControl(e))throw new Error(`${e} already exists`);return t.set("debugbar",this),a==="left"?this.headerLeft.prepend(t.el):this.headerRight.append(t.el),this.controls[e]=t,t}getControl(e){if(this.isControl(e))return this.controls[e]}isControl(e){return this.controls[e]!==void 0}isTab(e){return this.isControl(e)&&this.controls[e]instanceof h}isIndicator(e){return this.isControl(e)&&this.controls[e]instanceof k}reset(){this.minimize();for(const[e,t]of Object.entries(this.controls))this.isTab(e)&&t.tab.remove(),t.el.remove();this.controls={}}showTab(e){if(e||(this.activePanelName?e=this.activePanelName:e=this.firstTabName),!this.isTab(e))throw new Error(`Unknown tab '${e}'`);this.body.hidden=!1,this.recomputeBottomOffset();for(const[t,a]of Object.entries(this.controls))a instanceof h&&(t===e?a.show():a.hide());this.activePanelName=e,this.el.classList.remove(N("minimized")),localStorage.setItem("phpdebugbar-visible","1"),localStorage.setItem("phpdebugbar-tab",e),this.maximize()}minimize(){this.exitFullscreen();const e=N("active"),t=this.header.querySelectorAll(`:scope > div > .${e}`);for(const a of t)a.classList.remove(e);this.body.hidden=!0,this.minimizebtn.hidden=!0,this.maximizebtn.hidden=!1,this.recomputeBottomOffset(),localStorage.setItem("phpdebugbar-visible","0"),this.el.classList.add(N("minimized")),this.resize()}maximize(){this.header.hidden=!1,this.restorebtn.hidden=!0,this.body.hidden=!1,this.minimizebtn.hidden=!1,this.maximizebtn.hidden=!0,this.recomputeBottomOffset(),localStorage.setItem("phpdebugbar-visible","1"),localStorage.setItem("phpdebugbar-open","1"),this.el.classList.remove(N("minimized")),this.el.classList.remove(N("closed")),this.resize()}isMinimized(){return this.el.classList.contains(N("minimized"))}toggleFullscreen(){this.isFullscreen()?this.exitFullscreen():(this._preFullscreenHeight=this.body.offsetHeight,this.el.classList.add(N("fullscreen")),this.body.style.height="",sessionStorage.setItem("phpdebugbar-fullscreen","1"),this.recomputeBottomOffset())}exitFullscreen(){this.isFullscreen()&&(this.el.classList.remove(N("fullscreen")),this._preFullscreenHeight&&(this.body.style.height=`${this._preFullscreenHeight}px`),sessionStorage.removeItem("phpdebugbar-fullscreen"),this.recomputeBottomOffset())}isFullscreen(){return this.el.classList.contains(N("fullscreen"))}toggleFullscreenBtn(e){this.fullscreenbtn.hidden=!e,e||this.exitFullscreen()}close(){this.exitFullscreen(),this.header.hidden=!0,this.body.hidden=!0,this.restorebtn.hidden=!1,localStorage.setItem("phpdebugbar-open","0"),this.el.classList.add(N("closed")),this.recomputeBottomOffset()}isClosed(){return this.el.classList.contains(N("closed"))}restore(){const e=localStorage.getItem("phpdebugbar-tab");this.pendingDataSetId&&(this.dataChangeHandler(this.datasets[this.pendingDataSetId]),this.pendingDataSetId=null),this.isTab(e)?this.showTab(e):this.showTab()}recomputeBottomOffset(){if(this.options.bodyBottomInset){if(this.isClosed()){document.body.style.paddingBottom=this.bodyPaddingBottomHeight?`${this.bodyPaddingBottomHeight}px`:"",document.body.style.paddingTop=this.bodyPaddingTopHeight?`${this.bodyPaddingTopHeight}px`:"";return}if(this.options.toolbarPosition==="top"){const e=this.el.offsetHeight+(this.bodyPaddingTopHeight||0);document.body.style.paddingTop=`${e}px`,document.body.style.paddingBottom=this.bodyPaddingBottomHeight?`${this.bodyPaddingBottomHeight}px`:""}else{const e=this.el.offsetHeight+(this.bodyPaddingBottomHeight||0);document.body.style.paddingBottom=`${e}px`,document.body.style.paddingTop=this.bodyPaddingTopHeight?`${this.bodyPaddingTopHeight}px`:""}}}setDataMap(e){this.dataMap=e}addDataMap(e){Object.assign(this.dataMap,e)}setData(e){return this.datasets={},this.addDataSet(e)}addDataSet(e,t,a,R){if(!e||!e.__meta)return;if(this.isIframe&&window.top.PhpDebugBar&&window.top.PhpDebugBar.instance){window.top.PhpDebugBar.instance.addDataSet(e,t,`(iframe)${a||""}`,R);return}const A=Object.keys(this.datasets).length+1;t=t||A,e.__meta.nb=A,e.__meta.suffix=a,this.datasets[t]=e;const I=this.datesetTitleFormater.format(t,this.datasets[t],a,A);if(this.datasetSwitcherWidget)this.datasetSwitcherWidget.set("data",this.datasets);else{const C=document.createElement("option");C.value=t,C.textContent=I,this.datasetsSelect.append(C),this.datasetsSelect.hidden=!1}return(R===void 0||R)&&this.showDataSet(t),this.resize(),t}loadDataSet(e,t,a,R){if(!this.openHandler)throw new Error("loadDataSet() needs an open handler");const A=this;this.openHandler.load(e,I=>{A.addDataSet(I,e,t,R),A.resize(),a&&a(I)})}getDataSet(e){return this.datasets[e]}showDataSet(e){this.activeDatasetId=e,this.isClosed()?this.pendingDataSetId=e:(this.dataChangeHandler(this.datasets[e]),this.pendingDataSetId=null),this.datasetSwitcherWidget?this.datasetSwitcherWidget.set("activeId",e):this.datasetsSelect.value=e}dataChangeHandler(e){for(const[t,a]of Object.entries(this.dataMap)){const R=W(e,a[0],a[1]);if(t.includes(":")){const A=t.split(":");this.getControl(A[0]).set(A[1],R)}else this.getControl(t).set("data",R)}this.isMinimized()||this.showTab(),this.resize()}setOpenHandler(e){this.openHandler=e,this.openHandler.el.setAttribute("data-theme",this.el.getAttribute("data-theme")),this.openbtn.hidden=e==null}getOpenHandler(){return this.openHandler}enableAjaxHandlerTab(){this.datasetsSelectSpan&&(this.datasetsSelectSpan.hidden=!0),this.datasetSwitcherWidget=new s.Widgets.DatasetWidget({debugbar:this}),this.openbtn.after(this.datasetSwitcherWidget.el)}}s.DebugBar=V,V.Tab=h,V.Indicator=k;class F{constructor(e,t,a){this.debugbar=e,this.headerName=t||"phpdebugbar",this.autoShow=a===void 0?!0:a,this.defaultAutoShow=this.autoShow,localStorage.getItem("phpdebugbar-ajaxhandler-autoshow")!==null&&(this.autoShow=localStorage.getItem("phpdebugbar-ajaxhandler-autoshow")==="1"),e.controls.__settings&&e.controls.__settings.get("widget").set("autoshow",this.autoShow)}handle(e){const t=this.getHeader(e,`${this.headerName}-stack`);return t&&JSON.parse(t).forEach(R=>{this.debugbar.loadDataSet(R," (stacked)",null,!1)}),!!(this.loadFromId(e)||this.loadFromData(e))}getHeader(e,t){return e instanceof Response?e.headers.get(t):e instanceof XMLHttpRequest?e.getResponseHeader(t):null}setAutoShow(e){this.autoShow=e,localStorage.setItem("phpdebugbar-ajaxhandler-autoshow",e?"1":"0")}loadFromId(e){const t=this.extractIdFromHeaders(e);return t&&this.debugbar.openHandler?(this.debugbar.loadDataSet(t,"(ajax)",void 0,this.autoShow),!0):!1}extractIdFromHeaders(e){return this.getHeader(e,`${this.headerName}-id`)}loadFromData(e){const t=this.extractDataFromHeaders(e);if(!t)return!1;const a=this.parseHeaders(t);if(a.error)throw new Error(`Error loading debugbar data: ${a.error}`);return a.data&&this.debugbar.addDataSet(a.data,a.id,"(ajax)",this.autoShow),!0}extractDataFromHeaders(e){let t=this.getHeader(e,this.headerName);if(t){for(let a=1;;a++){const R=this.getHeader(e,`${this.headerName}-${a}`);if(!R)break;t+=R}return decodeURIComponent(t)}}parseHeaders(e){return JSON.parse(e)}bindToFetch(){const e=this,t=window.fetch.__debugbar_original||window.fetch,a=t.bind(window);function R(...A){var C;const I=a(...A);return(C=I==null?void 0:I.then)==null||C.call(I,y=>e.handle(y)).catch(()=>{}),I}R.__debugbar_wrapped=!0,R.__debugbar_original=t,window.fetch=R}bindToXHR(){const e=this,t=XMLHttpRequest.prototype,a=(t.open||{}).__debugbar_original||t.open;if(typeof a!="function")return;function R(A,I,C=!0,y=null,b=null){return this.__debugbar_listener_attached||(this.__debugbar_listener_attached=!0,this.addEventListener("readystatechange",()=>{this.readyState===4&&e.handle(this)})),a.call(this,A,I,C,y,b)}R.__debugbar_wrapped=!0,R.__debugbar_original=a,t.open=R}}s.AjaxHandler=F})();(function(){PhpDebugBar.Widgets={};const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-"),W=PhpDebugBar.Widgets.htmlize=function(y){return y.replace(/\n/g,"
").replace(/\s/g," ")};let N;const m=PhpDebugBar.Widgets.renderValue=function(y,b){return y&&typeof y=="object"?(N||(N=new PhpDebugBar.Widgets.VarDumpRenderer),N.render(y)):typeof y!="string"?b?W(JSON.stringify(y,void 0,2)):JSON.stringify(y):y};PhpDebugBar.Widgets.renderValueInto=function(y,b,S){const L=m(b,S);L instanceof Node?y.append(L):y.insertAdjacentHTML("beforeend",L)};const h=PhpDebugBar.Widgets.editorLink=function(y){const b=document.createElement("span"),S=y.line?`#${y.line}`:"";if(b.classList.add(s("filename")),b.textContent=y.filename+S,y.path&&b.setAttribute("title",y.path+S),y.url){const L=document.createElement("a");L.classList.add(s("editor-link")),L.setAttribute(L.ajax?"title":"href",y.url),L.addEventListener("click",g=>{g.stopPropagation(),y.ajax&&(fetch(stmt.xdebug_link.url),g.preventDefault())}),b.append(L)}return b},k=PhpDebugBar.Widgets.highlight=function(y,b){if(typeof phpdebugbar_hljs=="undefined")return W(y);const S=phpdebugbar_hljs;return b&&S.getLanguage(b)?S.highlight(y,{language:b}).value:S.highlightAuto(y).value},c=PhpDebugBar.Widgets.createCodeBlock=function(y,b,S,L){const g=document.createElement("pre");g.classList.add(s("code-block"));const O=document.createElement("code");if(O.innerHTML=k(`${y} -`,b),g.append(O),!Number.isNaN(Number.parseFloat(S))){const o=y.split(` -`).length,u=document.createElement("ul");g.prepend(u);const l=Array.from(g.children);for(const E of l)E.classList.add(s("numbered-code"));for(let E=S;E100&&(o=`${o.substr(0,100)}...`);let u=null;S.textContent=o,S.addEventListener("click",()=>{if(window.getSelection().type==="Range")return"";S.classList.contains(s("pretty"))?(S.textContent=o,S.classList.remove(s("pretty"))):(u=u||c(g),S.classList.add(s("pretty")),S.innerHTML="",S.append(u))})}}PhpDebugBar.Widgets.VariableListWidget=d;class e extends F{get className(){return s("kvlist htmlvarlist")}itemRenderer(b,S,L,g){const O=document.createElement("i");O.innerHTML=L!=null?L:"";const o=document.createElement("span");o.setAttribute("title",O.textContent),o.innerHTML=L!=null?L:"",b.append(o),S.innerHTML=g&&g.value||g,g!=null&&g.xdebug_link&&S.append(h(g.xdebug_link))}}PhpDebugBar.Widgets.HtmlVariableListWidget=e;class t extends PhpDebugBar.Widget{get tagName(){return"div"}get className(){return s("tablevarlist")}render(){this.bindAttr("data",function(b){var E,w,_;if(this.el.innerHTML="",!this.has("data"))return;this.table=document.createElement("table"),this.table.classList.add(s("tablevar")),this.el.append(this.table);const S=document.createElement("tr");S.classList.add(s("header"));const L=document.createElement("td");S.append(L),this.table.append(S);let g=b.key_map||{value:"Value"};Array.isArray(g)&&(g=Object.fromEntries(g.map(i=>[i,null])));for(const[i,M]of Object.entries(g)){const P=document.createElement("td");if(P.textContent=M!=null?M:i,S.append(P),b.badges&&b.badges[i]){const T=document.createElement("span");T.textContent=b.badges[i],T.classList.add(s("badge")),P.append(T)}}const O=this;if(!b.data)return;let o=!1;for(const[i,M]of Object.entries(b.data)){const P=document.createElement("tr");P.classList.add(s("item")),O.table.append(P);const T=document.createElement("td");if(T.classList.add(s("key")),T.textContent=i,P.append(T),typeof M!="object"||M===null){const r=document.createElement("td");r.classList.add(s("value")),r.textContent=M!=null?M:"",P.append(r);continue}for(const r of Object.keys(g)){const p=document.createElement("td");p.classList.add(s("value")),p.textContent=(E=M[r])!=null?E:"",P.append(p)}if(M.xdebug_link){const r=document.createElement("td");r.classList.add(s("editor")),r.append(h(M.xdebug_link)),P.append(r),o||(o=!0,S.append(document.createElement("td")))}}if(!b.summary)return;const u=document.createElement("tr");u.classList.add(s("summary")),O.table.append(u);const l=document.createElement("td");if(l.classList.add(s("key")),u.append(l),typeof b.summary!="object"||b.summary===null){const i=document.createElement("td");i.classList.add(s("value")),i.textContent=(w=b.summary)!=null?w:"",u.append(i)}else for(const i of Object.keys(g)){const M=document.createElement("td");M.classList.add(s("value")),M.textContent=(_=b.summary[i])!=null?_:"",u.append(M)}o&&u.append(document.createElement("td"))})}}PhpDebugBar.Widgets.TableVariableListWidget=t;class a extends PhpDebugBar.Widget{get tagName(){return"iframe"}get className(){return s("iframe")}render(){this.el.setAttribute("seamless","seamless"),this.el.setAttribute("border","0"),this.el.setAttribute("width","100%"),this.el.setAttribute("height","100%"),this.bindAttr("data",function(b){this.el.setAttribute("src",b)})}}PhpDebugBar.Widgets.IFrameWidget=a;class R extends PhpDebugBar.Widget{get className(){return s("messages")}render(){const b=this;this.list=new V({itemRenderer(L,g){let O;if(g.message_json)O=document.createElement("span"),O.classList.add(s("value")),PhpDebugBar.Widgets.renderValueInto(O,g.message_json),L.append(O);else if(g.message_html)O=document.createElement("span"),O.classList.add(s("value")),O.innerHTML=g.message_html,L.append(O);else{const o=g.message;if(O=document.createElement("span"),O.classList.add(s("value")),O.textContent=o,O.classList.add(s("truncated")),L.append(O),!g.is_string||O.scrollWidth>O.clientWidth){let u=g.message;g.is_string||(u=null),L.style.cursor="pointer",L.addEventListener("click",()=>{if(window.getSelection().type==="Range")return"";O.classList.contains(s("pretty"))?(O.textContent=o,O.classList.remove(s("pretty")),O.classList.add(s("truncated"))):(u=u||c(g.message),O.classList.add(s("pretty")),O.classList.remove(s("truncated")),O.innerHTML="",O.append(u))})}}if(g.collector){const o=document.createElement("span");o.classList.add(s("collector")),o.textContent=g.collector,L.prepend(o)}if(g.label){O.classList.add(s(g.label));const o=document.createElement("span");o.classList.add(s("label")),o.textContent=g.label,L.prepend(o)}if(g.context&&Object.keys(g.context).length>0){const o=document.createElement("span");o.setAttribute("title","Context"),o.classList.add(s("context-count")),o.textContent=Object.keys(g.context).length,L.prepend(o);const u=document.createElement("table");u.classList.add(s("params")),u.hidden=!0,u.innerHTML='Context';const l=g.context_json||{};for(const E in g.context)if(typeof g.context[E]!="function"){const w=document.createElement("tr"),_=document.createElement("td");_.classList.add(s("name")),_.textContent=E,w.append(_);const i=document.createElement("td");i.classList.add(s("value")),l[E]?PhpDebugBar.Widgets.renderValueInto(i,l[E]):i.innerHTML=g.context[E],w.append(i),u.append(w)}L.append(u),L.style.cursor="pointer",L.addEventListener("click",E=>{window.getSelection().type==="Range"||E.target.closest(".sf-dump")||(u.hidden=!u.hidden)})}g.xdebug_link&&L.prepend(h(g.xdebug_link))}}),this.el.append(this.list.el),this.toolbar=document.createElement("div"),this.toolbar.classList.add(s("toolbar")),this.toolbar.innerHTML='',this.el.append(this.toolbar);const S=document.createElement("input");S.type="text",S.name="search",S.setAttribute("aria-label","Search"),S.placeholder="Search",S.addEventListener("change",function(){b.set("search",this.value)}),this.toolbar.append(S),this.bindAttr("data",function(L){this.set({excludelabel:[],excludecollector:[],search:""});const g=this.toolbar.querySelectorAll(`.${s("filter")}`);for(const w of g)w.remove();const O=[],o=[],u=this,l=function(w,_){const i=document.createElement("a");i.classList.add(s("filter")),i.classList.add(s(w)),i.textContent=_,i.setAttribute("rel",_),i.addEventListener("click",function(){u.onFilterClick(this,w)}),u.toolbar.append(i)};if(L.forEach(w=>{O.includes(w.label||"none")||O.push(w.label||"none"),o.includes(w.collector||"none")||o.push(w.collector||"none")}),O.length>1&&O.forEach(w=>l("label",w)),o.length===1)return;const E=document.createElement("a");E.classList.add(s("filter")),E.style.visibility="hidden",u.toolbar.append(E),o.forEach(w=>l("collector",w))}),this.bindAttr(["excludelabel","excludecollector","search"],function(){const L=this.get("excludelabel")||[],g=this.get("excludecollector")||[],O=this.get("search");let o=!1;const u=[];O&&O===O.toLowerCase()&&(o=!0),this.get("data").forEach(l=>{let E=l.message;l.message_json?E=JSON.stringify(l.message_json):l.message_html&&(E=l.message_html.replace(/<[^>]*>/g,"")),o&&(E=E.toLowerCase()),!L.includes(l.label||void 0)&&!g.includes(l.collector||void 0)&&(!O||E.includes(O))&&u.push(l)}),this.list.set("data",u)})}onFilterClick(b,S){b.classList.toggle(s("excluded"));const L=[],g=`.${s("filter")}.${s("excluded")}.${s(S)}`,O=this.toolbar.querySelectorAll(g);for(const o of O)L.push(o.rel==="none"||!o.rel?void 0:o.rel);this.set(`exclude${S}`,L)}}PhpDebugBar.Widgets.MessagesWidget=R;class A extends PhpDebugBar.Widget{get tagName(){return"ul"}get className(){return s("timeline")}render(){this.bindAttr("data",function(b){const S=function(g){return g<.001?`${(g*1e6).toFixed()}\u03BCs`:g<.1?`${(g*1e3).toFixed(2)}ms`:g<1?`${(g*1e3).toFixed()}ms`:`${g.toFixed(2)}s`},L=function(O){if(O===0||O===null)return"0B";const o=O<0?"-":"",u=Math.abs(O),l=Math.log(u)/Math.log(1024),E=["B","KB","MB","GB","TB"];return o+Math.round(Bt(1024,l-Math.floor(l))*100)/100+E[Math.floor(l)]};if(this.el.innerHTML="",b.measures){let g={};for(let u=0;u1?w.length+"x ":"")+l.label.replace(/\s+/g," ")+(l.duration?` (${l.duration_str}${l.memory?`/${l.memory_str}`:""})`:""),_.append(M),l.collector){const P=document.createElement("span");P.classList.add(s("collector")),P.textContent=l.collector,_.append(P)}if(i.append(_),this.el.append(i),l.params&&Object.keys(l.params).length>0){const P=document.createElement("table");P.classList.add(s("params")),P.hidden=!0,P.innerHTML='Params';for(const T in l.params)if(typeof l.params[T]!="function"){const r=document.createElement("tr"),p=document.createElement("td");p.className=s("name"),p.textContent=T,r.append(p);const x=document.createElement("td");x.className=s("value"),PhpDebugBar.Widgets.renderValueInto(x,l.params[T]),r.append(x),P.append(r)}i.append(P),i.style.cursor="pointer",i.addEventListener("click",function(T){if(window.getSelection().type==="Range"||T.target.closest(".sf-dump"))return"";const r=this.querySelector("table");r.hidden=!r.hidden})}}g=Object.entries(g).map(([u,l])=>({label:u,data:l})).sort((u,l)=>l.data.duration-u.data.duration);const O=document.createElement("table");O.classList.add(s("params"));for(const u of g){const l=Math.min((u.data.duration*100/b.duration).toFixed(2),100),E=document.createElement("i");E.textContent=u.label.replace(/\s+/g," ");const w=E.innerHTML,_=document.createElement("tr");_.innerHTML=`${u.data.count} x ${w} (${l}%)
${S(u.data.duration)}${u.data.memory?`/${L(u.data.memory)}`:""}
`,O.append(_);const i=_.querySelector(`span.${s("value")}`);i.style.width=`${l}%`}const o=document.createElement("li");o.append(O),this.el.append(o)}})}}PhpDebugBar.Widgets.TimelineWidget=A;class I extends PhpDebugBar.Widget{get className(){return s("exceptions")}render(){this.list=new V({itemRenderer(b,S){const L=document.createElement("span");if(L.classList.add(s("message")),L.textContent=S.message,S.count>1){const g=document.createElement("span");g.classList.add(s("badge")),g.textContent=`${S.count}x`,L.prepend(g)}if(b.append(L),S.file&&b.append(h(S.xdebug_link||{filename:S.file,line:S.line})),S.type){const g=document.createElement("span");g.classList.add(s("type")),g.textContent=S.type,b.append(g)}if(S.surrounding_lines){const g=S.line-3<=0?1:S.line-3,O=c(S.surrounding_lines.join(""),"php",g,S.line);O.classList.add(s("file")),O.hidden=!0,b.append(O),b.addEventListener("click",o=>{window.getSelection().type==="Range"||o.target.closest(".sf-dump")||(O.hidden=!O.hidden)})}if(S.stack_trace_json||S.stack_trace_html){const g=document.createElement("span");if(g.classList.add(s("filename")),S.stack_trace_json){const o=S.stack_trace_json,u=o._sd;o._sd=0,PhpDebugBar.Widgets.renderValueInto(g,o),o._sd=u}else g.innerHTML=S.stack_trace_html;const O=g.querySelector(".sf-dump-note");O&&(O.innerHTML=`${O.innerHTML.replace(/^array:/,'Stack Trace: ')} lines`),b.append(g)}else S.stack_trace&&S.stack_trace.split(` -`).forEach(g=>{const O=document.createElement("div"),o=document.createElement("span");o.classList.add(s("filename")),o.textContent=g,O.append(o),b.append(O)})}}),this.el.append(this.list.el),this.bindAttr("data",function(b){if(this.list.set("data",b),b.length===1){const S=this.list.el.children[0];if(S){const L=S.querySelector(`.${s("file")}`);L&&(L.hidden=!1)}}})}}PhpDebugBar.Widgets.ExceptionsWidget=I;class C extends PhpDebugBar.Widget{get className(){return s("datasets-switcher-widget")}initialize(b){this.set(b);const S=this,L=this.get("debugbar");this.badge=document.createElement("div"),this.badge.classList.add(s("datasets-badge")),this.badge.hidden=!0,this.badgeCount=document.createElement("span"),this.badgeCount.classList.add(s("datasets-badge-count")),this.badge.append(this.badgeCount),this.badgeUrl=document.createElement("span"),this.badgeUrl.classList.add(s("datasets-badge-url")),this.badge.append(this.badgeUrl),this.panel=document.createElement("div"),this.panel.classList.add(s("datasets-panel")),this.panel.hidden=!0,L.el&&this.panel.setAttribute("data-theme",L.el.getAttribute("data-theme"));const g=document.createElement("div");g.classList.add(s("datasets-panel-toolbar"));const O=document.createElement("label");O.classList.add(s("datasets-autoshow")),this.autoshowCheckbox=document.createElement("input"),this.autoshowCheckbox.type="checkbox";const o=localStorage.getItem("phpdebugbar-ajaxhandler-autoshow");this.autoshowCheckbox.checked=o!==null?o==="1":L.ajaxHandler?L.ajaxHandler.autoShow:!0,this.autoshowCheckbox.addEventListener("change",function(){L.ajaxHandler&&L.ajaxHandler.setAutoShow(this.checked),L.controls.__settings&&L.controls.__settings.get("widget").set("autoshow",this.checked),L.controls.__datasets&&L.controls.__datasets.get("widget").set("autoshow",this.checked)}),O.append(this.autoshowCheckbox),O.append(document.createTextNode(" Autoshow")),g.append(O),this.refreshBtn=document.createElement("a"),this.refreshBtn.tabIndex=0,this.refreshBtn.classList.add(s("datasets-refresh-btn")),this.refreshBtn.innerHTML='',this.refreshBtn.title="Auto-scan for new datasets",this.isScanning=!1,this.refreshBtn.addEventListener("click",E=>{E.stopPropagation(),this.isScanning?(this.isScanning=!1,this.refreshBtn.classList.remove(s("active")),this.refreshBtn.title="Auto-scan for new datasets"):(this.isScanning=!0,this.refreshBtn.classList.add(s("active")),this.refreshBtn.title="Stop auto-scanning",this.scanForNewDatasets())}),g.append(this.refreshBtn);const u=document.createElement("a");u.tabIndex=0,u.classList.add(s("datasets-clear-btn")),u.textContent="Clear",u.addEventListener("click",()=>{const E=L.activeDatasetId,w=L.datasets[E];L.datasets={},w&&L.addDataSet(w,E,w.__meta.suffix,!0),this.panel.hidden=!0}),g.append(u),this.searchInput=document.createElement("input"),this.searchInput.type="search",this.searchInput.placeholder="Search",this.searchInput.classList.add(s("datasets-search")),this.searchInput.addEventListener("input",()=>{S.applySearchFilter()}),g.append(this.searchInput),this.panel.append(g),this.list=document.createElement("div"),this.list.classList.add(s("datasets-list")),this.panel.append(this.list),this.el.append(this.badge),document.body.append(this.panel);const l=()=>{const E=this.badge.getBoundingClientRect(),w=E.top,_=window.innerHeight-E.bottom,i=_>w;this.panel.style.position="fixed",this.panel.style.right=`${window.innerWidth-E.right}px`,this.panel.style.left="auto",i?(this.panel.style.top=`${E.bottom}px`,this.panel.style.bottom="auto",this.panel.style.maxHeight=`${_}px`):(this.panel.style.bottom=`${window.innerHeight-E.top}px`,this.panel.style.top="auto",this.panel.style.maxHeight=`${w}px`),this.refreshBtn.hidden=!L.openHandler};this.badge.addEventListener("click",E=>{E.target!==this.panel&&!this.panel.contains(E.target)&&(this.panel.hidden&&l(),this.panel.hidden=!this.panel.hidden)}),document.addEventListener("click",E=>{!this.badge.contains(E.target)&&!this.panel.contains(E.target)&&(this.panel.hidden=!0)})}render(){this.bindAttr("data",function(){this.updateBadge()}),this.bindAttr("activeId",function(){this.updateBadge()}),this.bindAttr("autoshow",function(){this.autoshowCheckbox&&(this.autoshowCheckbox.checked=this.get("autoshow"))})}updateBadge(){const b=this.get("debugbar"),S=this.get("data")||b.datasets,L=this.get("activeId")||b.activeDatasetId;if(!S){this.badge.hidden=!0;return}const g=Object.keys(S).length;if(g>=1){this.badge.hidden=!1;const O=S[L];if(O&&O.__meta){const u=O.__meta.uri||"",l=O.__meta.method||"GET";this.badgeUrl.textContent=`${l} ${u}`}g>1?(this.badgeCount.textContent=g,this.badgeCount.hidden=!1):this.badgeCount.hidden=!0,this.list.innerHTML="";const o=Object.keys(S).sort((u,l)=>{var _,i;const E=((_=S[u].__meta)==null?void 0:_.utime)||0;return(((i=S[l].__meta)==null?void 0:i.utime)||0)-E});for(const u of o){const l=S[u],E=document.createElement("div");E.classList.add(s("datasets-list-item"));const w=l.__meta.uri||"",_=l.__meta.method||"GET";E.setAttribute("data-url",w),E.setAttribute("data-method",_),u===L&&E.classList.add(s("active"));const i=document.createElement("span");i.classList.add(s("datasets-item-nb")),i.textContent=`#${l.__meta.nb}`,E.append(i);const M=document.createElement("span");M.classList.add(s("datasets-item-time")),M.textContent=l.__meta.datetime?l.__meta.datetime.split(" ")[1]:"",E.append(M);const P=document.createElement("div");P.classList.add(s("datasets-item-request"));const T=document.createElement("span");T.classList.add(s("datasets-item-method")),T.textContent=_,P.append(T);const r=document.createElement("span");if(r.classList.add(s("datasets-item-url")),r.textContent=w,P.append(r),l.__meta.suffix){const K=document.createElement("span");K.classList.add(s("datasets-item-suffix")),K.textContent=` ${l.__meta.suffix}`,P.append(K)}E.append(P);const p=document.createElement("div");p.classList.add(s("datasets-item-badges"));for(const[K,f]of Object.entries(b.dataMap)){const U=B(l,f[0],f[1]);if(K.includes(":")){const Q=K.split(":"),ee=Q[0];if(Q[1]==="badge"&&U>0){const ie=b.getControl(ee);if(ie){const se=document.createElement("span");if(se.classList.add(s("datasets-item-badge")),se.setAttribute("title",ie.get("title")),se.dataset.tab=ee,ie.icon){const ce=ie.icon.cloneNode(!0);ce.style.width="12px",ce.style.height="12px",se.append(ce)}const le=document.createElement("span");le.textContent=U,se.append(le),p.append(se),se.addEventListener("click",ce=>{ce.stopPropagation(),b.showDataSet(u),b.showTab(ee),this.panel.hidden=!0})}}}}E.append(p);const x=document.createElement("a");x.classList.add(s("datasets-item-copy-id")),x.title=`Copy Request ID: ${u}`,x.innerHTML='',x.addEventListener("click",K=>{K.stopPropagation();const f=document.createElement("textarea");f.value=u,f.style.position="fixed",f.style.opacity="0",document.body.append(f),f.select(),document.execCommand("copy"),f.remove();const U=x.querySelector("i");U.className="phpdebugbar-icon phpdebugbar-icon-circle-check",x.classList.add(s("copied")),setTimeout(()=>{U.className="phpdebugbar-icon phpdebugbar-icon-copy",x.classList.remove(s("copied"))},2e3)}),E.append(x),E.addEventListener("click",()=>{b.showDataSet(u),this.panel.hidden=!0}),this.list.append(E)}this.applySearchFilter()}else this.badge.hidden=!0}applySearchFilter(){const b=this.searchInput.value.toLowerCase().trim(),S=this.list.querySelectorAll(`.${s("datasets-list-item")}`);for(const L of S)if(b==="")L.hidden=!1;else{const g=L.getAttribute("data-url").toLowerCase(),o=`${L.getAttribute("data-method").toLowerCase()} ${g}`,l=b.split(/\s+/).filter(E=>E.length>0).every(E=>o.includes(E));L.hidden=!l}}scanForNewDatasets(){const b=this.get("debugbar");if(!this.isScanning||!b.openHandler)return;const S=b.datasets,L=Object.values(S).reduce((O,o)=>{var u;return Math.max(O,((u=o.__meta)==null?void 0:u.utime)||0)},0),g=()=>{this.isScanning&&setTimeout(()=>this.scanForNewDatasets(),1e3)};b.openHandler.find({utime:L},0,(O,o)=>{if(o){console.error("scanForNewDatasets: find() failed",o),this.isScanning=!1,this.refreshBtn.classList.remove(s("active")),this.refreshBtn.title="Error scanning";return}try{const u=O.filter(E=>E.utime>L&&!S[E.id]);u.reverse();const l=(E=0)=>{if(E>=u.length){g();return}const{id:w}=u[E],_=E===u.length-1;b.loadDataSet(w,"(scan)",()=>l(E+1),this.autoshowCheckbox.checked&&_)};u.length?l():g()}catch(u){console.error("scanForNewDatasets: unexpected error",u),this.refreshBtn.classList.remove(s("active")),this.refreshBtn.title="Error scanning",this.isScanning=!1}})}}PhpDebugBar.Widgets.DatasetWidget=C})();(function(){const s=function(W){return PhpDebugBar.utils.csscls(W,"phpdebugbar-openhandler-")};PhpDebugBar.OpenHandler=PhpDebugBar.Widget.extend({className:"phpdebugbar-openhandler",defaults:{items_per_page:20},render(){const W=this;document.body.append(this.el),this.el.style.display="none",this.closebtn=document.createElement("a"),this.closebtn.classList.add(s("closebtn")),this.closebtn.innerHTML='',this.brand=document.createElement("span"),this.brand.classList.add(s("brand")),this.brand.innerHTML='',this.table=document.createElement("tbody");const N=document.createElement("div");N.classList.add(s("header")),N.textContent="PHP DebugBar | Open",N.prepend(this.brand),N.append(this.closebtn),this.el.append(N);const m=document.createElement("table");m.innerHTML='IDDateMethodURLIPFilter data',m.append(this.table),this.el.append(m),this.actions=document.createElement("div"),this.actions.classList.add(s("actions")),this.el.append(this.actions),this.closebtn.addEventListener("click",()=>{W.hide()}),this.loadmorebtn=document.createElement("a"),this.loadmorebtn.textContent="Load more",this.actions.append(this.loadmorebtn),this.loadmorebtn.addEventListener("click",()=>{W.find(W.last_find_request,W.last_find_request.offset+W.get("items_per_page"),W.handleFind.bind(W))}),this.showonlycurrentbtn=document.createElement("a"),this.showonlycurrentbtn.textContent="Show only current URL",this.actions.append(this.showonlycurrentbtn),this.showonlycurrentbtn.addEventListener("click",()=>{W.uriInput.value=window.location.pathname,W.searchBtn.click()}),this.refreshbtn=document.createElement("a"),this.refreshbtn.textContent="Refresh",this.actions.append(this.refreshbtn),this.refreshbtn.addEventListener("click",()=>{W.refresh()}),this.clearbtn=document.createElement("a"),this.clearbtn.textContent="Clear storage",this.actions.append(this.clearbtn),this.clearbtn.addEventListener("click",()=>{W.clear(()=>{W.hide()})}),this.addSearch(),this.overlay=document.createElement("div"),this.overlay.classList.add(s("overlay")),this.overlay.style.display="none",document.body.append(this.overlay),this.overlay.addEventListener("click",()=>{W.hide()})},refresh(){this.table.innerHTML="",this.loadmorebtn.style.display="",this.find({},0,this.handleFind.bind(this))},addSearch(){const W=this,N=this.searchBtn=document.createElement("button");N.textContent="Search",N.type="submit",N.addEventListener("click",function(k){W.table.innerHTML="";const c={},B=new FormData(this.parentElement);for(const[V,F]of B.entries())F&&(c[V]=F);W.find(c,0,W.handleFind.bind(W)),k.preventDefault()});const m=document.createElement("form");m.innerHTML='
Filter results
',this.uriInput=document.createElement("input"),this.uriInput.type="text",this.uriInput.name="uri",this.uriInput.placeholder="URI, eg '/user/*'",m.append(this.uriInput),this.ipInput=document.createElement("input"),this.ipInput.type="text",this.ipInput.name="ip",this.ipInput.placeholder="IP",m.append(this.ipInput);const h=document.createElement("button");h.textContent="Reset",h.type="button",h.addEventListener("click",()=>{m.reset(),N.click()}),m.append(N),m.append(h),this.actions.append(m)},handleFind(W){const N=this;for(const m of W){const h=document.createElement("a");h.textContent="Load dataset",h.addEventListener("click",y=>{N.hide(),N.load(m.id,b=>{N.callback(m.id,b)}),y.preventDefault()});const k=document.createElement("a");k.textContent=m.method,k.addEventListener("click",y=>{N.table.innerHTML="",N.find({method:m.method},0,N.handleFind.bind(N)),y.preventDefault()});const c=document.createElement("a");c.textContent=m.uri,c.addEventListener("click",y=>{N.hide(),N.load(m.id,b=>{N.callback(m.id,b)}),y.preventDefault()});const B=document.createElement("a");B.textContent=m.ip,B.addEventListener("click",y=>{N.ipInput.value=m.ip,N.searchBtn.click(),y.preventDefault()});const V=document.createElement("a");V.textContent="Show URL",V.addEventListener("click",y=>{N.uriInput.value=m.uri,N.searchBtn.click(),y.preventDefault()});const F=document.createElement("tr"),d=document.createElement("td");d.classList.add(s("id-cell"));const e=document.createElement("span");e.classList.add(s("id-text")),e.textContent=m.id,e.title=m.id,d.append(e);const t=document.createElement("a");t.classList.add(s("copy-id")),t.title="Copy Request ID",t.innerHTML='',t.addEventListener("click",y=>{y.stopPropagation(),y.preventDefault();const b=document.createElement("textarea");b.value=m.id,b.style.position="fixed",b.style.opacity="0",document.body.append(b),b.select(),document.execCommand("copy"),b.remove();const S=t.querySelector("i");S.className="phpdebugbar-icon phpdebugbar-icon-circle-check",t.classList.add(s("copied")),setTimeout(()=>{S.className="phpdebugbar-icon phpdebugbar-icon-copy",t.classList.remove(s("copied"))},2e3)}),d.append(t),F.append(d);const a=document.createElement("td");a.textContent=m.datetime,F.append(a);const R=document.createElement("td");R.textContent=m.method,F.append(R);const A=document.createElement("td");A.append(c),F.append(A);const I=document.createElement("td");I.append(B),F.append(I);const C=document.createElement("td");C.append(V),F.append(C),N.table.append(F)}W.lengthh.json()).then(N).catch(h=>{N(null,h)})}})})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class W extends PhpDebugBar.Widget{get className(){return s("mails")}render(){this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer(m,h){const k=document.createElement("span");k.classList.add(s("subject")),k.textContent=h.subject,m.append(k);const c=document.createElement("span");if(c.classList.add(s("to")),c.textContent=h.to,m.append(c),h.body||h.html){const B=document.createElement("span");B.classList.add(s("filename")),B.textContent="";const V=document.createElement("a");V.setAttribute("title","Mail Preview"),V.textContent="View Mail",V.classList.add(s("editor-link")),V.addEventListener("click",()=>{const d=window.open("about:blank","Mail Preview","width=650,height=440,scrollbars=yes").document;let e="";if(h.headers){const A=document.createElement("pre");A.style.border="1px solid #ddd",A.style.padding="5px";const I=document.createElement("code");I.textContent=h.headers,A.append(I),e=A.outerHTML}const t=document.createElement("pre");t.style.border="1px solid #ddd",t.style.padding="5px",t.textContent=h.body;let a=t.outerHTML,R="";if(h.html){const A=document.createElement("details"),I=document.createElement("summary");I.textContent="Text version",A.append(I),A.append(t),a=A.outerHTML;const C=document.createElement("iframe");C.setAttribute("width","100%"),C.setAttribute("height","400px"),C.setAttribute("sandbox",""),C.setAttribute("referrerpolicy","no-referrer"),C.setAttribute("srcdoc",h.html),R=C.outerHTML}d.open(),d.write(e+a+R),d.close()}),B.append(V),m.append(B)}if(h.headers){const B=document.createElement("pre");B.classList.add(s("headers"));const V=document.createElement("code");V.textContent=h.headers,B.append(V),B.hidden=!0,m.append(B),m.addEventListener("click",()=>{B.hidden=!B.hidden})}}}),this.el.append(this.list.el),this.bindAttr("data",function(m){this.list.set("data",m)})}}PhpDebugBar.Widgets.MailsWidget=W})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class W extends PhpDebugBar.Widget{get className(){return s("sqlqueries")}onFilterClick(m){m.classList.toggle(s("excluded"));const h=m.getAttribute("rel"),k=this.list.el.querySelectorAll(`li[connection="${h}"]`);for(const c of k)c.hidden=!c.hidden}onCopyToClipboard(m){const h=m.parentElement.querySelector("code"),k=function(){try{document.execCommand("copy")&&(m.classList.add(s("copy-clipboard-check")),setTimeout(()=>{m.classList.remove(s("copy-clipboard-check"))},2e3))}catch(B){console.log("Oops, unable to copy")}};(function(B){if(document.selection){const V=document.body.createTextRange();V.moveToElementText(B),V.select()}else if(window.getSelection){const V=document.createRange();V.selectNodeContents(B),window.getSelection().removeAllRanges(),window.getSelection().addRange(V)}k(),window.getSelection().removeAllRanges()})(h)}renderList(m,h,k){var d;const c=document.createElement("thead"),B=document.createElement("tr"),V=document.createElement("th");V.colSpan=2,V.classList.add(s("name")),V.innerHTML=h,B.append(V),c.append(B),m.append(c);const F=document.createElement("tbody");for(const e in k){const t=typeof k[e]=="function"?`${k[e].name} {}`:k[e],a=document.createElement("tr");if(typeof t=="object"&&t!==null){const R=document.createElement("td");R.classList.add("phpdebugbar-text-muted"),R.textContent=t.index||e,a.append(R);const A=document.createElement("td");if(t.namespace&&A.append(`${t.namespace}::`),A.append(t.name||t.file),t.line){const I=document.createElement("span");I.classList.add("phpdebugbar-text-muted"),I.textContent=`:${t.line}`,A.append(I)}if((d=t.xdebug_link)!=null&&d.url){const I=PhpDebugBar.Widgets.editorLink(t.xdebug_link);A.append(I.querySelector("a"))}a.append(A)}else{const R=document.createElement("td");R.classList.add("phpdebugbar-text-muted"),R.textContent=e,a.append(R);const A=document.createElement("td");A.textContent=t,a.append(A)}F.append(a)}m.append(F)}itemRenderer(m,h){if(h.type=h.type||"query",h.slow&&m.classList.add(s("sql-slow")),h.width_percent){const c=document.createElement("div");c.classList.add(s("bg-measure"));const B=document.createElement("div");B.classList.add(s("value")),B.style.left=`${h.start_percent}%`,B.style.width=`${Math.max(h.width_percent,.01)}%`,c.append(B),m.append(c)}if(h.duration_str){const c=document.createElement("span");c.setAttribute("title","Duration"),c.classList.add(s("duration")),c.textContent=h.duration_str,m.append(c)}if(h.memory_str){const c=document.createElement("span");c.setAttribute("title","Memory usage"),c.classList.add(s("memory")),c.textContent=h.memory_str,m.append(c)}if(typeof h.row_count!="undefined"){const c=document.createElement("span");c.setAttribute("title","Row count"),c.classList.add(s("row-count")),c.textContent=h.row_count,m.append(c)}if(typeof h.stmt_id!="undefined"&&h.stmt_id){const c=document.createElement("span");c.setAttribute("title","Prepared statement ID"),c.classList.add(s("stmt-id")),c.textContent=h.stmt_id,m.append(c)}if(h.connection){const c=document.createElement("span");if(c.setAttribute("title","Connection"),c.classList.add(s("database")),c.textContent=h.connection,m.append(c),m.setAttribute("connection",h.connection),!this.filters.includes(h.connection)){this.filters.push(h.connection);const B=document.createElement("a");B.classList.add(s("filter")),B.textContent=h.connection,B.setAttribute("rel",h.connection),B.addEventListener("click",()=>{this.onFilterClick(B)}),this.toolbar.append(B),this.filters.length>1&&(this.toolbar.hidden=!1)}}if(h.type==="query"){const c=document.createElement("span");c.setAttribute("title","Copy to clipboard"),c.classList.add(s("copy-clipboard")),c.style.cursor="pointer",c.innerHTML="​",c.addEventListener("click",B=>{this.onCopyToClipboard(c),B.stopPropagation()}),m.append(c)}if(h.xdebug_link?m.prepend(PhpDebugBar.Widgets.editorLink(h.xdebug_link)):typeof h.filename!="undefined"&&h.filename&&m.prepend(PhpDebugBar.Widgets.editorLink(h)),h.type!=="query"){const c=document.createElement("strong");c.classList.add(s("sql"),s(h.type)),c.textContent=h.sql,m.append(c)}else{const c=document.createElement("code");c.classList.add(s("sql")),c.innerHTML=PhpDebugBar.Widgets.highlight(h.sql,"sql"),m.append(c)}if(typeof h.is_success!="undefined"&&!h.is_success){m.classList.add(s("error"));const c=document.createElement("span");c.classList.add(s("error")),c.textContent=`[${h.error_code}] ${h.error_message}`,m.append(c)}if(h.type!=="query")return;const k=document.createElement("table");k.classList.add(s("params")),k.hidden=!0,h.params&&Object.keys(h.params).length>0&&this.renderList(k,"Params",h.params),h.backtrace&&Object.keys(h.backtrace).length>0&&this.renderList(k,"Backtrace",h.backtrace),k.querySelectorAll("tr").length||(k.style.display="none"),m.append(k),m.style.cursor="pointer",m.addEventListener("click",c=>{if(window.getSelection().type==="Range"||c.target.closest(".sf-dump"))return"";k.hidden=!k.hidden;const B=m.querySelector("code");if(B&&typeof phpdebugbar_sqlformatter!="undefined"){let V=h.sql;k.hidden||(V=phpdebugbar_sqlformatter.format(h.sql)),B.innerHTML=PhpDebugBar.Widgets.highlight(V,"sql")}})}render(){this.status=document.createElement("div"),this.status.classList.add(s("status")),this.el.append(this.status),this.toolbar=document.createElement("div"),this.toolbar.classList.add(s("toolbar")),this.el.append(this.toolbar),this.filters=[];let m="none",h=null;this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer:(k,c)=>this.itemRenderer(k,c)}),this.el.append(this.list.el),this.bindAttr("data",function(k){if(k.length<=0||!k.statements)return!1;this.filters=[],this.toolbar.hidden=!0;const c=this.toolbar.querySelectorAll(`.${s("filter")}`);for(const d of c)d.remove();this.list.set("data",k.statements),this.status.innerHTML="";const B={};let V=0;for(let d=0;d0&&(e+=JSON.stringify(k.statements[d].params)),k.statements[d].connection&&(e+=`@${k.statements[d].connection}`),B[e]=B[e]||{keys:[]},B[e].keys.push(d)}for(const d in B)if(B[d].keys.length>1){V+=B[d].keys.length;for(let e=0;e{e.classList.toggle("shown-duplicated"),e.textContent=e.classList.contains("shown-duplicated")?"Show All":d;const t=`.${this.className} .${s("list-item")}:not(.${s("sql-duplicate")})`,a=document.querySelectorAll(t);for(const R of a)R.hidden=!R.hidden}),F.append(e)}if(k.accumulated_duration_str){const d=document.createElement("span");d.setAttribute("title","Accumulated duration"),d.classList.add(s("duration")),d.textContent=k.accumulated_duration_str;const e=document.createElement("span");e.classList.add(s("sort-icon")),e.style.cursor="pointer",e.style.marginLeft="5px",e.textContent="Sort \u21C5",e.setAttribute("title","Sort by duration"),e.addEventListener("click",()=>{m==="none"?(m="desc",e.textContent="\u2193",h=[...k.statements],k.statements.sort((t,a)=>(a.duration||0)-(t.duration||0))):m==="desc"?(m="asc",e.textContent="\u2191",k.statements.sort((t,a)=>(t.duration||0)-(a.duration||0))):(m="none",e.textContent="\u21C5",h&&(k.statements=h,h=null)),this.list.set("data",k.statements)}),d.append(e),this.status.append(d)}if(k.memory_usage_str){const d=document.createElement("span");d.setAttribute("title","Memory usage"),d.classList.add(s("memory")),d.textContent=k.memory_usage_str,this.status.append(d)}})}}PhpDebugBar.Widgets.SQLQueriesWidget=W})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class W extends PhpDebugBar.Widget{get className(){return s("templates")}render(){this.status=document.createElement("div"),this.status.classList.add(s("status")),this.el.append(this.status),this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer(m,h){const k=document.createElement("span");if(k.classList.add(s("name")),h.html?k.innerHTML=h.html:k.textContent=h.name,m.append(k),h.xdebug_link&&m.append(PhpDebugBar.Widgets.editorLink(h.xdebug_link)),h.render_time_str){const c=document.createElement("span");c.setAttribute("title","Render time"),c.classList.add(s("render-time")),c.textContent=h.render_time_str,m.append(c)}if(h.memory_str){const c=document.createElement("span");c.setAttribute("title","Memory usage"),c.classList.add(s("memory")),c.textContent=h.memory_str,m.append(c)}if(typeof h.param_count!="undefined"){const c=document.createElement("span");c.setAttribute("title","Parameter count"),c.classList.add(s("param-count")),c.textContent=h.param_count,m.append(c)}if(typeof h.type!="undefined"&&h.type){const c=document.createElement("span");c.setAttribute("title","Type"),c.classList.add(s("type")),c.textContent=h.type,m.append(c)}if(typeof h.editorLink!="undefined"&&h.editorLink){const c=document.createElement("a");c.setAttribute("href",h.editorLink),c.classList.add(s("editor-link")),c.textContent="file",c.addEventListener("click",B=>{B.stopPropagation()}),m.append(c)}if(h.params&&Object.keys(h.params).length>0){const c=document.createElement("table");c.classList.add(s("params"));const B=document.createElement("thead");B.innerHTML='Params';const V=document.createElement("tbody");c.append(B,V);for(const F in h.params)if(typeof h.params[F]!="function"){const d=document.createElement("tr"),e=document.createElement("td");e.className=s("name"),e.textContent=F,d.append(e);const t=document.createElement("td");t.className=s("value"),PhpDebugBar.Widgets.renderValueInto(t,h.params[F]),d.append(t),V.append(d)}c.hidden=!0,m.append(c),m.style.cursor="pointer",m.addEventListener("click",F=>{window.getSelection().type==="Range"||F.target.closest(".sf-dump")||(c.hidden=!c.hidden)})}}}),this.el.append(this.list.el),this.callgraph=document.createElement("div"),this.callgraph.classList.add(s("callgraph")),this.el.append(this.callgraph),this.bindAttr("data",function(m){this.list.set("data",m.templates),this.status.innerHTML="",this.callgraph.innerHTML="";const h=m.sentence||"templates were rendered",k=document.createElement("span");if(k.textContent=`${m.nb_templates} ${h}`,this.status.append(k),m.accumulated_render_time_str){const c=document.createElement("span");c.setAttribute("title","Accumulated render time"),c.classList.add(s("render-time")),c.textContent=m.accumulated_render_time_str,this.status.append(c)}if(m.memory_usage_str){const c=document.createElement("span");c.setAttribute("title","Memory usage"),c.classList.add(s("memory")),c.textContent=m.memory_usage_str,this.status.append(c)}if(m.nb_blocks>0){const c=document.createElement("div");c.textContent=`${m.nb_blocks} blocks were rendered`,this.status.append(c)}if(m.nb_macros>0){const c=document.createElement("div");c.textContent=`${m.nb_macros} macros were rendered`,this.status.append(c)}typeof m.callgraph!="undefined"&&(this.callgraph.innerHTML=m.callgraph)})}}PhpDebugBar.Widgets.TemplatesWidget=W})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class W extends PhpDebugBar.Widget{get className(){return s("httpclient")}render(){this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer(m,h){const k=document.createElement("div");k.classList.add(s("request-summary")),k.style.display="flex",k.style.gap="10px",k.style.alignItems="center";const c=document.createElement("span");c.classList.add(s("method")),c.textContent=h.method,c.style.fontWeight="bold",c.style.minWidth="60px",k.append(c);const B=document.createElement("span");B.classList.add(s("url")),B.textContent=h.url,B.style.flex="1",B.style.overflow="hidden",B.style.textOverflow="ellipsis",B.style.whiteSpace="nowrap",k.append(B);const V=document.createElement("span");if(V.classList.add(s("status")),V.textContent=h.status,V.style.minWidth="40px",V.style.textAlign="center",typeof h.status=="number"&&(h.status>=200&&h.status<300?V.style.color="#4caf50":h.status>=300&&h.status<400?V.style.color="#ff9800":h.status>=400&&(V.style.color="#f44336")),k.append(V),h.duration!==null&&typeof h.duration!="undefined"){const F=document.createElement("span");F.classList.add(s("duration")),F.textContent=h.duration,F.style.minWidth="60px",F.style.textAlign="right",k.append(F)}if(m.append(k),h.details&&Object.keys(h.details).length>0){const F=document.createElement("table");F.classList.add(s("params"));const d=document.createElement("thead");d.innerHTML='Details';const e=document.createElement("tbody");F.append(d,e);for(const t in h.details)if(typeof h.details[t]!="function"){const a=document.createElement("tr"),R=document.createElement("td");R.className=s("name"),R.textContent=t,a.append(R);const A=document.createElement("td");A.className=s("value"),PhpDebugBar.Widgets.renderValueInto(A,h.details[t]),a.append(A),e.append(a)}F.hidden=!0,m.append(F),m.style.cursor="pointer",m.addEventListener("click",t=>{window.getSelection().type==="Range"||t.target.closest(".sf-dump")||(F.hidden=!F.hidden)})}}}),this.el.append(this.list.el),this.bindAttr("data",function(m){this.list.set("data",m)})}}PhpDebugBar.Widgets.HttpWidget=W})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-"),W=new Map;let N=0;const m={"&":"&","<":"<",">":">",'"':"""},h=/[&<>"]/g;class k{constructor(d){this.expandedDepth=d&&d.expandedDepth!==void 0?d.expandedDepth:0}render(d){const e=document.createElement("pre");e.className="sf-dump";const t=this.expandedDepth;return this.expandedDepth=0,e.innerHTML=this.toHtml(d,0)+` -`,this.expandedDepth=t,e}toHtml(d,e){if(d===null)return"null";switch(typeof d){case"boolean":return""+d+"";case"number":return""+this.esc(String(d))+"";case"string":return'"'+this.esc(d)+'"';case"object":return this.containerToHtml(d,e);default:return this.esc(String(d))}}containerToHtml(d,e){const t=Array.isArray(d),a=!t&&d._vd,R=!t&&d._cut||0,A=t?null:Object.keys(d),I=!t&&(a||R)?A.filter(b=>b!=="_vd"&&b!=="_cut"):A,y=(t?d.length:I.length)+R;return a?this.objectToHtml(d,I,a,R,y,e):this.arrayToHtml(d,t,I,R,y,e)}arrayToHtml(d,e,t,a,R,A){if(R===0)return"[]";const I=A [";if(C+=""+(I?"\u25BC":"\u25B6")+"",C+=' ',C+=this.arrayPreview(d,e,t,a)+" ]",I)C+="",C+=this.arrayChildren(d,e,t,a,A),C+="";else{const y=++N;W.set(y,{v:d,arr:e,k:t,c:a,d:A,r:this,ed:this.expandedDepth}),C+=""}return C+=']',C}arrayPreview(d,e,t,a){const R=e?d.length:t.length,A=Math.min(R,8),I=[];for(let y=0;yA||a>0)&&(C+=", \u2026"),C}arrayChildren(d,e,t,a,R){const A=e?d.length:t.length;let I="";for(let C=0;C0&&(I+=` -`),e?(I+=""+C+" => ",I+=this.toHtml(d[C],R+1)):(I+='"'+this.esc(t[C])+'" => ',I+=this.toHtml(d[t[C]],R+1));return a>0&&(I+=` -\u2026`+a),I}objectToHtml(d,e,t,a,R,A){const I=t[1]||0,C=t[2]||null,y=t[3]||null,b=t[0]===5;if(R===0&&!I)return(C?this.esc(C)+" ":"")+"{}";const S=A {":(C&&(L+=""+this.esc(C)+" "),L+="{",I&&(g="#"+I+" ")),R===0)return L+g+"}";L+=""+g+""+(S?"\u25BC":"\u25B6")+"",L+=' ';const O=Math.min(e.length,8),o=[];for(let l=0;lO||a>0)&&(u+=", \u2026"),L+=u+" }",S)L+="",L+=this.objectChildren(d,e,y,a,A),L+="";else{const l=++N;W.set(l,{v:d,obj:!0,k:e,p:y,c:a,d:A,r:this,ed:this.expandedDepth}),L+=""}return L+='}',L}objectChildren(d,e,t,a,R){let A="";for(let I=0;I0&&(A+=` -`);const C=t?t[I]:null,y=this.esc(e[I]);C?C==="+"?A+='+"'+y+'": ':C==="~"?A+=""+y+": ":C==="*"?A+='#'+y+": ":A+='-'+y+": ":A+='+'+y+": ",A+=this.toHtml(d[e[I]],R+1)}return a>0&&(A+=` -\u2026`+a),A}previewValue(d){return d===null?"null":typeof d=="string"?'"'+this.esc(d.length>40?d.substring(0,40)+"\u2026":d)+'"':typeof d=="boolean"||typeof d=="number"?String(d):typeof d=="object"?d._vd?(d._vd[2]||"")+" {\u2026}":Array.isArray(d)?"[\u2026]":"{\u2026}":"\u2026"}esc(d){return String(d).replace(h,e=>m[e])}}PhpDebugBar.Widgets.VarDumpRenderer=k;function c(F){const d=+F.dataset.lazy;delete F.dataset.lazy;const e=W.get(d);if(!e)return;W.delete(d);const t=e.r,a=t.expandedDepth;t.expandedDepth=e.ed,e.obj?F.innerHTML=t.objectChildren(e.v,e.k,e.p,e.c,e.d):F.innerHTML=t.arrayChildren(e.v,e.arr,e.k,e.c,e.d),t.expandedDepth=a}function B(F,d){const e=F.previousElementSibling,t=F.nextElementSibling;e&&e.classList.toggle("sf-dump-hidden",d),t&&t.classList.toggle("sf-dump-hidden",!d)}document.addEventListener("click",function(F){var R,A;const d=F.target.closest("a.sf-dump-toggle")||((R=F.target.closest(".sf-dump-preview"))==null?void 0:R.previousElementSibling);if(!d)return;const e=d.closest("pre.sf-dump");if(!e||e.id)return;const t=(A=d.nextElementSibling)==null?void 0:A.nextElementSibling;if(!t||t.tagName!=="SAMP")return;F.preventDefault();const a=t.classList.contains("sf-dump-compact");if(a&&t.dataset.lazy&&c(t),F.ctrlKey||F.metaKey)if(a){let I;for(;(I=t.querySelectorAll("[data-lazy]")).length;)I.forEach(c);t.querySelectorAll("samp.sf-dump-compact").forEach(function(C){var b;C.classList.replace("sf-dump-compact","sf-dump-expanded");const y=(b=C.previousElementSibling)==null?void 0:b.previousElementSibling;y&&y.classList.contains("sf-dump-toggle")&&(y.lastElementChild.textContent="\u25BC"),B(C,!0)})}else t.querySelectorAll("samp.sf-dump-expanded").forEach(function(I){var y;I.classList.replace("sf-dump-expanded","sf-dump-compact");const C=(y=I.previousElementSibling)==null?void 0:y.previousElementSibling;C&&C.classList.contains("sf-dump-toggle")&&(C.lastElementChild.textContent="\u25B6"),B(I,!1)});t.classList.toggle("sf-dump-compact",!a),t.classList.toggle("sf-dump-expanded",a),d.lastElementChild.textContent=a?"\u25BC":"\u25B6",B(t,a)});class V extends PhpDebugBar.Widgets.KVListWidget{get className(){return s("kvlist jsonvarlist")}itemRenderer(d,e,t,a){const R=document.createElement("span");R.setAttribute("title",t),R.textContent=t,d.appendChild(R);const A=a&&a.value!==void 0?a.value:a;PhpDebugBar.Widgets.renderValueInto(e,A),a&&a.xdebug_link&&e.appendChild(PhpDebugBar.Widgets.editorLink(a.xdebug_link))}}PhpDebugBar.Widgets.JsonVariableListWidget=V})();})(); +`),r+this.indentation.getIndent()},y.prototype.previousToken=function(){return this.tokens[this.index-1]||{type:null,value:null}},y.prototype.formatCase=function(r){return this.cfg.reservedWordCase==="upper"?r.toUpperCase():this.cfg.reservedWordCase==="lower"?r.toLowerCase():r},y})();o.default=P}),C=c(o=>{"use strict";var u=o&&o.__importDefault||function(_){return _&&_.__esModule?_:{default:_}};o.__esModule=!0;var l=u(e()),m=u(O()),w=(function(){function _(i){this.cfg=i}return _.prototype.format=function(i){return new m.default(this.cfg,this.tokenizer(),this.tokenOverride).format(i)},_.prototype.tokenize=function(i){return this.tokenizer().tokenize(i)},_.prototype.tokenizer=function(){return new l.default(this.getTokenizerConfig())},_})();o.default=w}),A=c(o=>{"use strict";var u=o&&o.__extends||(function(){var y=function(r,p){return y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,K){x.__proto__=K}||function(x,K){for(var f in K)Object.prototype.hasOwnProperty.call(K,f)&&(x[f]=K[f])},y(r,p)};return function(r,p){if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");y(r,p);function x(){this.constructor=r}r.prototype=p===null?Object.create(p):(x.prototype=p.prototype,new x)}})(),l=o&&o.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};o.__esModule=!0;var m=l(C()),w=(function(y){u(r,y);function r(){return y!==null&&y.apply(this,arguments)||this}return r.prototype.getTokenizerConfig=function(){return{reservedWords:_,reservedTopLevelWords:i,reservedNewlineWords:P,reservedTopLevelWordsNoIndent:M,stringTypes:['""',"''","``","[]"],openParens:["("],closeParens:[")"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:[":"],lineCommentTypes:["--"],specialWordChars:["#","@"]}},r})(m.default);o.default=w;var _=["ABS","ACTIVATE","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","ANY","ARE","ARRAY","AS","ASC","ASENSITIVE","ASSOCIATE","ASUTIME","ASYMMETRIC","AT","ATOMIC","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","AVG","BEFORE","BEGIN","BETWEEN","BIGINT","BINARY","BLOB","BOOLEAN","BOTH","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CCSID","CEIL","CEILING","CHAR","CHARACTER","CHARACTER_LENGTH","CHAR_LENGTH","CHECK","CLOB","CLONE","CLOSE","CLUSTER","COALESCE","COLLATE","COLLECT","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","CONVERT","CORR","CORRESPONDING","COUNT","COUNT_BIG","COVAR_POP","COVAR_SAMP","CREATE","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DATE","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DEREF","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DOUBLE","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELEMENT","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPTION","EXCLUDING","EXCLUSIVE","EXEC","EXECUTE","EXISTS","EXIT","EXP","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FILTER","FINAL","FIRST","FLOAT","FLOOR","FOR","FOREIGN","FREE","FULL","FUNCTION","FUSION","GENERAL","GENERATED","GET","GLOBAL","GOTO","GRANT","GRAPHIC","GROUP","GROUPING","HANDLER","HASH","HASHED_VALUE","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INT","INTEGER","INTEGRITY","INTERSECTION","INTERVAL","INTO","IS","ISOBID","ISOLATION","ITERATE","JAR","JAVA","KEEP","KEY","LABEL","LANGUAGE","LARGE","LATERAL","LC_CTYPE","LEADING","LEAVE","LEFT","LIKE","LINKTYPE","LN","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LONG","LOOP","LOWER","MAINTAINED","MATCH","MATERIALIZED","MAX","MAXVALUE","MEMBER","MERGE","METHOD","MICROSECOND","MICROSECONDS","MIN","MINUTE","MINUTES","MINVALUE","MOD","MODE","MODIFIES","MODULE","MONTH","MONTHS","MULTISET","NAN","NATIONAL","NATURAL","NCHAR","NCLOB","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZE","NORMALIZED","NOT","NULL","NULLIF","NULLS","NUMERIC","NUMPARTS","OBID","OCTET_LENGTH","OF","OFFSET","OLD","OLD_TABLE","ON","ONLY","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","ORDER","OUT","OUTER","OVER","OVERLAPS","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","PIECESIZE","PLAN","POSITION","POWER","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","REAL","RECOVERY","RECURSIVE","REF","REFERENCES","REFERENCING","REFRESH","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROLLUP","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCOPE","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SIGNAL","SIMILAR","SIMPLE","SMALLINT","SNAN","SOME","SOURCE","SPECIFIC","SPECIFICTYPE","SQL","SQLEXCEPTION","SQLID","SQLSTATE","SQLWARNING","SQRT","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STDDEV_POP","STDDEV_SAMP","STOGROUP","STORES","STYLE","SUBMULTISET","SUBSTRING","SUM","SUMMARY","SYMMETRIC","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","TABLESPACE","THEN","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSACTION","TRANSLATE","TRANSLATION","TREAT","TRIGGER","TRIM","TRUE","TRUNCATE","TYPE","UESCAPE","UNDO","UNIQUE","UNKNOWN","UNNEST","UNTIL","UPPER","USAGE","USER","USING","VALIDPROC","VALUE","VARCHAR","VARIABLE","VARIANT","VARYING","VAR_POP","VAR_SAMP","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHILE","WIDTH_BUCKET","WINDOW","WITH","WITHIN","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],i=["ADD","AFTER","ALTER COLUMN","ALTER TABLE","DELETE FROM","EXCEPT","FETCH FIRST","FROM","GROUP BY","GO","HAVING","INSERT INTO","INTERSECT","LIMIT","ORDER BY","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UPDATE","VALUES","WHERE"],M=["INTERSECT","INTERSECT ALL","MINUS","UNION","UNION ALL"],P=["AND","CROSS JOIN","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN"]}),L=c(o=>{"use strict";var u=o&&o.__extends||(function(){var y=function(r,p){return y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,K){x.__proto__=K}||function(x,K){for(var f in K)Object.prototype.hasOwnProperty.call(K,f)&&(x[f]=K[f])},y(r,p)};return function(r,p){if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");y(r,p);function x(){this.constructor=r}r.prototype=p===null?Object.create(p):(x.prototype=p.prototype,new x)}})(),l=o&&o.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};o.__esModule=!0;var m=l(C()),w=(function(y){u(r,y);function r(){return y!==null&&y.apply(this,arguments)||this}return r.prototype.getTokenizerConfig=function(){return{reservedWords:_,reservedTopLevelWords:i,reservedNewlineWords:P,reservedTopLevelWordsNoIndent:M,stringTypes:['""',"''","``"],openParens:["(","[","{"],closeParens:[")","]","}"],namedPlaceholderTypes:["$"],lineCommentTypes:["#","--"],specialWordChars:[]}},r})(m.default);o.default=w;var _=["ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","CONNECT","CONTINUE","CORRELATE","COVER","CREATE","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FIRST","FLATTEN","FOR","FORCE","FROM","FUNCTION","GRANT","GROUP","GSI","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LAST","LEFT","LET","LETTING","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MISSING","NAMESPACE","NEST","NOT","NULL","NUMBER","OBJECT","OFFSET","ON","OPTION","OR","ORDER","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROCEDURE","PUBLIC","RAW","REALM","REDUCE","RENAME","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","SATISFIES","SCHEMA","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TO","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WITH","WITHIN","WORK","XOR"],i=["DELETE FROM","EXCEPT ALL","EXCEPT","EXPLAIN DELETE FROM","EXPLAIN UPDATE","EXPLAIN UPSERT","FROM","GROUP BY","HAVING","INFER","INSERT INTO","LET","LIMIT","MERGE","NEST","ORDER BY","PREPARE","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UNNEST","UPDATE","UPSERT","USE KEYS","VALUES","WHERE"],M=["INTERSECT","INTERSECT ALL","MINUS","UNION","UNION ALL"],P=["AND","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","XOR"]}),S=c(o=>{"use strict";var u=o&&o.__extends||(function(){var r=function(p,x){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(K,f){K.__proto__=f}||function(K,f){for(var B in f)Object.prototype.hasOwnProperty.call(f,B)&&(K[B]=f[B])},r(p,x)};return function(p,x){if(typeof x!="function"&&x!==null)throw new TypeError("Class extends value "+String(x)+" is not a constructor or null");r(p,x);function K(){this.constructor=p}p.prototype=x===null?Object.create(x):(K.prototype=x.prototype,new K)}})(),l=o&&o.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};o.__esModule=!0;var m=l(C()),w=d(),_=(function(r){u(p,r);function p(){var x=r!==null&&r.apply(this,arguments)||this;return x.tokenOverride=function(K,f){if(K.type===w.TokenTypes.RESERVED_TOP_LEVEL&&f.value&&K.value.toUpperCase()==="SET"&&f.value.toUpperCase()==="BY")return K.type=w.TokenTypes.RESERVED,K},x}return p.prototype.getTokenizerConfig=function(){return{reservedWords:i,reservedTopLevelWords:M,reservedNewlineWords:y,reservedTopLevelWordsNoIndent:P,stringTypes:['""',"N''","''","``"],openParens:["(","CASE"],closeParens:[")","END"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:[":"],lineCommentTypes:["--"],specialWordChars:["_","$","#",".","@"]}},p})(m.default);o.default=_;var i=["A","ACCESSIBLE","AGENT","AGGREGATE","ALL","ALTER","ANY","ARRAY","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BETWEEN","BFILE_BASE","BINARY_INTEGER","BINARY","BLOB_BASE","BLOCK","BODY","BOOLEAN","BOTH","BOUND","BREADTH","BULK","BY","BYTE","C","CALL","CALLING","CASCADE","CASE","CHAR_BASE","CHAR","CHARACTER","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOB_BASE","CLONE","CLOSE","CLUSTER","CLUSTERS","COALESCE","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONTINUE","CONVERT","COUNT","CRASH","CREATE","CREDENTIAL","CURRENT","CURRVAL","CURSOR","CUSTOMDATUM","DANGLING","DATA","DATE_BASE","DATE","DAY","DECIMAL","DEFAULT","DEFINE","DELETE","DEPTH","DESC","DETERMINISTIC","DIRECTORY","DISTINCT","DO","DOUBLE","DROP","DURATION","ELEMENT","ELSIF","EMPTY","END","ESCAPE","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTENDS","EXTERNAL","EXTRACT","FALSE","FETCH","FINAL","FIRST","FIXED","FLOAT","FOR","FORALL","FORCE","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSTANTIABLE","INT","INTEGER","INTERFACE","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMITED","LOCAL","LOCK","LONG","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUTE","MLSLABEL","MOD","MODE","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NATURAL","NATURALN","NCHAR","NEW","NEXTVAL","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","NULLIF","NUMBER_BASE","NUMBER","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","OLD","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","ORACLE","ORADATA","ORDER","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERLAPS","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARENT","PARTITION","PASCAL","PCTFREE","PIPE","PIPELINED","PLS_INTEGER","PLUGGABLE","POSITIVE","POSITIVEN","PRAGMA","PRECISION","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","RAW","READ","REAL","RECORD","REF","REFERENCE","RELEASE","RELIES_ON","REM","REMAINDER","RENAME","RESOURCE","RESULT_CACHE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","ROWID","ROWNUM","ROWTYPE","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SEARCH","SECOND","SEGMENT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SHARE","SHORT","SIZE_T","SIZE","SMALLINT","SOME","SPACE","SPARSE","SQL","SQLCODE","SQLDATA","SQLERRM","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUCCESSFUL","SUM","SYNONYM","SYSDATE","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMESTAMP","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSACTION","TRANSACTIONAL","TRIGGER","TRUE","TRUSTED","TYPE","UB1","UB2","UB4","UID","UNDER","UNIQUE","UNPLUG","UNSIGNED","UNTRUSTED","USE","USER","USING","VALIDATE","VALIST","VALUE","VARCHAR","VARCHAR2","VARIABLE","VARIANCE","VARRAY","VARYING","VIEW","VIEWS","VOID","WHENEVER","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],M=["ADD","ALTER COLUMN","ALTER TABLE","BEGIN","CONNECT BY","DECLARE","DELETE FROM","DELETE","END","EXCEPT","EXCEPTION","FETCH FIRST","FROM","GROUP BY","HAVING","INSERT INTO","INSERT","LIMIT","LOOP","MODIFY","ORDER BY","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","START WITH","UPDATE","VALUES","WHERE"],P=["INTERSECT","INTERSECT ALL","MINUS","UNION","UNION ALL"],y=["AND","CROSS APPLY","CROSS JOIN","ELSE","END","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER APPLY","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","WHEN","XOR"]}),N=c(o=>{"use strict";var u=o&&o.__extends||(function(){var y=function(r,p){return y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,K){x.__proto__=K}||function(x,K){for(var f in K)Object.prototype.hasOwnProperty.call(K,f)&&(x[f]=K[f])},y(r,p)};return function(r,p){if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");y(r,p);function x(){this.constructor=r}r.prototype=p===null?Object.create(p):(x.prototype=p.prototype,new x)}})(),l=o&&o.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};o.__esModule=!0;var m=l(C()),w=(function(y){u(r,y);function r(){return y!==null&&y.apply(this,arguments)||this}return r.prototype.getTokenizerConfig=function(){return{reservedWords:_,reservedTopLevelWords:i,reservedNewlineWords:P,reservedTopLevelWordsNoIndent:M,stringTypes:['""',"N''","''","``","[]","E''"],openParens:["(","CASE"],closeParens:[")","END"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:["@",":","%","$"],lineCommentTypes:["#","--"],specialWordChars:[]}},r})(m.default);o.default=w;var _=["ACCESSIBLE","ACTION","AGAINST","AGGREGATE","ALGORITHM","ALL","ALTER","ANALYSE","ANALYZE","AS","ASC","AUTOCOMMIT","AUTO_INCREMENT","BACKUP","BEGIN","BETWEEN","BINLOG","BOTH","CASCADE","CASE","CHANGE","CHANGED","CHARACTER SET","CHARSET","CHECK","CHECKSUM","COLLATE","COLLATION","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPRESSED","CONCURRENT","CONSTRAINT","CONTAINS","CONVERT","COUNT","CREATE","CROSS","CURRENT_TIMESTAMP","DATABASE","DATABASES","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DAY","DEFAULT","DEFINER","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO","DROP","DUMPFILE","DUPLICATE","DYNAMIC","ELSE","ENCLOSED","END","ENGINE","ENGINES","ENGINE_TYPE","ESCAPE","ESCAPED","EVENTS","EXEC","EXECUTE","EXISTS","EXPLAIN","EXTENDED","FAST","FETCH","FIELDS","FILE","FIRST","FIXED","FLUSH","FOR","FORCE","FOREIGN","FULL","FULLTEXT","FUNCTION","GLOBAL","GRANTS","GROUP_CONCAT","HEAP","HIGH_PRIORITY","HOSTS","HOUR","HOUR_MINUTE","HOUR_SECOND","IDENTIFIED","IF","IFNULL","IGNORE","IN","INDEX","INDEXES","INFILE","INSERT","INSERT_ID","INSERT_METHOD","INTERVAL","INTO","INVOKER","IS","ISOLATION","KEY","KEYS","KILL","LAST_INSERT_ID","LEADING","LEVEL","LIKE","LINEAR","LINES","LOAD","LOCAL","LOCK","LOCKS","LOGS","LOW_PRIORITY","MARIA","MASTER","MASTER_CONNECT_RETRY","MASTER_HOST","MASTER_LOG_FILE","MATCH","MAX_CONNECTIONS_PER_HOUR","MAX_QUERIES_PER_HOUR","MAX_ROWS","MAX_UPDATES_PER_HOUR","MAX_USER_CONNECTIONS","MEDIUM","MERGE","MINUTE","MINUTE_SECOND","MIN_ROWS","MODE","MONTH","MRG_MYISAM","MYISAM","NAMES","NATURAL","NOT","NOW()","NULL","OFFSET","ON DELETE","ON UPDATE","ON","ONLY","OPEN","OPTIMIZE","OPTION","OPTIONALLY","OUTFILE","PACK_KEYS","PAGE","PARTIAL","PARTITION","PARTITIONS","PASSWORD","PRIMARY","PRIVILEGES","PROCEDURE","PROCESS","PROCESSLIST","PURGE","QUICK","RAID0","RAID_CHUNKS","RAID_CHUNKSIZE","RAID_TYPE","RANGE","READ","READ_ONLY","READ_WRITE","REFERENCES","REGEXP","RELOAD","RENAME","REPAIR","REPEATABLE","REPLACE","REPLICATION","RESET","RESTORE","RESTRICT","RETURN","RETURNS","REVOKE","RLIKE","ROLLBACK","ROW","ROWS","ROW_FORMAT","SECOND","SECURITY","SEPARATOR","SERIALIZABLE","SESSION","SHARE","SHOW","SHUTDOWN","SLAVE","SONAME","SOUNDS","SQL","SQL_AUTO_IS_NULL","SQL_BIG_RESULT","SQL_BIG_SELECTS","SQL_BIG_TABLES","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQL_LOG_BIN","SQL_LOG_OFF","SQL_LOG_UPDATE","SQL_LOW_PRIORITY_UPDATES","SQL_MAX_JOIN_SIZE","SQL_NO_CACHE","SQL_QUOTE_SHOW_CREATE","SQL_SAFE_UPDATES","SQL_SELECT_LIMIT","SQL_SLAVE_SKIP_COUNTER","SQL_SMALL_RESULT","SQL_WARNINGS","START","STARTING","STATUS","STOP","STORAGE","STRAIGHT_JOIN","STRING","STRIPED","SUPER","TABLE","TABLES","TEMPORARY","TERMINATED","THEN","TO","TRAILING","TRANSACTIONAL","TRIGGER","TRUE","TRUNCATE","TYPE","TYPES","UNCOMMITTED","UNIQUE","UNLOCK","UNSIGNED","USAGE","USE","USING","VARIABLES","VIEW","WHEN","WITH","WORK","WRITE","YEAR_MONTH"],i=["ADD","AFTER","ALTER COLUMN","ALTER TABLE","CREATE OR REPLACE","DECLARE","DELETE FROM","EXCEPT","FETCH FIRST","FROM","GO","GRANT","GROUP BY","HAVING","INSERT INTO","INSERT","LIMIT","MODIFY","ORDER BY","RETURNING","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UPDATE","VALUES","WHERE"],M=["INTERSECT ALL","INTERSECT","MINUS","UNION ALL","UNION"],P=["AND","CROSS APPLY","CROSS JOIN","ELSE","INNER JOIN","FULL JOIN","FULL OUTER JOIN","LEFT JOIN","LEFT OUTER JOIN","NATURAL JOIN","OR","OUTER APPLY","OUTER JOIN","RENAME","RIGHT JOIN","RIGHT OUTER JOIN","JOIN","WHEN","XOR"]}),E=c(o=>{"use strict";var u=o&&o.__importDefault||function(P){return P&&P.__esModule?P:{default:P}};o.__esModule=!0,o.tokenize=o.format=void 0;var l=u(A()),m=u(L()),w=u(S()),_=u(N()),i=function(P,y){switch(y===void 0&&(y={}),y.language){case"db2":return new l.default(y).format(P);case"n1ql":return new m.default(y).format(P);case"pl/sql":return new w.default(y).format(P);default:return new _.default(y).format(P)}};o.format=i;var M=function(P,y){return y===void 0&&(y={}),new _.default(y).tokenize(P)};o.tokenize=M,o.default={format:o.format,tokenize:o.tokenize}}),I=V(E(),1);globalThis.phpdebugbar_sqlformatter=I.default.default})();window.PhpDebugBar=window.PhpDebugBar||{};(function(){const s=window.PhpDebugBar;s.utils=s.utils||{};const W=s.utils.getDictValue=function(d,e,t){if(d==null)return t;const a=String(e).split(".");let T=d;for(const R of a)if(T==null||(T=T[R],T===void 0))return t;return T};s.utils.csscls=function(d,e){const t=String(d).trim();return t.includes(" ")?t.split(/\s+/).filter(Boolean).map(a=>s.utils.csscls(a,e)).join(" "):t.startsWith(".")?`.${e}${t.slice(1)}`:e+t},s.utils.makecsscls=function(d){return e=>s.utils.csscls(e,d)};const b=s.utils.makecsscls("phpdebugbar-");s.utils.sfDump=function(d){typeof window.Sfdump=="function"&&d.querySelectorAll("pre.sf-dump[id]").forEach(e=>{window.Sfdump(e.id,{maxDepth:0})})},s.utils.schedule=function(d){return window.requestIdleCallback?window.requestIdleCallback(d,{timeout:1e3}):setTimeout(d,0)};class g{get tagName(){return"div"}constructor(e={}){this._attributes=pt({},this.defaults),this._boundAttributes={},this.el=document.createElement(this.tagName),this.className&&this.el.classList.add(...this.className.split(" ")),this.initialize(e),this.render()}initialize(e){this.set(e)}render(){}set(e,t){const a=typeof e=="string"?{[e]:t}:e,T=[];for(const R in a)if(t=a[R],this._attributes[R]=t,this._boundAttributes[R])for(const O of this._boundAttributes[R])T.includes(O)||(O.call(this,t),T.push(O))}has(e){return this._attributes[e]!==void 0&&this._attributes[e]!==null}get(e){return this._attributes[e]}bindAttr(e,t){if(Array.isArray(e)){for(const a of e)this.bindAttr(a,t);return}if(this._boundAttributes[e]||(this._boundAttributes[e]=[]),t instanceof HTMLElement){const a=t;t=T=>a.textContent=T||""}this._boundAttributes[e].push(t),this.has(e)&&t.call(this,this._attributes[e])}static extend(e){const t=this;class a extends t{}for(const T in e){const R=Object.getOwnPropertyDescriptor(e,T);R&&Object.defineProperty(a.prototype,T,R)}return Object.assign(a,t),a.__super__=t.prototype,a}}g.prototype.defaults={},s.Widget=g;class h extends g{get className(){return b("panel")}render(){this.active=!1,this.tab=document.createElement("a"),this.tab.classList.add(b("tab")),this.icon=document.createElement("i"),this.tab.append(this.icon),this.bindAttr("icon",function(t){t?this.icon.className=`phpdebugbar-icon phpdebugbar-icon-${t}`:this.icon.className=""});const e=document.createElement("span");e.classList.add(b("text")),this.tab.append(e),this.bindAttr("title",e),this.badge=document.createElement("span"),this.badge.classList.add(b("badge")),this.tab.append(this.badge),this.bindAttr("badge",function(t){t!==null?(this.badge.textContent=t,this.badge.classList.add(b("visible"))):this.badge.classList.remove(b("visible"))}),this.summaryFloat=document.createElement("div"),this.summaryFloat.classList.add(b("panel-summary-float")),this.summaryFloat.hidden=!0,this.summaryBtn=document.createElement("button"),this.summaryBtn.type="button",this.summaryBtn.classList.add(b("panel-summary-btn")),this.summaryBtn.setAttribute("title","Show summary"),this.summaryBtn.addEventListener("click",t=>{t.stopPropagation(),this._toggleSummary()}),this.summaryFloat.append(this.summaryBtn),this.summaryPopover=document.createElement("div"),this.summaryPopover.classList.add(b("panel-summary-popover")),this.summaryPopover.hidden=!0,this.summaryPopover.addEventListener("click",t=>{t.stopPropagation()}),this.summaryContent=document.createElement("div"),this.summaryContent.classList.add(b("panel-summary-content")),this.summaryPopover.append(this.summaryContent),this.summaryCopyBtn=document.createElement("button"),this.summaryCopyBtn.type="button",this.summaryCopyBtn.classList.add(b("panel-summary-copy")),this.summaryCopyBtn.setAttribute("title","Copy to clipboard"),this.summaryCopyLabel=document.createElement("span"),this.summaryCopyLabel.textContent="Copy",this.summaryCopyBtn.append(this.summaryCopyLabel),this.summaryCopyBtn.addEventListener("click",()=>{var T;const t=this._summaryText||"";if(!t)return;const a=()=>{const R=this.summaryCopyLabel.textContent;this.summaryCopyBtn.classList.add(b("panel-summary-copied")),this.summaryCopyLabel.textContent="Copied!",setTimeout(()=>{this.summaryCopyLabel.textContent=R,this.summaryCopyBtn.classList.remove(b("panel-summary-copied"))},1500)};if((T=navigator.clipboard)!=null&&T.writeText)navigator.clipboard.writeText(t).then(a,()=>{});else{const R=document.createElement("textarea");R.value=t,R.style.position="fixed",R.style.opacity="0",document.body.append(R),R.select();try{document.execCommand("copy")&&a()}catch(O){}R.remove()}}),this.summaryPopover.append(this.summaryCopyBtn),this.summaryFloat.append(this.summaryPopover),this._closeSummaryOnDocClick=()=>{this.summaryPopover.hidden=!0,this.summaryBtn.classList.remove(b("panel-summary-btn-active"))},this._closeSummaryOnEsc=t=>{t.key==="Escape"&&this._closeSummaryOnDocClick()},this._toggleSummary=()=>{const t=this.summaryPopover.hidden;this.summaryPopover.hidden=!t,this.summaryBtn.classList.toggle(b("panel-summary-btn-active"),t),t?(document.addEventListener("click",this._closeSummaryOnDocClick),document.addEventListener("keydown",this._closeSummaryOnEsc)):(document.removeEventListener("click",this._closeSummaryOnDocClick),document.removeEventListener("keydown",this._closeSummaryOnEsc))},this.bindAttr("widget",function(t){this.el.innerHTML="",this.el.append(this.summaryFloat),this.el.append(t.el)}),this.bindAttr("summary",function(t){let a="";typeof t=="string"?a=t:t!=null&&typeof t=="object"&&(a=Object.entries(t).map(([T,R])=>{const O=R!==null&&typeof R=="object"?JSON.stringify(R):String(R);return`${T} = ${O}`}).join(` +`)),this._summaryText=a,this.summaryContent.textContent=a,this.summaryFloat.hidden=!a,!a&&!this.summaryPopover.hidden&&this._closeSummaryOnDocClick()}),this.widgetRendered=!1,this.bindAttr("data",function(t){this.has("widget")&&(this.tab.setAttribute("data-empty",Object.keys(t).length===0||t.count===0),!this.widgetRendered&&this.active&&t!=null?this.renderWidgetData():this.widgetRendered=!1)})}renderWidgetData(){const e=this.get("data"),t=this.get("widget");e==null||!t||(t.set("data",e),s.utils.schedule(()=>{s.utils.sfDump(t.el)}),this.widgetRendered=!0)}show(){const e=b("active");this.tab.classList.add(e),this.tab.hidden=!1,this.el.classList.add(e),this.el.hidden=!1,this.active=!0,this.widgetRendered||this.renderWidgetData()}hide(){const e=b("active");this.tab.classList.remove(e),this.el.classList.remove(e),this.el.hidden=!0,this.active=!1}}class k extends g{get tagName(){return"span"}get className(){return b("indicator")}render(){this.icon=document.createElement("i"),this.el.append(this.icon),this.bindAttr("icon",function(t){t?this.icon.className=`phpdebugbar-icon phpdebugbar-icon-${t}`:this.icon.className=""}),this.bindAttr("link",function(t){t?(this.el.addEventListener("click",()=>{this.get("debugbar").showTab(t)}),this.el.style.cursor="pointer"):this.el.style.cursor=""});const e=document.createElement("span");e.classList.add(b("text")),this.el.append(e),this.bindAttr(["title","data"],e),this.tooltip=document.createElement("span"),this.tooltip.classList.add(b("tooltip"),b("disabled")),this.el.append(this.tooltip),this.bindAttr("tooltip",function(t){if(t)if(Array.isArray(t)||typeof t=="object"){const a=document.createElement("dl");for(const[T,R]of Object.entries(t)){const O=document.createElement("dt");O.textContent=T,a.append(O);const C=document.createElement("dd");C.textContent=R,a.append(C)}this.tooltip.innerHTML="",this.tooltip.append(a),this.tooltip.classList.remove(b("disabled"))}else this.tooltip.textContent=t,this.tooltip.classList.remove(b("disabled"));else this.tooltip.classList.add(b("disabled"))})}}class c extends g{get tagName(){return"form"}get className(){return b("settings")}initialize(e){this.set(e);const t=this.get("debugbar");this.settings=JSON.parse(localStorage.getItem("phpdebugbar-settings"))||{};for(const a in t.options)a in this.settings&&(t.options[a]=this.settings[a]),a==="theme"?t.setTheme(t.options[a]):t.el.setAttribute(`data-${a}`,t.options[a])}clearSettings(){const e=this.get("debugbar");if(localStorage.removeItem("phpdebugbar-settings"),localStorage.removeItem("phpdebugbar-ajaxhandler-autoshow"),this.settings={},e.options=pt({},e.defaultOptions),e.ajaxHandler){const t=e.ajaxHandler.defaultAutoShow;e.ajaxHandler.setAutoShow(t),this.set("autoshow",t),e.controls.__datasets&&e.controls.__datasets.get("widget").set("autoshow",this.autoshow.checked)}this.initialize(e.options)}storeSetting(e,t){this.settings[e]=t;const a=this.get("debugbar");a.options[e]=t,e!=="theme"&&a.el.setAttribute(`data-${e}`,t),localStorage.setItem("phpdebugbar-settings",JSON.stringify(this.settings))}render(){this.el.innerHTML="";const e=this.get("debugbar"),t=this,a={},T=document.createElement("select");T.innerHTML='',T.value=e.options.theme,T.addEventListener("change",function(){t.storeSetting("theme",this.value),e.setTheme(this.value)}),a.Theme=T;const R=document.createElement("select");R.innerHTML='',R.value=e.options.openBtnPosition,R.addEventListener("change",function(){t.storeSetting("openBtnPosition",this.value),this.value==="topLeft"||this.value==="topRight"?t.storeSetting("toolbarPosition","top"):t.storeSetting("toolbarPosition","bottom"),t.get("debugbar").recomputeBottomOffset()}),a["Toolbar Position"]=R,this.hideEmptyTabs=document.createElement("input"),this.hideEmptyTabs.type="checkbox",this.hideEmptyTabs.checked=e.options.hideEmptyTabs,this.hideEmptyTabs.addEventListener("click",function(){t.storeSetting("hideEmptyTabs",this.checked),t.get("debugbar").respCSSSize=0,t.get("debugbar").resize()});const O=document.createElement("label");O.append(this.hideEmptyTabs,"Hide empty tabs until they have data"),a["Hide Empty Tabs"]=O;const C=document.createElement("input");C.type="checkbox",C.checked=e.options.showFullscreenBtn,C.addEventListener("click",function(){t.storeSetting("showFullscreenBtn",this.checked),e.toggleFullscreenBtn(this.checked)});const A=document.createElement("label");A.append(C,"Show fullscreen button in toolbar"),a.Fullscreen=A,this.autoshow=document.createElement("input"),this.autoshow.type="checkbox",this.autoshow.checked=e.ajaxHandler&&e.ajaxHandler.autoShow,this.autoshow.addEventListener("click",function(){e.ajaxHandler&&e.ajaxHandler.setAutoShow(this.checked),e.controls.__datasets&&e.controls.__datasets.get("widget").set("autoshow",this.checked),e.datasetSwitcherWidget&&e.datasetSwitcherWidget.set("autoshow",this.checked)}),this.bindAttr("autoshow",function(){this.autoshow.checked=this.get("autoshow");const N=this.autoshow.closest(`.${b("form-row")}`);N&&(N.style.display="")});const L=document.createElement("label");L.append(this.autoshow,"Automatically show new incoming Ajax requests"),a.Autoshow=L;const S=document.createElement("button");S.textContent="Reset settings",S.addEventListener("click",N=>{N.preventDefault(),t.clearSettings(),t.render()}),a["Reset to defaults"]=S;for(const[N,E]of Object.entries(a)){const I=document.createElement("div");I.classList.add(b("form-row"));const o=document.createElement("div");o.classList.add(b("form-label")),o.textContent=N,I.append(o);const u=document.createElement("div");u.classList.add(b("form-input")),E instanceof HTMLElement?u.append(E):u.innerHTML=E,I.append(u),t.el.append(I)}e.ajaxHandler||(this.autoshow.closest(`.${b("form-row")}`).style.display="none")}}class U{constructor(e){this.debugbar=e}format(e,t,a,T){if(a=a?` ${a}`:"",T=T||Object.keys(this.debugbar.datasets).length,t.__meta===void 0)return`#${T}${a}`;const R=t.__meta.uri.split("/");let O=R.pop();O||(O=`${R.pop()||""}/`),R.length&&!Number.isNaN(O)&&(O=`${R.pop()}/${O}`);const C=150;return O.length>C&&(O=`${O.substr(0,C)}...`),`#${T} ${O}${a} (${t.__meta.datetime.split(" ")[1]})`}}s.DatasetTitleFormater=U;class V extends g{get className(){return"phpdebugbar"}initialize(e={}){this.options=Object.assign({bodyBottomInset:!0,theme:"auto",toolbarPosition:"bottom",openBtnPosition:"bottomLeft",hideEmptyTabs:!1,showFullscreenBtn:!1,spaNavigationEvents:[]},e),this.defaultOptions=pt({},this.options),this.controls={},this.dataMap={},this.datasets={},this.firstTabName=null,this.activePanelName=null,this.activeDatasetId=null,this.pendingDataSetId=null,this.datesetTitleFormater=new U(this);const t=window.getComputedStyle(document.body);this.bodyPaddingBottomHeight=Number.parseInt(t.paddingBottom),this.bodyPaddingTopHeight=Number.parseInt(t.paddingTop);try{this.isIframe=window.self!==window.top&&window.top.PhpDebugBar&&window.top.PhpDebugBar}catch(a){this.isIframe=!1}this.registerResizeHandler(),this.registerMediaListener(),this.registerNavigationListener(),this.settingsControl=new s.DebugBar.Tab({icon:"adjustments-horizontal",title:"Settings",widget:new c({debugbar:this})})}registerResizeHandler(){if(this.resize.bind===void 0||this.isIframe)return;const e=this.resize.bind(this);this.respCSSSize=0,window.addEventListener("resize",e),setTimeout(e,20)}registerMediaListener(){window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.options.theme==="auto"&&this.setTheme("auto")})}registerNavigationListener(){const e=this.options.spaNavigationEvents;if(!(!e||!e.length))for(const t of e)document.addEventListener(t,()=>{this.recalculateBodyPadding()})}recalculateBodyPadding(){if(!this.options.bodyBottomInset)return;document.body.style.paddingTop="",document.body.style.paddingBottom="";const e=window.getComputedStyle(document.body);this.bodyPaddingTopHeight=Number.parseFloat(e.paddingTop),this.bodyPaddingBottomHeight=Number.parseFloat(e.paddingBottom),this.recomputeBottomOffset()}setTheme(e){this.options.theme=e,e==="auto"&&(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),this.el.setAttribute("data-theme",e),this.openHandler&&this.openHandler.el.setAttribute("data-theme",e),this.datasetSwitcherWidget&&this.datasetSwitcherWidget.panel&&this.datasetSwitcherWidget.panel.setAttribute("data-theme",e)}resize(){if(this.isIframe)return;let e=this.respCSSSize;if(this.respCSSSize===0){const O=Array.from(this.header.children).filter(C=>C.offsetParent!==null);for(const C of O){const A=window.getComputedStyle(C);e+=C.offsetWidth+Number.parseFloat(A.marginLeft)+Number.parseFloat(A.marginRight)}}const t=this.header.offsetWidth,a=b("mini-design"),T=this.header.classList.contains(a);t<=e&&!T?(this.respCSSSize=e,this.header.classList.add(a)):e{e.close()}),this.headerLeft=document.createElement("div"),this.headerLeft.classList.add(b("header-left")),this.header.append(this.headerLeft),this.headerRight=document.createElement("div"),this.headerRight.classList.add(b("header-right")),this.header.append(this.headerRight),this.body=document.createElement("div"),this.body.classList.add(b("body")),this.el.append(this.body),this.recomputeBottomOffset(),this.resizeHandleBottom=document.createElement("div"),this.resizeHandleBottom.classList.add(b("resize-handle")),this.resizeHandleBottom.classList.add(b("resize-handle-bottom")),this.el.append(this.resizeHandleBottom);let t,a;const T=C=>{const A=a+(t-C.pageY);e.setHeight(A)},R=C=>{const A=a-(t-C.pageY);e.setHeight(A)},O=()=>{document.removeEventListener("mousemove",T),document.removeEventListener("mousemove",R),document.removeEventListener("mouseup",O),e.dragCapture.style.display="none"};this.resizeHandle.addEventListener("mousedown",C=>{a=e.body.offsetHeight,t=C.pageY,document.addEventListener("mousemove",T),document.addEventListener("mouseup",O),e.dragCapture.style.display="",C.preventDefault()}),this.resizeHandleBottom.addEventListener("mousedown",C=>{a=e.body.offsetHeight,t=C.pageY,document.addEventListener("mousemove",R),document.addEventListener("mouseup",O),e.dragCapture.style.display="",C.preventDefault()}),this.closebtn=document.createElement("a"),this.closebtn.classList.add(b("close-btn")),this.headerRight.append(this.closebtn),this.closebtn.addEventListener("click",()=>{e.close()}),this.fullscreenbtn=document.createElement("a"),this.fullscreenbtn.classList.add(b("fullscreen-btn")),this.fullscreenbtn.hidden=!this.options.showFullscreenBtn,this.headerRight.append(this.fullscreenbtn),this.fullscreenbtn.addEventListener("click",()=>{e.toggleFullscreen()}),this.minimizebtn=document.createElement("a"),this.minimizebtn.classList.add(b("minimize-btn")),this.minimizebtn.hidden=!this.isMinimized(),this.headerRight.append(this.minimizebtn),this.minimizebtn.addEventListener("click",()=>{e.minimize()}),this.maximizebtn=document.createElement("a"),this.maximizebtn.classList.add(b("maximize-btn")),this.maximizebtn.hidden=this.isMinimized(),this.headerRight.append(this.maximizebtn),this.maximizebtn.addEventListener("click",()=>{e.restore()}),this.restorebtn=document.createElement("a"),this.restorebtn.classList.add(b("restore-btn")),this.restorebtn.hidden=!0,this.el.append(this.restorebtn),this.restorebtn.addEventListener("click",()=>{e.restore()}),this.openbtn=document.createElement("a"),this.openbtn.classList.add(b("open-btn")),this.openbtn.hidden=!0,this.headerRight.append(this.openbtn),this.openbtn.addEventListener("click",()=>{e.openHandler.show((C,A)=>{e.addDataSet(A,C,"(opened)")})}),this.datasetsSelectSpan=document.createElement("span"),this.datasetsSelectSpan.classList.add(b("datasets-switcher")),this.datasetsSelectSpan.setAttribute("name","datasets-switcher"),this.datasetsSelect=document.createElement("select"),this.datasetsSelect.hidden=!0,this.datasetsSelectSpan.append(this.datasetsSelect),this.headerRight.append(this.datasetsSelectSpan),this.datasetsSelect.addEventListener("change",function(){e.showDataSet(this.value)}),this.controls.__settings=this.settingsControl,this.settingsControl.tab.classList.add(b("tab-settings")),this.settingsControl.tab.setAttribute("data-collector","__settings"),this.settingsControl.el.setAttribute("data-collector","__settings"),this.settingsControl.el.hidden=!0,this.maximizebtn.after(this.settingsControl.tab),this.settingsControl.tab.hidden=!1,this.settingsControl.tab.addEventListener("click",()=>{!this.isMinimized()&&this.activePanelName==="__settings"&&!this.isFullscreen()?this.minimize():(this.showTab("__settings"),this.settingsControl.get("widget").render())}),this.body.append(this.settingsControl.el)}setHeight(e){if(this.isFullscreen())return;const t=40,a=window.innerHeight-this.header.offsetHeight-10;e=Math.min(e,a),e=Math.max(e,t),this.body.style.height=`${e}px`,localStorage.setItem("phpdebugbar-height",e),this.recomputeBottomOffset()}restoreState(){if(this.isIframe)return;const e=localStorage.getItem("phpdebugbar-height");this.setHeight(Number.parseInt(e)||this.body.offsetHeight);const t=localStorage.getItem("phpdebugbar-open");if(t&&t==="0")this.close();else{const a=localStorage.getItem("phpdebugbar-visible");if(a&&a==="1"){const T=localStorage.getItem("phpdebugbar-tab");this.isTab(T)?this.showTab(T):this.showTab()}else this.minimize()}this.options.showFullscreenBtn&&sessionStorage.getItem("phpdebugbar-fullscreen")==="1"&&this.toggleFullscreen()}createTab(e,t,a){const T=new h({title:a||e.replace(/[_-]/g," ").charAt(0).toUpperCase()+e.slice(1),widget:t});return this.addTab(e,T)}addTab(e,t){if(this.isControl(e))throw new Error(`${e} already exists`);const a=this;return this.headerLeft.append(t.tab),t.tab.addEventListener("click",()=>{!a.isMinimized()&&a.activePanelName===e&&!a.isFullscreen()?a.minimize():(a.restore(),a.showTab(e))}),t.tab.setAttribute("data-empty",!0),t.tab.setAttribute("data-collector",e),t.el.setAttribute("data-collector",e),this.body.append(t.el),this.controls[e]=t,this.firstTabName===null&&(this.firstTabName=e),t}createIndicator(e,t,a,T){const R=new k({icon:t,tooltip:a});return this.addIndicator(e,R,T)}addIndicator(e,t,a){if(this.isControl(e))throw new Error(`${e} already exists`);return t.set("debugbar",this),a==="left"?this.headerLeft.prepend(t.el):this.headerRight.append(t.el),this.controls[e]=t,t}getControl(e){if(this.isControl(e))return this.controls[e]}isControl(e){return this.controls[e]!==void 0}isTab(e){return this.isControl(e)&&this.controls[e]instanceof h}isIndicator(e){return this.isControl(e)&&this.controls[e]instanceof k}reset(){this.minimize();for(const[e,t]of Object.entries(this.controls))this.isTab(e)&&t.tab.remove(),t.el.remove();this.controls={}}showTab(e){if(e||(this.activePanelName?e=this.activePanelName:e=this.firstTabName),!this.isTab(e))throw new Error(`Unknown tab '${e}'`);this.body.hidden=!1,this.recomputeBottomOffset();for(const[t,a]of Object.entries(this.controls))a instanceof h&&(t===e?a.show():a.hide());this.activePanelName=e,this.el.classList.remove(b("minimized")),localStorage.setItem("phpdebugbar-visible","1"),localStorage.setItem("phpdebugbar-tab",e),this.maximize()}minimize(){this.exitFullscreen();const e=b("active"),t=this.header.querySelectorAll(`:scope > div > .${e}`);for(const a of t)a.classList.remove(e);this.body.hidden=!0,this.minimizebtn.hidden=!0,this.maximizebtn.hidden=!1,this.recomputeBottomOffset(),localStorage.setItem("phpdebugbar-visible","0"),this.el.classList.add(b("minimized")),this.resize()}maximize(){this.header.hidden=!1,this.restorebtn.hidden=!0,this.body.hidden=!1,this.minimizebtn.hidden=!1,this.maximizebtn.hidden=!0,this.recomputeBottomOffset(),localStorage.setItem("phpdebugbar-visible","1"),localStorage.setItem("phpdebugbar-open","1"),this.el.classList.remove(b("minimized")),this.el.classList.remove(b("closed")),this.resize()}isMinimized(){return this.el.classList.contains(b("minimized"))}toggleFullscreen(){this.isFullscreen()?this.exitFullscreen():(this._preFullscreenHeight=this.body.offsetHeight,this.el.classList.add(b("fullscreen")),this.body.style.height="",sessionStorage.setItem("phpdebugbar-fullscreen","1"),this.recomputeBottomOffset())}exitFullscreen(){this.isFullscreen()&&(this.el.classList.remove(b("fullscreen")),this._preFullscreenHeight&&(this.body.style.height=`${this._preFullscreenHeight}px`),sessionStorage.removeItem("phpdebugbar-fullscreen"),this.recomputeBottomOffset())}isFullscreen(){return this.el.classList.contains(b("fullscreen"))}toggleFullscreenBtn(e){this.fullscreenbtn.hidden=!e,e||this.exitFullscreen()}close(){this.exitFullscreen(),this.header.hidden=!0,this.body.hidden=!0,this.restorebtn.hidden=!1,localStorage.setItem("phpdebugbar-open","0"),this.el.classList.add(b("closed")),this.recomputeBottomOffset()}isClosed(){return this.el.classList.contains(b("closed"))}restore(){const e=localStorage.getItem("phpdebugbar-tab");this.pendingDataSetId&&(this.dataChangeHandler(this.datasets[this.pendingDataSetId]),this.pendingDataSetId=null),this.isTab(e)?this.showTab(e):this.showTab()}recomputeBottomOffset(){if(this.options.bodyBottomInset){if(this.isClosed()){document.body.style.paddingBottom=this.bodyPaddingBottomHeight?`${this.bodyPaddingBottomHeight}px`:"",document.body.style.paddingTop=this.bodyPaddingTopHeight?`${this.bodyPaddingTopHeight}px`:"";return}if(this.options.toolbarPosition==="top"){const e=this.el.offsetHeight+(this.bodyPaddingTopHeight||0);document.body.style.paddingTop=`${e}px`,document.body.style.paddingBottom=this.bodyPaddingBottomHeight?`${this.bodyPaddingBottomHeight}px`:""}else{const e=this.el.offsetHeight+(this.bodyPaddingBottomHeight||0);document.body.style.paddingBottom=`${e}px`,document.body.style.paddingTop=this.bodyPaddingTopHeight?`${this.bodyPaddingTopHeight}px`:""}}}setDataMap(e){this.dataMap=e}addDataMap(e){Object.assign(this.dataMap,e)}setData(e){return this.datasets={},this.addDataSet(e)}addDataSet(e,t,a,T){if(!e||!e.__meta)return;if(this.isIframe&&window.top.PhpDebugBar&&window.top.PhpDebugBar.instance){window.top.PhpDebugBar.instance.addDataSet(e,t,`(iframe)${a||""}`,T);return}const R=Object.keys(this.datasets).length+1;t=t||R,e.__meta.nb=R,e.__meta.suffix=a,this.datasets[t]=e;const O=this.datesetTitleFormater.format(t,this.datasets[t],a,R);if(this.datasetSwitcherWidget)this.datasetSwitcherWidget.set("data",this.datasets);else{const C=document.createElement("option");C.value=t,C.textContent=O,this.datasetsSelect.append(C),this.datasetsSelect.hidden=!1}return(T===void 0||T)&&this.showDataSet(t),this.resize(),t}loadDataSet(e,t,a,T){if(!this.openHandler)throw new Error("loadDataSet() needs an open handler");const R=this;this.openHandler.load(e,O=>{R.addDataSet(O,e,t,T),R.resize(),a&&a(O)})}getDataSet(e){return this.datasets[e]}showDataSet(e){this.activeDatasetId=e,this.isClosed()?this.pendingDataSetId=e:(this.dataChangeHandler(this.datasets[e]),this.pendingDataSetId=null),this.datasetSwitcherWidget?this.datasetSwitcherWidget.set("activeId",e):this.datasetsSelect.value=e}dataChangeHandler(e){for(const[t,a]of Object.entries(this.dataMap)){const T=W(e,a[0],a[1]);if(t.includes(":")){const R=t.split(":");this.getControl(R[0]).set(R[1],T)}else this.getControl(t).set("data",T)}this.isMinimized()||this.showTab(),this.resize()}setOpenHandler(e){this.openHandler=e,this.openHandler.el.setAttribute("data-theme",this.el.getAttribute("data-theme")),this.openbtn.hidden=e==null}getOpenHandler(){return this.openHandler}enableAjaxHandlerTab(){this.datasetsSelectSpan&&(this.datasetsSelectSpan.hidden=!0),this.datasetSwitcherWidget=new s.Widgets.DatasetWidget({debugbar:this}),this.openbtn.after(this.datasetSwitcherWidget.el)}}s.DebugBar=V,V.Tab=h,V.Indicator=k;class F{constructor(e,t,a){this.debugbar=e,this.headerName=t||"phpdebugbar",this.autoShow=a===void 0?!0:a,this.defaultAutoShow=this.autoShow,localStorage.getItem("phpdebugbar-ajaxhandler-autoshow")!==null&&(this.autoShow=localStorage.getItem("phpdebugbar-ajaxhandler-autoshow")==="1"),e.controls.__settings&&e.controls.__settings.get("widget").set("autoshow",this.autoShow)}handle(e){const t=this.getHeader(e,`${this.headerName}-stack`);return t&&JSON.parse(t).forEach(T=>{this.debugbar.loadDataSet(T," (stacked)",null,!1)}),!!(this.loadFromId(e)||this.loadFromData(e))}getHeader(e,t){return e instanceof Response?e.headers.get(t):e instanceof XMLHttpRequest?e.getResponseHeader(t):null}setAutoShow(e){this.autoShow=e,localStorage.setItem("phpdebugbar-ajaxhandler-autoshow",e?"1":"0")}loadFromId(e){const t=this.extractIdFromHeaders(e);return t&&this.debugbar.openHandler?(this.debugbar.loadDataSet(t,"(ajax)",void 0,this.autoShow),!0):!1}extractIdFromHeaders(e){return this.getHeader(e,`${this.headerName}-id`)}loadFromData(e){const t=this.extractDataFromHeaders(e);if(!t)return!1;const a=this.parseHeaders(t);if(a.error)throw new Error(`Error loading debugbar data: ${a.error}`);return a.data&&this.debugbar.addDataSet(a.data,a.id,"(ajax)",this.autoShow),!0}extractDataFromHeaders(e){let t=this.getHeader(e,this.headerName);if(t){for(let a=1;;a++){const T=this.getHeader(e,`${this.headerName}-${a}`);if(!T)break;t+=T}return decodeURIComponent(t)}}parseHeaders(e){return JSON.parse(e)}bindToFetch(){const e=this,t=window.fetch.__debugbar_original||window.fetch,a=t.bind(window);function T(...R){var C;const O=a(...R);return(C=O==null?void 0:O.then)==null||C.call(O,A=>e.handle(A)).catch(()=>{}),O}T.__debugbar_wrapped=!0,T.__debugbar_original=t,window.fetch=T}bindToXHR(){const e=this,t=XMLHttpRequest.prototype,a=(t.open||{}).__debugbar_original||t.open;if(typeof a!="function")return;function T(R,O,C=!0,A=null,L=null){return this.__debugbar_listener_attached||(this.__debugbar_listener_attached=!0,this.addEventListener("readystatechange",()=>{this.readyState===4&&e.handle(this)})),a.call(this,R,O,C,A,L)}T.__debugbar_wrapped=!0,T.__debugbar_original=a,t.open=T}}s.AjaxHandler=F})();(function(){PhpDebugBar.Widgets={};const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-"),W=PhpDebugBar.Widgets.htmlize=function(A){return A.replace(/\n/g,"
").replace(/\s/g," ")};let b;const g=PhpDebugBar.Widgets.renderValue=function(A,L){return A&&typeof A=="object"?(b||(b=new PhpDebugBar.Widgets.VarDumpRenderer),b.render(A)):typeof A!="string"?L?W(JSON.stringify(A,void 0,2)):JSON.stringify(A):A};PhpDebugBar.Widgets.renderValueInto=function(A,L,S){const N=g(L,S);N instanceof Node?A.append(N):A.insertAdjacentHTML("beforeend",N)};const h=PhpDebugBar.Widgets.editorLink=function(A){const L=document.createElement("span"),S=A.line?`#${A.line}`:"";if(L.classList.add(s("filename")),L.textContent=A.filename+S,A.path&&L.setAttribute("title",A.path+S),A.url){const N=document.createElement("a");N.classList.add(s("editor-link")),N.setAttribute(N.ajax?"title":"href",A.url),N.addEventListener("click",E=>{E.stopPropagation(),A.ajax&&(fetch(stmt.xdebug_link.url),E.preventDefault())}),L.append(N)}return L},k=PhpDebugBar.Widgets.highlight=function(A,L){if(typeof phpdebugbar_hljs=="undefined")return W(A);const S=phpdebugbar_hljs;return L&&S.getLanguage(L)?S.highlight(A,{language:L}).value:S.highlightAuto(A).value},c=PhpDebugBar.Widgets.createCodeBlock=function(A,L,S,N){const E=document.createElement("pre");E.classList.add(s("code-block"));const I=document.createElement("code");if(I.innerHTML=k(`${A} +`,L),E.append(I),!Number.isNaN(Number.parseFloat(S))){const o=A.split(` +`).length,u=document.createElement("ul");E.prepend(u);const l=Array.from(E.children);for(const m of l)m.classList.add(s("numbered-code"));for(let m=S;m100&&(o=`${o.substr(0,100)}...`);let u=null;S.textContent=o,S.addEventListener("click",()=>{if(window.getSelection().type==="Range")return"";S.classList.contains(s("pretty"))?(S.textContent=o,S.classList.remove(s("pretty"))):(u=u||c(E),S.classList.add(s("pretty")),S.innerHTML="",S.append(u))})}}PhpDebugBar.Widgets.VariableListWidget=d;class e extends F{get className(){return s("kvlist htmlvarlist")}itemRenderer(L,S,N,E){const I=document.createElement("i");I.innerHTML=N!=null?N:"";const o=document.createElement("span");o.setAttribute("title",I.textContent),o.innerHTML=N!=null?N:"",L.append(o),S.innerHTML=E&&E.value||E,E!=null&&E.xdebug_link&&S.append(h(E.xdebug_link))}}PhpDebugBar.Widgets.HtmlVariableListWidget=e;class t extends PhpDebugBar.Widget{get tagName(){return"div"}get className(){return s("tablevarlist")}render(){this.bindAttr("data",function(L){var m,w,_;if(this.el.innerHTML="",!this.has("data"))return;this.table=document.createElement("table"),this.table.classList.add(s("tablevar")),this.el.append(this.table);const S=document.createElement("tr");S.classList.add(s("header"));const N=document.createElement("td");S.append(N),this.table.append(S);let E=L.key_map||{value:"Value"};Array.isArray(E)&&(E=Object.fromEntries(E.map(i=>[i,null])));for(const[i,M]of Object.entries(E)){const P=document.createElement("td");if(P.textContent=M!=null?M:i,S.append(P),L.badges&&L.badges[i]){const y=document.createElement("span");y.textContent=L.badges[i],y.classList.add(s("badge")),P.append(y)}}const I=this;if(!L.data)return;let o=!1;for(const[i,M]of Object.entries(L.data)){const P=document.createElement("tr");P.classList.add(s("item")),I.table.append(P);const y=document.createElement("td");if(y.classList.add(s("key")),y.textContent=i,P.append(y),typeof M!="object"||M===null){const r=document.createElement("td");r.classList.add(s("value")),r.textContent=M!=null?M:"",P.append(r);continue}for(const r of Object.keys(E)){const p=document.createElement("td");p.classList.add(s("value")),p.textContent=(m=M[r])!=null?m:"",P.append(p)}if(M.xdebug_link){const r=document.createElement("td");r.classList.add(s("editor")),r.append(h(M.xdebug_link)),P.append(r),o||(o=!0,S.append(document.createElement("td")))}}if(!L.summary)return;const u=document.createElement("tr");u.classList.add(s("summary")),I.table.append(u);const l=document.createElement("td");if(l.classList.add(s("key")),u.append(l),typeof L.summary!="object"||L.summary===null){const i=document.createElement("td");i.classList.add(s("value")),i.textContent=(w=L.summary)!=null?w:"",u.append(i)}else for(const i of Object.keys(E)){const M=document.createElement("td");M.classList.add(s("value")),M.textContent=(_=L.summary[i])!=null?_:"",u.append(M)}o&&u.append(document.createElement("td"))})}}PhpDebugBar.Widgets.TableVariableListWidget=t;class a extends PhpDebugBar.Widget{get tagName(){return"iframe"}get className(){return s("iframe")}render(){this.el.setAttribute("seamless","seamless"),this.el.setAttribute("border","0"),this.el.setAttribute("width","100%"),this.el.setAttribute("height","100%"),this.bindAttr("data",function(L){this.el.setAttribute("src",L)})}}PhpDebugBar.Widgets.IFrameWidget=a;class T extends PhpDebugBar.Widget{get className(){return s("messages")}render(){const L=this;this.list=new V({itemRenderer(N,E){let I;if(E.message_json)I=document.createElement("span"),I.classList.add(s("value")),PhpDebugBar.Widgets.renderValueInto(I,E.message_json),N.append(I);else if(E.message_html)I=document.createElement("span"),I.classList.add(s("value")),I.innerHTML=E.message_html,N.append(I);else{const o=E.message;if(I=document.createElement("span"),I.classList.add(s("value")),I.textContent=o,I.classList.add(s("truncated")),N.append(I),!E.is_string||I.scrollWidth>I.clientWidth){let u=E.message;E.is_string||(u=null),N.style.cursor="pointer",N.addEventListener("click",()=>{if(window.getSelection().type==="Range")return"";I.classList.contains(s("pretty"))?(I.textContent=o,I.classList.remove(s("pretty")),I.classList.add(s("truncated"))):(u=u||c(E.message),I.classList.add(s("pretty")),I.classList.remove(s("truncated")),I.innerHTML="",I.append(u))})}}if(E.collector){const o=document.createElement("span");o.classList.add(s("collector")),o.textContent=E.collector,N.prepend(o)}if(E.label){I.classList.add(s(E.label));const o=document.createElement("span");o.classList.add(s("label")),o.textContent=E.label,N.prepend(o)}if(E.context&&Object.keys(E.context).length>0){const o=document.createElement("span");o.setAttribute("title","Context"),o.classList.add(s("context-count")),o.textContent=Object.keys(E.context).length,N.prepend(o);const u=document.createElement("table");u.classList.add(s("params")),u.hidden=!0,u.innerHTML='Context';const l=E.context_json||{};for(const m in E.context)if(typeof E.context[m]!="function"){const w=document.createElement("tr"),_=document.createElement("td");_.classList.add(s("name")),_.textContent=m,w.append(_);const i=document.createElement("td");i.classList.add(s("value")),l[m]?PhpDebugBar.Widgets.renderValueInto(i,l[m]):i.innerHTML=E.context[m],w.append(i),u.append(w)}N.append(u),N.style.cursor="pointer",N.addEventListener("click",m=>{window.getSelection().type==="Range"||m.target.closest(".sf-dump")||(u.hidden=!u.hidden)})}E.xdebug_link&&N.prepend(h(E.xdebug_link))}}),this.el.append(this.list.el),this.toolbar=document.createElement("div"),this.toolbar.classList.add(s("toolbar")),this.toolbar.innerHTML='',this.el.append(this.toolbar);const S=document.createElement("input");S.type="text",S.name="search",S.setAttribute("aria-label","Search"),S.placeholder="Search",S.addEventListener("change",function(){L.set("search",this.value)}),this.toolbar.append(S),this.bindAttr("data",function(N){this.set({excludelabel:[],excludecollector:[],search:""});const E=this.toolbar.querySelectorAll(`.${s("filter")}`);for(const w of E)w.remove();const I=[],o=[],u=this,l=function(w,_){const i=document.createElement("a");i.classList.add(s("filter")),i.classList.add(s(w)),i.textContent=_,i.setAttribute("rel",_),i.addEventListener("click",function(){u.onFilterClick(this,w)}),u.toolbar.append(i)};if(N.forEach(w=>{I.includes(w.label||"none")||I.push(w.label||"none"),o.includes(w.collector||"none")||o.push(w.collector||"none")}),I.length>1&&I.forEach(w=>l("label",w)),o.length===1)return;const m=document.createElement("a");m.classList.add(s("filter")),m.style.visibility="hidden",u.toolbar.append(m),o.forEach(w=>l("collector",w))}),this.bindAttr(["excludelabel","excludecollector","search"],function(){const N=this.get("excludelabel")||[],E=this.get("excludecollector")||[],I=this.get("search");let o=!1;const u=[];I&&I===I.toLowerCase()&&(o=!0),this.get("data").forEach(l=>{let m=l.message;l.message_json?m=JSON.stringify(l.message_json):l.message_html&&(m=l.message_html.replace(/<[^>]*>/g,"")),o&&(m=m.toLowerCase()),!N.includes(l.label||void 0)&&!E.includes(l.collector||void 0)&&(!I||m.includes(I))&&u.push(l)}),this.list.set("data",u)})}onFilterClick(L,S){L.classList.toggle(s("excluded"));const N=[],E=`.${s("filter")}.${s("excluded")}.${s(S)}`,I=this.toolbar.querySelectorAll(E);for(const o of I)N.push(o.rel==="none"||!o.rel?void 0:o.rel);this.set(`exclude${S}`,N)}}PhpDebugBar.Widgets.MessagesWidget=T;class R extends PhpDebugBar.Widget{get tagName(){return"ul"}get className(){return s("timeline")}render(){this.bindAttr("data",function(L){const S=function(E){return E<.001?`${(E*1e6).toFixed()}\u03BCs`:E<.1?`${(E*1e3).toFixed(2)}ms`:E<1?`${(E*1e3).toFixed()}ms`:`${E.toFixed(2)}s`},N=function(I){if(I===0||I===null)return"0B";const o=I<0?"-":"",u=Math.abs(I),l=Math.log(u)/Math.log(1024),m=["B","KB","MB","GB","TB"];return o+Math.round(Ut(1024,l-Math.floor(l))*100)/100+m[Math.floor(l)]};if(this.el.innerHTML="",L.measures){let E={};for(let u=0;u1?w.length+"x ":"")+l.label.replace(/\s+/g," ")+(l.duration?` (${l.duration_str}${l.memory?`/${l.memory_str}`:""})`:""),_.append(M),l.collector){const P=document.createElement("span");P.classList.add(s("collector")),P.textContent=l.collector,_.append(P)}if(i.append(_),this.el.append(i),l.params&&Object.keys(l.params).length>0){const P=document.createElement("table");P.classList.add(s("params")),P.hidden=!0,P.innerHTML='Params';for(const y in l.params)if(typeof l.params[y]!="function"){const r=document.createElement("tr"),p=document.createElement("td");p.className=s("name"),p.textContent=y,r.append(p);const x=document.createElement("td");x.className=s("value"),PhpDebugBar.Widgets.renderValueInto(x,l.params[y]),r.append(x),P.append(r)}i.append(P),i.style.cursor="pointer",i.addEventListener("click",function(y){if(window.getSelection().type==="Range"||y.target.closest(".sf-dump"))return"";const r=this.querySelector("table");r.hidden=!r.hidden})}}E=Object.entries(E).map(([u,l])=>({label:u,data:l})).sort((u,l)=>l.data.duration-u.data.duration);const I=document.createElement("table");I.classList.add(s("params"));for(const u of E){const l=Math.min((u.data.duration*100/L.duration).toFixed(2),100),m=document.createElement("i");m.textContent=u.label.replace(/\s+/g," ");const w=m.innerHTML,_=document.createElement("tr");_.innerHTML=`${u.data.count} x ${w} (${l}%)
${S(u.data.duration)}${u.data.memory?`/${N(u.data.memory)}`:""}
`,I.append(_);const i=_.querySelector(`span.${s("value")}`);i.style.width=`${l}%`}const o=document.createElement("li");o.append(I),this.el.append(o)}})}}PhpDebugBar.Widgets.TimelineWidget=R;class O extends PhpDebugBar.Widget{get className(){return s("exceptions")}render(){this.list=new V({itemRenderer(L,S){const N=document.createElement("span");if(N.classList.add(s("message")),N.textContent=S.message,S.count>1){const E=document.createElement("span");E.classList.add(s("badge")),E.textContent=`${S.count}x`,N.prepend(E)}if(L.append(N),S.file&&L.append(h(S.xdebug_link||{filename:S.file,line:S.line})),S.type){const E=document.createElement("span");E.classList.add(s("type")),E.textContent=S.type,L.append(E)}if(S.surrounding_lines){const E=S.line-3<=0?1:S.line-3,I=c(S.surrounding_lines.join(""),"php",E,S.line);I.classList.add(s("file")),I.hidden=!0,L.append(I),L.addEventListener("click",o=>{window.getSelection().type==="Range"||o.target.closest(".sf-dump")||(I.hidden=!I.hidden)})}if(S.stack_trace_json||S.stack_trace_html){const E=document.createElement("span");if(E.classList.add(s("filename")),S.stack_trace_json){const o=S.stack_trace_json,u=o._sd;o._sd=0,PhpDebugBar.Widgets.renderValueInto(E,o),o._sd=u}else E.innerHTML=S.stack_trace_html;const I=E.querySelector(".sf-dump-note");I&&(I.innerHTML=`${I.innerHTML.replace(/^array:/,'Stack Trace: ')} lines`),L.append(E)}else S.stack_trace&&S.stack_trace.split(` +`).forEach(E=>{const I=document.createElement("div"),o=document.createElement("span");o.classList.add(s("filename")),o.textContent=E,I.append(o),L.append(I)})}}),this.el.append(this.list.el),this.bindAttr("data",function(L){if(this.list.set("data",L),L.length===1){const S=this.list.el.children[0];if(S){const N=S.querySelector(`.${s("file")}`);N&&(N.hidden=!1)}}})}}PhpDebugBar.Widgets.ExceptionsWidget=O;class C extends PhpDebugBar.Widget{get className(){return s("datasets-switcher-widget")}initialize(L){this.set(L);const S=this,N=this.get("debugbar");this.badge=document.createElement("div"),this.badge.classList.add(s("datasets-badge")),this.badge.hidden=!0,this.badgeCount=document.createElement("span"),this.badgeCount.classList.add(s("datasets-badge-count")),this.badge.append(this.badgeCount),this.badgeUrl=document.createElement("span"),this.badgeUrl.classList.add(s("datasets-badge-url")),this.badge.append(this.badgeUrl),this.panel=document.createElement("div"),this.panel.classList.add(s("datasets-panel")),this.panel.hidden=!0,N.el&&this.panel.setAttribute("data-theme",N.el.getAttribute("data-theme"));const E=document.createElement("div");E.classList.add(s("datasets-panel-toolbar"));const I=document.createElement("label");I.classList.add(s("datasets-autoshow")),this.autoshowCheckbox=document.createElement("input"),this.autoshowCheckbox.type="checkbox";const o=localStorage.getItem("phpdebugbar-ajaxhandler-autoshow");this.autoshowCheckbox.checked=o!==null?o==="1":N.ajaxHandler?N.ajaxHandler.autoShow:!0,this.autoshowCheckbox.addEventListener("change",function(){N.ajaxHandler&&N.ajaxHandler.setAutoShow(this.checked),N.controls.__settings&&N.controls.__settings.get("widget").set("autoshow",this.checked),N.controls.__datasets&&N.controls.__datasets.get("widget").set("autoshow",this.checked)}),I.append(this.autoshowCheckbox),I.append(document.createTextNode(" Autoshow")),E.append(I),this.refreshBtn=document.createElement("a"),this.refreshBtn.tabIndex=0,this.refreshBtn.classList.add(s("datasets-refresh-btn")),this.refreshBtn.innerHTML='',this.refreshBtn.title="Auto-scan for new datasets",this.isScanning=!1,this.refreshBtn.addEventListener("click",m=>{m.stopPropagation(),this.isScanning?(this.isScanning=!1,this.refreshBtn.classList.remove(s("active")),this.refreshBtn.title="Auto-scan for new datasets"):(this.isScanning=!0,this.refreshBtn.classList.add(s("active")),this.refreshBtn.title="Stop auto-scanning",this.scanForNewDatasets())}),E.append(this.refreshBtn);const u=document.createElement("a");u.tabIndex=0,u.classList.add(s("datasets-clear-btn")),u.textContent="Clear",u.addEventListener("click",()=>{const m=N.activeDatasetId,w=N.datasets[m];N.datasets={},w&&N.addDataSet(w,m,w.__meta.suffix,!0),this.panel.hidden=!0}),E.append(u),this.searchInput=document.createElement("input"),this.searchInput.type="search",this.searchInput.placeholder="Search",this.searchInput.classList.add(s("datasets-search")),this.searchInput.addEventListener("input",()=>{S.applySearchFilter()}),E.append(this.searchInput),this.panel.append(E),this.list=document.createElement("div"),this.list.classList.add(s("datasets-list")),this.panel.append(this.list),this.el.append(this.badge),document.body.append(this.panel);const l=()=>{const m=this.badge.getBoundingClientRect(),w=m.top,_=window.innerHeight-m.bottom,i=_>w;this.panel.style.position="fixed",this.panel.style.right=`${window.innerWidth-m.right}px`,this.panel.style.left="auto",i?(this.panel.style.top=`${m.bottom}px`,this.panel.style.bottom="auto",this.panel.style.maxHeight=`${_}px`):(this.panel.style.bottom=`${window.innerHeight-m.top}px`,this.panel.style.top="auto",this.panel.style.maxHeight=`${w}px`),this.refreshBtn.hidden=!N.openHandler};this.badge.addEventListener("click",m=>{m.target!==this.panel&&!this.panel.contains(m.target)&&(this.panel.hidden&&l(),this.panel.hidden=!this.panel.hidden)}),document.addEventListener("click",m=>{!this.badge.contains(m.target)&&!this.panel.contains(m.target)&&(this.panel.hidden=!0)})}render(){this.bindAttr("data",function(){this.updateBadge()}),this.bindAttr("activeId",function(){this.updateBadge()}),this.bindAttr("autoshow",function(){this.autoshowCheckbox&&(this.autoshowCheckbox.checked=this.get("autoshow"))})}updateBadge(){const L=this.get("debugbar"),S=this.get("data")||L.datasets,N=this.get("activeId")||L.activeDatasetId;if(!S){this.badge.hidden=!0;return}const E=Object.keys(S).length;if(E>=1){this.badge.hidden=!1;const I=S[N];if(I&&I.__meta){const u=I.__meta.uri||"",l=I.__meta.method||"GET";this.badgeUrl.textContent=`${l} ${u}`}E>1?(this.badgeCount.textContent=E,this.badgeCount.hidden=!1):this.badgeCount.hidden=!0,this.list.innerHTML="";const o=Object.keys(S).sort((u,l)=>{var _,i;const m=((_=S[u].__meta)==null?void 0:_.utime)||0;return(((i=S[l].__meta)==null?void 0:i.utime)||0)-m});for(const u of o){const l=S[u],m=document.createElement("div");m.classList.add(s("datasets-list-item"));const w=l.__meta.uri||"",_=l.__meta.method||"GET";m.setAttribute("data-url",w),m.setAttribute("data-method",_),u===N&&m.classList.add(s("active"));const i=document.createElement("span");i.classList.add(s("datasets-item-nb")),i.textContent=`#${l.__meta.nb}`,m.append(i);const M=document.createElement("span");M.classList.add(s("datasets-item-time")),M.textContent=l.__meta.datetime?l.__meta.datetime.split(" ")[1]:"",m.append(M);const P=document.createElement("div");P.classList.add(s("datasets-item-request"));const y=document.createElement("span");y.classList.add(s("datasets-item-method")),y.textContent=_,P.append(y);const r=document.createElement("span");if(r.classList.add(s("datasets-item-url")),r.textContent=w,P.append(r),l.__meta.suffix){const K=document.createElement("span");K.classList.add(s("datasets-item-suffix")),K.textContent=` ${l.__meta.suffix}`,P.append(K)}m.append(P);const p=document.createElement("div");p.classList.add(s("datasets-item-badges"));for(const[K,f]of Object.entries(L.dataMap)){const B=U(l,f[0],f[1]);if(K.includes(":")){const Q=K.split(":"),ee=Q[0];if(Q[1]==="badge"&&B>0){const ie=L.getControl(ee);if(ie){const se=document.createElement("span");if(se.classList.add(s("datasets-item-badge")),se.setAttribute("title",ie.get("title")),se.dataset.tab=ee,ie.icon){const ce=ie.icon.cloneNode(!0);ce.style.width="12px",ce.style.height="12px",se.append(ce)}const le=document.createElement("span");le.textContent=B,se.append(le),p.append(se),se.addEventListener("click",ce=>{ce.stopPropagation(),L.showDataSet(u),L.showTab(ee),this.panel.hidden=!0})}}}}m.append(p);const x=document.createElement("a");x.classList.add(s("datasets-item-copy-id")),x.title=`Copy Request ID: ${u}`,x.innerHTML='',x.addEventListener("click",K=>{K.stopPropagation();const f=document.createElement("textarea");f.value=u,f.style.position="fixed",f.style.opacity="0",document.body.append(f),f.select(),document.execCommand("copy"),f.remove();const B=x.querySelector("i");B.className="phpdebugbar-icon phpdebugbar-icon-circle-check",x.classList.add(s("copied")),setTimeout(()=>{B.className="phpdebugbar-icon phpdebugbar-icon-copy",x.classList.remove(s("copied"))},2e3)}),m.append(x),m.addEventListener("click",()=>{L.showDataSet(u),this.panel.hidden=!0}),this.list.append(m)}this.applySearchFilter()}else this.badge.hidden=!0}applySearchFilter(){const L=this.searchInput.value.toLowerCase().trim(),S=this.list.querySelectorAll(`.${s("datasets-list-item")}`);for(const N of S)if(L==="")N.hidden=!1;else{const E=N.getAttribute("data-url").toLowerCase(),o=`${N.getAttribute("data-method").toLowerCase()} ${E}`,l=L.split(/\s+/).filter(m=>m.length>0).every(m=>o.includes(m));N.hidden=!l}}scanForNewDatasets(){const L=this.get("debugbar");if(!this.isScanning||!L.openHandler)return;const S=L.datasets,N=Object.values(S).reduce((I,o)=>{var u;return Math.max(I,((u=o.__meta)==null?void 0:u.utime)||0)},0),E=()=>{this.isScanning&&setTimeout(()=>this.scanForNewDatasets(),1e3)};L.openHandler.find({utime:N},0,(I,o)=>{if(o){console.error("scanForNewDatasets: find() failed",o),this.isScanning=!1,this.refreshBtn.classList.remove(s("active")),this.refreshBtn.title="Error scanning";return}try{const u=I.filter(m=>m.utime>N&&!S[m.id]);u.reverse();const l=(m=0)=>{if(m>=u.length){E();return}const{id:w}=u[m],_=m===u.length-1;L.loadDataSet(w,"(scan)",()=>l(m+1),this.autoshowCheckbox.checked&&_)};u.length?l():E()}catch(u){console.error("scanForNewDatasets: unexpected error",u),this.refreshBtn.classList.remove(s("active")),this.refreshBtn.title="Error scanning",this.isScanning=!1}})}}PhpDebugBar.Widgets.DatasetWidget=C})();(function(){const s=function(W){return PhpDebugBar.utils.csscls(W,"phpdebugbar-openhandler-")};PhpDebugBar.OpenHandler=PhpDebugBar.Widget.extend({className:"phpdebugbar-openhandler",defaults:{items_per_page:20},render(){const W=this;document.body.append(this.el),this.el.style.display="none",this.closebtn=document.createElement("a"),this.closebtn.classList.add(s("closebtn")),this.closebtn.innerHTML='',this.brand=document.createElement("span"),this.brand.classList.add(s("brand")),this.brand.innerHTML='',this.table=document.createElement("tbody");const b=document.createElement("div");b.classList.add(s("header")),b.textContent="PHP DebugBar | Open",b.prepend(this.brand),b.append(this.closebtn),this.el.append(b);const g=document.createElement("table");g.innerHTML='IDDateMethodURLIPFilter data',g.append(this.table),this.el.append(g),this.actions=document.createElement("div"),this.actions.classList.add(s("actions")),this.el.append(this.actions),this.closebtn.addEventListener("click",()=>{W.hide()}),this.loadmorebtn=document.createElement("a"),this.loadmorebtn.textContent="Load more",this.actions.append(this.loadmorebtn),this.loadmorebtn.addEventListener("click",()=>{W.find(W.last_find_request,W.last_find_request.offset+W.get("items_per_page"),W.handleFind.bind(W))}),this.showonlycurrentbtn=document.createElement("a"),this.showonlycurrentbtn.textContent="Show only current URL",this.actions.append(this.showonlycurrentbtn),this.showonlycurrentbtn.addEventListener("click",()=>{W.uriInput.value=window.location.pathname,W.searchBtn.click()}),this.refreshbtn=document.createElement("a"),this.refreshbtn.textContent="Refresh",this.actions.append(this.refreshbtn),this.refreshbtn.addEventListener("click",()=>{W.refresh()}),this.clearbtn=document.createElement("a"),this.clearbtn.textContent="Clear storage",this.actions.append(this.clearbtn),this.clearbtn.addEventListener("click",()=>{W.clear(()=>{W.hide()})}),this.addSearch(),this.overlay=document.createElement("div"),this.overlay.classList.add(s("overlay")),this.overlay.style.display="none",document.body.append(this.overlay),this.overlay.addEventListener("click",()=>{W.hide()})},refresh(){this.table.innerHTML="",this.loadmorebtn.style.display="",this.find({},0,this.handleFind.bind(this))},addSearch(){const W=this,b=this.searchBtn=document.createElement("button");b.textContent="Search",b.type="submit",b.addEventListener("click",function(k){W.table.innerHTML="";const c={},U=new FormData(this.parentElement);for(const[V,F]of U.entries())F&&(c[V]=F);W.find(c,0,W.handleFind.bind(W)),k.preventDefault()});const g=document.createElement("form");g.innerHTML='
Filter results
',this.uriInput=document.createElement("input"),this.uriInput.type="text",this.uriInput.name="uri",this.uriInput.placeholder="URI, eg '/user/*'",g.append(this.uriInput),this.ipInput=document.createElement("input"),this.ipInput.type="text",this.ipInput.name="ip",this.ipInput.placeholder="IP",g.append(this.ipInput);const h=document.createElement("button");h.textContent="Reset",h.type="button",h.addEventListener("click",()=>{g.reset(),b.click()}),g.append(b),g.append(h),this.actions.append(g)},handleFind(W){const b=this;for(const g of W){const h=document.createElement("a");h.textContent="Load dataset",h.addEventListener("click",A=>{b.hide(),b.load(g.id,L=>{b.callback(g.id,L)}),A.preventDefault()});const k=document.createElement("a");k.textContent=g.method,k.addEventListener("click",A=>{b.table.innerHTML="",b.find({method:g.method},0,b.handleFind.bind(b)),A.preventDefault()});const c=document.createElement("a");c.textContent=g.uri,c.addEventListener("click",A=>{b.hide(),b.load(g.id,L=>{b.callback(g.id,L)}),A.preventDefault()});const U=document.createElement("a");U.textContent=g.ip,U.addEventListener("click",A=>{b.ipInput.value=g.ip,b.searchBtn.click(),A.preventDefault()});const V=document.createElement("a");V.textContent="Show URL",V.addEventListener("click",A=>{b.uriInput.value=g.uri,b.searchBtn.click(),A.preventDefault()});const F=document.createElement("tr"),d=document.createElement("td");d.classList.add(s("id-cell"));const e=document.createElement("span");e.classList.add(s("id-text")),e.textContent=g.id,e.title=g.id,d.append(e);const t=document.createElement("a");t.classList.add(s("copy-id")),t.title="Copy Request ID",t.innerHTML='',t.addEventListener("click",A=>{A.stopPropagation(),A.preventDefault();const L=document.createElement("textarea");L.value=g.id,L.style.position="fixed",L.style.opacity="0",document.body.append(L),L.select(),document.execCommand("copy"),L.remove();const S=t.querySelector("i");S.className="phpdebugbar-icon phpdebugbar-icon-circle-check",t.classList.add(s("copied")),setTimeout(()=>{S.className="phpdebugbar-icon phpdebugbar-icon-copy",t.classList.remove(s("copied"))},2e3)}),d.append(t),F.append(d);const a=document.createElement("td");a.textContent=g.datetime,F.append(a);const T=document.createElement("td");T.textContent=g.method,F.append(T);const R=document.createElement("td");R.append(c),F.append(R);const O=document.createElement("td");O.append(U),F.append(O);const C=document.createElement("td");C.append(V),F.append(C),b.table.append(F)}W.lengthh.json()).then(b).catch(h=>{b(null,h)})}})})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class W extends PhpDebugBar.Widget{get className(){return s("mails")}render(){this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer(g,h){const k=document.createElement("span");k.classList.add(s("subject")),k.textContent=h.subject,g.append(k);const c=document.createElement("span");if(c.classList.add(s("to")),c.textContent=h.to,g.append(c),h.body||h.html){const U=document.createElement("span");U.classList.add(s("filename")),U.textContent="";const V=document.createElement("a");V.setAttribute("title","Mail Preview"),V.textContent="View Mail",V.classList.add(s("editor-link")),V.addEventListener("click",()=>{const d=window.open("about:blank","Mail Preview","width=650,height=440,scrollbars=yes").document;let e="";if(h.headers){const R=document.createElement("pre");R.style.border="1px solid #ddd",R.style.padding="5px";const O=document.createElement("code");O.textContent=h.headers,R.append(O),e=R.outerHTML}const t=document.createElement("pre");t.style.border="1px solid #ddd",t.style.padding="5px",t.textContent=h.body;let a=t.outerHTML,T="";if(h.html){const R=document.createElement("details"),O=document.createElement("summary");O.textContent="Text version",R.append(O),R.append(t),a=R.outerHTML;const C=document.createElement("iframe");C.setAttribute("width","100%"),C.setAttribute("height","400px"),C.setAttribute("sandbox",""),C.setAttribute("referrerpolicy","no-referrer"),C.setAttribute("srcdoc",h.html),T=C.outerHTML}d.open(),d.write(e+a+T),d.close()}),U.append(V),g.append(U)}if(h.headers){const U=document.createElement("pre");U.classList.add(s("headers"));const V=document.createElement("code");V.textContent=h.headers,U.append(V),U.hidden=!0,g.append(U),g.addEventListener("click",()=>{U.hidden=!U.hidden})}}}),this.el.append(this.list.el),this.bindAttr("data",function(g){this.list.set("data",g)})}}PhpDebugBar.Widgets.MailsWidget=W})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class W extends PhpDebugBar.Widget{get className(){return s("sqlqueries")}onFilterClick(g){g.classList.toggle(s("excluded"));const h=g.getAttribute("rel"),k=this.list.el.querySelectorAll(`li[connection="${h}"]`);for(const c of k)c.hidden=!c.hidden}onCopyToClipboard(g){const h=g.parentElement.querySelector("code"),k=function(){try{document.execCommand("copy")&&(g.classList.add(s("copy-clipboard-check")),setTimeout(()=>{g.classList.remove(s("copy-clipboard-check"))},2e3))}catch(U){console.log("Oops, unable to copy")}};(function(U){if(document.selection){const V=document.body.createTextRange();V.moveToElementText(U),V.select()}else if(window.getSelection){const V=document.createRange();V.selectNodeContents(U),window.getSelection().removeAllRanges(),window.getSelection().addRange(V)}k(),window.getSelection().removeAllRanges()})(h)}renderList(g,h,k){var d;const c=document.createElement("thead"),U=document.createElement("tr"),V=document.createElement("th");V.colSpan=2,V.classList.add(s("name")),V.innerHTML=h,U.append(V),c.append(U),g.append(c);const F=document.createElement("tbody");for(const e in k){const t=typeof k[e]=="function"?`${k[e].name} {}`:k[e],a=document.createElement("tr");if(typeof t=="object"&&t!==null){const T=document.createElement("td");T.classList.add("phpdebugbar-text-muted"),T.textContent=t.index||e,a.append(T);const R=document.createElement("td");if(t.namespace&&R.append(`${t.namespace}::`),R.append(t.name||t.file),t.line){const O=document.createElement("span");O.classList.add("phpdebugbar-text-muted"),O.textContent=`:${t.line}`,R.append(O)}if((d=t.xdebug_link)!=null&&d.url){const O=PhpDebugBar.Widgets.editorLink(t.xdebug_link);R.append(O.querySelector("a"))}a.append(R)}else{const T=document.createElement("td");T.classList.add("phpdebugbar-text-muted"),T.textContent=e,a.append(T);const R=document.createElement("td");R.textContent=t,a.append(R)}F.append(a)}g.append(F)}itemRenderer(g,h){if(h.type=h.type||"query",h.slow&&g.classList.add(s("sql-slow")),h.width_percent){const c=document.createElement("div");c.classList.add(s("bg-measure"));const U=document.createElement("div");U.classList.add(s("value")),U.style.left=`${h.start_percent}%`,U.style.width=`${Math.max(h.width_percent,.01)}%`,c.append(U),g.append(c)}if(h.duration_str){const c=document.createElement("span");c.setAttribute("title","Duration"),c.classList.add(s("duration")),c.textContent=h.duration_str,g.append(c)}if(h.memory_str){const c=document.createElement("span");c.setAttribute("title","Memory usage"),c.classList.add(s("memory")),c.textContent=h.memory_str,g.append(c)}if(typeof h.row_count!="undefined"){const c=document.createElement("span");c.setAttribute("title","Row count"),c.classList.add(s("row-count")),c.textContent=h.row_count,g.append(c)}if(typeof h.stmt_id!="undefined"&&h.stmt_id){const c=document.createElement("span");c.setAttribute("title","Prepared statement ID"),c.classList.add(s("stmt-id")),c.textContent=h.stmt_id,g.append(c)}if(h.connection){const c=document.createElement("span");if(c.setAttribute("title","Connection"),c.classList.add(s("database")),c.textContent=h.connection,g.append(c),g.setAttribute("connection",h.connection),!this.filters.includes(h.connection)){this.filters.push(h.connection);const U=document.createElement("a");U.classList.add(s("filter")),U.textContent=h.connection,U.setAttribute("rel",h.connection),U.addEventListener("click",()=>{this.onFilterClick(U)}),this.toolbar.append(U),this.filters.length>1&&(this.toolbar.hidden=!1)}}if(h.type==="query"){const c=document.createElement("span");c.setAttribute("title","Copy to clipboard"),c.classList.add(s("copy-clipboard")),c.style.cursor="pointer",c.innerHTML="​",c.addEventListener("click",U=>{this.onCopyToClipboard(c),U.stopPropagation()}),g.append(c)}if(h.xdebug_link?g.prepend(PhpDebugBar.Widgets.editorLink(h.xdebug_link)):typeof h.filename!="undefined"&&h.filename&&g.prepend(PhpDebugBar.Widgets.editorLink(h)),h.type!=="query"){const c=document.createElement("strong");c.classList.add(s("sql"),s(h.type)),c.textContent=h.sql,g.append(c)}else{const c=document.createElement("code");c.classList.add(s("sql")),c.innerHTML=PhpDebugBar.Widgets.highlight(h.sql,"sql"),g.append(c)}if(typeof h.is_success!="undefined"&&!h.is_success){g.classList.add(s("error"));const c=document.createElement("span");c.classList.add(s("error")),c.textContent=`[${h.error_code}] ${h.error_message}`,g.append(c)}if(h.type!=="query")return;const k=document.createElement("table");k.classList.add(s("params")),k.hidden=!0,h.params&&Object.keys(h.params).length>0&&this.renderList(k,"Params",h.params),h.backtrace&&Object.keys(h.backtrace).length>0&&this.renderList(k,"Backtrace",h.backtrace),k.querySelectorAll("tr").length||(k.style.display="none"),g.append(k),g.style.cursor="pointer",g.addEventListener("click",c=>{if(window.getSelection().type==="Range"||c.target.closest(".sf-dump"))return"";k.hidden=!k.hidden;const U=g.querySelector("code");if(U&&typeof phpdebugbar_sqlformatter!="undefined"){let V=h.sql;k.hidden||(V=phpdebugbar_sqlformatter.format(h.sql)),U.innerHTML=PhpDebugBar.Widgets.highlight(V,"sql")}})}render(){this.status=document.createElement("div"),this.status.classList.add(s("status")),this.el.append(this.status),this.toolbar=document.createElement("div"),this.toolbar.classList.add(s("toolbar")),this.el.append(this.toolbar),this.filters=[];let g="none",h=null;this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer:(k,c)=>this.itemRenderer(k,c)}),this.el.append(this.list.el),this.bindAttr("data",function(k){if(k.length<=0||!k.statements)return!1;this.filters=[],this.toolbar.hidden=!0;const c=this.toolbar.querySelectorAll(`.${s("filter")}`);for(const d of c)d.remove();this.list.set("data",k.statements),this.status.innerHTML="";const U={};let V=0;for(let d=0;d0&&(e+=JSON.stringify(k.statements[d].params)),k.statements[d].connection&&(e+=`@${k.statements[d].connection}`),U[e]=U[e]||{keys:[]},U[e].keys.push(d)}for(const d in U)if(U[d].keys.length>1){V+=U[d].keys.length;for(let e=0;e{e.classList.toggle("shown-duplicated"),e.textContent=e.classList.contains("shown-duplicated")?"Show All":d;const t=`.${this.className} .${s("list-item")}:not(.${s("sql-duplicate")})`,a=document.querySelectorAll(t);for(const T of a)T.hidden=!T.hidden}),F.append(e)}if(k.accumulated_duration_str){const d=document.createElement("span");d.setAttribute("title","Accumulated duration"),d.classList.add(s("duration")),d.textContent=k.accumulated_duration_str;const e=document.createElement("span");e.classList.add(s("sort-icon")),e.style.cursor="pointer",e.style.marginLeft="5px",e.textContent="Sort \u21C5",e.setAttribute("title","Sort by duration"),e.addEventListener("click",()=>{g==="none"?(g="desc",e.textContent="\u2193",h=[...k.statements],k.statements.sort((t,a)=>(a.duration||0)-(t.duration||0))):g==="desc"?(g="asc",e.textContent="\u2191",k.statements.sort((t,a)=>(t.duration||0)-(a.duration||0))):(g="none",e.textContent="\u21C5",h&&(k.statements=h,h=null)),this.list.set("data",k.statements)}),d.append(e),this.status.append(d)}if(k.memory_usage_str){const d=document.createElement("span");d.setAttribute("title","Memory usage"),d.classList.add(s("memory")),d.textContent=k.memory_usage_str,this.status.append(d)}})}}PhpDebugBar.Widgets.SQLQueriesWidget=W})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class W extends PhpDebugBar.Widget{get className(){return s("templates")}render(){this.status=document.createElement("div"),this.status.classList.add(s("status")),this.el.append(this.status),this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer(g,h){const k=document.createElement("span");if(k.classList.add(s("name")),h.html?k.innerHTML=h.html:k.textContent=h.name,g.append(k),h.xdebug_link&&g.append(PhpDebugBar.Widgets.editorLink(h.xdebug_link)),h.render_time_str){const c=document.createElement("span");c.setAttribute("title","Render time"),c.classList.add(s("render-time")),c.textContent=h.render_time_str,g.append(c)}if(h.memory_str){const c=document.createElement("span");c.setAttribute("title","Memory usage"),c.classList.add(s("memory")),c.textContent=h.memory_str,g.append(c)}if(typeof h.param_count!="undefined"){const c=document.createElement("span");c.setAttribute("title","Parameter count"),c.classList.add(s("param-count")),c.textContent=h.param_count,g.append(c)}if(typeof h.type!="undefined"&&h.type){const c=document.createElement("span");c.setAttribute("title","Type"),c.classList.add(s("type")),c.textContent=h.type,g.append(c)}if(typeof h.editorLink!="undefined"&&h.editorLink){const c=document.createElement("a");c.setAttribute("href",h.editorLink),c.classList.add(s("editor-link")),c.textContent="file",c.addEventListener("click",U=>{U.stopPropagation()}),g.append(c)}if(h.params&&Object.keys(h.params).length>0){const c=document.createElement("table");c.classList.add(s("params"));const U=document.createElement("thead");U.innerHTML='Params';const V=document.createElement("tbody");c.append(U,V);for(const F in h.params)if(typeof h.params[F]!="function"){const d=document.createElement("tr"),e=document.createElement("td");e.className=s("name"),e.textContent=F,d.append(e);const t=document.createElement("td");t.className=s("value"),PhpDebugBar.Widgets.renderValueInto(t,h.params[F]),d.append(t),V.append(d)}c.hidden=!0,g.append(c),g.style.cursor="pointer",g.addEventListener("click",F=>{window.getSelection().type==="Range"||F.target.closest(".sf-dump")||(c.hidden=!c.hidden)})}}}),this.el.append(this.list.el),this.callgraph=document.createElement("div"),this.callgraph.classList.add(s("callgraph")),this.el.append(this.callgraph),this.bindAttr("data",function(g){this.list.set("data",g.templates),this.status.innerHTML="",this.callgraph.innerHTML="";const h=g.sentence||"templates were rendered",k=document.createElement("span");if(k.textContent=`${g.nb_templates} ${h}`,this.status.append(k),g.accumulated_render_time_str){const c=document.createElement("span");c.setAttribute("title","Accumulated render time"),c.classList.add(s("render-time")),c.textContent=g.accumulated_render_time_str,this.status.append(c)}if(g.memory_usage_str){const c=document.createElement("span");c.setAttribute("title","Memory usage"),c.classList.add(s("memory")),c.textContent=g.memory_usage_str,this.status.append(c)}if(g.nb_blocks>0){const c=document.createElement("div");c.textContent=`${g.nb_blocks} blocks were rendered`,this.status.append(c)}if(g.nb_macros>0){const c=document.createElement("div");c.textContent=`${g.nb_macros} macros were rendered`,this.status.append(c)}typeof g.callgraph!="undefined"&&(this.callgraph.innerHTML=g.callgraph)})}}PhpDebugBar.Widgets.TemplatesWidget=W})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class W extends PhpDebugBar.Widget{get className(){return s("httpclient")}render(){this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer(g,h){const k=document.createElement("div");k.classList.add(s("request-summary")),k.style.display="flex",k.style.gap="10px",k.style.alignItems="center";const c=document.createElement("span");c.classList.add(s("method")),c.textContent=h.method,c.style.fontWeight="bold",c.style.minWidth="60px",k.append(c);const U=document.createElement("span");U.classList.add(s("url")),U.textContent=h.url,U.style.flex="1",U.style.overflow="hidden",U.style.textOverflow="ellipsis",U.style.whiteSpace="nowrap",k.append(U);const V=document.createElement("span");if(V.classList.add(s("status")),V.textContent=h.status,V.style.minWidth="40px",V.style.textAlign="center",typeof h.status=="number"&&(h.status>=200&&h.status<300?V.style.color="#4caf50":h.status>=300&&h.status<400?V.style.color="#ff9800":h.status>=400&&(V.style.color="#f44336")),k.append(V),h.duration!==null&&typeof h.duration!="undefined"){const F=document.createElement("span");F.classList.add(s("duration")),F.textContent=h.duration,F.style.minWidth="60px",F.style.textAlign="right",k.append(F)}if(g.append(k),h.details&&Object.keys(h.details).length>0){const F=document.createElement("table");F.classList.add(s("params"));const d=document.createElement("thead");d.innerHTML='Details';const e=document.createElement("tbody");F.append(d,e);for(const t in h.details)if(typeof h.details[t]!="function"){const a=document.createElement("tr"),T=document.createElement("td");T.className=s("name"),T.textContent=t,a.append(T);const R=document.createElement("td");R.className=s("value"),PhpDebugBar.Widgets.renderValueInto(R,h.details[t]),a.append(R),e.append(a)}F.hidden=!0,g.append(F),g.style.cursor="pointer",g.addEventListener("click",t=>{window.getSelection().type==="Range"||t.target.closest(".sf-dump")||(F.hidden=!F.hidden)})}}}),this.el.append(this.list.el),this.bindAttr("data",function(g){this.list.set("data",g)})}}PhpDebugBar.Widgets.HttpWidget=W})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-"),W=new Map;let b=0;const g={"&":"&","<":"<",">":">",'"':"""},h=/[&<>"]/g;class k{constructor(d){this.expandedDepth=d&&d.expandedDepth!==void 0?d.expandedDepth:0}render(d){const e=document.createElement("pre");e.className="sf-dump";const t=this.expandedDepth;return this.expandedDepth=0,e.innerHTML=this.toHtml(d,0)+` +`,this.expandedDepth=t,e}toHtml(d,e){if(d===null)return"null";switch(typeof d){case"boolean":return""+d+"";case"number":return""+this.esc(String(d))+"";case"string":return'"'+this.esc(d)+'"';case"object":return this.containerToHtml(d,e);default:return this.esc(String(d))}}containerToHtml(d,e){const t=Array.isArray(d),a=!t&&d._vd,T=!t&&d._cut||0,R=t?null:Object.keys(d),O=!t&&(a||T)?R.filter(L=>L!=="_vd"&&L!=="_cut"):R,A=(t?d.length:O.length)+T;return a?this.objectToHtml(d,O,a,T,A,e):this.arrayToHtml(d,t,O,T,A,e)}arrayToHtml(d,e,t,a,T,R){if(T===0)return"[]";const O=R [";if(C+=""+(O?"\u25BC":"\u25B6")+"",C+=' ',C+=this.arrayPreview(d,e,t,a)+" ]",O)C+="",C+=this.arrayChildren(d,e,t,a,R),C+="";else{const A=++b;W.set(A,{v:d,arr:e,k:t,c:a,d:R,r:this,ed:this.expandedDepth}),C+=""}return C+=']',C}arrayPreview(d,e,t,a){const T=e?d.length:t.length,R=Math.min(T,8),O=[];for(let A=0;AR||a>0)&&(C+=", \u2026"),C}arrayChildren(d,e,t,a,T){const R=e?d.length:t.length;let O="";for(let C=0;C0&&(O+=` +`),e?(O+=""+C+" => ",O+=this.toHtml(d[C],T+1)):(O+='"'+this.esc(t[C])+'" => ',O+=this.toHtml(d[t[C]],T+1));return a>0&&(O+=` +\u2026`+a),O}objectToHtml(d,e,t,a,T,R){const O=t[1]||0,C=t[2]||null,A=t[3]||null,L=t[0]===5;if(T===0&&!O)return(C?this.esc(C)+" ":"")+"{}";const S=R {":(C&&(N+=""+this.esc(C)+" "),N+="{",O&&(E="#"+O+" ")),T===0)return N+E+"}";N+=""+E+""+(S?"\u25BC":"\u25B6")+"",N+=' ';const I=Math.min(e.length,8),o=[];for(let l=0;lI||a>0)&&(u+=", \u2026"),N+=u+" }",S)N+="",N+=this.objectChildren(d,e,A,a,R),N+="";else{const l=++b;W.set(l,{v:d,obj:!0,k:e,p:A,c:a,d:R,r:this,ed:this.expandedDepth}),N+=""}return N+='}',N}objectChildren(d,e,t,a,T){let R="";for(let O=0;O0&&(R+=` +`);const C=t?t[O]:null,A=this.esc(e[O]);C?C==="+"?R+='+"'+A+'": ':C==="~"?R+=""+A+": ":C==="*"?R+='#'+A+": ":R+='-'+A+": ":R+='+'+A+": ",R+=this.toHtml(d[e[O]],T+1)}return a>0&&(R+=` +\u2026`+a),R}previewValue(d){return d===null?"null":typeof d=="string"?'"'+this.esc(d.length>40?d.substring(0,40)+"\u2026":d)+'"':typeof d=="boolean"||typeof d=="number"?String(d):typeof d=="object"?d._vd?(d._vd[2]||"")+" {\u2026}":Array.isArray(d)?"[\u2026]":"{\u2026}":"\u2026"}esc(d){return String(d).replace(h,e=>g[e])}}PhpDebugBar.Widgets.VarDumpRenderer=k;function c(F){const d=+F.dataset.lazy;delete F.dataset.lazy;const e=W.get(d);if(!e)return;W.delete(d);const t=e.r,a=t.expandedDepth;t.expandedDepth=e.ed,e.obj?F.innerHTML=t.objectChildren(e.v,e.k,e.p,e.c,e.d):F.innerHTML=t.arrayChildren(e.v,e.arr,e.k,e.c,e.d),t.expandedDepth=a}function U(F,d){const e=F.previousElementSibling,t=F.nextElementSibling;e&&e.classList.toggle("sf-dump-hidden",d),t&&t.classList.toggle("sf-dump-hidden",!d)}document.addEventListener("click",function(F){var T,R;const d=F.target.closest("a.sf-dump-toggle")||((T=F.target.closest(".sf-dump-preview"))==null?void 0:T.previousElementSibling);if(!d)return;const e=d.closest("pre.sf-dump");if(!e||e.id)return;const t=(R=d.nextElementSibling)==null?void 0:R.nextElementSibling;if(!t||t.tagName!=="SAMP")return;F.preventDefault();const a=t.classList.contains("sf-dump-compact");if(a&&t.dataset.lazy&&c(t),F.ctrlKey||F.metaKey)if(a){let O;for(;(O=t.querySelectorAll("[data-lazy]")).length;)O.forEach(c);t.querySelectorAll("samp.sf-dump-compact").forEach(function(C){var L;C.classList.replace("sf-dump-compact","sf-dump-expanded");const A=(L=C.previousElementSibling)==null?void 0:L.previousElementSibling;A&&A.classList.contains("sf-dump-toggle")&&(A.lastElementChild.textContent="\u25BC"),U(C,!0)})}else t.querySelectorAll("samp.sf-dump-expanded").forEach(function(O){var A;O.classList.replace("sf-dump-expanded","sf-dump-compact");const C=(A=O.previousElementSibling)==null?void 0:A.previousElementSibling;C&&C.classList.contains("sf-dump-toggle")&&(C.lastElementChild.textContent="\u25B6"),U(O,!1)});t.classList.toggle("sf-dump-compact",!a),t.classList.toggle("sf-dump-expanded",a),d.lastElementChild.textContent=a?"\u25BC":"\u25B6",U(t,a)});class V extends PhpDebugBar.Widgets.KVListWidget{get className(){return s("kvlist jsonvarlist")}itemRenderer(d,e,t,a){const T=document.createElement("span");T.setAttribute("title",t),T.textContent=t,d.appendChild(T);const R=a&&a.value!==void 0?a.value:a;PhpDebugBar.Widgets.renderValueInto(e,R),a&&a.xdebug_link&&e.appendChild(PhpDebugBar.Widgets.editorLink(a.xdebug_link))}}PhpDebugBar.Widgets.JsonVariableListWidget=V})();})(); diff --git a/src/DataCollector/RequestDataCollector.php b/src/DataCollector/RequestDataCollector.php index ea01fabb..2cf603e9 100644 --- a/src/DataCollector/RequestDataCollector.php +++ b/src/DataCollector/RequestDataCollector.php @@ -47,10 +47,15 @@ public function collect(): array $data[$name] = $this->getDataFormatter()->formatVar($global); } + $summary = [ + 'uri' => $requestUri ?? '', + ]; + return [ 'data' => $data, 'tooltip' => null, 'badge' => null, + 'summary' => $summary, ]; } @@ -93,6 +98,9 @@ public function getWidgets(): array "map" => "request.badge", "default" => "null", ], + 'request:summary' => [ + "map" => "request.summary", + ] ]; if ($this->showUriIndicator) { diff --git a/src/JavascriptRenderer.php b/src/JavascriptRenderer.php index 518c7835..9ed1522b 100644 --- a/src/JavascriptRenderer.php +++ b/src/JavascriptRenderer.php @@ -1369,8 +1369,8 @@ protected function getJsControlsDefinitionCode(string $varname): string ); } - if (isset($options['map']) && isset($options['default'])) { - $dataMap[$name] = [$options['map'], $options['default']]; + if (isset($options['map'])) { + $dataMap[$name] = [$options['map'], $options['default'] ?? 'null']; } } From 1ccf00dee2035d485f8f8d0783ffd22279e60a1b Mon Sep 17 00:00:00 2001 From: "Barry vd. Heuvel" Date: Thu, 20 Aug 2026 14:33:11 +0200 Subject: [PATCH 2/3] Update summaries, add better tab --- CHANGELOG.md | 7 + build/build-icons.js | 1 + docs/docs/data-collectors.md | 38 ++ docs/docs/javascript-bar.md | 29 + docs/docs/openhandler.md | 36 ++ resources/debugbar.css | 255 ++++---- resources/debugbar.js | 545 ++++++++++++++---- resources/dist/debugbar.min.css | 2 +- resources/dist/debugbar.min.js | 45 +- resources/icons.css | 6 + src/DataCollector/DataCollector.php | 1 + src/DataCollector/ExceptionsCollector.php | 77 ++- src/DataCollector/HidesMaskedValues.php | 28 + src/DataCollector/HttpCollector.php | 49 ++ src/DataCollector/MemoryCollector.php | 43 ++ src/DataCollector/MessagesCollector.php | 56 ++ src/DataCollector/ObjectCountCollector.php | 34 ++ src/DataCollector/PDO/PDOCollector.php | 65 +++ src/DataCollector/RequestDataCollector.php | 47 +- src/DataCollector/SummarizesData.php | 24 + src/DataCollector/TemplateCollector.php | 37 ++ src/DataCollector/TimeDataCollector.php | 38 ++ src/DebugBar.php | 13 + src/OpenHandler.php | 70 ++- src/SummaryFormatter.php | 224 +++++++ .../RequestDataCollectorTest.php | 87 +++ tests/Tests/OpenHandlerTest.php | 30 + tests/Tests/SummaryFormatterTest.php | 133 +++++ tests/Tests/full_init.html | 1 + 29 files changed, 1745 insertions(+), 276 deletions(-) create mode 100644 src/DataCollector/SummarizesData.php create mode 100644 src/SummaryFormatter.php create mode 100644 tests/Tests/DataCollector/RequestDataCollectorTest.php create mode 100644 tests/Tests/SummaryFormatterTest.php diff --git a/CHANGELOG.md b/CHANGELOG.md index acc75d1d..3859e30d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,11 @@ # Changelog +2026-08-20 + + - Add request summaries: collectors can return a `summary`, the bar header shows the one + for the tab in view or the whole request and copies it, and `open.php?op=summary` serves + the same text for tooling that never renders the bar + - Fix widgets declaring a `map` without a `default` being dropped from the data map + 2025-11-25 - Add Antigravity editor link template diff --git a/build/build-icons.js b/build/build-icons.js index 90aac6e1..3e2b75b8 100644 --- a/build/build-icons.js +++ b/build/build-icons.js @@ -28,6 +28,7 @@ const icons = [ 'inbox', 'leaf', 'list', + 'list-details', 'logs', 'mobiledata', 'search', diff --git a/docs/docs/data-collectors.md b/docs/docs/data-collectors.md index a7f3846a..01d579c8 100644 --- a/docs/docs/data-collectors.md +++ b/docs/docs/data-collectors.md @@ -76,6 +76,44 @@ class MyDataCollector extends DebugBar\DataCollector\DataCollector implements De This will have the result of adding a new indicator to the debug bar. +## Summaries + +A collector can also return a `summary` from `collect()` and declare a `:summary` +widget pointing at it. The bar shows it in the summary popover in its header while that +tab is in view, and collects every summary into the whole-request text the popover copies +and the open handler serves (see [Open handler](openhandler.md)). + +```php +public function collect() +{ + return array( + 'queries' => $this->queries, + 'summary' => array( + 'queries' => count($this->queries), + 'duration' => $this->getDataFormatter()->formatDuration($this->duration), + 'slowest' => array('select * from users = 12ms'), + ), + ); +} + +public function getWidgets() +{ + return array( + 'mycollector' => array('widget' => '...', 'map' => 'mycollector.queries', 'default' => '[]'), + 'mycollector:summary' => array('map' => 'mycollector.summary'), + ); +} +``` + +A summary may be a string, which is used as-is, or an array, which is rendered as +`key = value` lines with nested arrays indented and lists rendered as `- item`. + +Summaries are meant to be copied out of the browser, so keep them small and treat them as +data that leaves the machine: report anomalies rather than volumes, quote values only when +they matter, run anything sensitive through `hideMaskedValues()`/`hideMaskedUri()`, and mark +anything you truncate (`(+12 more)`) rather than silently dropping it. Return an empty +array when the collector has nothing to report, and it contributes no section at all. + When implementing the `Renderable` interface, you may use widgets which are not provided with the default install. You can add new assets by implementing the `DebugBar\DataCollector\AssetProvider` interface. diff --git a/docs/docs/javascript-bar.md b/docs/docs/javascript-bar.md index 3cb6a3cc..5cd47b68 100644 --- a/docs/docs/javascript-bar.md +++ b/docs/docs/javascript-bar.md @@ -174,6 +174,35 @@ var LinkIndicator = PhpDebugBar.DebugBar.Indicator.extend({ debugbar.addIndicator('phpdoc', new LinkIndicator({ href: 'http://doc.php.com', title: 'PHP doc' })); ``` +## Summaries + +A tab can carry a `summary` attribute: a string, or an object rendered as `key = value` +lines. + +```js +debugbar.getControl('mytab').set('summary', { queries: 8, duration: '135us' }); +``` + +When any control has one, a summary button appears in the bar header. It opens a popover +showing the summary of the tab currently in view, with a switch below it to see the whole +request instead. **Copy** takes whatever is on screen. + +The chosen scope is remembered, so a preference for the whole request survives switching +tabs. Tabs without a summary of their own show the whole request regardless, without +changing that preference. + +Three methods back it, all reading the dataset currently shown unless given an id: + + - `debugbar.getSummarySection(name)` - one control's summary as `{name, title, text}`, or + `null` when it has nothing to report + - `debugbar.getSummarySections()` - all of them, in the order the controls were declared + - `debugbar.getSummary()` - everything as one block of text; the whole-request context you + would paste into an issue, a chat or a prompt. It matches the text + `DebugBar::getSummary()` produces server side, byte for byte. + +Collectors normally set this through the data map rather than by hand, by declaring a +`:summary` widget (see [Data collectors](data-collectors.md)). + ## OpenHandler An OpenHandler object can be provided using `setOpenHandler()`. The object is in charge diff --git a/docs/docs/openhandler.md b/docs/docs/openhandler.md index 53ccefbb..c02c8e59 100644 --- a/docs/docs/openhandler.md +++ b/docs/docs/openhandler.md @@ -23,3 +23,39 @@ $renderer->setOpenHandlerUrl('open.php'); This adds a button in the top right corner of the debug bar which allows you to browse and open previous sets of collected data. + +## Request summaries + +The open handler also serves a plain text summary of a stored dataset, for tooling that +never renders the bar - a terminal, a CI job, or an agent driving the app over HTTP. + +``` +GET open.php?op=summary&id= +``` + +Omit `id` to summarize the most recently stored dataset. The response is +`text/plain`, and contains the same text the bar's summary popover shows under "All": + +``` +# PHP DebugBar summary + +id = 01a01ecb81c6571ca7a79f91aae2ae9d +datetime = 2026-01-30 10:50:48 + +## Request +method = GET +uri = /checkout?page=2&api_token=ab***op +status = 200 + +## Database +statements = 8 +duration = 135us +duplicates = 2 +``` + +The dataset id of the current request is also sent as the `phpdebugbar-id` response +header (see [Ajax and stacked data](ajax-and-stack.md)), so a client can read the +header and fetch the matching summary. + +The same text is available in PHP through `$debugbar->getSummary()`, and in the browser +through `PhpDebugBar.instance.getSummary()`. diff --git a/resources/debugbar.css b/resources/debugbar.css index a6b0e3ab..3815dceb 100644 --- a/resources/debugbar.css +++ b/resources/debugbar.css @@ -430,6 +430,7 @@ i.phpdebugbar-icon::before { a.phpdebugbar-close-btn, a.phpdebugbar-open-btn, +a.phpdebugbar-summary-btn, a.phpdebugbar-fullscreen-btn, a.phpdebugbar-minimize-btn, a.phpdebugbar-maximize-btn, @@ -442,6 +443,7 @@ a.phpdebugbar-tab.phpdebugbar-tab-settings { a.phpdebugbar-close-btn:after, a.phpdebugbar-open-btn:after, +a.phpdebugbar-summary-btn:after, a.phpdebugbar-restore-btn:after, a.phpdebugbar-fullscreen-btn:after, a.phpdebugbar-minimize-btn:after, @@ -510,6 +512,138 @@ a.phpdebugbar-open-btn:after { mask-image: var(--debugbar-icon-folder-open); } +a.phpdebugbar-summary-btn:after { + -webkit-mask-image: var(--debugbar-icon-list-details); + mask-image: var(--debugbar-icon-list-details); +} + +a.phpdebugbar-summary-btn.phpdebugbar-summary-btn-active:after { + background-color: var(--debugbar-text); +} + +/* The summary control: a header button anchoring a popover for the active tab */ +div.phpdebugbar-header-right > div.phpdebugbar-summary-float { + position: relative; +} +div.phpdebugbar-summary-float > div.phpdebugbar-summary-popover { + position: absolute; + bottom: 100%; + right: 0; + z-index: 4; + width: 420px; + max-width: min(420px, 90vw); + max-height: 50vh; + margin-bottom: 4px; + padding: 8px; + display: flex; + flex-direction: column; + gap: 6px; + line-height: normal; + text-align: left; + background-color: var(--debugbar-background); + border: 1px solid var(--debugbar-border); + border-radius: 4px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); +} +/* Open away from the page edge the bar is docked against */ +div.phpdebugbar[data-toolbarPosition="top"] div.phpdebugbar-summary-float > div.phpdebugbar-summary-popover { + bottom: auto; + top: 100%; + margin-bottom: 0; + margin-top: 4px; +} +div.phpdebugbar-summary-float div.phpdebugbar-summary-scope { + flex: 1 1 auto; + min-width: 0; + display: flex; + gap: 4px; +} +div.phpdebugbar-summary-float button.phpdebugbar-summary-scope-btn { + flex: 0 1 auto; + max-width: 60%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + padding: 2px 8px; + font-size: 11px; + font-family: inherit; + line-height: 1.4; + color: var(--debugbar-text-muted); + background-color: transparent; + border: 1px solid transparent; + border-radius: 3px; + cursor: pointer; +} +div.phpdebugbar-summary-float button.phpdebugbar-summary-scope-btn:hover { + color: var(--debugbar-text); +} +div.phpdebugbar-summary-float button.phpdebugbar-summary-scope-btn.phpdebugbar-summary-scope-active { + color: var(--debugbar-text); + background-color: var(--debugbar-background-alt); + border-color: var(--debugbar-border); + cursor: default; +} +div.phpdebugbar-summary-float div.phpdebugbar-summary-content { + flex: 1 1 auto; + overflow: auto; + white-space: pre-wrap; + word-break: break-word; + font-family: var(--debugbar-font-mono); + font-size: 11px; + line-height: 1.4; + color: var(--debugbar-text); + padding: 6px; + background-color: var(--debugbar-background-alt); + border-radius: 3px; +} +div.phpdebugbar-summary-float div.phpdebugbar-summary-actions { + flex: 0 0 auto; + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; +} +div.phpdebugbar-summary-float button.phpdebugbar-summary-copy { + flex: 0 0 auto; + display: inline-flex; + align-items: center; + gap: 4px; + padding: 3px 8px; + font-size: 11px; + font-family: inherit; + color: var(--debugbar-text); + background-color: var(--debugbar-background-alt); + border: 1px solid var(--debugbar-border); + border-radius: 3px; + cursor: pointer; + line-height: 1.4; +} +div.phpdebugbar-summary-float button.phpdebugbar-summary-copy:hover { + background-color: var(--debugbar-header); +} +div.phpdebugbar-summary-float button.phpdebugbar-summary-copy::before { + content: ""; + display: inline-block; + width: 11px; + height: 11px; + -webkit-mask-image: var(--debugbar-icon-copy); + mask-image: var(--debugbar-icon-copy); + -webkit-mask-size: contain; + mask-size: contain; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-position: center; + mask-position: center; + background-color: currentColor; +} +div.phpdebugbar-summary-float button.phpdebugbar-summary-copy.phpdebugbar-summary-copied { + color: var(--debugbar-success, #4caf50); +} +div.phpdebugbar-summary-float button.phpdebugbar-summary-copy.phpdebugbar-summary-copied::before { + -webkit-mask-image: var(--debugbar-icon-circle-check); + mask-image: var(--debugbar-icon-circle-check); +} + .phpdebugbar-indicator { position: relative; cursor: pointer; @@ -590,132 +724,11 @@ div.phpdebugbar-panel { height: 100%; overflow: auto; width: 100%; - position: relative; } div.phpdebugbar-panel.phpdebugbar-active { display: block; } -div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float { - position: sticky; - top: 0; - right: 0; - height: 0; - z-index: 3; - pointer-events: none; -} -div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn { - position: absolute; - top: 8px; - right: 8px; - pointer-events: auto; - width: 28px; - height: 28px; - padding: 0; - display: inline-flex; - align-items: center; - justify-content: center; - color: var(--debugbar-text-muted); - background-color: var(--debugbar-background); - border: 1px solid var(--debugbar-border); - border-radius: 3px; - cursor: pointer; - box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18); - transition: transform 0.12s ease, box-shadow 0.12s ease, color 0.12s ease; -} -div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn:hover { - color: var(--debugbar-text); - transform: translateY(-1px); - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.22); -} -div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn.phpdebugbar-panel-summary-btn-active { - color: var(--debugbar-text); - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22) inset; -} -div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn::before { - content: ""; - display: inline-block; - width: 16px; - height: 16px; - -webkit-mask-image: var(--debugbar-icon-bookmark); - mask-image: var(--debugbar-icon-bookmark); - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - background-color: currentColor; -} - -div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover { - position: absolute; - top: 44px; - right: 8px; - pointer-events: auto; - min-width: 260px; - max-width: min(480px, 90vw); - max-height: 60vh; - padding: 8px; - background-color: var(--debugbar-background); - border: 1px solid var(--debugbar-border); - border-radius: 4px; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); - display: flex; - flex-direction: column; - gap: 6px; - overflow: hidden; -} -div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover div.phpdebugbar-panel-summary-content { - flex: 1 1 auto; - overflow: auto; - white-space: pre-wrap; - word-break: break-word; - font-family: var(--debugbar-font-mono); - font-size: 11px; - line-height: 1.4; - color: var(--debugbar-text); - padding: 4px; - background-color: var(--debugbar-background-alt); - border-radius: 3px; -} -div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy { - flex: 0 0 auto; - align-self: flex-end; - display: inline-flex; - align-items: center; - gap: 4px; - padding: 2px 8px; - font-size: 11px; - font-family: inherit; - color: var(--debugbar-text); - background-color: var(--debugbar-background-alt); - border: 1px solid var(--debugbar-border); - border-radius: 3px; - cursor: pointer; - line-height: 1.4; -} -div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy:hover { - background-color: var(--debugbar-background); -} -div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy::before { - content: ""; - display: inline-block; - width: 11px; - height: 11px; - -webkit-mask-image: var(--debugbar-icon-copy); - mask-image: var(--debugbar-icon-copy); - -webkit-mask-size: contain; - mask-size: contain; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - -webkit-mask-position: center; - mask-position: center; - background-color: currentColor; -} -div.phpdebugbar-panel > div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy.phpdebugbar-panel-summary-copied { - color: var(--debugbar-success, #4caf50); -} /* -------------------------------------- */ diff --git a/resources/debugbar.js b/resources/debugbar.js index 7604483d..f7abdf45 100644 --- a/resources/debugbar.js +++ b/resources/debugbar.js @@ -86,6 +86,111 @@ window.PhpDebugBar = window.PhpDebugBar || {}; } }; + /** + * Formats a summary value as indented plain text. + * + * Lists become "- item" lines and objects become "key = value" lines. Mirrors + * DebugBar\SummaryFormatter::formatValue() so both sides produce the same text. + * + * @param {*} value + * @param {string} [indent] + * @returns {string} + */ + const formatSummary = PhpDebugBar.utils.formatSummary = function (value, indent = '') { + const scalar = v => (v === null || v === undefined) ? 'null' : String(v); + + if (value === null || value === undefined || typeof value !== 'object') { + return indent + scalar(value); + } + + const lines = []; + const isList = Array.isArray(value); + + for (const [key, item] of Object.entries(value)) { + const nested = item !== null && typeof item === 'object'; + + if (isList) { + if (!nested) { + lines.push(`${indent}- ${scalar(item)}`); + continue; + } + // Hoist the first line of the nested block onto the bullet, YAML style. + const block = formatSummary(item, `${indent} `); + lines.push(`${block.slice(0, indent.length)}- ${block.slice(indent.length + 2)}`); + continue; + } + + if (nested) { + lines.push(`${indent}${key}:`); + lines.push(formatSummary(item, `${indent} `)); + continue; + } + + lines.push(`${indent}${key} = ${scalar(item)}`); + } + + return lines.join('\n'); + }; + + /** + * Normalizes a collector summary to text. Strings pass through untouched so + * collectors can supply their own formatting. + * + * @param {*} summary + * @returns {string} + */ + const summaryText = PhpDebugBar.utils.summaryText = function (summary) { + if (summary === null || summary === undefined) { + return ''; + } + return typeof summary === 'string' ? summary : formatSummary(summary); + }; + + /** + * Turns a control name into a display title, matching the PHP renderer. + * + * @param {string} name + * @returns {string} + */ + const titleize = PhpDebugBar.utils.titleize = function (name) { + const label = String(name).replace(/[_-]/g, ' '); + return label.charAt(0).toUpperCase() + label.slice(1); + }; + + /** + * Copies text to the clipboard, falling back to execCommand on insecure origins + * where navigator.clipboard is unavailable. + * + * @param {string} text + * @returns {Promise} rejects when the copy did not happen + */ + PhpDebugBar.utils.copyToClipboard = function (text) { + if (!text) { + return Promise.reject(new Error('Nothing to copy')); + } + + if (navigator.clipboard?.writeText) { + return navigator.clipboard.writeText(text); + } + + const ta = document.createElement('textarea'); + ta.value = text; + ta.style.position = 'fixed'; + ta.style.opacity = '0'; + document.body.append(ta); + ta.select(); + + let copied = false; + try { + copied = document.execCommand('copy'); + } catch { + copied = false; + } + ta.remove(); + + return copied ? Promise.resolve() : Promise.reject(new Error('Copy failed')); + }; + PhpDebugBar.utils.schedule = function (cb) { if (window.requestIdleCallback) { return window.requestIdleCallback(cb, { timeout: 1000 }); @@ -234,6 +339,214 @@ window.PhpDebugBar = window.PhpDebugBar || {}; // ------------------------------------------------------------------ + /** + * SummaryPopover + * + * The summary control in the bar header: a button revealing the summary of the tab + * being viewed, with buttons to copy that section or the whole request. The text is + * meant to be pasted into an issue, a chat or a prompt. + * + * Options: + * - getSection: returns {title, text} for the tab in view, or null + * - getAll: returns the whole-request summary as text + */ + class SummaryPopover { + constructor(options = {}) { + this.section = null; + + this.el = document.createElement('div'); + this.el.classList.add(csscls('summary-float')); + this.el.hidden = true; + + this.btn = document.createElement('a'); + this.btn.classList.add(csscls('summary-btn')); + this.btn.setAttribute('title', 'Show summary'); + this.btn.setAttribute('aria-haspopup', 'dialog'); + this.btn.setAttribute('aria-expanded', 'false'); + this.btn.addEventListener('click', (e) => { + e.stopPropagation(); + this.toggle(); + }); + this.el.append(this.btn); + + this.popover = document.createElement('div'); + this.popover.classList.add(csscls('summary-popover')); + this.popover.setAttribute('role', 'dialog'); + this.popover.hidden = true; + // Clicks inside must not reach the document handler that closes the popover + this.popover.addEventListener('click', e => e.stopPropagation()); + + this.content = document.createElement('div'); + this.content.classList.add(csscls('summary-content')); + this.popover.append(this.content); + + // Footer: which summary is in view on the left, copying it on the right + this.preferAll = localStorage.getItem('phpdebugbar-summary-all') === '1'; + this.scope = document.createElement('div'); + this.scope.classList.add(csscls('summary-scope')); + this.sectionBtn = this.createScopeButton('', false); + this.allBtn = this.createScopeButton('All', true); + this.scope.append(this.sectionBtn, this.allBtn); + + this.copyBtn = this.createCopyButton('Copy', () => this.shownText); + + const actions = document.createElement('div'); + actions.classList.add(csscls('summary-actions')); + actions.append(this.scope, this.copyBtn); + this.popover.append(actions); + this.el.append(this.popover); + + this.getSection = options.getSection || (() => null); + this.getAll = options.getAll || (() => ''); + + this.onDocumentClick = () => this.close(); + this.onKeyDown = (e) => { + if (e.key === 'Escape') { + this.close(); + } + }; + } + + /** + * Builds one option of the scope switch. + * + * @param {string} label + * @param {boolean} all Whether this option shows the whole request + * @return {HTMLButtonElement} + */ + createScopeButton(label, all) { + const btn = document.createElement('button'); + btn.type = 'button'; + btn.classList.add(csscls('summary-scope-btn')); + btn.textContent = label; + btn.addEventListener('click', () => { + if (this.preferAll === all) { + return; + } + this.preferAll = all; + localStorage.setItem('phpdebugbar-summary-all', all ? '1' : '0'); + this.refresh(); + }); + + return btn; + } + + /** + * Builds the copy button, which flashes a confirmation once the text is on the + * clipboard. + * + * @param {string} label + * @param {Function} getText Called on click, so the text is always current + * @return {HTMLButtonElement} + */ + createCopyButton(label, getText) { + const btn = document.createElement('button'); + btn.type = 'button'; + btn.classList.add(csscls('summary-copy')); + this.copyLabel = document.createElement('span'); + this.copyLabel.textContent = label; + this.copyLabelText = label; + btn.append(this.copyLabel); + btn.addEventListener('click', () => { + PhpDebugBar.utils.copyToClipboard(getText()).then(() => { + this.resetCopied(); + btn.classList.add(csscls('summary-copied')); + this.copyLabel.textContent = 'Copied!'; + this.copyTimer = setTimeout(() => this.resetCopied(), 1500); + }, () => {}); + }); + + return btn; + } + + /** + * Drops the "Copied!" confirmation. + * + * Called whenever the text behind the button changes, so it never claims to have + * copied something other than what is now in view. + */ + resetCopied() { + clearTimeout(this.copyTimer); + this.copyTimer = null; + this.copyLabel.textContent = this.copyLabelText; + this.copyBtn.classList.remove(csscls('summary-copied')); + } + + /** + * Shows or hides the whole control depending on whether there is anything to show. + * + * @param {boolean} available + */ + setAvailable(available) { + this.el.hidden = !available; + if (!available) { + this.close(); + } + } + + /** + * Fills the popover with whichever scope is in view: the summary of the tab being + * viewed, or the whole request. Tabs with no summary of their own always show the + * whole request, without changing the remembered preference. + */ + refresh() { + this.resetCopied(); + this.section = this.getSection(); + this.all = this.getAll(); + this.showAll = this.preferAll || !this.section; + + this.sectionBtn.hidden = !this.section; + this.sectionBtn.textContent = this.section ? this.section.title : ''; + this.sectionBtn.classList.toggle(csscls('summary-scope-active'), !this.showAll); + this.allBtn.classList.toggle(csscls('summary-scope-active'), this.showAll); + + this.content.textContent = this.shownText; + this.content.scrollTop = 0; + } + + /** + * The text currently in view, which is also what the Copy button copies. + * + * @return {string} + */ + get shownText() { + return this.showAll ? this.all : (this.section?.text ?? ''); + } + + open() { + this.refresh(); + this.popover.hidden = false; + this.btn.setAttribute('aria-expanded', 'true'); + this.btn.classList.add(csscls('summary-btn-active')); + document.addEventListener('click', this.onDocumentClick); + document.addEventListener('keydown', this.onKeyDown); + } + + close() { + this.popover.hidden = true; + this.btn.setAttribute('aria-expanded', 'false'); + this.btn.classList.remove(csscls('summary-btn-active')); + document.removeEventListener('click', this.onDocumentClick); + document.removeEventListener('keydown', this.onKeyDown); + } + + toggle() { + if (this.popover.hidden) { + this.open(); + } else { + this.close(); + } + } + + get isOpen() { + return !this.popover.hidden; + } + } + + PhpDebugBar.SummaryPopover = SummaryPopover; + + // ------------------------------------------------------------------ + /** * Tab * @@ -248,7 +561,7 @@ window.PhpDebugBar = window.PhpDebugBar || {}; * - badge * - widget * - summary: string (shown as-is) or object (rendered as "key = value" - * per line). Shows a floating button with a popover + copy button. + * per line). Shown in the bar's summary popover while this tab is active. * - data: forward data to widget data */ class Tab extends Widget { @@ -289,123 +602,14 @@ window.PhpDebugBar = window.PhpDebugBar || {}; } }); - this.summaryFloat = document.createElement('div'); - this.summaryFloat.classList.add(csscls('panel-summary-float')); - this.summaryFloat.hidden = true; - - this.summaryBtn = document.createElement('button'); - this.summaryBtn.type = 'button'; - this.summaryBtn.classList.add(csscls('panel-summary-btn')); - this.summaryBtn.setAttribute('title', 'Show summary'); - this.summaryBtn.addEventListener('click', (e) => { - e.stopPropagation(); - this._toggleSummary(); - }); - this.summaryFloat.append(this.summaryBtn); - - this.summaryPopover = document.createElement('div'); - this.summaryPopover.classList.add(csscls('panel-summary-popover')); - this.summaryPopover.hidden = true; - this.summaryPopover.addEventListener('click', (e) => { - e.stopPropagation(); - }); - - this.summaryContent = document.createElement('div'); - this.summaryContent.classList.add(csscls('panel-summary-content')); - this.summaryPopover.append(this.summaryContent); - - this.summaryCopyBtn = document.createElement('button'); - this.summaryCopyBtn.type = 'button'; - this.summaryCopyBtn.classList.add(csscls('panel-summary-copy')); - this.summaryCopyBtn.setAttribute('title', 'Copy to clipboard'); - this.summaryCopyLabel = document.createElement('span'); - this.summaryCopyLabel.textContent = 'Copy'; - this.summaryCopyBtn.append(this.summaryCopyLabel); - this.summaryCopyBtn.addEventListener('click', () => { - const text = this._summaryText || ''; - if (!text) { - return; - } - const done = () => { - const prev = this.summaryCopyLabel.textContent; - this.summaryCopyBtn.classList.add(csscls('panel-summary-copied')); - this.summaryCopyLabel.textContent = 'Copied!'; - setTimeout(() => { - this.summaryCopyLabel.textContent = prev; - this.summaryCopyBtn.classList.remove(csscls('panel-summary-copied')); - }, 1500); - }; - if (navigator.clipboard?.writeText) { - navigator.clipboard.writeText(text).then(done, () => {}); - } else { - const ta = document.createElement('textarea'); - ta.value = text; - ta.style.position = 'fixed'; - ta.style.opacity = '0'; - document.body.append(ta); - ta.select(); - try { - if (document.execCommand('copy')) { - done(); - } - } catch (e) { - // ignore - } - ta.remove(); - } - }); - this.summaryPopover.append(this.summaryCopyBtn); - this.summaryFloat.append(this.summaryPopover); - - this._closeSummaryOnDocClick = () => { - this.summaryPopover.hidden = true; - this.summaryBtn.classList.remove(csscls('panel-summary-btn-active')); - }; - this._closeSummaryOnEsc = (e) => { - if (e.key === 'Escape') { - this._closeSummaryOnDocClick(); - } - }; - - this._toggleSummary = () => { - const wasHidden = this.summaryPopover.hidden; - this.summaryPopover.hidden = !wasHidden; - this.summaryBtn.classList.toggle(csscls('panel-summary-btn-active'), wasHidden); - if (wasHidden) { - document.addEventListener('click', this._closeSummaryOnDocClick); - document.addEventListener('keydown', this._closeSummaryOnEsc); - } else { - document.removeEventListener('click', this._closeSummaryOnDocClick); - document.removeEventListener('keydown', this._closeSummaryOnEsc); - } - }; - this.bindAttr('widget', function (widget) { - this.el.innerHTML = ''; - this.el.append(this.summaryFloat); - this.el.append(widget.el); + this.el.replaceChildren(widget.el); }); + // Read back by DebugBar.getSummarySections(); the bar shows it in the header + this.summaryText = ''; this.bindAttr('summary', function (summary) { - let text = ''; - if (typeof summary === 'string') { - text = summary; - } else if (summary != null && typeof summary === 'object') { - text = Object.entries(summary) - .map(([k, v]) => { - const val = v !== null && typeof v === 'object' - ? JSON.stringify(v) - : String(v); - return `${k} = ${val}`; - }) - .join('\n'); - } - this._summaryText = text; - this.summaryContent.textContent = text; - this.summaryFloat.hidden = !text; - if (!text && !this.summaryPopover.hidden) { - this._closeSummaryOnDocClick(); - } + this.summaryText = summaryText(summary); }); this.widgetRendered = false; @@ -1096,6 +1300,14 @@ window.PhpDebugBar = window.PhpDebugBar || {}; self.restore(); }); + // summary control (children of header-right float right, so this sits with + // the other controls rather than among the indicators) + this.summaryControl = new SummaryPopover({ + getSection: () => self.getSummarySection(self.activePanelName), + getAll: () => self.getSummary() + }); + this.headerRight.append(this.summaryControl.el); + // open button this.openbtn = document.createElement('a'); this.openbtn.classList.add(csscls('open-btn')); @@ -1389,6 +1601,11 @@ window.PhpDebugBar = window.PhpDebugBar || {}; this.activePanelName = name; + // The popover shows the tab in view, so follow along while it is open + if (this.summaryControl?.isOpen) { + this.summaryControl.refresh(); + } + this.el.classList.remove(csscls('minimized')); localStorage.setItem('phpdebugbar-visible', '1'); localStorage.setItem('phpdebugbar-tab', name); @@ -1717,6 +1934,13 @@ window.PhpDebugBar = window.PhpDebugBar || {}; } } + if (this.summaryControl) { + this.summaryControl.setAvailable(this.getSummary() !== ''); + if (this.summaryControl.isOpen) { + this.summaryControl.refresh(); + } + } + if (!this.isMinimized()) { this.showTab(); } @@ -1724,6 +1948,99 @@ window.PhpDebugBar = window.PhpDebugBar || {}; this.resize(); } + /** + * Returns the summary of a single control, or null when it has nothing to say. + * + * @this {DebugBar} + * @param {string} name Control name, e.g. the name of the tab being viewed + * @param {string} [datasetId] Defaults to the dataset currently shown + * @return {?{name: string, title: string, text: string}} + */ + getSummarySection(name, datasetId) { + const control = name ? this.getControl(name) : undefined; + + // Summaries set directly on a control win; the rest come from the data map, + // which also covers controls that are indicators rather than tabs. + let text = control?.summaryText || ''; + if (!text) { + const def = this.dataMap[`${name}:summary`]; + const dataset = this.datasets[datasetId ?? this.activeDatasetId]; + text = def ? summaryText(getDictValue(dataset, def[0], null)) : ''; + } + + if (!text.trim()) { + return null; + } + + return { name, title: control?.get('title') || titleize(name), text }; + } + + /** + * Returns every summary in a dataset, in the order the controls were declared. + * + * @this {DebugBar} + * @param {string} [datasetId] Defaults to the dataset currently shown + * @return {Array<{name: string, title: string, text: string}>} + */ + getSummarySections(datasetId) { + if (!this.datasets[datasetId ?? this.activeDatasetId]) { + return []; + } + + const suffix = ':summary'; + const names = Object.keys(this.dataMap) + .filter(key => key.endsWith(suffix)) + .map(key => key.slice(0, -suffix.length)); + + // Controls whose summary was set directly rather than through the data map + for (const [name, control] of Object.entries(this.controls)) { + if (control.summaryText && !names.includes(name)) { + names.push(name); + } + } + + return names.map(name => this.getSummarySection(name, datasetId)).filter(Boolean); + } + + /** + * Returns every collector summary in a dataset as one block of plain text. + * + * This is the whole-request context you would paste into an issue, a chat or a + * prompt. Mirrors DebugBar::getSummary() in PHP, which serves the same text over + * the open handler for tooling that never renders the bar. + * + * @this {DebugBar} + * @param {string} [datasetId] Defaults to the dataset currently shown + * @return {string} + */ + getSummary(datasetId) { + const sections = this.getSummarySections(datasetId); + if (!sections.length) { + return ''; + } + + const blocks = ['# PHP DebugBar summary']; + + // The raw uri in __meta is unmasked, so the request collector's masked one is + // used instead; it shows up as part of its own section. + const meta = this.datasets[datasetId ?? this.activeDatasetId].__meta || {}; + const header = {}; + for (const key of ['id', 'datetime', 'ip']) { + if (meta[key]) { + header[key] = meta[key]; + } + } + if (Object.keys(header).length) { + blocks.push(formatSummary(header)); + } + + for (const section of sections) { + blocks.push(`## ${section.title}\n${section.text}`); + } + + return blocks.join('\n\n'); + } + /** * Sets the handler to open past dataset * diff --git a/resources/dist/debugbar.min.css b/resources/dist/debugbar.min.css index 90608ea6..937c7a4f 100644 --- a/resources/dist/debugbar.min.css +++ b/resources/dist/debugbar.min.css @@ -1,4 +1,4 @@ -:root{--debugbar-icon-adjustments: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2010a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%204v4%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2012v8%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2016a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%204v10%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2018v2%22%20%2F%3E%20%3Cpath%20d%3D%22M16%207a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%204v1%22%20%2F%3E%20%3Cpath%20d%3D%22M18%209v11%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-adjustments-horizontal: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%206a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206l8%200%22%20%2F%3E%20%3Cpath%20d%3D%22M16%206l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2012a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012l2%200%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2012l10%200%22%20%2F%3E%20%3Cpath%20d%3D%22M15%2018a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2018l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M19%2018l1%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrow-right: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2012l14%200%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2018l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M13%206l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-left-right: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2017l-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2010l-3%20-3l3%20-3%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207l18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2020l3%20-3l-3%20-3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bolt: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%203l0%207l6%200l-8%2011l0%20-7l-6%200l8%20-11%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bookmark: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M18%207v14l-6%20-4l-6%204v-14a4%204%200%200%201%204%20-4h4a4%204%200%200%201%204%204%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-box: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%203l8%204.5l0%209l-8%204.5l-8%20-4.5l0%20-9l8%20-4.5%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l8%20-4.5%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l0%209%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l-8%20-4.5%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-briefcase: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%209a2%202%200%200%201%202%20-2h14a2%202%200%200%201%202%202v9a2%202%200%200%201%20-2%202h-14a2%202%200%200%201%20-2%20-2l0%20-9%22%20%2F%3E%20%3Cpath%20d%3D%22M8%207v-2a2%202%200%200%201%202%20-2h4a2%202%200%200%201%202%202v2%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2013a20%2020%200%200%200%2018%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bug: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%209v-1a3%203%200%200%201%206%200v1%22%20%2F%3E%20%3Cpath%20d%3D%22M8%209h8a6%206%200%200%201%201%203v3a5%205%200%200%201%20-10%200v-3a6%206%200%200%201%201%20-3%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2013l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2013l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2020l0%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2019l3.35%20-2%22%20%2F%3E%20%3Cpath%20d%3D%22M20%2019l-3.35%20-2%22%20%2F%3E%20%3Cpath%20d%3D%22M4%207l3.75%202.4%22%20%2F%3E%20%3Cpath%20d%3D%22M20%207l-3.75%202.4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-calendar: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%207a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-12a2%202%200%200%201%20-2%20-2v-12%22%20%2F%3E%20%3Cpath%20d%3D%22M16%203v4%22%20%2F%3E%20%3Cpath%20d%3D%22M8%203v4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2011h16%22%20%2F%3E%20%3Cpath%20d%3D%22M11%2015h1%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2015v3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chart-infographic: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207a4%204%200%201%200%208%200a4%204%200%201%200%20-8%200%22%20%2F%3E%20%3Cpath%20d%3D%22M7%203v4h4%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2017l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2014l0%207%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2013l0%208%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2012l0%209%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-clock: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%2018%200a9%209%200%200%200%20-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%207v5l3%203%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-code: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M7%208l-4%204l4%204%22%20%2F%3E%20%3Cpath%20d%3D%22M17%208l4%204l-4%204%22%20%2F%3E%20%3Cpath%20d%3D%22M14%204l-4%2016%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-database: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206a8%203%200%201%200%2016%200a8%203%200%201%200%20-16%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206v6a8%203%200%200%200%2016%200v-6%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012v6a8%203%200%200%200%2016%200v-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-file-code: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M14%203v4a1%201%200%200%200%201%201h4%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2021h-10a2%202%200%200%201%20-2%20-2v-14a2%202%200%200%201%202%20-2h7l5%205v11a2%202%200%200%201%20-2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2013l-1%202l1%202%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2013l1%202l-1%202%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-flag: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%205a5%205%200%200%201%207%200a5%205%200%200%200%207%200v9a5%205%200%200%201%20-7%200a5%205%200%200%200%20-7%200v-9%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2021v-7%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-history: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%208l0%204l2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M3.05%2011a9%209%200%201%201%20.5%204m-.5%205v-5h5%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-inbox: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-12a2%202%200%200%201%20-2%20-2l0%20-12%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2013h3l3%203h4l3%20-3h3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-leaf: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2021c.5%20-4.5%202.5%20-8%207%20-10%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2018c6.218%200%2010.5%20-3.288%2011%20-12v-2h-4.014c-9%200%20-11.986%204%20-12%209c0%201%200%203%202%205h3l.014%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-list: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%206l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2012l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2018l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M5%206l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2012l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2018l0%20.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-logs: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2018h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2018h2%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2012h2%22%20%2F%3E%20%3Cpath%20d%3D%22M8%206h2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%206h6%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2012h6%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2018h6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-mobiledata: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2012v-8%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2020v-8%22%20%2F%3E%20%3Cpath%20d%3D%22M13%207l3%20-3l3%203%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2017l3%203l3%20-3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-search: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010a7%207%200%201%200%2014%200a7%207%200%201%200%20-14%200%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2021l-6%20-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-server-cog: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207a3%203%200%200%201%203%20-3h12a3%203%200%200%201%203%203v2a3%203%200%200%201%20-3%203h-12a3%203%200%200%201%20-3%20-3v-2%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2020h-6a3%203%200%200%201%20-3%20-3v-2a3%203%200%200%201%203%20-3h10.5%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2018a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2014.5v1.5%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2020v1.5%22%20%2F%3E%20%3Cpath%20d%3D%22M21.032%2016.25l-1.299%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M16.27%2019l-1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M14.97%2016.25l1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M19.733%2019l1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M7%208v.01%22%20%2F%3E%20%3Cpath%20d%3D%22M7%2016v.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-share-3: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%204v4c-6.575%201.028%20-9.02%206.788%20-10%2012c-.037%20.206%205.384%20-5.962%2010%20-6v4l8%20-7l-8%20-7%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-tags: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%208v4.172a2%202%200%200%200%20.586%201.414l5.71%205.71a2.41%202.41%200%200%200%203.408%200l3.592%20-3.592a2.41%202.41%200%200%200%200%20-3.408l-5.71%20-5.71a2%202%200%200%200%20-1.414%20-.586h-4.172a2%202%200%200%200%20-2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2019l1.592%20-1.592a4.82%204.82%200%200%200%200%20-6.816l-4.592%20-4.592%22%20%2F%3E%20%3Cpath%20d%3D%22M7%2010h-.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-x: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M18%206l-12%2012%22%20%2F%3E%20%3Cpath%20d%3D%22M6%206l12%2012%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-maximize: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M16%204l4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2010l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2020l-4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2020l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2020l4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2014l6%206%22%20%2F%3E%20%3Cpath%20d%3D%22M8%204l-4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M4%204l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-minimize: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%209l4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M3%203l6%206%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2015l4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2021l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M19%209l-4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M15%209l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M19%2015l-4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M15%2015l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chevron-down: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M6%209l6%206l6%20-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chevron-up: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2015l6%20-6l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-folder-open: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2019l2.757%20-7.351a1%201%200%200%201%20.936%20-.649h12.307a1%201%200%200%201%20.986%201.164l-.996%205.211a2%202%200%200%201%20-1.964%201.625h-14.026a2%202%200%200%201%20-2%20-2v-11a2%202%200%200%201%202%20-2h4l3%203h7a2%202%200%200%201%202%202v2%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-brand-php: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M2%2012a10%209%200%201%200%2020%200a10%209%200%201%200%20-20%200%22%20%2F%3E%20%3Cpath%20d%3D%22M5.5%2015l.395%20-1.974l.605%20-3.026h1.32a1%201%200%200%201%20.986%201.164l-.167%201a1%201%200%200%201%20-.986%20.836h-1.653%22%20%2F%3E%20%3Cpath%20d%3D%22M15.5%2015l.395%20-1.974l.605%20-3.026h1.32a1%201%200%200%201%20.986%201.164l-.167%201a1%201%200%200%201%20-.986%20.836h-1.653%22%20%2F%3E%20%3Cpath%20d%3D%22M12%207.5l-1%205.5%22%20%2F%3E%20%3Cpath%20d%3D%22M11.6%2010h2.4l-.5%203%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-refresh: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M20%2011a8.1%208.1%200%200%200%20-15.5%20-2m-.5%20-4v4h4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2013a8.1%208.1%200%200%200%2015.5%202m.5%204v-4h-4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-cpu: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%206a1%201%200%200%201%201%20-1h12a1%201%200%200%201%201%201v12a1%201%200%200%201%20-1%201h-12a1%201%200%200%201%20-1%20-1l0%20-12%22%20%2F%3E%20%3Cpath%20d%3D%22M9%209h6v6h-6l0%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010h2%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2014h2%22%20%2F%3E%20%3Cpath%20d%3D%22M10%203v2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%203v2%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2010h-2%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2014h-2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2021v-2%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2021v-2%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-table: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%205a2%202%200%200%201%202%20-2h14a2%202%200%200%201%202%202v14a2%202%200%200%201%20-2%202h-14a2%202%200%200%201%20-2%20-2v-14%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010h18%22%20%2F%3E%20%3Cpath%20d%3D%22M10%203v18%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-link: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2015l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M11%206l.463%20-.536a5%205%200%200%201%207.071%207.072l-.534%20.464%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2018l-.397%20.534a5.068%205.068%200%200%201%20-7.127%200a4.972%204.972%200%200%201%200%20-7.071l.524%20-.463%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-copy: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M7%209.667a2.667%202.667%200%200%201%202.667%20-2.667h8.666a2.667%202.667%200%200%201%202.667%202.667v8.666a2.667%202.667%200%200%201%20-2.667%202.667h-8.666a2.667%202.667%200%200%201%20-2.667%20-2.667l0%20-8.666%22%20%2F%3E%20%3Cpath%20d%3D%22M4.012%2016.737a2.005%202.005%200%200%201%20-1.012%20-1.737v-10c0%20-1.1%20.9%20-2%202%20-2h10c.75%200%201.158%20.385%201.5%201%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-circle-check: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%2018%200a9%209%200%201%200%20-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2012l2%202l4%20-4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-external-link: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%206h-6a2%202%200%200%200%20-2%202v10a2%202%200%200%200%202%202h10a2%202%200%200%200%202%20-2v-6%22%20%2F%3E%20%3Cpath%20d%3D%22M11%2013l9%20-9%22%20%2F%3E%20%3Cpath%20d%3D%22M15%204h5v5%22%20%2F%3E%20%3C%2Fsvg%3E)}.phpdebugbar-icon-adjustments:before{-webkit-mask-image:var(--debugbar-icon-adjustments);mask-image:var(--debugbar-icon-adjustments)}.phpdebugbar-icon-adjustments-horizontal:before{-webkit-mask-image:var(--debugbar-icon-adjustments-horizontal);mask-image:var(--debugbar-icon-adjustments-horizontal)}.phpdebugbar-icon-arrow-right:before{-webkit-mask-image:var(--debugbar-icon-arrow-right);mask-image:var(--debugbar-icon-arrow-right)}.phpdebugbar-icon-arrows-left-right:before{-webkit-mask-image:var(--debugbar-icon-arrows-left-right);mask-image:var(--debugbar-icon-arrows-left-right)}.phpdebugbar-icon-bolt:before{-webkit-mask-image:var(--debugbar-icon-bolt);mask-image:var(--debugbar-icon-bolt)}.phpdebugbar-icon-bookmark:before{-webkit-mask-image:var(--debugbar-icon-bookmark);mask-image:var(--debugbar-icon-bookmark)}.phpdebugbar-icon-box:before{-webkit-mask-image:var(--debugbar-icon-box);mask-image:var(--debugbar-icon-box)}.phpdebugbar-icon-briefcase:before{-webkit-mask-image:var(--debugbar-icon-briefcase);mask-image:var(--debugbar-icon-briefcase)}.phpdebugbar-icon-bug:before{-webkit-mask-image:var(--debugbar-icon-bug);mask-image:var(--debugbar-icon-bug)}.phpdebugbar-icon-calendar:before{-webkit-mask-image:var(--debugbar-icon-calendar);mask-image:var(--debugbar-icon-calendar)}.phpdebugbar-icon-chart-infographic:before{-webkit-mask-image:var(--debugbar-icon-chart-infographic);mask-image:var(--debugbar-icon-chart-infographic)}.phpdebugbar-icon-clock:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}.phpdebugbar-icon-code:before{-webkit-mask-image:var(--debugbar-icon-code);mask-image:var(--debugbar-icon-code)}.phpdebugbar-icon-database:before{-webkit-mask-image:var(--debugbar-icon-database);mask-image:var(--debugbar-icon-database)}.phpdebugbar-icon-file-code:before{-webkit-mask-image:var(--debugbar-icon-file-code);mask-image:var(--debugbar-icon-file-code)}.phpdebugbar-icon-flag:before{-webkit-mask-image:var(--debugbar-icon-flag);mask-image:var(--debugbar-icon-flag)}.phpdebugbar-icon-history:before{-webkit-mask-image:var(--debugbar-icon-history);mask-image:var(--debugbar-icon-history)}.phpdebugbar-icon-inbox:before{-webkit-mask-image:var(--debugbar-icon-inbox);mask-image:var(--debugbar-icon-inbox)}.phpdebugbar-icon-leaf:before{-webkit-mask-image:var(--debugbar-icon-leaf);mask-image:var(--debugbar-icon-leaf)}.phpdebugbar-icon-list:before{-webkit-mask-image:var(--debugbar-icon-list);mask-image:var(--debugbar-icon-list)}.phpdebugbar-icon-logs:before{-webkit-mask-image:var(--debugbar-icon-logs);mask-image:var(--debugbar-icon-logs)}.phpdebugbar-icon-mobiledata:before{-webkit-mask-image:var(--debugbar-icon-mobiledata);mask-image:var(--debugbar-icon-mobiledata)}.phpdebugbar-icon-search:before{-webkit-mask-image:var(--debugbar-icon-search);mask-image:var(--debugbar-icon-search)}.phpdebugbar-icon-server-cog:before{-webkit-mask-image:var(--debugbar-icon-server-cog);mask-image:var(--debugbar-icon-server-cog)}.phpdebugbar-icon-share-3:before{-webkit-mask-image:var(--debugbar-icon-share-3);mask-image:var(--debugbar-icon-share-3)}.phpdebugbar-icon-tags:before{-webkit-mask-image:var(--debugbar-icon-tags);mask-image:var(--debugbar-icon-tags)}.phpdebugbar-icon-x:before{-webkit-mask-image:var(--debugbar-icon-x);mask-image:var(--debugbar-icon-x)}.phpdebugbar-icon-arrows-maximize:before{-webkit-mask-image:var(--debugbar-icon-arrows-maximize);mask-image:var(--debugbar-icon-arrows-maximize)}.phpdebugbar-icon-arrows-minimize:before{-webkit-mask-image:var(--debugbar-icon-arrows-minimize);mask-image:var(--debugbar-icon-arrows-minimize)}.phpdebugbar-icon-chevron-down:before{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}.phpdebugbar-icon-chevron-up:before{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}.phpdebugbar-icon-folder-open:before{-webkit-mask-image:var(--debugbar-icon-folder-open);mask-image:var(--debugbar-icon-folder-open)}.phpdebugbar-icon-brand-php:before{-webkit-mask-image:var(--debugbar-icon-brand-php);mask-image:var(--debugbar-icon-brand-php)}.phpdebugbar-icon-refresh:before{-webkit-mask-image:var(--debugbar-icon-refresh);mask-image:var(--debugbar-icon-refresh)}.phpdebugbar-icon-cpu:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}.phpdebugbar-icon-table:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}.phpdebugbar-icon-link:before{-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link)}.phpdebugbar-icon-copy:before{-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy)}.phpdebugbar-icon-circle-check:before{-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}.phpdebugbar-icon-external-link:before{-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link)}@media print{div.phpdebugbar{display:none}}div.phpdebugbar,div.phpdebugbar-openhandler,div.phpdebugbar-widgets-datasets-panel{--debugbar-background: #F7F7F7;--debugbar-background-alt: #EFEFEF;--debugbar-text: #222;--debugbar-text-muted: #888;--debugbar-border: #eee;--debugbar-header: #efefef;--debugbar-header-text: #555;--debugbar-header-border: #ddd;--debugbar-active: #ccc;--debugbar-active-text: #666;--debugbar-icons: #555;--debugbar-badge: #ccc;--debugbar-badge-text: #555;--debugbar-badge-active: #477e96;--debugbar-badge-active-text: #fff;--debugbar-link: #888;--debugbar-hover: #aaa;--debugbar-accent: #6BB7D8;--debugbar-accent-border: #477e96;--debugbar-font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--debugbar-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--debugbar-icon-brand: var(--debugbar-icon-brand-php)}div.phpdebugbar[data-theme=dark],div.phpdebugbar-openhandler[data-theme=dark],div.phpdebugbar-widgets-datasets-panel[data-theme=dark]{--debugbar-background: #2a2a2a;--debugbar-background-alt: #333333;--debugbar-text: #e0e0e0;--debugbar-text-muted: #aaaaaa;--debugbar-border: #3a3a3a;--debugbar-header: #1e1e1e;--debugbar-header-text: #cccccc;--debugbar-header-border: #444;--debugbar-active: #444;--debugbar-active-text: #e0e0e0;--debugbar-icons: #cccccc;--debugbar-badge: #444;--debugbar-badge-text: #cccccc;--debugbar-badge-active: #4F8FB3;--debugbar-badge-active-text: #1e1e1e;--debugbar-accent: #4F8FB3;--debugbar-accent-border: #3F7A94;--debugbar-link: #aaaaaa;--debugbar-hover: #888888}div.phpdebugbar{position:fixed;bottom:0;left:0;width:100%;border-top:0;font-family:var(--debugbar-font-sans);background:var(--debugbar-background);z-index:100000000;font-size:13px;color:var(--debugbar-text);text-align:left;line-height:1.2em;letter-spacing:normal;direction:ltr}div.phpdebugbar.phpdebugbar-fullscreen,div.phpdebugbar.phpdebugbar-fullscreen[data-toolbarPosition=top]{top:0;bottom:0;display:flex;flex-direction:column}div.phpdebugbar.phpdebugbar-fullscreen .phpdebugbar-body{flex:1;height:calc(100% - 32px)!important}div.phpdebugbar.phpdebugbar-fullscreen .phpdebugbar-resize-handle{display:none}.phpdebugbar [hidden]{display:none!important}div.phpdebugbar[data-openBtnPosition=bottomRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=topRight].phpdebugbar-closed{left:auto;right:0}div.phpdebugbar[data-openBtnPosition=topRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=topLeft].phpdebugbar-closed{bottom:auto;top:0;border-bottom:1px solid var(--debugbar-header-border)}div.phpdebugbar[data-openBtnPosition=bottomRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=bottomLeft].phpdebugbar-closed{border-top:1px solid var(--debugbar-header-border)}.phpdebugbar-closed[data-openBtnPosition=bottomLeft],.phpdebugbar-closed[data-openBtnPosition=topLeft]{border-right:1px solid var(--debugbar-header-border)}.phpdebugbar-closed[data-openBtnPosition=bottomRight],.phpdebugbar-closed[data-openBtnPosition=topRight]{border-left:1px solid var(--debugbar-header-border)}div.phpdebugbar a,div.phpdebugbar-openhandler{cursor:pointer}div.phpdebugbar-drag-capture{position:fixed;inset:0;z-index:100000001;background:none;display:none;cursor:row-resize}div.phpdebugbar-closed{width:auto}div.phpdebugbar *{margin:0;padding:0;border:0;font-weight:400;text-decoration:none;clear:initial;width:auto;direction:ltr;text-align:left;-moz-box-sizing:content-box;box-sizing:content-box}div.phpdebugbar select,div.phpdebugbar input{appearance:auto}div.phpdebugbar ol,div.phpdebugbar ul{list-style:none}div.phpdebugbar ul li,div.phpdebugbar ol li,div.phpdebugbar dl li{line-height:normal}div.phpdebugbar table,.phpdebugbar-openhandler table{border-collapse:collapse;border-spacing:0;color:inherit}div.phpdebugbar input[type=text],div.phpdebugbar input[type=password],div.phpdebugbar select{font-family:var(--debugbar-font-sans);background:var(--debugbar-background);font-size:14px;color:var(--debugbar-text);padding:0;border:1px solid var(--debugbar-border);border-radius:.25rem;margin:0}div.phpdebugbar code,div.phpdebugbar pre,div.phpdebugbar samp{background:none;font-family:var(--debugbar-font-mono);font-size:1em;border:0!important;padding:0;margin:0}div.phpdebugbar code,div.phpdebugbar pre{color:var(--debugbar-text)}div.phpdebugbar pre.sf-dump{background:none!important;z-index:0!important;display:block!important;color:#a0a000;outline:0}div.phpdebugbar pre.sf-dump .sf-dump-private{color:gray}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-public{color:#fc0}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-protected{color:#a0a000}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-private{color:#9d9266}a.phpdebugbar-restore-btn{float:left;padding:4px;font-size:14px;color:var(--debugbar-icons);text-decoration:none;width:24px;height:24px}div.phpdebugbar-resize-handle{height:4px;margin-top:-4px;width:100%;background:none;border-bottom:1px solid var(--debugbar-header-border);cursor:row-resize}div.phpdebugbar-minimized div.phpdebugbar-resize-handle{cursor:auto}div.phpdebugbar-resize-handle.phpdebugbar-resize-handle-bottom{margin-top:4px}div.phpdebugbar-minimized{border-top:1px solid var(--debugbar-header-border)}div.phpdebugbar-minimized[data-toolbarPosition=top]{border-top:0;border-bottom:1px solid var(--debugbar-header-border)}div.phpdebugbar[data-toolbarPosition=top]{bottom:auto;top:0}div.phpdebugbar[data-toolbarPosition=top] div.phpdebugbar-resize-handle-top{height:0;display:none}div.phpdebugbar[data-toolbarPosition=top] div.phpdebugbar-resize-handle-bottom{margin-top:0}div.phpdebugbar[data-toolbarPosition=bottom] div.phpdebugbar-resize-handle-bottom{height:0;margin-top:0}a.phpdebugbar-restore-btn:after{-webkit-mask-image:var(--debugbar-icon-brand);mask-image:var(--debugbar-icon-brand);-webkit-mask-size:20px 20px;mask-size:20px 20px;background-color:var(--debugbar-icons)}div.phpdebugbar-header{background-color:var(--debugbar-header);min-height:32px;line-height:16px}div.phpdebugbar-header:before,div.phpdebugbar-header:after{display:table;line-height:0;content:""}div.phpdebugbar-header:after{clear:both}div.phpdebugbar-header-left{float:left}div.phpdebugbar-header-right{float:right}div.phpdebugbar-header>div>*{padding:5px;font-size:13px;height:22px;color:var(--debugbar-header-text);text-decoration:none}div.phpdebugbar-header-left>*,div.phpdebugbar-header-right>*{line-height:0;display:flex;align-items:center}div.phpdebugbar-header-left>*{float:left}div.phpdebugbar-header-right>*{float:right}div.phpdebugbar-header-right select{padding:0;line-height:1em;background-color:var(--debugbar-header);color:var(--debugbar-header-text)}span.phpdebugbar-indicator,a.phpdebugbar-indicator{border-right:1px solid var(--debugbar-header-border)}.phpdebugbar[data-hideEmptyTabs=true] .phpdebugbar-tab[data-empty=true]:not(.phpdebugbar-active){display:none}a.phpdebugbar-tab.phpdebugbar-active{background:var(--debugbar-active);color:var(--debugbar-active-text)}a.phpdebugbar-tab .phpdebugbar-text{font-size:14px}a.phpdebugbar-tab span.phpdebugbar-badge{display:none;margin-left:5px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge);border-radius:4px;color:var(--debugbar-badge-text);font-weight:400;text-shadow:none}a.phpdebugbar-tab.phpdebugbar-active span.phpdebugbar-badge{background:var(--debugbar-badge-active);color:var(--debugbar-badge-active-text)}a.phpdebugbar-tab i{display:none;vertical-align:middle}.phpdebugbar-icon,i.phpdebugbar-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.phpdebugbar-icon:before,i.phpdebugbar-icon:before{content:"";display:block;justify-content:center;flex-shrink:0;width:1.3em;height:1.3em;background-size:contain;background-repeat:no-repeat;background-position:center;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}.phpdebugbar-icon-brand:before{-webkit-mask-image:var(--debugbar-icon-brand);mask-image:var(--debugbar-icon-brand)}a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-visible{display:inline}a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-important{background:#ed6868;color:#fff}a.phpdebugbar-close-btn,a.phpdebugbar-open-btn,a.phpdebugbar-fullscreen-btn,a.phpdebugbar-minimize-btn,a.phpdebugbar-maximize-btn,a.phpdebugbar-tab.phpdebugbar-tab-history,a.phpdebugbar-tab.phpdebugbar-tab-settings{width:16px;height:22px;position:relative}a.phpdebugbar-close-btn:after,a.phpdebugbar-open-btn:after,a.phpdebugbar-restore-btn:after,a.phpdebugbar-fullscreen-btn:after,a.phpdebugbar-minimize-btn:after,a.phpdebugbar-maximize-btn:after{content:" ";display:block;left:0;position:absolute;top:0;width:100%;height:100%;background-color:var(--debugbar-icons);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:18px 18px;mask-size:18px 18px}a.phpdebugbar-restore-btn:after{-webkit-mask-size:24px 24px;mask-size:24px 24px;mask-repeat:no-repeat;mask-position:center;position:relative}a.phpdebugbar-minimize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}a.phpdebugbar-maximize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}div.phpdebugbar[data-toolbarPosition=top] a.phpdebugbar-minimize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}div.phpdebugbar[data-toolbarPosition=top] a.phpdebugbar-maximize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}a.phpdebugbar-close-btn:after{-webkit-mask-image:var(--debugbar-icon-x);mask-image:var(--debugbar-icon-x)}a.phpdebugbar-fullscreen-btn:after{-webkit-mask-image:var(--debugbar-icon-arrows-maximize);mask-image:var(--debugbar-icon-arrows-maximize)}div.phpdebugbar.phpdebugbar-fullscreen a.phpdebugbar-fullscreen-btn:after{-webkit-mask-image:var(--debugbar-icon-arrows-minimize);mask-image:var(--debugbar-icon-arrows-minimize)}a.phpdebugbar-open-btn:after{-webkit-mask-image:var(--debugbar-icon-folder-open);mask-image:var(--debugbar-icon-folder-open)}.phpdebugbar-indicator{position:relative;cursor:pointer}.phpdebugbar-indicator span.phpdebugbar-text{margin-left:5px}.phpdebugbar-indicator span.phpdebugbar-tooltip{display:none;position:absolute;bottom:38px;background:var(--debugbar-header);border:1px solid var(--debugbar-header-border);color:var(--debugbar-header-text);font-size:11px;padding:2px 6px;z-index:100000001;text-align:center;white-space:nowrap;right:0;line-height:1.5;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.phpdebugbar-indicator:hover span.phpdebugbar-tooltip:not(.phpdebugbar-disabled){display:block}.phpdebugbar-indicator span.phpdebugbar-tooltip dl{display:grid;grid-gap:4px 10px;grid-template-columns:max-content}.phpdebugbar-indicator span.phpdebugbar-tooltip dl dt{font-weight:700;text-align:left}.phpdebugbar-indicator span.phpdebugbar-tooltip dl dd{margin:0;grid-column-start:2;text-align:left}.phpdebugbar .phpdebugbar-datasets-switcher{float:right}.phpdebugbar .phpdebugbar-datasets-switcher select{max-width:200px;height:22px;padding:4px 0;border:none}.phpdebugbar button,.phpdebugbar-openhandler button{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;margin:0 5px;padding:0 12px;height:20px;line-height:normal;cursor:pointer}div.phpdebugbar-body{border-top:1px solid var(--debugbar-header-border);position:relative;height:300px}div.phpdebugbar-panel{height:100%;overflow:auto;width:100%;position:relative}div.phpdebugbar-panel.phpdebugbar-active{display:block}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float{position:sticky;top:0;right:0;height:0;z-index:3;pointer-events:none}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn{position:absolute;top:8px;right:8px;pointer-events:auto;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--debugbar-text-muted);background-color:var(--debugbar-background);border:1px solid var(--debugbar-border);border-radius:3px;cursor:pointer;box-shadow:0 2px 6px #0000002e;transition:transform .12s ease,box-shadow .12s ease,color .12s ease}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn:hover{color:var(--debugbar-text);transform:translateY(-1px);box-shadow:0 4px 10px #00000038}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn.phpdebugbar-panel-summary-btn-active{color:var(--debugbar-text);box-shadow:0 2px 4px #00000038 inset}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float button.phpdebugbar-panel-summary-btn:before{content:"";display:inline-block;width:16px;height:16px;-webkit-mask-image:var(--debugbar-icon-bookmark);mask-image:var(--debugbar-icon-bookmark);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;background-color:currentColor}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover{position:absolute;top:44px;right:8px;pointer-events:auto;min-width:260px;max-width:min(480px,90vw);max-height:60vh;padding:8px;background-color:var(--debugbar-background);border:1px solid var(--debugbar-border);border-radius:4px;box-shadow:0 4px 12px #0003;display:flex;flex-direction:column;gap:6px;overflow:hidden}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover div.phpdebugbar-panel-summary-content{flex:1 1 auto;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--debugbar-font-mono);font-size:11px;line-height:1.4;color:var(--debugbar-text);padding:4px;background-color:var(--debugbar-background-alt);border-radius:3px}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy{flex:0 0 auto;align-self:flex-end;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-family:inherit;color:var(--debugbar-text);background-color:var(--debugbar-background-alt);border:1px solid var(--debugbar-border);border-radius:3px;cursor:pointer;line-height:1.4}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy:hover{background-color:var(--debugbar-background)}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy:before{content:"";display:inline-block;width:11px;height:11px;-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;background-color:currentColor}div.phpdebugbar-panel>div.phpdebugbar-panel-summary-float div.phpdebugbar-panel-summary-popover button.phpdebugbar-panel-summary-copy.phpdebugbar-panel-summary-copied{color:var(--debugbar-success, #4caf50)}div.phpdebugbar-mini-design a.phpdebugbar-tab{position:relative;border-right:1px solid var(--debugbar-header-border)}div.phpdebugbar-mini-design a.phpdebugbar-tab span.phpdebugbar-text{display:none}div.phpdebugbar-mini-design a.phpdebugbar-tab:hover span.phpdebugbar-text{display:block;position:absolute;top:-30px;background:var(--debugbar-background);opacity:1;border:1px solid var(--debugbar-header-border);color:var(--debugbar-header-text);font-size:11px;padding:2px 6px;z-index:100000001;text-align:center;right:0;line-height:1.5;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}div.phpdebugbar-mini-design a.phpdebugbar-tab i{display:inline-block}a.phpdebugbar-tab.phpdebugbar-tab-history{width:auto;min-width:22px}a.phpdebugbar-tab.phpdebugbar-tab-history,a.phpdebugbar-tab.phpdebugbar-tab-settings{display:flex;justify-content:center;align-items:center}a.phpdebugbar-tab.phpdebugbar-tab-history .phpdebugbar-text,a.phpdebugbar-tab.phpdebugbar-tab-settings .phpdebugbar-text{display:none;white-space:nowrap}a.phpdebugbar-tab.phpdebugbar-tab-history i,a.phpdebugbar-tab.phpdebugbar-tab-settings i{display:inline-block}.phpdebugbar-widgets-dataset-history table{width:100%;table-layout:fixed}.phpdebugbar-widgets-dataset-history table th{font-weight:700}.phpdebugbar-widgets-dataset-history table td,.phpdebugbar-widgets-dataset-history table th{padding:6px 3px;border-bottom:1px solid var(--debugbar-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phpdebugbar-widgets-dataset-history table td a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phpdebugbar-widgets-dataset-history table tr.phpdebugbar-widgets-active{background:var(--debugbar-active);color:var(--debugbar-active-text)}.phpdebugbar-widgets-dataset-history span.phpdebugbar-badge{margin:0 5px 0 2px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge);border-radius:4px;color:var(--debugbar-badge-text);font-weight:400;text-shadow:none;vertical-align:middle}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions{text-align:center;padding:7px 0;position:sticky;top:0;background:var(--debugbar-background)}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions a{margin:0 10px}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions input{margin:5px}.phpdebugbar-settings .phpdebugbar-form-row{display:block;border-top:1px solid var(--debugbar-border);min-height:17px;padding:5px 10px}.phpdebugbar-settings .phpdebugbar-form-label{width:200px;font-weight:700;display:inline-block;clear:none}.phpdebugbar-settings .phpdebugbar-form-input{font-weight:700;display:inline-block;clear:none}.phpdebugbar-settings input[type=text],.phpdebugbar-settings select{margin:0 5px;min-width:200px}.phpdebugbar-settings input[type=checkbox]{margin:0 5px}pre.phpdebugbar-widgets-code-block{white-space:pre;word-wrap:normal;overflow:hidden}pre.phpdebugbar-widgets-code-block code{display:block;overflow-x:auto;overflow-y:hidden}pre.phpdebugbar-widgets-code-block code.phpdebugbar-widgets-numbered-code{padding:5px;line-height:normal}pre.phpdebugbar-widgets-code-block ul li.phpdebugbar-widgets-highlighted-line{font-weight:bolder;text-decoration:underline}pre.phpdebugbar-widgets-code-block ul li.phpdebugbar-widgets-highlighted-line span{position:absolute;background:var(--debugbar-text);min-width:calc(100% - 85px);margin-left:10px;opacity:.15}pre.phpdebugbar-widgets-code-block ul{position:static;float:left;padding:5px;border-right:1px solid var(--debugbar-header-border);text-align:right}.phpdebugbar-widgets-kvlist span.phpdebugbar-widgets-filename,li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename,table.phpdebugbar-widgets-tablevar span.phpdebugbar-widgets-filename{display:block;font-style:italic;float:right;margin-left:8px;color:var(--debugbar-link)}a.phpdebugbar-widgets-editor-link,a.phpdebugbar-widgets-external-link{color:var(--debugbar-link)}.phpdebugbar-widgets-kvlist span.phpdebugbar-widgets-filename:hover,li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename:hover,a.phpdebugbar-widgets-editor-link:hover,a.phpdebugbar-widgets-external-link:hover{color:var(--debugbar-hover)}a.phpdebugbar-widgets-editor-link:before,a.phpdebugbar-widgets-copy-clipboard-check:before,a.phpdebugbar-widgets-external-link:after{content:"";display:inline-block;width:1em;height:1em;margin-left:4px;vertical-align:middle;-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}a.phpdebugbar-widgets-copy-clipboard-check:before{margin-left:0;margin-right:4px;-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}table.phpdebugbar-widgets-params{width:70%;margin:10px;border:1px solid var(--debugbar-border);font-family:var(--debugbar-font-mono);font-size:13px;border-collapse:collapse}table.phpdebugbar-widgets-params th{font-weight:700}table.phpdebugbar-widgets-params td{border:1px solid var(--debugbar-border);border-left:none;border-right:none;padding:0 5px}table.phpdebugbar-widgets-params .phpdebugbar-widgets-name{width:20%;font-weight:700;vertical-align:top}.phpdebugbar-widgets-truncated{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}ul.phpdebugbar-widgets-list{margin:0;padding:0;list-style:none;font-family:var(--debugbar-font-mono)}ul.phpdebugbar-widgets-list li.phpdebugbar-widgets-list-item{padding:7px 10px;border-bottom:1px solid var(--debugbar-border);position:relative;overflow:hidden}div.phpdebugbar-widgets-messages{position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column}div.phpdebugbar-widgets-messages ul.phpdebugbar-widgets-list{padding-bottom:45px;flex:1;overflow-y:auto}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value{display:flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value:before{margin-right:8px;font-family:system-ui,sans-serif;font-size:1.25em;line-height:1;display:inline-flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success{color:#28a745}.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success{color:#56db3a}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success:before{content:"\2713"}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-alert:before{content:"\2139";color:#cbcf38}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-debug:before{color:#78d79a}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-warning:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-emergency:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-notice:before{content:"\26a0";color:#ecb03d}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-critical{color:red}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-critical:before{content:"\2716"}.phpdebugbar-widgets-params .phpdebugbar-widgets-value pre.sf-dump,dl.phpdebugbar-widgets-kvlist dd.phpdebugbar-widgets-value pre.sf-dump,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item pre.sf-dump{display:inline-block!important;padding-top:0;padding-left:0;padding-bottom:0}dl.phpdebugbar-widgets-kvlist dd.phpdebugbar-widgets-value pre.sf-dump{max-width:calc(100% - 5px)}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-label{float:right;font-size:12px;padding:2px 4px;color:#888;margin:0 2px;text-decoration:none;text-shadow:none;background:none;font-weight:400}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-context-count{float:right;font-size:12px;padding:2px 4px;color:#888;margin:0 2px;text-decoration:none;text-shadow:none;background:none;font-weight:400;display:inline-flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-context-count:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector{color:#555;font-style:italic}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar{position:relative;flex-shrink:0;width:100%;background:var(--debugbar-header);color:var(--debugbar-text);border-top:1px solid var(--debugbar-border);border-bottom:0px;height:20px;padding:4px 0}div.phpdebugbar-widgets-messages li .phpdebugbar-widgets-label-called-from{float:right;color:var(--debugbar-text-muted);padding-left:5px;border-bottom:1px dotted var(--debugbar-border)}div.phpdebugbar-widgets-messages li .phpdebugbar-widgets-label-called-from:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input{border:0;margin:0 0 0 7px;width:30%;box-shadow:none;border-radius:3px;padding:2px 6px;height:15px}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input:focus{outline:none}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter{float:right;font-size:12px;padding:2px 4px;background:#7cacd5;margin:0 2px;border-radius:4px;color:var(--debugbar-background);text-decoration:none}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded{background:var(--debugbar-active);color:var(--debugbar-text-muted)}dl.phpdebugbar-widgets-kvlist{margin:0;display:grid;grid-template-columns:minmax(160px,15%) minmax(0,1fr)}dl.phpdebugbar-widgets-kvlist dt{grid-column:1;min-width:0;padding:5px 10px;border-top:1px solid var(--debugbar-border);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}dl.phpdebugbar-widgets-kvlist dd{grid-column:2;margin:0;padding:5px 10px;border-top:1px solid var(--debugbar-border);cursor:pointer;min-height:17px;overflow-wrap:anywhere;overflow-x:auto}dl.phpdebugbar-widgets-varlist,dl.phpdebugbar-widgets-jsonvarlist,dl.phpdebugbar-widgets-htmlvarlist{font-family:var(--debugbar-font-mono)}dl.phpdebugbar-widgets-jsonvarlist dd,dl.phpdebugbar-widgets-htmlvarlist dd{cursor:initial}ul.phpdebugbar-widgets-timeline{margin:0;padding:0;list-style:none}ul.phpdebugbar-widgets-timeline .phpdebugbar-widgets-measure{height:20px;position:relative;border:none;display:block}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label,ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-collector{position:absolute;font-size:12px;font-family:var(--debugbar-font-mono);color:var(--debugbar-text);top:4px;left:5px;background:none;text-shadow:none;font-weight:400;white-space:pre}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-collector{left:initial;right:5px}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-value{display:block;position:absolute;height:calc(100% - 4px);background-color:var(--debugbar-accent);border-bottom:2px solid var(--debugbar-accent-border);top:2px;border-radius:3px;min-width:2px}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item{cursor:pointer}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-message{display:block;color:red}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-type{display:block;position:absolute;right:4px;top:4px;font-weight:700}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-file{margin:10px;padding:5px;border:1px solid var(--debugbar-border);font-family:var(--debugbar-font-mono)}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename{float:none}div.phpdebugbar[data-theme=dark] code.phpdebugbar-widgets-sql,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-name,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-key,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-success>pre.sf-dump>.sf-dump-note{color:#fdfd96}table.phpdebugbar-widgets-tablevar{width:100%;table-layout:auto;font-size:1em}table.phpdebugbar-widgets-tablevar td:first-child{width:150px;white-space:nowrap;font-family:var(--debugbar-font-mono)}table.phpdebugbar-widgets-tablevar td.phpdebugbar-widgets-editor{width:5%;white-space:nowrap;text-align:right}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td{font-weight:700}table.phpdebugbar-widgets-tablevar td{padding:2px 4px;border-bottom:1px solid var(--debugbar-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td{position:sticky;inset-inline-start:0px;background:var(--debugbar-background);border-bottom:none;z-index:1;top:0;bottom:0}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td:after,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:var(--debugbar-border)}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td:after{bottom:auto;top:0}div.phpdebugbar span.phpdebugbar-widgets-badge{margin:0 5px 0 8px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge-active);border-radius:4px;color:var(--debugbar-badge-active-text);font-weight:400;text-shadow:none;vertical-align:middle}.phpdebugbar .phpdebugbar-widgets-datasets-switcher-widget{position:relative;float:right;display:flex;padding:0!important;margin:0!important;height:32px;align-items:center}.phpdebugbar .phpdebugbar-widgets-datasets-badge{position:relative;display:flex;align-items:center;gap:6px;padding:0 10px;height:32px;background:var(--debugbar-header);color:var(--debugbar-header-text);cursor:pointer;font-size:12px;line-height:normal;transition:background-color .15s;font-family:var(--debugbar-font-sans);border-right:1px solid var(--debugbar-header-border)}.phpdebugbar .phpdebugbar-widgets-datasets-badge:hover{background:var(--debugbar-active)}.phpdebugbar .phpdebugbar-widgets-datasets-badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:9px;font-weight:600;font-size:11px}.phpdebugbar .phpdebugbar-widgets-datasets-badge-count[hidden]{display:none}.phpdebugbar .phpdebugbar-widgets-datasets-badge-url{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-panel{position:fixed;width:600px;background:var(--debugbar-background);border:1px solid var(--debugbar-border);box-shadow:0 2px 8px #0000001a;overflow:hidden;z-index:100000001}.phpdebugbar-widgets-datasets-panel-toolbar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--debugbar-background-alt);border-bottom:1px solid var(--debugbar-border);font-size:12px;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-autoshow{display:flex;align-items:center;gap:4px;cursor:pointer;color:var(--debugbar-text);white-space:nowrap;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-autoshow input[type=checkbox]{cursor:pointer;margin:0}.phpdebugbar-widgets-datasets-clear-btn,.phpdebugbar-widgets-datasets-showall-btn{color:var(--debugbar-link);text-decoration:none;cursor:pointer;white-space:nowrap;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-clear-btn:hover,.phpdebugbar-widgets-datasets-showall-btn:hover{color:var(--debugbar-hover);text-decoration:underline}.phpdebugbar-widgets-datasets-refresh-btn{color:var(--debugbar-text-muted);text-decoration:none;cursor:pointer;white-space:nowrap;font-size:14px;display:inline-flex;align-items:center}.phpdebugbar-widgets-datasets-refresh-btn[hidden]{display:none}.phpdebugbar-widgets-datasets-refresh-btn:hover,.phpdebugbar-widgets-datasets-refresh-btn.phpdebugbar-widgets-active{color:var(--debugbar-text)}.phpdebugbar-widgets-datasets-refresh-btn.phpdebugbar-widgets-active i{animation:phpdebugbar-spin 2s linear infinite}@keyframes phpdebugbar-spin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.phpdebugbar-widgets-datasets-search{flex:1;padding:3px 8px;font-size:11px;min-width:120px;border:1px solid var(--debugbar-border);background:var(--debugbar-background);color:var(--debugbar-text);border-radius:2px;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-list{max-height:300px;overflow-y:auto}.phpdebugbar-widgets-datasets-list-item{display:grid;grid-template-columns:45px 50px 1fr auto auto auto;gap:6px;padding:5px 10px;border-bottom:1px solid var(--debugbar-border);cursor:pointer;transition:background-color .1s;align-items:center;font-size:11px}.phpdebugbar-widgets-datasets-list-item[hidden]{display:none}.phpdebugbar-widgets-datasets-list-item:hover{background:var(--debugbar-background-alt)}.phpdebugbar-widgets-datasets-list-item.phpdebugbar-widgets-active{background:var(--debugbar-active);font-weight:500}.phpdebugbar-widgets-datasets-item-nb{color:var(--debugbar-text-muted);font-weight:600;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-copy-id{cursor:pointer;color:var(--debugbar-text-muted);display:inline-flex;align-items:center;margin-right:-4px;position:relative}.phpdebugbar-widgets-datasets-item-copy-id i{font-size:12px}.phpdebugbar-widgets-datasets-item-copy-id:hover{color:var(--debugbar-text)}.phpdebugbar-widgets-datasets-item-copy-id.phpdebugbar-widgets-copied{color:var(--debugbar-success, #28a745)}.phpdebugbar-widgets-datasets-item-time{color:var(--debugbar-text-muted);font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-request{display:flex;gap:6px;align-items:center;overflow:hidden}.phpdebugbar-widgets-datasets-item-method{padding:1px 5px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:2px;font-weight:600;font-family:var(--debugbar-font-mono);flex-shrink:0}.phpdebugbar-widgets-datasets-item-url{color:var(--debugbar-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-suffix{color:var(--debugbar-text-muted);font-family:var(--debugbar-font-mono);flex-shrink:0}.phpdebugbar-widgets-datasets-item-badges{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}.phpdebugbar-widgets-datasets-item-badge{display:inline-flex;align-items:center;gap:2px;padding:1px 4px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:2px;font-size:10px;font-weight:600;cursor:pointer;transition:background-color .1s}.phpdebugbar-widgets-datasets-item-badge:hover{background:var(--debugbar-badge-active);color:var(--debugbar-badge-active-text)}.phpdebugbar-widgets-datasets-item-badge i{width:12px;height:12px}div.phpdebugbar-openhandler-overlay{position:fixed;left:0;top:0;width:100%;height:100%;background:#000;opacity:.3;z-index:100000002}div.phpdebugbar-openhandler{position:fixed;margin:auto;inset:0;width:80%;height:70%;background:var(--debugbar-background);color:var(--debugbar-text);border:2px solid var(--debugbar-header-border);overflow:auto;z-index:100000003;font-family:var(--debugbar-font-sans);font-size:14px;padding:0}div.phpdebugbar-openhandler select,div.phpdebugbar-openhandler input{appearance:auto}div.phpdebugbar-openhandler input,div.phpdebugbar-openhandler select{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;height:20px;margin:0 5px;padding:0}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions input[name=uri]{width:200px}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions input[name=ip]{width:90px}div.phpdebugbar-openhandler a{color:var(--debugbar-header-text)}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header{background:var(--debugbar-header) no-repeat 5px 4px;color:var(--debugbar-header-text);margin-bottom:10px;display:flex;align-items:center;padding:5px 8px}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-closebtn,div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-brand{font-size:14px;color:var(--debugbar-header-text);text-decoration:none;padding-right:5px;line-height:1;align-items:center}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-closebtn{margin-left:auto}div.phpdebugbar-openhandler table{width:100%;table-layout:fixed;font-size:14px}div.phpdebugbar-openhandler table td,div.phpdebugbar-openhandler table th{border:0px solid var(--debugbar-border);padding:2px 8px}div.phpdebugbar-openhandler table th,div.phpdebugbar-openhandler table tr:nth-child(2n){background-color:var(--debugbar-background-alt)}div.phpdebugbar-openhandler table th:nth-child(3),div.phpdebugbar-openhandler table td:nth-child(3),div.phpdebugbar-openhandler table th:nth-child(5),div.phpdebugbar-openhandler table td:nth-child(5),div.phpdebugbar-openhandler table th:nth-child(6),div.phpdebugbar-openhandler table td:nth-child(6){text-align:center}div.phpdebugbar-openhandler table td{padding:6px 3px;border-bottom:1px solid var(--debugbar-border)}div.phpdebugbar-openhandler table td a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phpdebugbar-openhandler-id-cell{display:flex;align-items:center;gap:4px}.phpdebugbar-openhandler-id-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55px;display:inline-block;font-family:var(--debugbar-font-mono);font-size:12px}.phpdebugbar-openhandler-copy-id{cursor:pointer;color:var(--debugbar-text-muted);display:inline-flex;align-items:center;position:relative;flex-shrink:0}.phpdebugbar-openhandler-copy-id i{font-size:12px}.phpdebugbar-openhandler-copy-id:hover{color:var(--debugbar-text)}.phpdebugbar-openhandler-copy-id.phpdebugbar-openhandler-copied{color:var(--debugbar-success, #28a745)}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions{text-align:center;padding:7px 0}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions a{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;margin:5px;padding:4px 12px}div.phpdebugbar-widgets-mails span.phpdebugbar-widgets-subject{display:block}div.phpdebugbar-widgets-mails li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-headers{margin:10px;padding:5px;border:1px solid var(--debugbar-border)!important;font-family:var(--debugbar-font-mono)}div.phpdebugbar-widgets-sqlqueries{position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-status{font-family:var(--debugbar-font-mono);padding:6px;border-bottom:1px solid var(--debugbar-border);font-weight:700;color:var(--debugbar-text);background-color:var(--debugbar-background-alt);flex-shrink:0;order:1}div.phpdebugbar-widgets-sqlqueries ul.phpdebugbar-widgets-list{flex:1;overflow-y:auto;order:2}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-error{color:red}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id{float:right;margin-left:8px;color:var(--debugbar-text-muted)}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-database,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-duration,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-row-count,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-copy-clipboard,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-stmt-id{color:var(--debugbar-text)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard-check:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before{-webkit-mask-image:var(--debugbar-icon-database);mask-image:var(--debugbar-icon-database)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before{-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before{-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard-check:before{-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-error{display:block;font-weight:700}code.phpdebugbar-widgets-sql{white-space:pre-wrap;overflow-wrap:break-word;word-wrap:break-word}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-slow{background-color:#ffe4e4}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate{background-color:#fdfdcd}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-slow{background-color:#623100}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate{background-color:#565602}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar{position:relative;flex-shrink:0;width:100%;z-index:1;order:3}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter{float:right;font-size:12px;padding:2px 4px;background:#7cacd5;margin:0 2px;border-radius:4px;color:#fff;text-decoration:none}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded{background:var(--debugbar-background);color:var(--debugbar-text)}div.phpdebugbar-widgets-sqlqueries a.phpdebugbar-widgets-duplicates{font-weight:700;text-decoration:underline}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item div.phpdebugbar-widgets-bg-measure{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-bg-measure div.phpdebugbar-widgets-value{position:absolute;bottom:0;height:1px;opacity:1;background:var(--debugbar-accent-border)}div.phpdebugbar-widgets-sqlqueries td.phpdebugbar-widgets-value li.phpdebugbar-widgets-table-list-item{text-align:left;padding-left:6px}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-text-muted{color:var(--debugbar-text-muted)}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction,div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-message,div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-info{font-weight:bolder}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction{color:#d73a49}[data-theme=dark] div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction{color:#ff7b72}div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status{font-family:var(--debugbar-font-mono);padding:6px;border-bottom:1px solid var(--debugbar-border);font-weight:700;color:var(--debugbar-text);background-color:var(--debugbar-background-alt)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type{float:right;margin-left:8px;color:var(--debugbar-text)}div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-render-time,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-param-count,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status a.phpdebugbar-widgets-editor-link,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-type{color:var(--debugbar-text)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before{-webkit-mask-image:var(--debugbar-icon-code);mask-image:var(--debugbar-icon-code)}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-callgraph>pre *{background-color:inherit!important}pre code.phpdebugbar-hljs{display:block;overflow-x:auto;padding:1em}code.phpdebugbar-hljs{padding:3px 5px}/*! +:root{--debugbar-icon-adjustments: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2010a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%204v4%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2012v8%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2016a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%204v10%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2018v2%22%20%2F%3E%20%3Cpath%20d%3D%22M16%207a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%204v1%22%20%2F%3E%20%3Cpath%20d%3D%22M18%209v11%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-adjustments-horizontal: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%206a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206l8%200%22%20%2F%3E%20%3Cpath%20d%3D%22M16%206l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2012a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012l2%200%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2012l10%200%22%20%2F%3E%20%3Cpath%20d%3D%22M15%2018a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2018l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M19%2018l1%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrow-right: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2012l14%200%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2018l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M13%206l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-left-right: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2017l-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2010l-3%20-3l3%20-3%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207l18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2020l3%20-3l-3%20-3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bolt: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%203l0%207l6%200l-8%2011l0%20-7l-6%200l8%20-11%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bookmark: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M18%207v14l-6%20-4l-6%204v-14a4%204%200%200%201%204%20-4h4a4%204%200%200%201%204%204%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-box: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%203l8%204.5l0%209l-8%204.5l-8%20-4.5l0%20-9l8%20-4.5%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l8%20-4.5%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l0%209%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l-8%20-4.5%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-briefcase: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%209a2%202%200%200%201%202%20-2h14a2%202%200%200%201%202%202v9a2%202%200%200%201%20-2%202h-14a2%202%200%200%201%20-2%20-2l0%20-9%22%20%2F%3E%20%3Cpath%20d%3D%22M8%207v-2a2%202%200%200%201%202%20-2h4a2%202%200%200%201%202%202v2%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2013a20%2020%200%200%200%2018%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bug: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%209v-1a3%203%200%200%201%206%200v1%22%20%2F%3E%20%3Cpath%20d%3D%22M8%209h8a6%206%200%200%201%201%203v3a5%205%200%200%201%20-10%200v-3a6%206%200%200%201%201%20-3%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2013l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2013l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2020l0%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2019l3.35%20-2%22%20%2F%3E%20%3Cpath%20d%3D%22M20%2019l-3.35%20-2%22%20%2F%3E%20%3Cpath%20d%3D%22M4%207l3.75%202.4%22%20%2F%3E%20%3Cpath%20d%3D%22M20%207l-3.75%202.4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-calendar: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%207a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-12a2%202%200%200%201%20-2%20-2v-12%22%20%2F%3E%20%3Cpath%20d%3D%22M16%203v4%22%20%2F%3E%20%3Cpath%20d%3D%22M8%203v4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2011h16%22%20%2F%3E%20%3Cpath%20d%3D%22M11%2015h1%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2015v3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chart-infographic: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207a4%204%200%201%200%208%200a4%204%200%201%200%20-8%200%22%20%2F%3E%20%3Cpath%20d%3D%22M7%203v4h4%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2017l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2014l0%207%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2013l0%208%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2012l0%209%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-clock: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%2018%200a9%209%200%200%200%20-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%207v5l3%203%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-code: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M7%208l-4%204l4%204%22%20%2F%3E%20%3Cpath%20d%3D%22M17%208l4%204l-4%204%22%20%2F%3E%20%3Cpath%20d%3D%22M14%204l-4%2016%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-database: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206a8%203%200%201%200%2016%200a8%203%200%201%200%20-16%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206v6a8%203%200%200%200%2016%200v-6%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012v6a8%203%200%200%200%2016%200v-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-file-code: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M14%203v4a1%201%200%200%200%201%201h4%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2021h-10a2%202%200%200%201%20-2%20-2v-14a2%202%200%200%201%202%20-2h7l5%205v11a2%202%200%200%201%20-2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2013l-1%202l1%202%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2013l1%202l-1%202%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-flag: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%205a5%205%200%200%201%207%200a5%205%200%200%200%207%200v9a5%205%200%200%201%20-7%200a5%205%200%200%200%20-7%200v-9%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2021v-7%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-history: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%208l0%204l2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M3.05%2011a9%209%200%201%201%20.5%204m-.5%205v-5h5%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-inbox: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-12a2%202%200%200%201%20-2%20-2l0%20-12%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2013h3l3%203h4l3%20-3h3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-leaf: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2021c.5%20-4.5%202.5%20-8%207%20-10%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2018c6.218%200%2010.5%20-3.288%2011%20-12v-2h-4.014c-9%200%20-11.986%204%20-12%209c0%201%200%203%202%205h3l.014%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-list: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%206l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2012l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2018l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M5%206l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2012l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2018l0%20.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-list-details: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%205h8%22%20%2F%3E%20%3Cpath%20d%3D%22M13%209h5%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2015h8%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2019h5%22%20%2F%3E%20%3Cpath%20d%3D%22M3%205a1%201%200%200%201%201%20-1h4a1%201%200%200%201%201%201v4a1%201%200%200%201%20-1%201h-4a1%201%200%200%201%20-1%20-1l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2015a1%201%200%200%201%201%20-1h4a1%201%200%200%201%201%201v4a1%201%200%200%201%20-1%201h-4a1%201%200%200%201%20-1%20-1l0%20-4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-logs: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2018h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2018h2%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2012h2%22%20%2F%3E%20%3Cpath%20d%3D%22M8%206h2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%206h6%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2012h6%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2018h6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-mobiledata: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2012v-8%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2020v-8%22%20%2F%3E%20%3Cpath%20d%3D%22M13%207l3%20-3l3%203%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2017l3%203l3%20-3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-search: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010a7%207%200%201%200%2014%200a7%207%200%201%200%20-14%200%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2021l-6%20-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-server-cog: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207a3%203%200%200%201%203%20-3h12a3%203%200%200%201%203%203v2a3%203%200%200%201%20-3%203h-12a3%203%200%200%201%20-3%20-3v-2%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2020h-6a3%203%200%200%201%20-3%20-3v-2a3%203%200%200%201%203%20-3h10.5%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2018a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2014.5v1.5%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2020v1.5%22%20%2F%3E%20%3Cpath%20d%3D%22M21.032%2016.25l-1.299%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M16.27%2019l-1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M14.97%2016.25l1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M19.733%2019l1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M7%208v.01%22%20%2F%3E%20%3Cpath%20d%3D%22M7%2016v.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-share-3: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%204v4c-6.575%201.028%20-9.02%206.788%20-10%2012c-.037%20.206%205.384%20-5.962%2010%20-6v4l8%20-7l-8%20-7%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-tags: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%208v4.172a2%202%200%200%200%20.586%201.414l5.71%205.71a2.41%202.41%200%200%200%203.408%200l3.592%20-3.592a2.41%202.41%200%200%200%200%20-3.408l-5.71%20-5.71a2%202%200%200%200%20-1.414%20-.586h-4.172a2%202%200%200%200%20-2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2019l1.592%20-1.592a4.82%204.82%200%200%200%200%20-6.816l-4.592%20-4.592%22%20%2F%3E%20%3Cpath%20d%3D%22M7%2010h-.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-x: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M18%206l-12%2012%22%20%2F%3E%20%3Cpath%20d%3D%22M6%206l12%2012%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-maximize: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M16%204l4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2010l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2020l-4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2020l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2020l4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2014l6%206%22%20%2F%3E%20%3Cpath%20d%3D%22M8%204l-4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M4%204l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-minimize: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%209l4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M3%203l6%206%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2015l4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2021l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M19%209l-4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M15%209l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M19%2015l-4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M15%2015l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chevron-down: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M6%209l6%206l6%20-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chevron-up: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2015l6%20-6l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-folder-open: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2019l2.757%20-7.351a1%201%200%200%201%20.936%20-.649h12.307a1%201%200%200%201%20.986%201.164l-.996%205.211a2%202%200%200%201%20-1.964%201.625h-14.026a2%202%200%200%201%20-2%20-2v-11a2%202%200%200%201%202%20-2h4l3%203h7a2%202%200%200%201%202%202v2%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-brand-php: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M2%2012a10%209%200%201%200%2020%200a10%209%200%201%200%20-20%200%22%20%2F%3E%20%3Cpath%20d%3D%22M5.5%2015l.395%20-1.974l.605%20-3.026h1.32a1%201%200%200%201%20.986%201.164l-.167%201a1%201%200%200%201%20-.986%20.836h-1.653%22%20%2F%3E%20%3Cpath%20d%3D%22M15.5%2015l.395%20-1.974l.605%20-3.026h1.32a1%201%200%200%201%20.986%201.164l-.167%201a1%201%200%200%201%20-.986%20.836h-1.653%22%20%2F%3E%20%3Cpath%20d%3D%22M12%207.5l-1%205.5%22%20%2F%3E%20%3Cpath%20d%3D%22M11.6%2010h2.4l-.5%203%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-refresh: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M20%2011a8.1%208.1%200%200%200%20-15.5%20-2m-.5%20-4v4h4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2013a8.1%208.1%200%200%200%2015.5%202m.5%204v-4h-4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-cpu: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%206a1%201%200%200%201%201%20-1h12a1%201%200%200%201%201%201v12a1%201%200%200%201%20-1%201h-12a1%201%200%200%201%20-1%20-1l0%20-12%22%20%2F%3E%20%3Cpath%20d%3D%22M9%209h6v6h-6l0%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010h2%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2014h2%22%20%2F%3E%20%3Cpath%20d%3D%22M10%203v2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%203v2%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2010h-2%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2014h-2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2021v-2%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2021v-2%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-table: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%205a2%202%200%200%201%202%20-2h14a2%202%200%200%201%202%202v14a2%202%200%200%201%20-2%202h-14a2%202%200%200%201%20-2%20-2v-14%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010h18%22%20%2F%3E%20%3Cpath%20d%3D%22M10%203v18%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-link: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2015l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M11%206l.463%20-.536a5%205%200%200%201%207.071%207.072l-.534%20.464%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2018l-.397%20.534a5.068%205.068%200%200%201%20-7.127%200a4.972%204.972%200%200%201%200%20-7.071l.524%20-.463%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-copy: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M7%209.667a2.667%202.667%200%200%201%202.667%20-2.667h8.666a2.667%202.667%200%200%201%202.667%202.667v8.666a2.667%202.667%200%200%201%20-2.667%202.667h-8.666a2.667%202.667%200%200%201%20-2.667%20-2.667l0%20-8.666%22%20%2F%3E%20%3Cpath%20d%3D%22M4.012%2016.737a2.005%202.005%200%200%201%20-1.012%20-1.737v-10c0%20-1.1%20.9%20-2%202%20-2h10c.75%200%201.158%20.385%201.5%201%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-circle-check: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%2018%200a9%209%200%201%200%20-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2012l2%202l4%20-4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-external-link: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%206h-6a2%202%200%200%200%20-2%202v10a2%202%200%200%200%202%202h10a2%202%200%200%200%202%20-2v-6%22%20%2F%3E%20%3Cpath%20d%3D%22M11%2013l9%20-9%22%20%2F%3E%20%3Cpath%20d%3D%22M15%204h5v5%22%20%2F%3E%20%3C%2Fsvg%3E)}.phpdebugbar-icon-adjustments:before{-webkit-mask-image:var(--debugbar-icon-adjustments);mask-image:var(--debugbar-icon-adjustments)}.phpdebugbar-icon-adjustments-horizontal:before{-webkit-mask-image:var(--debugbar-icon-adjustments-horizontal);mask-image:var(--debugbar-icon-adjustments-horizontal)}.phpdebugbar-icon-arrow-right:before{-webkit-mask-image:var(--debugbar-icon-arrow-right);mask-image:var(--debugbar-icon-arrow-right)}.phpdebugbar-icon-arrows-left-right:before{-webkit-mask-image:var(--debugbar-icon-arrows-left-right);mask-image:var(--debugbar-icon-arrows-left-right)}.phpdebugbar-icon-bolt:before{-webkit-mask-image:var(--debugbar-icon-bolt);mask-image:var(--debugbar-icon-bolt)}.phpdebugbar-icon-bookmark:before{-webkit-mask-image:var(--debugbar-icon-bookmark);mask-image:var(--debugbar-icon-bookmark)}.phpdebugbar-icon-box:before{-webkit-mask-image:var(--debugbar-icon-box);mask-image:var(--debugbar-icon-box)}.phpdebugbar-icon-briefcase:before{-webkit-mask-image:var(--debugbar-icon-briefcase);mask-image:var(--debugbar-icon-briefcase)}.phpdebugbar-icon-bug:before{-webkit-mask-image:var(--debugbar-icon-bug);mask-image:var(--debugbar-icon-bug)}.phpdebugbar-icon-calendar:before{-webkit-mask-image:var(--debugbar-icon-calendar);mask-image:var(--debugbar-icon-calendar)}.phpdebugbar-icon-chart-infographic:before{-webkit-mask-image:var(--debugbar-icon-chart-infographic);mask-image:var(--debugbar-icon-chart-infographic)}.phpdebugbar-icon-clock:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}.phpdebugbar-icon-code:before{-webkit-mask-image:var(--debugbar-icon-code);mask-image:var(--debugbar-icon-code)}.phpdebugbar-icon-database:before{-webkit-mask-image:var(--debugbar-icon-database);mask-image:var(--debugbar-icon-database)}.phpdebugbar-icon-file-code:before{-webkit-mask-image:var(--debugbar-icon-file-code);mask-image:var(--debugbar-icon-file-code)}.phpdebugbar-icon-flag:before{-webkit-mask-image:var(--debugbar-icon-flag);mask-image:var(--debugbar-icon-flag)}.phpdebugbar-icon-history:before{-webkit-mask-image:var(--debugbar-icon-history);mask-image:var(--debugbar-icon-history)}.phpdebugbar-icon-inbox:before{-webkit-mask-image:var(--debugbar-icon-inbox);mask-image:var(--debugbar-icon-inbox)}.phpdebugbar-icon-leaf:before{-webkit-mask-image:var(--debugbar-icon-leaf);mask-image:var(--debugbar-icon-leaf)}.phpdebugbar-icon-list:before{-webkit-mask-image:var(--debugbar-icon-list);mask-image:var(--debugbar-icon-list)}.phpdebugbar-icon-list-details:before{-webkit-mask-image:var(--debugbar-icon-list-details);mask-image:var(--debugbar-icon-list-details)}.phpdebugbar-icon-logs:before{-webkit-mask-image:var(--debugbar-icon-logs);mask-image:var(--debugbar-icon-logs)}.phpdebugbar-icon-mobiledata:before{-webkit-mask-image:var(--debugbar-icon-mobiledata);mask-image:var(--debugbar-icon-mobiledata)}.phpdebugbar-icon-search:before{-webkit-mask-image:var(--debugbar-icon-search);mask-image:var(--debugbar-icon-search)}.phpdebugbar-icon-server-cog:before{-webkit-mask-image:var(--debugbar-icon-server-cog);mask-image:var(--debugbar-icon-server-cog)}.phpdebugbar-icon-share-3:before{-webkit-mask-image:var(--debugbar-icon-share-3);mask-image:var(--debugbar-icon-share-3)}.phpdebugbar-icon-tags:before{-webkit-mask-image:var(--debugbar-icon-tags);mask-image:var(--debugbar-icon-tags)}.phpdebugbar-icon-x:before{-webkit-mask-image:var(--debugbar-icon-x);mask-image:var(--debugbar-icon-x)}.phpdebugbar-icon-arrows-maximize:before{-webkit-mask-image:var(--debugbar-icon-arrows-maximize);mask-image:var(--debugbar-icon-arrows-maximize)}.phpdebugbar-icon-arrows-minimize:before{-webkit-mask-image:var(--debugbar-icon-arrows-minimize);mask-image:var(--debugbar-icon-arrows-minimize)}.phpdebugbar-icon-chevron-down:before{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}.phpdebugbar-icon-chevron-up:before{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}.phpdebugbar-icon-folder-open:before{-webkit-mask-image:var(--debugbar-icon-folder-open);mask-image:var(--debugbar-icon-folder-open)}.phpdebugbar-icon-brand-php:before{-webkit-mask-image:var(--debugbar-icon-brand-php);mask-image:var(--debugbar-icon-brand-php)}.phpdebugbar-icon-refresh:before{-webkit-mask-image:var(--debugbar-icon-refresh);mask-image:var(--debugbar-icon-refresh)}.phpdebugbar-icon-cpu:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}.phpdebugbar-icon-table:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}.phpdebugbar-icon-link:before{-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link)}.phpdebugbar-icon-copy:before{-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy)}.phpdebugbar-icon-circle-check:before{-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}.phpdebugbar-icon-external-link:before{-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link)}@media print{div.phpdebugbar{display:none}}div.phpdebugbar,div.phpdebugbar-openhandler,div.phpdebugbar-widgets-datasets-panel{--debugbar-background: #F7F7F7;--debugbar-background-alt: #EFEFEF;--debugbar-text: #222;--debugbar-text-muted: #888;--debugbar-border: #eee;--debugbar-header: #efefef;--debugbar-header-text: #555;--debugbar-header-border: #ddd;--debugbar-active: #ccc;--debugbar-active-text: #666;--debugbar-icons: #555;--debugbar-badge: #ccc;--debugbar-badge-text: #555;--debugbar-badge-active: #477e96;--debugbar-badge-active-text: #fff;--debugbar-link: #888;--debugbar-hover: #aaa;--debugbar-accent: #6BB7D8;--debugbar-accent-border: #477e96;--debugbar-font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--debugbar-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--debugbar-icon-brand: var(--debugbar-icon-brand-php)}div.phpdebugbar[data-theme=dark],div.phpdebugbar-openhandler[data-theme=dark],div.phpdebugbar-widgets-datasets-panel[data-theme=dark]{--debugbar-background: #2a2a2a;--debugbar-background-alt: #333333;--debugbar-text: #e0e0e0;--debugbar-text-muted: #aaaaaa;--debugbar-border: #3a3a3a;--debugbar-header: #1e1e1e;--debugbar-header-text: #cccccc;--debugbar-header-border: #444;--debugbar-active: #444;--debugbar-active-text: #e0e0e0;--debugbar-icons: #cccccc;--debugbar-badge: #444;--debugbar-badge-text: #cccccc;--debugbar-badge-active: #4F8FB3;--debugbar-badge-active-text: #1e1e1e;--debugbar-accent: #4F8FB3;--debugbar-accent-border: #3F7A94;--debugbar-link: #aaaaaa;--debugbar-hover: #888888}div.phpdebugbar{position:fixed;bottom:0;left:0;width:100%;border-top:0;font-family:var(--debugbar-font-sans);background:var(--debugbar-background);z-index:100000000;font-size:13px;color:var(--debugbar-text);text-align:left;line-height:1.2em;letter-spacing:normal;direction:ltr}div.phpdebugbar.phpdebugbar-fullscreen,div.phpdebugbar.phpdebugbar-fullscreen[data-toolbarPosition=top]{top:0;bottom:0;display:flex;flex-direction:column}div.phpdebugbar.phpdebugbar-fullscreen .phpdebugbar-body{flex:1;height:calc(100% - 32px)!important}div.phpdebugbar.phpdebugbar-fullscreen .phpdebugbar-resize-handle{display:none}.phpdebugbar [hidden]{display:none!important}div.phpdebugbar[data-openBtnPosition=bottomRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=topRight].phpdebugbar-closed{left:auto;right:0}div.phpdebugbar[data-openBtnPosition=topRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=topLeft].phpdebugbar-closed{bottom:auto;top:0;border-bottom:1px solid var(--debugbar-header-border)}div.phpdebugbar[data-openBtnPosition=bottomRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=bottomLeft].phpdebugbar-closed{border-top:1px solid var(--debugbar-header-border)}.phpdebugbar-closed[data-openBtnPosition=bottomLeft],.phpdebugbar-closed[data-openBtnPosition=topLeft]{border-right:1px solid var(--debugbar-header-border)}.phpdebugbar-closed[data-openBtnPosition=bottomRight],.phpdebugbar-closed[data-openBtnPosition=topRight]{border-left:1px solid var(--debugbar-header-border)}div.phpdebugbar a,div.phpdebugbar-openhandler{cursor:pointer}div.phpdebugbar-drag-capture{position:fixed;inset:0;z-index:100000001;background:none;display:none;cursor:row-resize}div.phpdebugbar-closed{width:auto}div.phpdebugbar *{margin:0;padding:0;border:0;font-weight:400;text-decoration:none;clear:initial;width:auto;direction:ltr;text-align:left;-moz-box-sizing:content-box;box-sizing:content-box}div.phpdebugbar select,div.phpdebugbar input{appearance:auto}div.phpdebugbar ol,div.phpdebugbar ul{list-style:none}div.phpdebugbar ul li,div.phpdebugbar ol li,div.phpdebugbar dl li{line-height:normal}div.phpdebugbar table,.phpdebugbar-openhandler table{border-collapse:collapse;border-spacing:0;color:inherit}div.phpdebugbar input[type=text],div.phpdebugbar input[type=password],div.phpdebugbar select{font-family:var(--debugbar-font-sans);background:var(--debugbar-background);font-size:14px;color:var(--debugbar-text);padding:0;border:1px solid var(--debugbar-border);border-radius:.25rem;margin:0}div.phpdebugbar code,div.phpdebugbar pre,div.phpdebugbar samp{background:none;font-family:var(--debugbar-font-mono);font-size:1em;border:0!important;padding:0;margin:0}div.phpdebugbar code,div.phpdebugbar pre{color:var(--debugbar-text)}div.phpdebugbar pre.sf-dump{background:none!important;z-index:0!important;display:block!important;color:#a0a000;outline:0}div.phpdebugbar pre.sf-dump .sf-dump-private{color:gray}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-public{color:#fc0}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-protected{color:#a0a000}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-private{color:#9d9266}a.phpdebugbar-restore-btn{float:left;padding:4px;font-size:14px;color:var(--debugbar-icons);text-decoration:none;width:24px;height:24px}div.phpdebugbar-resize-handle{height:4px;margin-top:-4px;width:100%;background:none;border-bottom:1px solid var(--debugbar-header-border);cursor:row-resize}div.phpdebugbar-minimized div.phpdebugbar-resize-handle{cursor:auto}div.phpdebugbar-resize-handle.phpdebugbar-resize-handle-bottom{margin-top:4px}div.phpdebugbar-minimized{border-top:1px solid var(--debugbar-header-border)}div.phpdebugbar-minimized[data-toolbarPosition=top]{border-top:0;border-bottom:1px solid var(--debugbar-header-border)}div.phpdebugbar[data-toolbarPosition=top]{bottom:auto;top:0}div.phpdebugbar[data-toolbarPosition=top] div.phpdebugbar-resize-handle-top{height:0;display:none}div.phpdebugbar[data-toolbarPosition=top] div.phpdebugbar-resize-handle-bottom{margin-top:0}div.phpdebugbar[data-toolbarPosition=bottom] div.phpdebugbar-resize-handle-bottom{height:0;margin-top:0}a.phpdebugbar-restore-btn:after{-webkit-mask-image:var(--debugbar-icon-brand);mask-image:var(--debugbar-icon-brand);-webkit-mask-size:20px 20px;mask-size:20px 20px;background-color:var(--debugbar-icons)}div.phpdebugbar-header{background-color:var(--debugbar-header);min-height:32px;line-height:16px}div.phpdebugbar-header:before,div.phpdebugbar-header:after{display:table;line-height:0;content:""}div.phpdebugbar-header:after{clear:both}div.phpdebugbar-header-left{float:left}div.phpdebugbar-header-right{float:right}div.phpdebugbar-header>div>*{padding:5px;font-size:13px;height:22px;color:var(--debugbar-header-text);text-decoration:none}div.phpdebugbar-header-left>*,div.phpdebugbar-header-right>*{line-height:0;display:flex;align-items:center}div.phpdebugbar-header-left>*{float:left}div.phpdebugbar-header-right>*{float:right}div.phpdebugbar-header-right select{padding:0;line-height:1em;background-color:var(--debugbar-header);color:var(--debugbar-header-text)}span.phpdebugbar-indicator,a.phpdebugbar-indicator{border-right:1px solid var(--debugbar-header-border)}.phpdebugbar[data-hideEmptyTabs=true] .phpdebugbar-tab[data-empty=true]:not(.phpdebugbar-active){display:none}a.phpdebugbar-tab.phpdebugbar-active{background:var(--debugbar-active);color:var(--debugbar-active-text)}a.phpdebugbar-tab .phpdebugbar-text{font-size:14px}a.phpdebugbar-tab span.phpdebugbar-badge{display:none;margin-left:5px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge);border-radius:4px;color:var(--debugbar-badge-text);font-weight:400;text-shadow:none}a.phpdebugbar-tab.phpdebugbar-active span.phpdebugbar-badge{background:var(--debugbar-badge-active);color:var(--debugbar-badge-active-text)}a.phpdebugbar-tab i{display:none;vertical-align:middle}.phpdebugbar-icon,i.phpdebugbar-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.phpdebugbar-icon:before,i.phpdebugbar-icon:before{content:"";display:block;justify-content:center;flex-shrink:0;width:1.3em;height:1.3em;background-size:contain;background-repeat:no-repeat;background-position:center;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}.phpdebugbar-icon-brand:before{-webkit-mask-image:var(--debugbar-icon-brand);mask-image:var(--debugbar-icon-brand)}a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-visible{display:inline}a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-important{background:#ed6868;color:#fff}a.phpdebugbar-close-btn,a.phpdebugbar-open-btn,a.phpdebugbar-summary-btn,a.phpdebugbar-fullscreen-btn,a.phpdebugbar-minimize-btn,a.phpdebugbar-maximize-btn,a.phpdebugbar-tab.phpdebugbar-tab-history,a.phpdebugbar-tab.phpdebugbar-tab-settings{width:16px;height:22px;position:relative}a.phpdebugbar-close-btn:after,a.phpdebugbar-open-btn:after,a.phpdebugbar-summary-btn:after,a.phpdebugbar-restore-btn:after,a.phpdebugbar-fullscreen-btn:after,a.phpdebugbar-minimize-btn:after,a.phpdebugbar-maximize-btn:after{content:" ";display:block;left:0;position:absolute;top:0;width:100%;height:100%;background-color:var(--debugbar-icons);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:18px 18px;mask-size:18px 18px}a.phpdebugbar-restore-btn:after{-webkit-mask-size:24px 24px;mask-size:24px 24px;mask-repeat:no-repeat;mask-position:center;position:relative}a.phpdebugbar-minimize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}a.phpdebugbar-maximize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}div.phpdebugbar[data-toolbarPosition=top] a.phpdebugbar-minimize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}div.phpdebugbar[data-toolbarPosition=top] a.phpdebugbar-maximize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}a.phpdebugbar-close-btn:after{-webkit-mask-image:var(--debugbar-icon-x);mask-image:var(--debugbar-icon-x)}a.phpdebugbar-fullscreen-btn:after{-webkit-mask-image:var(--debugbar-icon-arrows-maximize);mask-image:var(--debugbar-icon-arrows-maximize)}div.phpdebugbar.phpdebugbar-fullscreen a.phpdebugbar-fullscreen-btn:after{-webkit-mask-image:var(--debugbar-icon-arrows-minimize);mask-image:var(--debugbar-icon-arrows-minimize)}a.phpdebugbar-open-btn:after{-webkit-mask-image:var(--debugbar-icon-folder-open);mask-image:var(--debugbar-icon-folder-open)}a.phpdebugbar-summary-btn:after{-webkit-mask-image:var(--debugbar-icon-list-details);mask-image:var(--debugbar-icon-list-details)}a.phpdebugbar-summary-btn.phpdebugbar-summary-btn-active:after{background-color:var(--debugbar-text)}div.phpdebugbar-header-right>div.phpdebugbar-summary-float{position:relative}div.phpdebugbar-summary-float>div.phpdebugbar-summary-popover{position:absolute;bottom:100%;right:0;z-index:4;width:420px;max-width:min(420px,90vw);max-height:50vh;margin-bottom:4px;padding:8px;display:flex;flex-direction:column;gap:6px;line-height:normal;text-align:left;background-color:var(--debugbar-background);border:1px solid var(--debugbar-border);border-radius:4px;box-shadow:0 4px 12px #00000040}div.phpdebugbar[data-toolbarPosition=top] div.phpdebugbar-summary-float>div.phpdebugbar-summary-popover{bottom:auto;top:100%;margin-bottom:0;margin-top:4px}div.phpdebugbar-summary-float div.phpdebugbar-summary-scope{flex:1 1 auto;min-width:0;display:flex;gap:4px}div.phpdebugbar-summary-float button.phpdebugbar-summary-scope-btn{flex:0 1 auto;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 8px;font-size:11px;font-family:inherit;line-height:1.4;color:var(--debugbar-text-muted);background-color:transparent;border:1px solid transparent;border-radius:3px;cursor:pointer}div.phpdebugbar-summary-float button.phpdebugbar-summary-scope-btn:hover{color:var(--debugbar-text)}div.phpdebugbar-summary-float button.phpdebugbar-summary-scope-btn.phpdebugbar-summary-scope-active{color:var(--debugbar-text);background-color:var(--debugbar-background-alt);border-color:var(--debugbar-border);cursor:default}div.phpdebugbar-summary-float div.phpdebugbar-summary-content{flex:1 1 auto;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--debugbar-font-mono);font-size:11px;line-height:1.4;color:var(--debugbar-text);padding:6px;background-color:var(--debugbar-background-alt);border-radius:3px}div.phpdebugbar-summary-float div.phpdebugbar-summary-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px}div.phpdebugbar-summary-float button.phpdebugbar-summary-copy{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-family:inherit;color:var(--debugbar-text);background-color:var(--debugbar-background-alt);border:1px solid var(--debugbar-border);border-radius:3px;cursor:pointer;line-height:1.4}div.phpdebugbar-summary-float button.phpdebugbar-summary-copy:hover{background-color:var(--debugbar-header)}div.phpdebugbar-summary-float button.phpdebugbar-summary-copy:before{content:"";display:inline-block;width:11px;height:11px;-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;background-color:currentColor}div.phpdebugbar-summary-float button.phpdebugbar-summary-copy.phpdebugbar-summary-copied{color:var(--debugbar-success, #4caf50)}div.phpdebugbar-summary-float button.phpdebugbar-summary-copy.phpdebugbar-summary-copied:before{-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}.phpdebugbar-indicator{position:relative;cursor:pointer}.phpdebugbar-indicator span.phpdebugbar-text{margin-left:5px}.phpdebugbar-indicator span.phpdebugbar-tooltip{display:none;position:absolute;bottom:38px;background:var(--debugbar-header);border:1px solid var(--debugbar-header-border);color:var(--debugbar-header-text);font-size:11px;padding:2px 6px;z-index:100000001;text-align:center;white-space:nowrap;right:0;line-height:1.5;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.phpdebugbar-indicator:hover span.phpdebugbar-tooltip:not(.phpdebugbar-disabled){display:block}.phpdebugbar-indicator span.phpdebugbar-tooltip dl{display:grid;grid-gap:4px 10px;grid-template-columns:max-content}.phpdebugbar-indicator span.phpdebugbar-tooltip dl dt{font-weight:700;text-align:left}.phpdebugbar-indicator span.phpdebugbar-tooltip dl dd{margin:0;grid-column-start:2;text-align:left}.phpdebugbar .phpdebugbar-datasets-switcher{float:right}.phpdebugbar .phpdebugbar-datasets-switcher select{max-width:200px;height:22px;padding:4px 0;border:none}.phpdebugbar button,.phpdebugbar-openhandler button{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;margin:0 5px;padding:0 12px;height:20px;line-height:normal;cursor:pointer}div.phpdebugbar-body{border-top:1px solid var(--debugbar-header-border);position:relative;height:300px}div.phpdebugbar-panel{height:100%;overflow:auto;width:100%}div.phpdebugbar-panel.phpdebugbar-active{display:block}div.phpdebugbar-mini-design a.phpdebugbar-tab{position:relative;border-right:1px solid var(--debugbar-header-border)}div.phpdebugbar-mini-design a.phpdebugbar-tab span.phpdebugbar-text{display:none}div.phpdebugbar-mini-design a.phpdebugbar-tab:hover span.phpdebugbar-text{display:block;position:absolute;top:-30px;background:var(--debugbar-background);opacity:1;border:1px solid var(--debugbar-header-border);color:var(--debugbar-header-text);font-size:11px;padding:2px 6px;z-index:100000001;text-align:center;right:0;line-height:1.5;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}div.phpdebugbar-mini-design a.phpdebugbar-tab i{display:inline-block}a.phpdebugbar-tab.phpdebugbar-tab-history{width:auto;min-width:22px}a.phpdebugbar-tab.phpdebugbar-tab-history,a.phpdebugbar-tab.phpdebugbar-tab-settings{display:flex;justify-content:center;align-items:center}a.phpdebugbar-tab.phpdebugbar-tab-history .phpdebugbar-text,a.phpdebugbar-tab.phpdebugbar-tab-settings .phpdebugbar-text{display:none;white-space:nowrap}a.phpdebugbar-tab.phpdebugbar-tab-history i,a.phpdebugbar-tab.phpdebugbar-tab-settings i{display:inline-block}.phpdebugbar-widgets-dataset-history table{width:100%;table-layout:fixed}.phpdebugbar-widgets-dataset-history table th{font-weight:700}.phpdebugbar-widgets-dataset-history table td,.phpdebugbar-widgets-dataset-history table th{padding:6px 3px;border-bottom:1px solid var(--debugbar-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phpdebugbar-widgets-dataset-history table td a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phpdebugbar-widgets-dataset-history table tr.phpdebugbar-widgets-active{background:var(--debugbar-active);color:var(--debugbar-active-text)}.phpdebugbar-widgets-dataset-history span.phpdebugbar-badge{margin:0 5px 0 2px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge);border-radius:4px;color:var(--debugbar-badge-text);font-weight:400;text-shadow:none;vertical-align:middle}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions{text-align:center;padding:7px 0;position:sticky;top:0;background:var(--debugbar-background)}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions a{margin:0 10px}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions input{margin:5px}.phpdebugbar-settings .phpdebugbar-form-row{display:block;border-top:1px solid var(--debugbar-border);min-height:17px;padding:5px 10px}.phpdebugbar-settings .phpdebugbar-form-label{width:200px;font-weight:700;display:inline-block;clear:none}.phpdebugbar-settings .phpdebugbar-form-input{font-weight:700;display:inline-block;clear:none}.phpdebugbar-settings input[type=text],.phpdebugbar-settings select{margin:0 5px;min-width:200px}.phpdebugbar-settings input[type=checkbox]{margin:0 5px}pre.phpdebugbar-widgets-code-block{white-space:pre;word-wrap:normal;overflow:hidden}pre.phpdebugbar-widgets-code-block code{display:block;overflow-x:auto;overflow-y:hidden}pre.phpdebugbar-widgets-code-block code.phpdebugbar-widgets-numbered-code{padding:5px;line-height:normal}pre.phpdebugbar-widgets-code-block ul li.phpdebugbar-widgets-highlighted-line{font-weight:bolder;text-decoration:underline}pre.phpdebugbar-widgets-code-block ul li.phpdebugbar-widgets-highlighted-line span{position:absolute;background:var(--debugbar-text);min-width:calc(100% - 85px);margin-left:10px;opacity:.15}pre.phpdebugbar-widgets-code-block ul{position:static;float:left;padding:5px;border-right:1px solid var(--debugbar-header-border);text-align:right}.phpdebugbar-widgets-kvlist span.phpdebugbar-widgets-filename,li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename,table.phpdebugbar-widgets-tablevar span.phpdebugbar-widgets-filename{display:block;font-style:italic;float:right;margin-left:8px;color:var(--debugbar-link)}a.phpdebugbar-widgets-editor-link,a.phpdebugbar-widgets-external-link{color:var(--debugbar-link)}.phpdebugbar-widgets-kvlist span.phpdebugbar-widgets-filename:hover,li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename:hover,a.phpdebugbar-widgets-editor-link:hover,a.phpdebugbar-widgets-external-link:hover{color:var(--debugbar-hover)}a.phpdebugbar-widgets-editor-link:before,a.phpdebugbar-widgets-copy-clipboard-check:before,a.phpdebugbar-widgets-external-link:after{content:"";display:inline-block;width:1em;height:1em;margin-left:4px;vertical-align:middle;-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}a.phpdebugbar-widgets-copy-clipboard-check:before{margin-left:0;margin-right:4px;-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}table.phpdebugbar-widgets-params{width:70%;margin:10px;border:1px solid var(--debugbar-border);font-family:var(--debugbar-font-mono);font-size:13px;border-collapse:collapse}table.phpdebugbar-widgets-params th{font-weight:700}table.phpdebugbar-widgets-params td{border:1px solid var(--debugbar-border);border-left:none;border-right:none;padding:0 5px}table.phpdebugbar-widgets-params .phpdebugbar-widgets-name{width:20%;font-weight:700;vertical-align:top}.phpdebugbar-widgets-truncated{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}ul.phpdebugbar-widgets-list{margin:0;padding:0;list-style:none;font-family:var(--debugbar-font-mono)}ul.phpdebugbar-widgets-list li.phpdebugbar-widgets-list-item{padding:7px 10px;border-bottom:1px solid var(--debugbar-border);position:relative;overflow:hidden}div.phpdebugbar-widgets-messages{position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column}div.phpdebugbar-widgets-messages ul.phpdebugbar-widgets-list{padding-bottom:45px;flex:1;overflow-y:auto}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value{display:flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value:before{margin-right:8px;font-family:system-ui,sans-serif;font-size:1.25em;line-height:1;display:inline-flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success{color:#28a745}.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success{color:#56db3a}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success:before{content:"\2713"}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-alert:before{content:"\2139";color:#cbcf38}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-debug:before{color:#78d79a}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-warning:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-emergency:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-notice:before{content:"\26a0";color:#ecb03d}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-critical{color:red}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-critical:before{content:"\2716"}.phpdebugbar-widgets-params .phpdebugbar-widgets-value pre.sf-dump,dl.phpdebugbar-widgets-kvlist dd.phpdebugbar-widgets-value pre.sf-dump,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item pre.sf-dump{display:inline-block!important;padding-top:0;padding-left:0;padding-bottom:0}dl.phpdebugbar-widgets-kvlist dd.phpdebugbar-widgets-value pre.sf-dump{max-width:calc(100% - 5px)}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-label{float:right;font-size:12px;padding:2px 4px;color:#888;margin:0 2px;text-decoration:none;text-shadow:none;background:none;font-weight:400}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-context-count{float:right;font-size:12px;padding:2px 4px;color:#888;margin:0 2px;text-decoration:none;text-shadow:none;background:none;font-weight:400;display:inline-flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-context-count:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector{color:#555;font-style:italic}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar{position:relative;flex-shrink:0;width:100%;background:var(--debugbar-header);color:var(--debugbar-text);border-top:1px solid var(--debugbar-border);border-bottom:0px;height:20px;padding:4px 0}div.phpdebugbar-widgets-messages li .phpdebugbar-widgets-label-called-from{float:right;color:var(--debugbar-text-muted);padding-left:5px;border-bottom:1px dotted var(--debugbar-border)}div.phpdebugbar-widgets-messages li .phpdebugbar-widgets-label-called-from:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input{border:0;margin:0 0 0 7px;width:30%;box-shadow:none;border-radius:3px;padding:2px 6px;height:15px}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input:focus{outline:none}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter{float:right;font-size:12px;padding:2px 4px;background:#7cacd5;margin:0 2px;border-radius:4px;color:var(--debugbar-background);text-decoration:none}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded{background:var(--debugbar-active);color:var(--debugbar-text-muted)}dl.phpdebugbar-widgets-kvlist{margin:0;display:grid;grid-template-columns:minmax(160px,15%) minmax(0,1fr)}dl.phpdebugbar-widgets-kvlist dt{grid-column:1;min-width:0;padding:5px 10px;border-top:1px solid var(--debugbar-border);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}dl.phpdebugbar-widgets-kvlist dd{grid-column:2;margin:0;padding:5px 10px;border-top:1px solid var(--debugbar-border);cursor:pointer;min-height:17px;overflow-wrap:anywhere;overflow-x:auto}dl.phpdebugbar-widgets-varlist,dl.phpdebugbar-widgets-jsonvarlist,dl.phpdebugbar-widgets-htmlvarlist{font-family:var(--debugbar-font-mono)}dl.phpdebugbar-widgets-jsonvarlist dd,dl.phpdebugbar-widgets-htmlvarlist dd{cursor:initial}ul.phpdebugbar-widgets-timeline{margin:0;padding:0;list-style:none}ul.phpdebugbar-widgets-timeline .phpdebugbar-widgets-measure{height:20px;position:relative;border:none;display:block}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label,ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-collector{position:absolute;font-size:12px;font-family:var(--debugbar-font-mono);color:var(--debugbar-text);top:4px;left:5px;background:none;text-shadow:none;font-weight:400;white-space:pre}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-collector{left:initial;right:5px}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-value{display:block;position:absolute;height:calc(100% - 4px);background-color:var(--debugbar-accent);border-bottom:2px solid var(--debugbar-accent-border);top:2px;border-radius:3px;min-width:2px}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item{cursor:pointer}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-message{display:block;color:red}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-type{display:block;position:absolute;right:4px;top:4px;font-weight:700}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-file{margin:10px;padding:5px;border:1px solid var(--debugbar-border);font-family:var(--debugbar-font-mono)}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename{float:none}div.phpdebugbar[data-theme=dark] code.phpdebugbar-widgets-sql,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-name,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-key,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-success>pre.sf-dump>.sf-dump-note{color:#fdfd96}table.phpdebugbar-widgets-tablevar{width:100%;table-layout:auto;font-size:1em}table.phpdebugbar-widgets-tablevar td:first-child{width:150px;white-space:nowrap;font-family:var(--debugbar-font-mono)}table.phpdebugbar-widgets-tablevar td.phpdebugbar-widgets-editor{width:5%;white-space:nowrap;text-align:right}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td{font-weight:700}table.phpdebugbar-widgets-tablevar td{padding:2px 4px;border-bottom:1px solid var(--debugbar-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td{position:sticky;inset-inline-start:0px;background:var(--debugbar-background);border-bottom:none;z-index:1;top:0;bottom:0}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td:after,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:var(--debugbar-border)}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td:after{bottom:auto;top:0}div.phpdebugbar span.phpdebugbar-widgets-badge{margin:0 5px 0 8px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge-active);border-radius:4px;color:var(--debugbar-badge-active-text);font-weight:400;text-shadow:none;vertical-align:middle}.phpdebugbar .phpdebugbar-widgets-datasets-switcher-widget{position:relative;float:right;display:flex;padding:0!important;margin:0!important;height:32px;align-items:center}.phpdebugbar .phpdebugbar-widgets-datasets-badge{position:relative;display:flex;align-items:center;gap:6px;padding:0 10px;height:32px;background:var(--debugbar-header);color:var(--debugbar-header-text);cursor:pointer;font-size:12px;line-height:normal;transition:background-color .15s;font-family:var(--debugbar-font-sans);border-right:1px solid var(--debugbar-header-border)}.phpdebugbar .phpdebugbar-widgets-datasets-badge:hover{background:var(--debugbar-active)}.phpdebugbar .phpdebugbar-widgets-datasets-badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:9px;font-weight:600;font-size:11px}.phpdebugbar .phpdebugbar-widgets-datasets-badge-count[hidden]{display:none}.phpdebugbar .phpdebugbar-widgets-datasets-badge-url{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-panel{position:fixed;width:600px;background:var(--debugbar-background);border:1px solid var(--debugbar-border);box-shadow:0 2px 8px #0000001a;overflow:hidden;z-index:100000001}.phpdebugbar-widgets-datasets-panel-toolbar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--debugbar-background-alt);border-bottom:1px solid var(--debugbar-border);font-size:12px;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-autoshow{display:flex;align-items:center;gap:4px;cursor:pointer;color:var(--debugbar-text);white-space:nowrap;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-autoshow input[type=checkbox]{cursor:pointer;margin:0}.phpdebugbar-widgets-datasets-clear-btn,.phpdebugbar-widgets-datasets-showall-btn{color:var(--debugbar-link);text-decoration:none;cursor:pointer;white-space:nowrap;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-clear-btn:hover,.phpdebugbar-widgets-datasets-showall-btn:hover{color:var(--debugbar-hover);text-decoration:underline}.phpdebugbar-widgets-datasets-refresh-btn{color:var(--debugbar-text-muted);text-decoration:none;cursor:pointer;white-space:nowrap;font-size:14px;display:inline-flex;align-items:center}.phpdebugbar-widgets-datasets-refresh-btn[hidden]{display:none}.phpdebugbar-widgets-datasets-refresh-btn:hover,.phpdebugbar-widgets-datasets-refresh-btn.phpdebugbar-widgets-active{color:var(--debugbar-text)}.phpdebugbar-widgets-datasets-refresh-btn.phpdebugbar-widgets-active i{animation:phpdebugbar-spin 2s linear infinite}@keyframes phpdebugbar-spin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.phpdebugbar-widgets-datasets-search{flex:1;padding:3px 8px;font-size:11px;min-width:120px;border:1px solid var(--debugbar-border);background:var(--debugbar-background);color:var(--debugbar-text);border-radius:2px;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-list{max-height:300px;overflow-y:auto}.phpdebugbar-widgets-datasets-list-item{display:grid;grid-template-columns:45px 50px 1fr auto auto auto;gap:6px;padding:5px 10px;border-bottom:1px solid var(--debugbar-border);cursor:pointer;transition:background-color .1s;align-items:center;font-size:11px}.phpdebugbar-widgets-datasets-list-item[hidden]{display:none}.phpdebugbar-widgets-datasets-list-item:hover{background:var(--debugbar-background-alt)}.phpdebugbar-widgets-datasets-list-item.phpdebugbar-widgets-active{background:var(--debugbar-active);font-weight:500}.phpdebugbar-widgets-datasets-item-nb{color:var(--debugbar-text-muted);font-weight:600;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-copy-id{cursor:pointer;color:var(--debugbar-text-muted);display:inline-flex;align-items:center;margin-right:-4px;position:relative}.phpdebugbar-widgets-datasets-item-copy-id i{font-size:12px}.phpdebugbar-widgets-datasets-item-copy-id:hover{color:var(--debugbar-text)}.phpdebugbar-widgets-datasets-item-copy-id.phpdebugbar-widgets-copied{color:var(--debugbar-success, #28a745)}.phpdebugbar-widgets-datasets-item-time{color:var(--debugbar-text-muted);font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-request{display:flex;gap:6px;align-items:center;overflow:hidden}.phpdebugbar-widgets-datasets-item-method{padding:1px 5px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:2px;font-weight:600;font-family:var(--debugbar-font-mono);flex-shrink:0}.phpdebugbar-widgets-datasets-item-url{color:var(--debugbar-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-suffix{color:var(--debugbar-text-muted);font-family:var(--debugbar-font-mono);flex-shrink:0}.phpdebugbar-widgets-datasets-item-badges{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}.phpdebugbar-widgets-datasets-item-badge{display:inline-flex;align-items:center;gap:2px;padding:1px 4px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:2px;font-size:10px;font-weight:600;cursor:pointer;transition:background-color .1s}.phpdebugbar-widgets-datasets-item-badge:hover{background:var(--debugbar-badge-active);color:var(--debugbar-badge-active-text)}.phpdebugbar-widgets-datasets-item-badge i{width:12px;height:12px}div.phpdebugbar-openhandler-overlay{position:fixed;left:0;top:0;width:100%;height:100%;background:#000;opacity:.3;z-index:100000002}div.phpdebugbar-openhandler{position:fixed;margin:auto;inset:0;width:80%;height:70%;background:var(--debugbar-background);color:var(--debugbar-text);border:2px solid var(--debugbar-header-border);overflow:auto;z-index:100000003;font-family:var(--debugbar-font-sans);font-size:14px;padding:0}div.phpdebugbar-openhandler select,div.phpdebugbar-openhandler input{appearance:auto}div.phpdebugbar-openhandler input,div.phpdebugbar-openhandler select{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;height:20px;margin:0 5px;padding:0}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions input[name=uri]{width:200px}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions input[name=ip]{width:90px}div.phpdebugbar-openhandler a{color:var(--debugbar-header-text)}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header{background:var(--debugbar-header) no-repeat 5px 4px;color:var(--debugbar-header-text);margin-bottom:10px;display:flex;align-items:center;padding:5px 8px}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-closebtn,div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-brand{font-size:14px;color:var(--debugbar-header-text);text-decoration:none;padding-right:5px;line-height:1;align-items:center}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-closebtn{margin-left:auto}div.phpdebugbar-openhandler table{width:100%;table-layout:fixed;font-size:14px}div.phpdebugbar-openhandler table td,div.phpdebugbar-openhandler table th{border:0px solid var(--debugbar-border);padding:2px 8px}div.phpdebugbar-openhandler table th,div.phpdebugbar-openhandler table tr:nth-child(2n){background-color:var(--debugbar-background-alt)}div.phpdebugbar-openhandler table th:nth-child(3),div.phpdebugbar-openhandler table td:nth-child(3),div.phpdebugbar-openhandler table th:nth-child(5),div.phpdebugbar-openhandler table td:nth-child(5),div.phpdebugbar-openhandler table th:nth-child(6),div.phpdebugbar-openhandler table td:nth-child(6){text-align:center}div.phpdebugbar-openhandler table td{padding:6px 3px;border-bottom:1px solid var(--debugbar-border)}div.phpdebugbar-openhandler table td a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phpdebugbar-openhandler-id-cell{display:flex;align-items:center;gap:4px}.phpdebugbar-openhandler-id-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55px;display:inline-block;font-family:var(--debugbar-font-mono);font-size:12px}.phpdebugbar-openhandler-copy-id{cursor:pointer;color:var(--debugbar-text-muted);display:inline-flex;align-items:center;position:relative;flex-shrink:0}.phpdebugbar-openhandler-copy-id i{font-size:12px}.phpdebugbar-openhandler-copy-id:hover{color:var(--debugbar-text)}.phpdebugbar-openhandler-copy-id.phpdebugbar-openhandler-copied{color:var(--debugbar-success, #28a745)}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions{text-align:center;padding:7px 0}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions a{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;margin:5px;padding:4px 12px}div.phpdebugbar-widgets-mails span.phpdebugbar-widgets-subject{display:block}div.phpdebugbar-widgets-mails li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-headers{margin:10px;padding:5px;border:1px solid var(--debugbar-border)!important;font-family:var(--debugbar-font-mono)}div.phpdebugbar-widgets-sqlqueries{position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-status{font-family:var(--debugbar-font-mono);padding:6px;border-bottom:1px solid var(--debugbar-border);font-weight:700;color:var(--debugbar-text);background-color:var(--debugbar-background-alt);flex-shrink:0;order:1}div.phpdebugbar-widgets-sqlqueries ul.phpdebugbar-widgets-list{flex:1;overflow-y:auto;order:2}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-error{color:red}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id{float:right;margin-left:8px;color:var(--debugbar-text-muted)}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-database,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-duration,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-row-count,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-copy-clipboard,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-stmt-id{color:var(--debugbar-text)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard-check:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before{-webkit-mask-image:var(--debugbar-icon-database);mask-image:var(--debugbar-icon-database)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before{-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before{-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard-check:before{-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-error{display:block;font-weight:700}code.phpdebugbar-widgets-sql{white-space:pre-wrap;overflow-wrap:break-word;word-wrap:break-word}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-slow{background-color:#ffe4e4}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate{background-color:#fdfdcd}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-slow{background-color:#623100}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate{background-color:#565602}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar{position:relative;flex-shrink:0;width:100%;z-index:1;order:3}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter{float:right;font-size:12px;padding:2px 4px;background:#7cacd5;margin:0 2px;border-radius:4px;color:#fff;text-decoration:none}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded{background:var(--debugbar-background);color:var(--debugbar-text)}div.phpdebugbar-widgets-sqlqueries a.phpdebugbar-widgets-duplicates{font-weight:700;text-decoration:underline}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item div.phpdebugbar-widgets-bg-measure{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-bg-measure div.phpdebugbar-widgets-value{position:absolute;bottom:0;height:1px;opacity:1;background:var(--debugbar-accent-border)}div.phpdebugbar-widgets-sqlqueries td.phpdebugbar-widgets-value li.phpdebugbar-widgets-table-list-item{text-align:left;padding-left:6px}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-text-muted{color:var(--debugbar-text-muted)}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction,div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-message,div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-info{font-weight:bolder}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction{color:#d73a49}[data-theme=dark] div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction{color:#ff7b72}div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status{font-family:var(--debugbar-font-mono);padding:6px;border-bottom:1px solid var(--debugbar-border);font-weight:700;color:var(--debugbar-text);background-color:var(--debugbar-background-alt)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type{float:right;margin-left:8px;color:var(--debugbar-text)}div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-render-time,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-param-count,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status a.phpdebugbar-widgets-editor-link,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-type{color:var(--debugbar-text)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before{-webkit-mask-image:var(--debugbar-icon-code);mask-image:var(--debugbar-icon-code)}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-callgraph>pre *{background-color:inherit!important}pre code.phpdebugbar-hljs{display:block;overflow-x:auto;padding:1em}code.phpdebugbar-hljs{padding:3px 5px}/*! Theme: GitHub Description: Light theme as seen on github.com Author: github.com diff --git a/resources/dist/debugbar.min.js b/resources/dist/debugbar.min.js index 79bc0b55..fa0329ad 100644 --- a/resources/dist/debugbar.min.js +++ b/resources/dist/debugbar.min.js @@ -1,23 +1,26 @@ -(()=>{var Pn=Object.defineProperty,Bn=Object.defineProperties;var Un=Object.getOwnPropertyDescriptors;var Pt=Object.getOwnPropertySymbols;var Hn=Object.prototype.hasOwnProperty,Wn=Object.prototype.propertyIsEnumerable;var Ut=Math.pow,Bt=(s,W,b)=>W in s?Pn(s,W,{enumerable:!0,configurable:!0,writable:!0,value:b}):s[W]=b,et=(s,W)=>{for(var b in W||(W={}))Hn.call(W,b)&&Bt(s,b,W[b]);if(Pt)for(var b of Pt(W))Wn.call(W,b)&&Bt(s,b,W[b]);return s},Ht=(s,W)=>Bn(s,Un(W));var Wt=(s,W,b)=>new Promise((g,d)=>{var w=M=>{try{U(b.next(M))}catch(B){d(B)}},c=M=>{try{U(b.throw(M))}catch(B){d(B)}},U=M=>M.done?g(M.value):Promise.resolve(M.value).then(w,c);U((b=b.apply(s,W)).next())});(()=>{var s=Object.create,W=Object.defineProperty,b=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,d=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,c=(_,D)=>()=>(D||_((D={exports:{}}).exports,D),D.exports),U=(_,D,q,ee)=>{if(D&&typeof D=="object"||typeof D=="function")for(let ne of g(D))!w.call(_,ne)&&ne!==q&&W(_,ne,{get:()=>D[ne],enumerable:!(ee=b(D,ne))||ee.enumerable});return _},M=(_,D,q)=>(q=_!=null?s(d(_)):{},U(D||!_||!_.__esModule?W(q,"default",{value:_,enumerable:!0}):q,_)),B=c((_,D)=>{function q(n){return n instanceof Map?n.clear=n.delete=n.set=function(){throw new Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=function(){throw new Error("set is read-only")}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach(x=>{let j=n[x],Z=typeof j;(Z==="object"||Z==="function")&&!Object.isFrozen(j)&&q(j)}),n}var ee=class{constructor(n){n.data===void 0&&(n.data={}),this.data=n.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function ne(n){return n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function le(n,...x){let j=Object.create(null);for(let Z in n)j[Z]=n[Z];return x.forEach(function(Z){for(let de in Z)j[de]=Z[de]}),j}var ae="
",se=n=>!!n.scope,Ee=(n,{prefix:x})=>{if(n.startsWith("language:"))return n.replace("language:","language-");if(n.includes(".")){let j=n.split(".");return[`${x}${j.shift()}`,...j.map((Z,de)=>`${Z}${"_".repeat(de+1)}`)].join(" ")}return`${x}${n}`},ce=class{constructor(n,x){this.buffer="",this.classPrefix=x.classPrefix,n.walk(this)}addText(n){this.buffer+=ne(n)}openNode(n){if(!se(n))return;let x=Ee(n.scope,{prefix:this.classPrefix});this.span(x)}closeNode(n){se(n)&&(this.buffer+=ae)}value(){return this.buffer}span(n){this.buffer+=``}},Ie=(n={})=>{let x={children:[]};return Object.assign(x,n),x},Me=class Ft{constructor(){this.rootNode=Ie(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(x){this.top.children.push(x)}openNode(x){let j=Ie({scope:x});this.add(j),this.stack.push(j)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(x){return this.constructor._walk(x,this.rootNode)}static _walk(x,j){return typeof j=="string"?x.addText(j):j.children&&(x.openNode(j),j.children.forEach(Z=>this._walk(x,Z)),x.closeNode(j)),x}static _collapse(x){typeof x!="string"&&x.children&&(x.children.every(j=>typeof j=="string")?x.children=[x.children.join("")]:x.children.forEach(j=>{Ft._collapse(j)}))}},ye=class extends Me{constructor(n){super(),this.options=n}addText(n){n!==""&&this.add(n)}startScope(n){this.openNode(n)}endScope(){this.closeNode()}__addSublanguage(n,x){let j=n.root;x&&(j.scope=`language:${x}`),this.add(j)}toHTML(){return new ce(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function ge(n){return n?typeof n=="string"?n:n.source:null}function Ce(n){return Te("(?=",n,")")}function ke(n){return Te("(?:",n,")*")}function Pe(n){return Te("(?:",n,")?")}function Te(...n){return n.map(x=>ge(x)).join("")}function De(n){let x=n[n.length-1];return typeof x=="object"&&x.constructor===Object?(n.splice(n.length-1,1),x):{}}function ve(...n){return"("+(De(n).capture?"":"?:")+n.map(x=>ge(x)).join("|")+")"}function xe(n){return new RegExp(n.toString()+"|").exec("").length-1}function he(n,x){let j=n&&n.exec(x);return j&&j.index===0}var we=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Se(n,{joinWith:x}){let j=0;return n.map(Z=>{j+=1;let de=j,ue=ge(Z),$="";for(;ue.length>0;){let V=we.exec(ue);if(!V){$+=ue;break}$+=ue.substring(0,V.index),ue=ue.substring(V.index+V[0].length),V[0][0]==="\\"&&V[1]?$+="\\"+String(Number(V[1])+de):($+=V[0],V[0]==="("&&j++)}return $}).map(Z=>`(${Z})`).join(x)}var Ge=/\b\B/,Ne="[a-zA-Z]\\w*",je="[a-zA-Z_]\\w*",Xe="\\b\\d+(\\.\\d+)?",Ke="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Ae="\\b(0b[01]+)",Le="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Be=(n={})=>{let x=/^#![ ]*\//;return n.binary&&(n.begin=Te(x,/.*\b/,n.binary,/\b.*/)),le({scope:"meta",begin:x,end:/$/,relevance:0,"on:begin":(j,Z)=>{j.index!==0&&Z.ignoreMatch()}},n)},qe={begin:"\\\\[\\s\\S]",relevance:0},_e={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[qe]},Ve={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[qe]},Qe={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},$e=function(n,x,j={}){let Z=le({scope:"comment",begin:n,end:x,contains:[]},j);Z.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let de=ve("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return Z.contains.push({begin:Te(/[ ]+/,"(",de,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Z},st=$e("//","$"),at=$e("/\\*","\\*/"),Gt=$e("#","$"),jt={scope:"number",begin:Xe,relevance:0},Vt={scope:"number",begin:Ke,relevance:0},$t={scope:"number",begin:Ae,relevance:0},zt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[qe,{begin:/\[/,end:/\]/,relevance:0,contains:[qe]}]},Yt={scope:"title",begin:Ne,relevance:0},Xt={scope:"title",begin:je,relevance:0},Kt={begin:"\\.\\s*"+je,relevance:0},qt=function(n){return Object.assign(n,{"on:begin":(x,j)=>{j.data._beginMatch=x[1]},"on:end":(x,j)=>{j.data._beginMatch!==x[1]&&j.ignoreMatch()}})},rt=Object.freeze({__proto__:null,APOS_STRING_MODE:_e,BACKSLASH_ESCAPE:qe,BINARY_NUMBER_MODE:$t,BINARY_NUMBER_RE:Ae,COMMENT:$e,C_BLOCK_COMMENT_MODE:at,C_LINE_COMMENT_MODE:st,C_NUMBER_MODE:Vt,C_NUMBER_RE:Ke,END_SAME_AS_BEGIN:qt,HASH_COMMENT_MODE:Gt,IDENT_RE:Ne,MATCH_NOTHING_RE:Ge,METHOD_GUARD:Kt,NUMBER_MODE:jt,NUMBER_RE:Xe,PHRASAL_WORDS_MODE:Qe,QUOTE_STRING_MODE:Ve,REGEXP_MODE:zt,RE_STARTERS_RE:Le,SHEBANG:Be,TITLE_MODE:Yt,UNDERSCORE_IDENT_RE:je,UNDERSCORE_TITLE_MODE:Xt});function Qt(n,x){n.input[n.index-1]==="."&&x.ignoreMatch()}function Zt(n,x){n.className!==void 0&&(n.scope=n.className,delete n.className)}function Jt(n,x){x&&n.beginKeywords&&(n.begin="\\b("+n.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",n.__beforeBegin=Qt,n.keywords=n.keywords||n.beginKeywords,delete n.beginKeywords,n.relevance===void 0&&(n.relevance=0))}function en(n,x){Array.isArray(n.illegal)&&(n.illegal=ve(...n.illegal))}function tn(n,x){if(n.match){if(n.begin||n.end)throw new Error("begin & end are not supported with match");n.begin=n.match,delete n.match}}function nn(n,x){n.relevance===void 0&&(n.relevance=1)}var sn=(n,x)=>{if(!n.beforeMatch)return;if(n.starts)throw new Error("beforeMatch cannot be used with starts");let j=Object.assign({},n);Object.keys(n).forEach(Z=>{delete n[Z]}),n.keywords=j.keywords,n.begin=Te(j.beforeMatch,Ce(j.begin)),n.starts={relevance:0,contains:[Object.assign(j,{endsParent:!0})]},n.relevance=0,delete j.beforeMatch},an=["of","and","for","in","not","or","if","then","parent","list","value"],rn="keyword";function Rt(n,x,j=rn){let Z=Object.create(null);return typeof n=="string"?de(j,n.split(" ")):Array.isArray(n)?de(j,n):Object.keys(n).forEach(function(ue){Object.assign(Z,Rt(n[ue],x,ue))}),Z;function de(ue,$){x&&($=$.map(V=>V.toLowerCase())),$.forEach(function(V){let K=V.split("|");Z[K[0]]=[ue,on(K[0],K[1])]})}}function on(n,x){return x?Number(x):ln(n)?0:1}function ln(n){return an.includes(n.toLowerCase())}var yt={},Ze=n=>{console.error(n)},Lt=(n,...x)=>{console.log(`WARN: ${n}`,...x)},tt=(n,x)=>{yt[`${n}/${x}`]||(console.log(`Deprecated as of ${n}. ${x}`),yt[`${n}/${x}`]=!0)},ot=new Error;function Nt(n,x,{key:j}){let Z=0,de=n[j],ue={},$={};for(let V=1;V<=x.length;V++)$[V+Z]=de[V],ue[V+Z]=!0,Z+=xe(x[V-1]);n[j]=$,n[j]._emit=ue,n[j]._multi=!0}function cn(n){if(Array.isArray(n.begin)){if(n.skip||n.excludeBegin||n.returnBegin)throw Ze("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),ot;if(typeof n.beginScope!="object"||n.beginScope===null)throw Ze("beginScope must be object"),ot;Nt(n,n.begin,{key:"beginScope"}),n.begin=Se(n.begin,{joinWith:""})}}function dn(n){if(Array.isArray(n.end)){if(n.skip||n.excludeEnd||n.returnEnd)throw Ze("skip, excludeEnd, returnEnd not compatible with endScope: {}"),ot;if(typeof n.endScope!="object"||n.endScope===null)throw Ze("endScope must be object"),ot;Nt(n,n.end,{key:"endScope"}),n.end=Se(n.end,{joinWith:""})}}function un(n){n.scope&&typeof n.scope=="object"&&n.scope!==null&&(n.beginScope=n.scope,delete n.scope)}function pn(n){un(n),typeof n.beginScope=="string"&&(n.beginScope={_wrap:n.beginScope}),typeof n.endScope=="string"&&(n.endScope={_wrap:n.endScope}),cn(n),dn(n)}function hn(n){function x($,V){return new RegExp(ge($),"m"+(n.case_insensitive?"i":"")+(n.unicodeRegex?"u":"")+(V?"g":""))}class j{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(V,K){K.position=this.position++,this.matchIndexes[this.matchAt]=K,this.regexes.push([K,V]),this.matchAt+=xe(V)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let V=this.regexes.map(K=>K[1]);this.matcherRe=x(Se(V,{joinWith:"|"}),!0),this.lastIndex=0}exec(V){this.matcherRe.lastIndex=this.lastIndex;let K=this.matcherRe.exec(V);if(!K)return null;let fe=K.findIndex((it,mt)=>mt>0&&it!==void 0),pe=this.matchIndexes[fe];return K.splice(0,fe),Object.assign(K,pe)}}class Z{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(V){if(this.multiRegexes[V])return this.multiRegexes[V];let K=new j;return this.rules.slice(V).forEach(([fe,pe])=>K.addRule(fe,pe)),K.compile(),this.multiRegexes[V]=K,K}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(V,K){this.rules.push([V,K]),K.type==="begin"&&this.count++}exec(V){let K=this.getMatcher(this.regexIndex);K.lastIndex=this.lastIndex;let fe=K.exec(V);if(this.resumingScanAtSamePosition()&&!(fe&&fe.index===this.lastIndex)){let pe=this.getMatcher(0);pe.lastIndex=this.lastIndex+1,fe=pe.exec(V)}return fe&&(this.regexIndex+=fe.position+1,this.regexIndex===this.count&&this.considerAll()),fe}}function de($){let V=new Z;return $.contains.forEach(K=>V.addRule(K.begin,{rule:K,type:"begin"})),$.terminatorEnd&&V.addRule($.terminatorEnd,{type:"end"}),$.illegal&&V.addRule($.illegal,{type:"illegal"}),V}function ue($,V){let K=$;if($.isCompiled)return K;[Zt,tn,pn,sn].forEach(pe=>pe($,V)),n.compilerExtensions.forEach(pe=>pe($,V)),$.__beforeBegin=null,[Jt,en,nn].forEach(pe=>pe($,V)),$.isCompiled=!0;let fe=null;return typeof $.keywords=="object"&&$.keywords.$pattern&&($.keywords=Object.assign({},$.keywords),fe=$.keywords.$pattern,delete $.keywords.$pattern),fe=fe||/\w+/,$.keywords&&($.keywords=Rt($.keywords,n.case_insensitive)),K.keywordPatternRe=x(fe,!0),V&&($.begin||($.begin=/\B|\b/),K.beginRe=x(K.begin),!$.end&&!$.endsWithParent&&($.end=/\B|\b/),$.end&&(K.endRe=x(K.end)),K.terminatorEnd=ge(K.end)||"",$.endsWithParent&&V.terminatorEnd&&(K.terminatorEnd+=($.end?"|":"")+V.terminatorEnd)),$.illegal&&(K.illegalRe=x($.illegal)),$.contains||($.contains=[]),$.contains=[].concat(...$.contains.map(function(pe){return mn(pe==="self"?$:pe)})),$.contains.forEach(function(pe){ue(pe,K)}),$.starts&&ue($.starts,V),K.matcher=de(K),K}if(n.compilerExtensions||(n.compilerExtensions=[]),n.contains&&n.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return n.classNameAliases=le(n.classNameAliases||{}),ue(n)}function _t(n){return n?n.endsWithParent||_t(n.starts):!1}function mn(n){return n.variants&&!n.cachedVariants&&(n.cachedVariants=n.variants.map(function(x){return le(n,{variants:null},x)})),n.cachedVariants?n.cachedVariants:_t(n)?le(n,{starts:n.starts?le(n.starts):null}):Object.isFrozen(n)?le(n):n}var En="11.11.1",gn=class extends Error{constructor(n,x){super(n),this.name="HTMLInjectionError",this.html=x}},ht=ne,St=le,At=Symbol("nomatch"),fn=7,Ot=function(n){let x=Object.create(null),j=Object.create(null),Z=[],de=!0,ue="Could not find the language '{}', did you forget to load/include a language module?",$={disableAutodetect:!0,name:"Plain text",contains:[]},V={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:ye};function K(k){return V.noHighlightRe.test(k)}function fe(k){let Y=k.className+" ";Y+=k.parentNode?k.parentNode.className:"";let te=V.languageDetectRe.exec(Y);if(te){let re=ze(te[1]);return re||(Lt(ue.replace("{}",te[1])),Lt("Falling back to no-highlight mode for this block.",k)),re?te[1]:"no-highlight"}return Y.split(/\s+/).find(re=>K(re)||ze(re))}function pe(k,Y,te){let re="",me="";typeof Y=="object"?(re=k,te=Y.ignoreIllegals,me=Y.language):(tt("10.7.0","highlight(lang, code, ...args) has been deprecated."),tt("10.7.0",`Please use highlight(code, options) instead. -https://github.com/highlightjs/highlight.js/issues/2277`),me=k,re=Y),te===void 0&&(te=!0);let Ue={code:re,language:me};ct("before:highlight",Ue);let Ye=Ue.result?Ue.result:it(Ue.language,Ue.code,te);return Ye.code=Ue.code,ct("after:highlight",Ye),Ye}function it(k,Y,te,re){let me=Object.create(null);function Ue(F,z){return F.keywords[z]}function Ye(){if(!Q.keywords){be.addText(oe);return}let F=0;Q.keywordPatternRe.lastIndex=0;let z=Q.keywordPatternRe.exec(oe),J="";for(;z;){J+=oe.substring(F,z.index);let ie=We.case_insensitive?z[0].toLowerCase():z[0],Re=Ue(Q,ie);if(Re){let[Fe,Dn]=Re;if(be.addText(J),J="",me[ie]=(me[ie]||0)+1,me[ie]<=fn&&(pt+=Dn),Fe.startsWith("_"))J+=z[0];else{let Mn=We.classNameAliases[Fe]||Fe;He(z[0],Mn)}}else J+=z[0];F=Q.keywordPatternRe.lastIndex,z=Q.keywordPatternRe.exec(oe)}J+=oe.substring(F),be.addText(J)}function dt(){if(oe==="")return;let F=null;if(typeof Q.subLanguage=="string"){if(!x[Q.subLanguage]){be.addText(oe);return}F=it(Q.subLanguage,oe,!0,Mt[Q.subLanguage]),Mt[Q.subLanguage]=F._top}else F=Et(oe,Q.subLanguage.length?Q.subLanguage:null);Q.relevance>0&&(pt+=F.relevance),be.__addSublanguage(F._emitter,F.language)}function Oe(){Q.subLanguage!=null?dt():Ye(),oe=""}function He(F,z){F!==""&&(be.startScope(z),be.addText(F),be.endScope())}function xt(F,z){let J=1,ie=z.length-1;for(;J<=ie;){if(!F._emit[J]){J++;continue}let Re=We.classNameAliases[F[J]]||F[J],Fe=z[J];Re?He(Fe,Re):(oe=Fe,Ye(),oe=""),J++}}function wt(F,z){return F.scope&&typeof F.scope=="string"&&be.openNode(We.classNameAliases[F.scope]||F.scope),F.beginScope&&(F.beginScope._wrap?(He(oe,We.classNameAliases[F.beginScope._wrap]||F.beginScope._wrap),oe=""):F.beginScope._multi&&(xt(F.beginScope,z),oe="")),Q=Object.create(F,{parent:{value:Q}}),Q}function kt(F,z,J){let ie=he(F.endRe,J);if(ie){if(F["on:end"]){let Re=new ee(F);F["on:end"](z,Re),Re.isMatchIgnored&&(ie=!1)}if(ie){for(;F.endsParent&&F.parent;)F=F.parent;return F}}if(F.endsWithParent)return kt(F.parent,z,J)}function Cn(F){return Q.matcher.regexIndex===0?(oe+=F[0],1):(Tt=!0,0)}function vn(F){let z=F[0],J=F.rule,ie=new ee(J),Re=[J.__beforeBegin,J["on:begin"]];for(let Fe of Re)if(Fe&&(Fe(F,ie),ie.isMatchIgnored))return Cn(z);return J.skip?oe+=z:(J.excludeBegin&&(oe+=z),Oe(),!J.returnBegin&&!J.excludeBegin&&(oe=z)),wt(J,F),J.returnBegin?0:z.length}function xn(F){let z=F[0],J=Y.substring(F.index),ie=kt(Q,F,J);if(!ie)return At;let Re=Q;Q.endScope&&Q.endScope._wrap?(Oe(),He(z,Q.endScope._wrap)):Q.endScope&&Q.endScope._multi?(Oe(),xt(Q.endScope,F)):Re.skip?oe+=z:(Re.returnEnd||Re.excludeEnd||(oe+=z),Oe(),Re.excludeEnd&&(oe=z));do Q.scope&&be.closeNode(),!Q.skip&&!Q.subLanguage&&(pt+=Q.relevance),Q=Q.parent;while(Q!==ie.parent);return ie.starts&&wt(ie.starts,F),Re.returnEnd?0:z.length}function wn(){let F=[];for(let z=Q;z!==We;z=z.parent)z.scope&&F.unshift(z.scope);F.forEach(z=>be.openNode(z))}let ut={};function Dt(F,z){let J=z&&z[0];if(oe+=F,J==null)return Oe(),0;if(ut.type==="begin"&&z.type==="end"&&ut.index===z.index&&J===""){if(oe+=Y.slice(z.index,z.index+1),!de){let ie=new Error(`0 width match regex (${k})`);throw ie.languageName=k,ie.badRule=ut.rule,ie}return 1}if(ut=z,z.type==="begin")return vn(z);if(z.type==="illegal"&&!te){let ie=new Error('Illegal lexeme "'+J+'" for mode "'+(Q.scope||"")+'"');throw ie.mode=Q,ie}else if(z.type==="end"){let ie=xn(z);if(ie!==At)return ie}if(z.type==="illegal"&&J==="")return oe+=` -`,1;if(bt>1e5&&bt>z.index*3)throw new Error("potential infinite loop, way more iterations than matches");return oe+=J,J.length}let We=ze(k);if(!We)throw Ze(ue.replace("{}",k)),new Error('Unknown language: "'+k+'"');let kn=hn(We),ft="",Q=re||kn,Mt={},be=new V.__emitter(V);wn();let oe="",pt=0,Je=0,bt=0,Tt=!1;try{if(We.__emitTokens)We.__emitTokens(Y,be);else{for(Q.matcher.considerAll();;){bt++,Tt?Tt=!1:Q.matcher.considerAll(),Q.matcher.lastIndex=Je;let F=Q.matcher.exec(Y);if(!F)break;let z=Y.substring(Je,F.index),J=Dt(z,F);Je=F.index+J}Dt(Y.substring(Je))}return be.finalize(),ft=be.toHTML(),{language:k,value:ft,relevance:pt,illegal:!1,_emitter:be,_top:Q}}catch(F){if(F.message&&F.message.includes("Illegal"))return{language:k,value:ht(Y),illegal:!0,relevance:0,_illegalBy:{message:F.message,index:Je,context:Y.slice(Je-100,Je+100),mode:F.mode,resultSoFar:ft},_emitter:be};if(de)return{language:k,value:ht(Y),illegal:!1,relevance:0,errorRaised:F,_emitter:be,_top:Q};throw F}}function mt(k){let Y={value:ht(k),illegal:!1,relevance:0,_top:$,_emitter:new V.__emitter(V)};return Y._emitter.addText(k),Y}function Et(k,Y){Y=Y||V.languages||Object.keys(x);let te=mt(k),re=Y.filter(ze).filter(vt).map(Oe=>it(Oe,k,!1));re.unshift(te);let me=re.sort((Oe,He)=>{if(Oe.relevance!==He.relevance)return He.relevance-Oe.relevance;if(Oe.language&&He.language){if(ze(Oe.language).supersetOf===He.language)return 1;if(ze(He.language).supersetOf===Oe.language)return-1}return 0}),[Ue,Ye]=me,dt=Ue;return dt.secondBest=Ye,dt}function bn(k,Y,te){let re=Y&&j[Y]||te;k.classList.add("hljs"),k.classList.add(`language-${re}`)}function gt(k){let Y=null,te=fe(k);if(K(te))return;if(ct("before:highlightElement",{el:k,language:te}),k.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",k);return}if(k.children.length>0&&(V.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(k)),V.throwUnescapedHTML))throw new gn("One of your code blocks includes unescaped HTML.",k.innerHTML);Y=k;let re=Y.textContent,me=te?pe(re,{language:te,ignoreIllegals:!0}):Et(re);k.innerHTML=me.value,k.dataset.highlighted="yes",bn(k,te,me.language),k.result={language:me.language,re:me.relevance,relevance:me.relevance},me.secondBest&&(k.secondBest={language:me.secondBest.language,relevance:me.secondBest.relevance}),ct("after:highlightElement",{el:k,result:me,text:re})}function Tn(k){V=St(V,k)}let Rn=()=>{lt(),tt("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function yn(){lt(),tt("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let It=!1;function lt(){function k(){lt()}if(document.readyState==="loading"){It||window.addEventListener("DOMContentLoaded",k,!1),It=!0;return}document.querySelectorAll(V.cssSelector).forEach(gt)}function Ln(k,Y){let te=null;try{te=Y(n)}catch(re){if(Ze("Language definition for '{}' could not be registered.".replace("{}",k)),de)Ze(re);else throw re;te=$}te.name||(te.name=k),x[k]=te,te.rawDefinition=Y.bind(null,n),te.aliases&&Ct(te.aliases,{languageName:k})}function Nn(k){delete x[k];for(let Y of Object.keys(j))j[Y]===k&&delete j[Y]}function _n(){return Object.keys(x)}function ze(k){return k=(k||"").toLowerCase(),x[k]||x[j[k]]}function Ct(k,{languageName:Y}){typeof k=="string"&&(k=[k]),k.forEach(te=>{j[te.toLowerCase()]=Y})}function vt(k){let Y=ze(k);return Y&&!Y.disableAutodetect}function Sn(k){k["before:highlightBlock"]&&!k["before:highlightElement"]&&(k["before:highlightElement"]=Y=>{k["before:highlightBlock"](Object.assign({block:Y.el},Y))}),k["after:highlightBlock"]&&!k["after:highlightElement"]&&(k["after:highlightElement"]=Y=>{k["after:highlightBlock"](Object.assign({block:Y.el},Y))})}function An(k){Sn(k),Z.push(k)}function On(k){let Y=Z.indexOf(k);Y!==-1&&Z.splice(Y,1)}function ct(k,Y){let te=k;Z.forEach(function(re){re[te]&&re[te](Y)})}function In(k){return tt("10.7.0","highlightBlock will be removed entirely in v12.0"),tt("10.7.0","Please use highlightElement now."),gt(k)}Object.assign(n,{highlight:pe,highlightAuto:Et,highlightAll:lt,highlightElement:gt,highlightBlock:In,configure:Tn,initHighlighting:Rn,initHighlightingOnLoad:yn,registerLanguage:Ln,unregisterLanguage:Nn,listLanguages:_n,getLanguage:ze,registerAliases:Ct,autoDetection:vt,inherit:St,addPlugin:An,removePlugin:On}),n.debugMode=function(){de=!1},n.safeMode=function(){de=!0},n.versionString=En,n.regex={concat:Te,lookahead:Ce,either:ve,optional:Pe,anyNumberOfTimes:ke};for(let k in rt)typeof rt[k]=="object"&&q(rt[k]);return Object.assign(n,rt),n},nt=Ot({});nt.newInstance=()=>Ot({}),D.exports=nt,nt.HighlightJS=nt,nt.default=nt}),p=M(B(),1),e=p.default;function t(_){let D=_.regex,q=/(?![A-Za-z0-9])(?![$])/,ee=D.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,q),ne=D.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,q),le=D.concat(/[A-Z]+/,q),ae={scope:"variable",match:"\\$+"+ee},se={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},Ee={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},ce=_.inherit(_.APOS_STRING_MODE,{illegal:null}),Ie=_.inherit(_.QUOTE_STRING_MODE,{illegal:null,contains:_.QUOTE_STRING_MODE.contains.concat(Ee)}),Me={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:_.QUOTE_STRING_MODE.contains.concat(Ee),"on:begin":(Ae,Le)=>{Le.data._beginMatch=Ae[1]||Ae[2]},"on:end":(Ae,Le)=>{Le.data._beginMatch!==Ae[1]&&Le.ignoreMatch()}},ye=_.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),ge=`[ -]`,Ce={scope:"string",variants:[Ie,ce,Me,ye]},ke={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},Pe=["false","null","true"],Te=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],De=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],ve={keyword:Te,literal:(Ae=>{let Le=[];return Ae.forEach(Be=>{Le.push(Be),Be.toLowerCase()===Be?Le.push(Be.toUpperCase()):Le.push(Be.toLowerCase())}),Le})(Pe),built_in:De},xe=Ae=>Ae.map(Le=>Le.replace(/\|\d+$/,"")),he={variants:[{match:[/new/,D.concat(ge,"+"),D.concat("(?!",xe(De).join("\\b|"),"\\b)"),ne],scope:{1:"keyword",4:"title.class"}}]},we=D.concat(ee,"\\b(?!\\()"),Se={variants:[{match:[D.concat(/::/,D.lookahead(/(?!class\b)/)),we],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[ne,D.concat(/::/,D.lookahead(/(?!class\b)/)),we],scope:{1:"title.class",3:"variable.constant"}},{match:[ne,D.concat("::",D.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[ne,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},Ge={scope:"attr",match:D.concat(ee,D.lookahead(":"),D.lookahead(/(?!::)/))},Ne={relevance:0,begin:/\(/,end:/\)/,keywords:ve,contains:[Ge,ae,Se,_.C_BLOCK_COMMENT_MODE,Ce,ke,he]},je={relevance:0,match:[/\b/,D.concat("(?!fn\\b|function\\b|",xe(Te).join("\\b|"),"|",xe(De).join("\\b|"),"\\b)"),ee,D.concat(ge,"*"),D.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[Ne]};Ne.contains.push(je);let Xe=[Ge,Se,_.C_BLOCK_COMMENT_MODE,Ce,ke,he],Ke={begin:D.concat(/#\[\s*\\?/,D.either(ne,le)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:Pe,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:Pe,keyword:["new","array"]},contains:["self",...Xe]},...Xe,{scope:"meta",variants:[{match:ne},{match:le}]}]};return{case_insensitive:!1,keywords:ve,contains:[Ke,_.HASH_COMMENT_MODE,_.COMMENT("//","$"),_.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:_.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},se,{scope:"variable.language",match:/\$this\b/},ae,je,Se,{match:[/const/,/\s/,ee],scope:{1:"keyword",3:"variable.constant"}},he,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},_.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:ve,contains:["self",Ke,ae,Se,_.C_BLOCK_COMMENT_MODE,Ce,ke]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},_.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[_.inherit(_.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},_.UNDERSCORE_TITLE_MODE]},Ce,ke]}}function i(_){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},_.inherit(_.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),_.inherit(_.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}var L="[A-Za-z$_][0-9A-Za-z$_]*",E=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],O=["true","false","null","undefined","NaN","Infinity"],v=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],G=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],P=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],A=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],T=[].concat(P,v,G);function N(_){let D=_.regex,q=(_e,{after:Ve})=>{let Qe="",end:""},le=/<[A-Za-z0-9\\._:-]+\s*\/>/,ae={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(_e,Ve)=>{let Qe=_e[0].length+_e.index,$e=_e.input[Qe];if($e==="<"||$e===","){Ve.ignoreMatch();return}$e===">"&&(q(_e,{after:Qe})||Ve.ignoreMatch());let st,at=_e.input.substring(Qe);if(st=at.match(/^\s*=/)){Ve.ignoreMatch();return}if((st=at.match(/^\s+extends\s+/))&&st.index===0){Ve.ignoreMatch();return}}},se={$pattern:L,keyword:E,literal:O,built_in:T,"variable.language":A},Ee="[0-9](_?[0-9])*",ce=`\\.(${Ee})`,Ie="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",Me={className:"number",variants:[{begin:`(\\b(${Ie})((${ce})|\\.)?|(${ce}))[eE][+-]?(${Ee})\\b`},{begin:`\\b(${Ie})\\b((${ce})\\b|\\.)?|(${ce})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},ye={className:"subst",begin:"\\$\\{",end:"\\}",keywords:se,contains:[]},ge={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[_.BACKSLASH_ESCAPE,ye],subLanguage:"xml"}},Ce={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[_.BACKSLASH_ESCAPE,ye],subLanguage:"css"}},ke={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[_.BACKSLASH_ESCAPE,ye],subLanguage:"graphql"}},Pe={className:"string",begin:"`",end:"`",contains:[_.BACKSLASH_ESCAPE,ye]},Te={className:"comment",variants:[_.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:ee+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),_.C_BLOCK_COMMENT_MODE,_.C_LINE_COMMENT_MODE]},De=[_.APOS_STRING_MODE,_.QUOTE_STRING_MODE,ge,Ce,ke,Pe,{match:/\$\d+/},Me];ye.contains=De.concat({begin:/\{/,end:/\}/,keywords:se,contains:["self"].concat(De)});let ve=[].concat(Te,ye.contains),xe=ve.concat([{begin:/(\s*)\(/,end:/\)/,keywords:se,contains:["self"].concat(ve)}]),he={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:se,contains:xe},we={variants:[{match:[/class/,/\s+/,ee,/\s+/,/extends/,/\s+/,D.concat(ee,"(",D.concat(/\./,ee),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,ee],scope:{1:"keyword",3:"title.class"}}]},Se={relevance:0,match:D.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...v,...G]}},Ge={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Ne={variants:[{match:[/function/,/\s+/,ee,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[he],illegal:/%/},je={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function Xe(_e){return D.concat("(?!",_e.join("|"),")")}let Ke={match:D.concat(/\b/,Xe([...P,"super","import"].map(_e=>`${_e}\\s*\\(`)),ee,D.lookahead(/\s*\(/)),className:"title.function",relevance:0},Ae={begin:D.concat(/\./,D.lookahead(D.concat(ee,/(?![0-9A-Za-z$_(])/))),end:ee,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Le={match:[/get|set/,/\s+/,ee,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},he]},Be="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+_.UNDERSCORE_IDENT_RE+")\\s*=>",qe={match:[/const|var|let/,/\s+/,ee,/\s*/,/=\s*/,/(async\s*)?/,D.lookahead(Be)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[he]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:se,exports:{PARAMS_CONTAINS:xe,CLASS_REFERENCE:Se},illegal:/#(?![$_A-z])/,contains:[_.SHEBANG({label:"shebang",binary:"node",relevance:5}),Ge,_.APOS_STRING_MODE,_.QUOTE_STRING_MODE,ge,Ce,ke,Pe,Te,{match:/\$\d+/},Me,Se,{scope:"attr",match:ee+D.lookahead(":"),relevance:0},qe,{begin:"("+_.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[Te,_.REGEXP_MODE,{className:"function",begin:Be,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:_.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:se,contains:xe}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:ne.begin,end:ne.end},{match:le},{begin:ae.begin,"on:begin":ae.isTrulyOpeningTag,end:ae.end}],subLanguage:"xml",contains:[{begin:ae.begin,end:ae.end,skip:!0,contains:["self"]}]}]},Ne,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+_.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[he,_.inherit(_.TITLE_MODE,{begin:ee,className:"title.function"})]},{match:/\.\.\./,relevance:0},Ae,{match:"\\$"+ee,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[he]},Ke,je,we,Le,{match:/\$[(.]/}]}}function m(_){let D=_.regex,q=_.COMMENT("--","$"),ee={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},ne={begin:/"/,end:/"/,contains:[{match:/""/}]},le=["true","false","unknown"],ae=["double precision","large object","with timezone","without timezone"],se=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],Ee=["add","asc","collation","desc","final","first","last","view"],ce=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],Ie=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],Me=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],ye=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],ge=Ie,Ce=[...ce,...Ee].filter(he=>!Ie.includes(he)),ke={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},Pe={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},Te={match:D.concat(/\b/,D.either(...ge),/\s*\(/),relevance:0,keywords:{built_in:ge}};function De(he){return D.concat(/\b/,D.either(...he.map(we=>we.replace(/\s+/,"\\s+"))),/\b/)}let ve={scope:"keyword",match:De(ye),relevance:0};function xe(he,{exceptions:we,when:Se}={}){let Ge=Se;return we=we||[],he.map(Ne=>Ne.match(/\|\d+$/)||we.includes(Ne)?Ne:Ge(Ne)?`${Ne}|0`:Ne)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:xe(Ce,{when:he=>he.length<3}),literal:le,type:se,built_in:Me},contains:[{scope:"type",match:De(ae)},ve,Te,ke,ee,ne,_.C_NUMBER_MODE,_.C_BLOCK_COMMENT_MODE,q,Pe]}}function a(_){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}var h=_=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:_.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[_.APOS_STRING_MODE,_.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:_.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),l=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],S=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],y=[...l,...S],R=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),r=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),I=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),H=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function f(_){let D=_.regex,q=h(_),ee={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},ne="and or not only",le=/@-?\w[\w]*(-\w+)*/,ae="[a-zA-Z-][a-zA-Z0-9_-]*",se=[_.APOS_STRING_MODE,_.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[q.BLOCK_COMMENT,ee,q.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+ae,relevance:0},q.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+r.join("|")+")"},{begin:":(:)?("+I.join("|")+")"}]},q.CSS_VARIABLE,{className:"attribute",begin:"\\b("+H.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[q.BLOCK_COMMENT,q.HEXCOLOR,q.IMPORTANT,q.CSS_NUMBER_MODE,...se,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...se,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},q.FUNCTION_DISPATCH]},{begin:D.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:le},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:ne,attribute:R.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...se,q.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+y.join("|")+")\\b"}]}}function o(_){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function u(_){let D=_.regex,q=D.concat(/[\p{L}_]/u,D.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),ee=/[\p{L}0-9._:-]+/u,ne={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},le={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},ae=_.inherit(le,{begin:/\(/,end:/\)/}),se=_.inherit(_.APOS_STRING_MODE,{className:"string"}),Ee=_.inherit(_.QUOTE_STRING_MODE,{className:"string"}),ce={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[le,Ee,se,ae,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[le,ae,Ee,se]}]}]},_.COMMENT(//,{relevance:10}),{begin://,relevance:10},ne,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[Ee]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[ce],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[ce],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:D.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:q,relevance:0,starts:ce}]},{className:"tag",begin:D.concat(/<\//,D.lookahead(D.concat(q,/>/))),contains:[{className:"name",begin:q,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function C(_){let D="true false yes no null",q="[\\w#;/?:@&=+$,.~*'()[\\]]+",ee={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},ne={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},le={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},ae={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[_.BACKSLASH_ESCAPE,ne]},se=_.inherit(ae,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),Ee={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},ce={end:",",endsWithParent:!0,excludeEnd:!0,keywords:D,relevance:0},Ie={begin:/\{/,end:/\}/,contains:[ce],illegal:"\\n",relevance:0},Me={begin:"\\[",end:"\\]",contains:[ce],illegal:"\\n",relevance:0},ye=[ee,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+q},{className:"type",begin:"!<"+q+">"},{className:"type",begin:"!"+q},{className:"type",begin:"!!"+q},{className:"meta",begin:"&"+_.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+_.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},_.HASH_COMMENT_MODE,{beginKeywords:D,keywords:{literal:D}},Ee,{className:"number",begin:_.C_NUMBER_RE+"\\b",relevance:0},Ie,Me,le,ae],ge=[...ye];return ge.pop(),ge.push(se),ce.contains=ge,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:ye}}e.registerLanguage("php",t),e.registerLanguage("php-template",i),e.registerLanguage("javascript",N),e.registerLanguage("sql",m),e.registerLanguage("shell",a),e.registerLanguage("css",f),e.registerLanguage("plaintext",o),e.registerLanguage("xml",u),e.registerLanguage("yaml",C);var X=e.getLanguage("sql");X.keywords.keyword=Array.from(new Set([...X.keywords.keyword,"if","ifnull","limit","aes_decrypt","aes_encrypt","ascii","bin","bit_and","bit_count","bit_length","bit_or","bit_xor","coercibility","concat","group_concat","concat_ws","connection_id","conv","curdate","curtime","database","date_add","date_format","date_sub","dayname","dayofmonth","dayofweek","dayofyear","elt","export_set","field","find_in_set","format","from_base64","from_days","from_unixtime","get_lock","greatest","hex","ifnull","inet_aton","inet_ntoa","instr","isnull","last_insert_id","least","lpad","ltrim","make_set","md5","monthname","now","oct","ord","password","quote","release_lock","repeat","replace","reverse","rpad","rtrim","sec_to_time","sha1","sha2","sleep","soundex","space","straight_join","strcmp","str_to_date","substr","sysdate","time_format","time_to_sec","to_base64","to_days","unix_timestamp","updatexml","version","week","weekday","yearweek","length","substring_index","json_unquote","json_extract","json_contains"])),X.keywords.type=Array.from(new Set([...X.keywords.type,"longtext"])),e.configure({classPrefix:"phpdebugbar-hljs-"}),globalThis.phpdebugbar_hljs=e.default})();(()=>{var s=Object.create,W=Object.defineProperty,b=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,d=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,c=(a,h)=>()=>(h||a((h={exports:{}}).exports,h),h.exports),U=(a,h,l,S)=>{if(h&&typeof h=="object"||typeof h=="function")for(let y of g(h))!w.call(a,y)&&y!==l&&W(a,y,{get:()=>h[y],enumerable:!(S=b(h,y))||S.enumerable});return a},M=(a,h,l)=>(l=a!=null?s(d(a)):{},U(h||!a||!a.__esModule?W(l,"default",{value:a,enumerable:!0}):l,a)),B=c(a=>{"use strict";a.__esModule=!0;var h=/[\\^$.*+?()[\]{}|]/g,l=RegExp(h.source);function S(y){return y&&l.test(y)?y.replace(h,"\\$&"):y||""}a.default=S}),p=c(a=>{"use strict";a.__esModule=!0,a.TokenTypes=void 0;var h;(function(l){l.WHITESPACE="whitespace",l.WORD="word",l.STRING="string",l.RESERVED="reserved",l.RESERVED_TOP_LEVEL="reserved-top-level",l.RESERVED_TOP_LEVEL_NO_INDENT="reserved-top-level-no-indent",l.RESERVED_NEWLINE="reserved-newline",l.OPERATOR="operator",l.NO_SPACE_OPERATOR="no-space-operator",l.OPEN_PAREN="open-paren",l.CLOSE_PAREN="close-paren",l.LINE_COMMENT="line-comment",l.BLOCK_COMMENT="block-comment",l.NUMBER="number",l.PLACEHOLDER="placeholder",l.SERVERVARIABLE="servervariable"})(h=a.TokenTypes||(a.TokenTypes={}))}),e=c(a=>{"use strict";var h=a&&a.__importDefault||function(R){return R&&R.__esModule?R:{default:R}};a.__esModule=!0;var l=h(B()),S=p(),y=(function(){function R(r){this.WHITESPACE_REGEX=/^(\s+)/u,this.NUMBER_REGEX=/^((-\s*)?[0-9]+(\.[0-9]+)?|0x[0-9a-fA-F]+|0b[01]+|([a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}))\b/u,this.AMBIGUOS_OPERATOR_REGEX=/^(\?\||\?&)/u,this.OPERATOR_REGEX=/^(!=|<>|>>|<<|==|<=|>=|!<|!>|\|\|\/|\|\/|\|\||~~\*|~~|!~~\*|!~~|~\*|!~\*|!~|:=|=>|&&|@>|<@|#-|@@|@|.)/u,this.NO_SPACE_OPERATOR_REGEX=/^(::|->>|->|#>>|#>)/u,this.BLOCK_COMMENT_REGEX=/^(\/\*[^]*?(?:\*\/|$))/u,this.LINE_COMMENT_REGEX=this.createLineCommentRegex(r.lineCommentTypes),this.RESERVED_TOP_LEVEL_REGEX=this.createReservedWordRegex(r.reservedTopLevelWords),this.RESERVED_TOP_LEVEL_NO_INDENT_REGEX=this.createReservedWordRegex(r.reservedTopLevelWordsNoIndent),this.RESERVED_NEWLINE_REGEX=this.createReservedWordRegex(r.reservedNewlineWords),this.RESERVED_PLAIN_REGEX=this.createReservedWordRegex(r.reservedWords),this.WORD_REGEX=this.createWordRegex(r.specialWordChars),this.STRING_REGEX=this.createStringRegex(r.stringTypes),this.OPEN_PAREN_REGEX=this.createParenRegex(r.openParens),this.CLOSE_PAREN_REGEX=this.createParenRegex(r.closeParens),this.INDEXED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(r.indexedPlaceholderTypes,"[0-9]*"),this.IDENT_NAMED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(r.namedPlaceholderTypes,"[a-zA-Z0-9._$]+"),this.STRING_NAMED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(r.namedPlaceholderTypes,this.createStringPattern(r.stringTypes))}return R.prototype.createLineCommentRegex=function(r){var I="((?|(?:[^>]))";return new RegExp("^((?:".concat(r.map(function(H){return(0,l.default)(H)}).join("|"),")").concat(I,`.*?(?:\r +(()=>{var Pn=Object.defineProperty,Bn=Object.defineProperties;var Un=Object.getOwnPropertyDescriptors;var Pt=Object.getOwnPropertySymbols;var Hn=Object.prototype.hasOwnProperty,Wn=Object.prototype.propertyIsEnumerable;var Ut=Math.pow,Bt=(s,H,T)=>H in s?Pn(s,H,{enumerable:!0,configurable:!0,writable:!0,value:T}):s[H]=T,et=(s,H)=>{for(var T in H||(H={}))Hn.call(H,T)&&Bt(s,T,H[T]);if(Pt)for(var T of Pt(H))Wn.call(H,T)&&Bt(s,T,H[T]);return s},Ht=(s,H)=>Bn(s,Un(H));var Wt=(s,H,T)=>new Promise((S,h)=>{var k=P=>{try{U(T.next(P))}catch(B){h(B)}},d=P=>{try{U(T.throw(P))}catch(B){h(B)}},U=P=>P.done?S(P.value):Promise.resolve(P.value).then(k,d);U((T=T.apply(s,H)).next())});(()=>{var s=Object.create,H=Object.defineProperty,T=Object.getOwnPropertyDescriptor,S=Object.getOwnPropertyNames,h=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty,d=(A,M)=>()=>(M||A((M={exports:{}}).exports,M),M.exports),U=(A,M,q,ee)=>{if(M&&typeof M=="object"||typeof M=="function")for(let ne of S(M))!k.call(A,ne)&&ne!==q&&H(A,ne,{get:()=>M[ne],enumerable:!(ee=T(M,ne))||ee.enumerable});return A},P=(A,M,q)=>(q=A!=null?s(h(A)):{},U(M||!A||!A.__esModule?H(q,"default",{value:A,enumerable:!0}):q,A)),B=d((A,M)=>{function q(n){return n instanceof Map?n.clear=n.delete=n.set=function(){throw new Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=function(){throw new Error("set is read-only")}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach(x=>{let j=n[x],Z=typeof j;(Z==="object"||Z==="function")&&!Object.isFrozen(j)&&q(j)}),n}var ee=class{constructor(n){n.data===void 0&&(n.data={}),this.data=n.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function ne(n){return n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function le(n,...x){let j=Object.create(null);for(let Z in n)j[Z]=n[Z];return x.forEach(function(Z){for(let de in Z)j[de]=Z[de]}),j}var ae="",se=n=>!!n.scope,ge=(n,{prefix:x})=>{if(n.startsWith("language:"))return n.replace("language:","language-");if(n.includes(".")){let j=n.split(".");return[`${x}${j.shift()}`,...j.map((Z,de)=>`${Z}${"_".repeat(de+1)}`)].join(" ")}return`${x}${n}`},ce=class{constructor(n,x){this.buffer="",this.classPrefix=x.classPrefix,n.walk(this)}addText(n){this.buffer+=ne(n)}openNode(n){if(!se(n))return;let x=ge(n.scope,{prefix:this.classPrefix});this.span(x)}closeNode(n){se(n)&&(this.buffer+=ae)}value(){return this.buffer}span(n){this.buffer+=``}},Ie=(n={})=>{let x={children:[]};return Object.assign(x,n),x},Me=class Ft{constructor(){this.rootNode=Ie(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(x){this.top.children.push(x)}openNode(x){let j=Ie({scope:x});this.add(j),this.stack.push(j)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(x){return this.constructor._walk(x,this.rootNode)}static _walk(x,j){return typeof j=="string"?x.addText(j):j.children&&(x.openNode(j),j.children.forEach(Z=>this._walk(x,Z)),x.closeNode(j)),x}static _collapse(x){typeof x!="string"&&x.children&&(x.children.every(j=>typeof j=="string")?x.children=[x.children.join("")]:x.children.forEach(j=>{Ft._collapse(j)}))}},Le=class extends Me{constructor(n){super(),this.options=n}addText(n){n!==""&&this.add(n)}startScope(n){this.openNode(n)}endScope(){this.closeNode()}__addSublanguage(n,x){let j=n.root;x&&(j.scope=`language:${x}`),this.add(j)}toHTML(){return new ce(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Ee(n){return n?typeof n=="string"?n:n.source:null}function Ce(n){return Te("(?=",n,")")}function ke(n){return Te("(?:",n,")*")}function Pe(n){return Te("(?:",n,")?")}function Te(...n){return n.map(x=>Ee(x)).join("")}function De(n){let x=n[n.length-1];return typeof x=="object"&&x.constructor===Object?(n.splice(n.length-1,1),x):{}}function ve(...n){return"("+(De(n).capture?"":"?:")+n.map(x=>Ee(x)).join("|")+")"}function xe(n){return new RegExp(n.toString()+"|").exec("").length-1}function he(n,x){let j=n&&n.exec(x);return j&&j.index===0}var we=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function _e(n,{joinWith:x}){let j=0;return n.map(Z=>{j+=1;let de=j,ue=Ee(Z),$="";for(;ue.length>0;){let V=we.exec(ue);if(!V){$+=ue;break}$+=ue.substring(0,V.index),ue=ue.substring(V.index+V[0].length),V[0][0]==="\\"&&V[1]?$+="\\"+String(Number(V[1])+de):($+=V[0],V[0]==="("&&j++)}return $}).map(Z=>`(${Z})`).join(x)}var Ge=/\b\B/,Ne="[a-zA-Z]\\w*",je="[a-zA-Z_]\\w*",Xe="\\b\\d+(\\.\\d+)?",Ke="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Ae="\\b(0b[01]+)",ye="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Be=(n={})=>{let x=/^#![ ]*\//;return n.binary&&(n.begin=Te(x,/.*\b/,n.binary,/\b.*/)),le({scope:"meta",begin:x,end:/$/,relevance:0,"on:begin":(j,Z)=>{j.index!==0&&Z.ignoreMatch()}},n)},qe={begin:"\\\\[\\s\\S]",relevance:0},Se={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[qe]},Ve={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[qe]},Qe={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},$e=function(n,x,j={}){let Z=le({scope:"comment",begin:n,end:x,contains:[]},j);Z.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let de=ve("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return Z.contains.push({begin:Te(/[ ]+/,"(",de,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Z},st=$e("//","$"),at=$e("/\\*","\\*/"),Gt=$e("#","$"),jt={scope:"number",begin:Xe,relevance:0},Vt={scope:"number",begin:Ke,relevance:0},$t={scope:"number",begin:Ae,relevance:0},zt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[qe,{begin:/\[/,end:/\]/,relevance:0,contains:[qe]}]},Yt={scope:"title",begin:Ne,relevance:0},Xt={scope:"title",begin:je,relevance:0},Kt={begin:"\\.\\s*"+je,relevance:0},qt=function(n){return Object.assign(n,{"on:begin":(x,j)=>{j.data._beginMatch=x[1]},"on:end":(x,j)=>{j.data._beginMatch!==x[1]&&j.ignoreMatch()}})},rt=Object.freeze({__proto__:null,APOS_STRING_MODE:Se,BACKSLASH_ESCAPE:qe,BINARY_NUMBER_MODE:$t,BINARY_NUMBER_RE:Ae,COMMENT:$e,C_BLOCK_COMMENT_MODE:at,C_LINE_COMMENT_MODE:st,C_NUMBER_MODE:Vt,C_NUMBER_RE:Ke,END_SAME_AS_BEGIN:qt,HASH_COMMENT_MODE:Gt,IDENT_RE:Ne,MATCH_NOTHING_RE:Ge,METHOD_GUARD:Kt,NUMBER_MODE:jt,NUMBER_RE:Xe,PHRASAL_WORDS_MODE:Qe,QUOTE_STRING_MODE:Ve,REGEXP_MODE:zt,RE_STARTERS_RE:ye,SHEBANG:Be,TITLE_MODE:Yt,UNDERSCORE_IDENT_RE:je,UNDERSCORE_TITLE_MODE:Xt});function Qt(n,x){n.input[n.index-1]==="."&&x.ignoreMatch()}function Zt(n,x){n.className!==void 0&&(n.scope=n.className,delete n.className)}function Jt(n,x){x&&n.beginKeywords&&(n.begin="\\b("+n.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",n.__beforeBegin=Qt,n.keywords=n.keywords||n.beginKeywords,delete n.beginKeywords,n.relevance===void 0&&(n.relevance=0))}function en(n,x){Array.isArray(n.illegal)&&(n.illegal=ve(...n.illegal))}function tn(n,x){if(n.match){if(n.begin||n.end)throw new Error("begin & end are not supported with match");n.begin=n.match,delete n.match}}function nn(n,x){n.relevance===void 0&&(n.relevance=1)}var sn=(n,x)=>{if(!n.beforeMatch)return;if(n.starts)throw new Error("beforeMatch cannot be used with starts");let j=Object.assign({},n);Object.keys(n).forEach(Z=>{delete n[Z]}),n.keywords=j.keywords,n.begin=Te(j.beforeMatch,Ce(j.begin)),n.starts={relevance:0,contains:[Object.assign(j,{endsParent:!0})]},n.relevance=0,delete j.beforeMatch},an=["of","and","for","in","not","or","if","then","parent","list","value"],rn="keyword";function Rt(n,x,j=rn){let Z=Object.create(null);return typeof n=="string"?de(j,n.split(" ")):Array.isArray(n)?de(j,n):Object.keys(n).forEach(function(ue){Object.assign(Z,Rt(n[ue],x,ue))}),Z;function de(ue,$){x&&($=$.map(V=>V.toLowerCase())),$.forEach(function(V){let K=V.split("|");Z[K[0]]=[ue,on(K[0],K[1])]})}}function on(n,x){return x?Number(x):ln(n)?0:1}function ln(n){return an.includes(n.toLowerCase())}var Lt={},Ze=n=>{console.error(n)},yt=(n,...x)=>{console.log(`WARN: ${n}`,...x)},tt=(n,x)=>{Lt[`${n}/${x}`]||(console.log(`Deprecated as of ${n}. ${x}`),Lt[`${n}/${x}`]=!0)},ot=new Error;function Nt(n,x,{key:j}){let Z=0,de=n[j],ue={},$={};for(let V=1;V<=x.length;V++)$[V+Z]=de[V],ue[V+Z]=!0,Z+=xe(x[V-1]);n[j]=$,n[j]._emit=ue,n[j]._multi=!0}function cn(n){if(Array.isArray(n.begin)){if(n.skip||n.excludeBegin||n.returnBegin)throw Ze("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),ot;if(typeof n.beginScope!="object"||n.beginScope===null)throw Ze("beginScope must be object"),ot;Nt(n,n.begin,{key:"beginScope"}),n.begin=_e(n.begin,{joinWith:""})}}function dn(n){if(Array.isArray(n.end)){if(n.skip||n.excludeEnd||n.returnEnd)throw Ze("skip, excludeEnd, returnEnd not compatible with endScope: {}"),ot;if(typeof n.endScope!="object"||n.endScope===null)throw Ze("endScope must be object"),ot;Nt(n,n.end,{key:"endScope"}),n.end=_e(n.end,{joinWith:""})}}function un(n){n.scope&&typeof n.scope=="object"&&n.scope!==null&&(n.beginScope=n.scope,delete n.scope)}function pn(n){un(n),typeof n.beginScope=="string"&&(n.beginScope={_wrap:n.beginScope}),typeof n.endScope=="string"&&(n.endScope={_wrap:n.endScope}),cn(n),dn(n)}function hn(n){function x($,V){return new RegExp(Ee($),"m"+(n.case_insensitive?"i":"")+(n.unicodeRegex?"u":"")+(V?"g":""))}class j{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(V,K){K.position=this.position++,this.matchIndexes[this.matchAt]=K,this.regexes.push([K,V]),this.matchAt+=xe(V)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let V=this.regexes.map(K=>K[1]);this.matcherRe=x(_e(V,{joinWith:"|"}),!0),this.lastIndex=0}exec(V){this.matcherRe.lastIndex=this.lastIndex;let K=this.matcherRe.exec(V);if(!K)return null;let fe=K.findIndex((it,mt)=>mt>0&&it!==void 0),pe=this.matchIndexes[fe];return K.splice(0,fe),Object.assign(K,pe)}}class Z{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(V){if(this.multiRegexes[V])return this.multiRegexes[V];let K=new j;return this.rules.slice(V).forEach(([fe,pe])=>K.addRule(fe,pe)),K.compile(),this.multiRegexes[V]=K,K}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(V,K){this.rules.push([V,K]),K.type==="begin"&&this.count++}exec(V){let K=this.getMatcher(this.regexIndex);K.lastIndex=this.lastIndex;let fe=K.exec(V);if(this.resumingScanAtSamePosition()&&!(fe&&fe.index===this.lastIndex)){let pe=this.getMatcher(0);pe.lastIndex=this.lastIndex+1,fe=pe.exec(V)}return fe&&(this.regexIndex+=fe.position+1,this.regexIndex===this.count&&this.considerAll()),fe}}function de($){let V=new Z;return $.contains.forEach(K=>V.addRule(K.begin,{rule:K,type:"begin"})),$.terminatorEnd&&V.addRule($.terminatorEnd,{type:"end"}),$.illegal&&V.addRule($.illegal,{type:"illegal"}),V}function ue($,V){let K=$;if($.isCompiled)return K;[Zt,tn,pn,sn].forEach(pe=>pe($,V)),n.compilerExtensions.forEach(pe=>pe($,V)),$.__beforeBegin=null,[Jt,en,nn].forEach(pe=>pe($,V)),$.isCompiled=!0;let fe=null;return typeof $.keywords=="object"&&$.keywords.$pattern&&($.keywords=Object.assign({},$.keywords),fe=$.keywords.$pattern,delete $.keywords.$pattern),fe=fe||/\w+/,$.keywords&&($.keywords=Rt($.keywords,n.case_insensitive)),K.keywordPatternRe=x(fe,!0),V&&($.begin||($.begin=/\B|\b/),K.beginRe=x(K.begin),!$.end&&!$.endsWithParent&&($.end=/\B|\b/),$.end&&(K.endRe=x(K.end)),K.terminatorEnd=Ee(K.end)||"",$.endsWithParent&&V.terminatorEnd&&(K.terminatorEnd+=($.end?"|":"")+V.terminatorEnd)),$.illegal&&(K.illegalRe=x($.illegal)),$.contains||($.contains=[]),$.contains=[].concat(...$.contains.map(function(pe){return mn(pe==="self"?$:pe)})),$.contains.forEach(function(pe){ue(pe,K)}),$.starts&&ue($.starts,V),K.matcher=de(K),K}if(n.compilerExtensions||(n.compilerExtensions=[]),n.contains&&n.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return n.classNameAliases=le(n.classNameAliases||{}),ue(n)}function St(n){return n?n.endsWithParent||St(n.starts):!1}function mn(n){return n.variants&&!n.cachedVariants&&(n.cachedVariants=n.variants.map(function(x){return le(n,{variants:null},x)})),n.cachedVariants?n.cachedVariants:St(n)?le(n,{starts:n.starts?le(n.starts):null}):Object.isFrozen(n)?le(n):n}var gn="11.11.1",En=class extends Error{constructor(n,x){super(n),this.name="HTMLInjectionError",this.html=x}},ht=ne,_t=le,At=Symbol("nomatch"),fn=7,Ot=function(n){let x=Object.create(null),j=Object.create(null),Z=[],de=!0,ue="Could not find the language '{}', did you forget to load/include a language module?",$={disableAutodetect:!0,name:"Plain text",contains:[]},V={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:Le};function K(D){return V.noHighlightRe.test(D)}function fe(D){let Y=D.className+" ";Y+=D.parentNode?D.parentNode.className:"";let te=V.languageDetectRe.exec(Y);if(te){let re=ze(te[1]);return re||(yt(ue.replace("{}",te[1])),yt("Falling back to no-highlight mode for this block.",D)),re?te[1]:"no-highlight"}return Y.split(/\s+/).find(re=>K(re)||ze(re))}function pe(D,Y,te){let re="",me="";typeof Y=="object"?(re=D,te=Y.ignoreIllegals,me=Y.language):(tt("10.7.0","highlight(lang, code, ...args) has been deprecated."),tt("10.7.0",`Please use highlight(code, options) instead. +https://github.com/highlightjs/highlight.js/issues/2277`),me=D,re=Y),te===void 0&&(te=!0);let Ue={code:re,language:me};ct("before:highlight",Ue);let Ye=Ue.result?Ue.result:it(Ue.language,Ue.code,te);return Ye.code=Ue.code,ct("after:highlight",Ye),Ye}function it(D,Y,te,re){let me=Object.create(null);function Ue(F,z){return F.keywords[z]}function Ye(){if(!Q.keywords){be.addText(oe);return}let F=0;Q.keywordPatternRe.lastIndex=0;let z=Q.keywordPatternRe.exec(oe),J="";for(;z;){J+=oe.substring(F,z.index);let ie=We.case_insensitive?z[0].toLowerCase():z[0],Re=Ue(Q,ie);if(Re){let[Fe,Dn]=Re;if(be.addText(J),J="",me[ie]=(me[ie]||0)+1,me[ie]<=fn&&(pt+=Dn),Fe.startsWith("_"))J+=z[0];else{let Mn=We.classNameAliases[Fe]||Fe;He(z[0],Mn)}}else J+=z[0];F=Q.keywordPatternRe.lastIndex,z=Q.keywordPatternRe.exec(oe)}J+=oe.substring(F),be.addText(J)}function dt(){if(oe==="")return;let F=null;if(typeof Q.subLanguage=="string"){if(!x[Q.subLanguage]){be.addText(oe);return}F=it(Q.subLanguage,oe,!0,Mt[Q.subLanguage]),Mt[Q.subLanguage]=F._top}else F=gt(oe,Q.subLanguage.length?Q.subLanguage:null);Q.relevance>0&&(pt+=F.relevance),be.__addSublanguage(F._emitter,F.language)}function Oe(){Q.subLanguage!=null?dt():Ye(),oe=""}function He(F,z){F!==""&&(be.startScope(z),be.addText(F),be.endScope())}function xt(F,z){let J=1,ie=z.length-1;for(;J<=ie;){if(!F._emit[J]){J++;continue}let Re=We.classNameAliases[F[J]]||F[J],Fe=z[J];Re?He(Fe,Re):(oe=Fe,Ye(),oe=""),J++}}function wt(F,z){return F.scope&&typeof F.scope=="string"&&be.openNode(We.classNameAliases[F.scope]||F.scope),F.beginScope&&(F.beginScope._wrap?(He(oe,We.classNameAliases[F.beginScope._wrap]||F.beginScope._wrap),oe=""):F.beginScope._multi&&(xt(F.beginScope,z),oe="")),Q=Object.create(F,{parent:{value:Q}}),Q}function kt(F,z,J){let ie=he(F.endRe,J);if(ie){if(F["on:end"]){let Re=new ee(F);F["on:end"](z,Re),Re.isMatchIgnored&&(ie=!1)}if(ie){for(;F.endsParent&&F.parent;)F=F.parent;return F}}if(F.endsWithParent)return kt(F.parent,z,J)}function Cn(F){return Q.matcher.regexIndex===0?(oe+=F[0],1):(Tt=!0,0)}function vn(F){let z=F[0],J=F.rule,ie=new ee(J),Re=[J.__beforeBegin,J["on:begin"]];for(let Fe of Re)if(Fe&&(Fe(F,ie),ie.isMatchIgnored))return Cn(z);return J.skip?oe+=z:(J.excludeBegin&&(oe+=z),Oe(),!J.returnBegin&&!J.excludeBegin&&(oe=z)),wt(J,F),J.returnBegin?0:z.length}function xn(F){let z=F[0],J=Y.substring(F.index),ie=kt(Q,F,J);if(!ie)return At;let Re=Q;Q.endScope&&Q.endScope._wrap?(Oe(),He(z,Q.endScope._wrap)):Q.endScope&&Q.endScope._multi?(Oe(),xt(Q.endScope,F)):Re.skip?oe+=z:(Re.returnEnd||Re.excludeEnd||(oe+=z),Oe(),Re.excludeEnd&&(oe=z));do Q.scope&&be.closeNode(),!Q.skip&&!Q.subLanguage&&(pt+=Q.relevance),Q=Q.parent;while(Q!==ie.parent);return ie.starts&&wt(ie.starts,F),Re.returnEnd?0:z.length}function wn(){let F=[];for(let z=Q;z!==We;z=z.parent)z.scope&&F.unshift(z.scope);F.forEach(z=>be.openNode(z))}let ut={};function Dt(F,z){let J=z&&z[0];if(oe+=F,J==null)return Oe(),0;if(ut.type==="begin"&&z.type==="end"&&ut.index===z.index&&J===""){if(oe+=Y.slice(z.index,z.index+1),!de){let ie=new Error(`0 width match regex (${D})`);throw ie.languageName=D,ie.badRule=ut.rule,ie}return 1}if(ut=z,z.type==="begin")return vn(z);if(z.type==="illegal"&&!te){let ie=new Error('Illegal lexeme "'+J+'" for mode "'+(Q.scope||"")+'"');throw ie.mode=Q,ie}else if(z.type==="end"){let ie=xn(z);if(ie!==At)return ie}if(z.type==="illegal"&&J==="")return oe+=` +`,1;if(bt>1e5&&bt>z.index*3)throw new Error("potential infinite loop, way more iterations than matches");return oe+=J,J.length}let We=ze(D);if(!We)throw Ze(ue.replace("{}",D)),new Error('Unknown language: "'+D+'"');let kn=hn(We),ft="",Q=re||kn,Mt={},be=new V.__emitter(V);wn();let oe="",pt=0,Je=0,bt=0,Tt=!1;try{if(We.__emitTokens)We.__emitTokens(Y,be);else{for(Q.matcher.considerAll();;){bt++,Tt?Tt=!1:Q.matcher.considerAll(),Q.matcher.lastIndex=Je;let F=Q.matcher.exec(Y);if(!F)break;let z=Y.substring(Je,F.index),J=Dt(z,F);Je=F.index+J}Dt(Y.substring(Je))}return be.finalize(),ft=be.toHTML(),{language:D,value:ft,relevance:pt,illegal:!1,_emitter:be,_top:Q}}catch(F){if(F.message&&F.message.includes("Illegal"))return{language:D,value:ht(Y),illegal:!0,relevance:0,_illegalBy:{message:F.message,index:Je,context:Y.slice(Je-100,Je+100),mode:F.mode,resultSoFar:ft},_emitter:be};if(de)return{language:D,value:ht(Y),illegal:!1,relevance:0,errorRaised:F,_emitter:be,_top:Q};throw F}}function mt(D){let Y={value:ht(D),illegal:!1,relevance:0,_top:$,_emitter:new V.__emitter(V)};return Y._emitter.addText(D),Y}function gt(D,Y){Y=Y||V.languages||Object.keys(x);let te=mt(D),re=Y.filter(ze).filter(vt).map(Oe=>it(Oe,D,!1));re.unshift(te);let me=re.sort((Oe,He)=>{if(Oe.relevance!==He.relevance)return He.relevance-Oe.relevance;if(Oe.language&&He.language){if(ze(Oe.language).supersetOf===He.language)return 1;if(ze(He.language).supersetOf===Oe.language)return-1}return 0}),[Ue,Ye]=me,dt=Ue;return dt.secondBest=Ye,dt}function bn(D,Y,te){let re=Y&&j[Y]||te;D.classList.add("hljs"),D.classList.add(`language-${re}`)}function Et(D){let Y=null,te=fe(D);if(K(te))return;if(ct("before:highlightElement",{el:D,language:te}),D.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",D);return}if(D.children.length>0&&(V.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(D)),V.throwUnescapedHTML))throw new En("One of your code blocks includes unescaped HTML.",D.innerHTML);Y=D;let re=Y.textContent,me=te?pe(re,{language:te,ignoreIllegals:!0}):gt(re);D.innerHTML=me.value,D.dataset.highlighted="yes",bn(D,te,me.language),D.result={language:me.language,re:me.relevance,relevance:me.relevance},me.secondBest&&(D.secondBest={language:me.secondBest.language,relevance:me.secondBest.relevance}),ct("after:highlightElement",{el:D,result:me,text:re})}function Tn(D){V=_t(V,D)}let Rn=()=>{lt(),tt("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Ln(){lt(),tt("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let It=!1;function lt(){function D(){lt()}if(document.readyState==="loading"){It||window.addEventListener("DOMContentLoaded",D,!1),It=!0;return}document.querySelectorAll(V.cssSelector).forEach(Et)}function yn(D,Y){let te=null;try{te=Y(n)}catch(re){if(Ze("Language definition for '{}' could not be registered.".replace("{}",D)),de)Ze(re);else throw re;te=$}te.name||(te.name=D),x[D]=te,te.rawDefinition=Y.bind(null,n),te.aliases&&Ct(te.aliases,{languageName:D})}function Nn(D){delete x[D];for(let Y of Object.keys(j))j[Y]===D&&delete j[Y]}function Sn(){return Object.keys(x)}function ze(D){return D=(D||"").toLowerCase(),x[D]||x[j[D]]}function Ct(D,{languageName:Y}){typeof D=="string"&&(D=[D]),D.forEach(te=>{j[te.toLowerCase()]=Y})}function vt(D){let Y=ze(D);return Y&&!Y.disableAutodetect}function _n(D){D["before:highlightBlock"]&&!D["before:highlightElement"]&&(D["before:highlightElement"]=Y=>{D["before:highlightBlock"](Object.assign({block:Y.el},Y))}),D["after:highlightBlock"]&&!D["after:highlightElement"]&&(D["after:highlightElement"]=Y=>{D["after:highlightBlock"](Object.assign({block:Y.el},Y))})}function An(D){_n(D),Z.push(D)}function On(D){let Y=Z.indexOf(D);Y!==-1&&Z.splice(Y,1)}function ct(D,Y){let te=D;Z.forEach(function(re){re[te]&&re[te](Y)})}function In(D){return tt("10.7.0","highlightBlock will be removed entirely in v12.0"),tt("10.7.0","Please use highlightElement now."),Et(D)}Object.assign(n,{highlight:pe,highlightAuto:gt,highlightAll:lt,highlightElement:Et,highlightBlock:In,configure:Tn,initHighlighting:Rn,initHighlightingOnLoad:Ln,registerLanguage:yn,unregisterLanguage:Nn,listLanguages:Sn,getLanguage:ze,registerAliases:Ct,autoDetection:vt,inherit:_t,addPlugin:An,removePlugin:On}),n.debugMode=function(){de=!1},n.safeMode=function(){de=!0},n.versionString=gn,n.regex={concat:Te,lookahead:Ce,either:ve,optional:Pe,anyNumberOfTimes:ke};for(let D in rt)typeof rt[D]=="object"&&q(rt[D]);return Object.assign(n,rt),n},nt=Ot({});nt.newInstance=()=>Ot({}),M.exports=nt,nt.HighlightJS=nt,nt.default=nt}),_=P(B(),1),O=_.default;function I(A){let M=A.regex,q=/(?![A-Za-z0-9])(?![$])/,ee=M.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,q),ne=M.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,q),le=M.concat(/[A-Z]+/,q),ae={scope:"variable",match:"\\$+"+ee},se={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},ge={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},ce=A.inherit(A.APOS_STRING_MODE,{illegal:null}),Ie=A.inherit(A.QUOTE_STRING_MODE,{illegal:null,contains:A.QUOTE_STRING_MODE.contains.concat(ge)}),Me={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:A.QUOTE_STRING_MODE.contains.concat(ge),"on:begin":(Ae,ye)=>{ye.data._beginMatch=Ae[1]||Ae[2]},"on:end":(Ae,ye)=>{ye.data._beginMatch!==Ae[1]&&ye.ignoreMatch()}},Le=A.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),Ee=`[ +]`,Ce={scope:"string",variants:[Ie,ce,Me,Le]},ke={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},Pe=["false","null","true"],Te=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],De=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],ve={keyword:Te,literal:(Ae=>{let ye=[];return Ae.forEach(Be=>{ye.push(Be),Be.toLowerCase()===Be?ye.push(Be.toUpperCase()):ye.push(Be.toLowerCase())}),ye})(Pe),built_in:De},xe=Ae=>Ae.map(ye=>ye.replace(/\|\d+$/,"")),he={variants:[{match:[/new/,M.concat(Ee,"+"),M.concat("(?!",xe(De).join("\\b|"),"\\b)"),ne],scope:{1:"keyword",4:"title.class"}}]},we=M.concat(ee,"\\b(?!\\()"),_e={variants:[{match:[M.concat(/::/,M.lookahead(/(?!class\b)/)),we],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[ne,M.concat(/::/,M.lookahead(/(?!class\b)/)),we],scope:{1:"title.class",3:"variable.constant"}},{match:[ne,M.concat("::",M.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[ne,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},Ge={scope:"attr",match:M.concat(ee,M.lookahead(":"),M.lookahead(/(?!::)/))},Ne={relevance:0,begin:/\(/,end:/\)/,keywords:ve,contains:[Ge,ae,_e,A.C_BLOCK_COMMENT_MODE,Ce,ke,he]},je={relevance:0,match:[/\b/,M.concat("(?!fn\\b|function\\b|",xe(Te).join("\\b|"),"|",xe(De).join("\\b|"),"\\b)"),ee,M.concat(Ee,"*"),M.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[Ne]};Ne.contains.push(je);let Xe=[Ge,_e,A.C_BLOCK_COMMENT_MODE,Ce,ke,he],Ke={begin:M.concat(/#\[\s*\\?/,M.either(ne,le)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:Pe,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:Pe,keyword:["new","array"]},contains:["self",...Xe]},...Xe,{scope:"meta",variants:[{match:ne},{match:le}]}]};return{case_insensitive:!1,keywords:ve,contains:[Ke,A.HASH_COMMENT_MODE,A.COMMENT("//","$"),A.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:A.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},se,{scope:"variable.language",match:/\$this\b/},ae,je,_e,{match:[/const/,/\s/,ee],scope:{1:"keyword",3:"variable.constant"}},he,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},A.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:ve,contains:["self",Ke,ae,_e,A.C_BLOCK_COMMENT_MODE,Ce,ke]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},A.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[A.inherit(A.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},A.UNDERSCORE_TITLE_MODE]},Ce,ke]}}function G(A){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},A.inherit(A.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),A.inherit(A.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}var w="[A-Za-z$_][0-9A-Za-z$_]*",e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],t=["true","false","null","undefined","NaN","Infinity"],i=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],E=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],g=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],c=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],u=[].concat(g,i,E);function b(A){let M=A.regex,q=(Se,{after:Ve})=>{let Qe="",end:""},le=/<[A-Za-z0-9\\._:-]+\s*\/>/,ae={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Se,Ve)=>{let Qe=Se[0].length+Se.index,$e=Se.input[Qe];if($e==="<"||$e===","){Ve.ignoreMatch();return}$e===">"&&(q(Se,{after:Qe})||Ve.ignoreMatch());let st,at=Se.input.substring(Qe);if(st=at.match(/^\s*=/)){Ve.ignoreMatch();return}if((st=at.match(/^\s+extends\s+/))&&st.index===0){Ve.ignoreMatch();return}}},se={$pattern:w,keyword:e,literal:t,built_in:u,"variable.language":c},ge="[0-9](_?[0-9])*",ce=`\\.(${ge})`,Ie="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",Me={className:"number",variants:[{begin:`(\\b(${Ie})((${ce})|\\.)?|(${ce}))[eE][+-]?(${ge})\\b`},{begin:`\\b(${Ie})\\b((${ce})\\b|\\.)?|(${ce})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},Le={className:"subst",begin:"\\$\\{",end:"\\}",keywords:se,contains:[]},Ee={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[A.BACKSLASH_ESCAPE,Le],subLanguage:"xml"}},Ce={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[A.BACKSLASH_ESCAPE,Le],subLanguage:"css"}},ke={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[A.BACKSLASH_ESCAPE,Le],subLanguage:"graphql"}},Pe={className:"string",begin:"`",end:"`",contains:[A.BACKSLASH_ESCAPE,Le]},Te={className:"comment",variants:[A.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:ee+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),A.C_BLOCK_COMMENT_MODE,A.C_LINE_COMMENT_MODE]},De=[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,Ee,Ce,ke,Pe,{match:/\$\d+/},Me];Le.contains=De.concat({begin:/\{/,end:/\}/,keywords:se,contains:["self"].concat(De)});let ve=[].concat(Te,Le.contains),xe=ve.concat([{begin:/(\s*)\(/,end:/\)/,keywords:se,contains:["self"].concat(ve)}]),he={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:se,contains:xe},we={variants:[{match:[/class/,/\s+/,ee,/\s+/,/extends/,/\s+/,M.concat(ee,"(",M.concat(/\./,ee),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,ee],scope:{1:"keyword",3:"title.class"}}]},_e={relevance:0,match:M.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...i,...E]}},Ge={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Ne={variants:[{match:[/function/,/\s+/,ee,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[he],illegal:/%/},je={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function Xe(Se){return M.concat("(?!",Se.join("|"),")")}let Ke={match:M.concat(/\b/,Xe([...g,"super","import"].map(Se=>`${Se}\\s*\\(`)),ee,M.lookahead(/\s*\(/)),className:"title.function",relevance:0},Ae={begin:M.concat(/\./,M.lookahead(M.concat(ee,/(?![0-9A-Za-z$_(])/))),end:ee,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ye={match:[/get|set/,/\s+/,ee,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},he]},Be="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+A.UNDERSCORE_IDENT_RE+")\\s*=>",qe={match:[/const|var|let/,/\s+/,ee,/\s*/,/=\s*/,/(async\s*)?/,M.lookahead(Be)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[he]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:se,exports:{PARAMS_CONTAINS:xe,CLASS_REFERENCE:_e},illegal:/#(?![$_A-z])/,contains:[A.SHEBANG({label:"shebang",binary:"node",relevance:5}),Ge,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,Ee,Ce,ke,Pe,Te,{match:/\$\d+/},Me,_e,{scope:"attr",match:ee+M.lookahead(":"),relevance:0},qe,{begin:"("+A.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[Te,A.REGEXP_MODE,{className:"function",begin:Be,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:A.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:se,contains:xe}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:ne.begin,end:ne.end},{match:le},{begin:ae.begin,"on:begin":ae.isTrulyOpeningTag,end:ae.end}],subLanguage:"xml",contains:[{begin:ae.begin,end:ae.end,skip:!0,contains:["self"]}]}]},Ne,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+A.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[he,A.inherit(A.TITLE_MODE,{begin:ee,className:"title.function"})]},{match:/\.\.\./,relevance:0},Ae,{match:"\\$"+ee,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[he]},Ke,je,we,ye,{match:/\$[(.]/}]}}function f(A){let M=A.regex,q=A.COMMENT("--","$"),ee={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},ne={begin:/"/,end:/"/,contains:[{match:/""/}]},le=["true","false","unknown"],ae=["double precision","large object","with timezone","without timezone"],se=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],ge=["add","asc","collation","desc","final","first","last","view"],ce=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],Ie=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],Me=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],Le=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],Ee=Ie,Ce=[...ce,...ge].filter(he=>!Ie.includes(he)),ke={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},Pe={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},Te={match:M.concat(/\b/,M.either(...Ee),/\s*\(/),relevance:0,keywords:{built_in:Ee}};function De(he){return M.concat(/\b/,M.either(...he.map(we=>we.replace(/\s+/,"\\s+"))),/\b/)}let ve={scope:"keyword",match:De(Le),relevance:0};function xe(he,{exceptions:we,when:_e}={}){let Ge=_e;return we=we||[],he.map(Ne=>Ne.match(/\|\d+$/)||we.includes(Ne)?Ne:Ge(Ne)?`${Ne}|0`:Ne)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:xe(Ce,{when:he=>he.length<3}),literal:le,type:se,built_in:Me},contains:[{scope:"type",match:De(ae)},ve,Te,ke,ee,ne,A.C_NUMBER_MODE,A.C_BLOCK_COMMENT_MODE,q,Pe]}}function a(A){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}var m=A=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:A.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:A.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),o=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],y=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],L=[...o,...y],R=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),r=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),C=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),W=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function N(A){let M=A.regex,q=m(A),ee={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},ne="and or not only",le=/@-?\w[\w]*(-\w+)*/,ae="[a-zA-Z-][a-zA-Z0-9_-]*",se=[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[q.BLOCK_COMMENT,ee,q.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+ae,relevance:0},q.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+r.join("|")+")"},{begin:":(:)?("+C.join("|")+")"}]},q.CSS_VARIABLE,{className:"attribute",begin:"\\b("+W.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[q.BLOCK_COMMENT,q.HEXCOLOR,q.IMPORTANT,q.CSS_NUMBER_MODE,...se,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...se,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},q.FUNCTION_DISPATCH]},{begin:M.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:le},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:ne,attribute:R.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...se,q.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+L.join("|")+")\\b"}]}}function l(A){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function p(A){let M=A.regex,q=M.concat(/[\p{L}_]/u,M.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),ee=/[\p{L}0-9._:-]+/u,ne={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},le={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},ae=A.inherit(le,{begin:/\(/,end:/\)/}),se=A.inherit(A.APOS_STRING_MODE,{className:"string"}),ge=A.inherit(A.QUOTE_STRING_MODE,{className:"string"}),ce={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[le,ge,se,ae,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[le,ae,ge,se]}]}]},A.COMMENT(//,{relevance:10}),{begin://,relevance:10},ne,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[ge]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[ce],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[ce],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:M.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:q,relevance:0,starts:ce}]},{className:"tag",begin:M.concat(/<\//,M.lookahead(M.concat(q,/>/))),contains:[{className:"name",begin:q,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function v(A){let M="true false yes no null",q="[\\w#;/?:@&=+$,.~*'()[\\]]+",ee={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},ne={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},le={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},ae={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[A.BACKSLASH_ESCAPE,ne]},se=A.inherit(ae,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),ge={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},ce={end:",",endsWithParent:!0,excludeEnd:!0,keywords:M,relevance:0},Ie={begin:/\{/,end:/\}/,contains:[ce],illegal:"\\n",relevance:0},Me={begin:"\\[",end:"\\]",contains:[ce],illegal:"\\n",relevance:0},Le=[ee,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+q},{className:"type",begin:"!<"+q+">"},{className:"type",begin:"!"+q},{className:"type",begin:"!!"+q},{className:"meta",begin:"&"+A.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+A.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},A.HASH_COMMENT_MODE,{beginKeywords:M,keywords:{literal:M}},ge,{className:"number",begin:A.C_NUMBER_RE+"\\b",relevance:0},Ie,Me,le,ae],Ee=[...Le];return Ee.pop(),Ee.push(se),ce.contains=Ee,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:Le}}O.registerLanguage("php",I),O.registerLanguage("php-template",G),O.registerLanguage("javascript",b),O.registerLanguage("sql",f),O.registerLanguage("shell",a),O.registerLanguage("css",N),O.registerLanguage("plaintext",l),O.registerLanguage("xml",p),O.registerLanguage("yaml",v);var X=O.getLanguage("sql");X.keywords.keyword=Array.from(new Set([...X.keywords.keyword,"if","ifnull","limit","aes_decrypt","aes_encrypt","ascii","bin","bit_and","bit_count","bit_length","bit_or","bit_xor","coercibility","concat","group_concat","concat_ws","connection_id","conv","curdate","curtime","database","date_add","date_format","date_sub","dayname","dayofmonth","dayofweek","dayofyear","elt","export_set","field","find_in_set","format","from_base64","from_days","from_unixtime","get_lock","greatest","hex","ifnull","inet_aton","inet_ntoa","instr","isnull","last_insert_id","least","lpad","ltrim","make_set","md5","monthname","now","oct","ord","password","quote","release_lock","repeat","replace","reverse","rpad","rtrim","sec_to_time","sha1","sha2","sleep","soundex","space","straight_join","strcmp","str_to_date","substr","sysdate","time_format","time_to_sec","to_base64","to_days","unix_timestamp","updatexml","version","week","weekday","yearweek","length","substring_index","json_unquote","json_extract","json_contains"])),X.keywords.type=Array.from(new Set([...X.keywords.type,"longtext"])),O.configure({classPrefix:"phpdebugbar-hljs-"}),globalThis.phpdebugbar_hljs=O.default})();(()=>{var s=Object.create,H=Object.defineProperty,T=Object.getOwnPropertyDescriptor,S=Object.getOwnPropertyNames,h=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty,d=(a,m)=>()=>(m||a((m={exports:{}}).exports,m),m.exports),U=(a,m,o,y)=>{if(m&&typeof m=="object"||typeof m=="function")for(let L of S(m))!k.call(a,L)&&L!==o&&H(a,L,{get:()=>m[L],enumerable:!(y=T(m,L))||y.enumerable});return a},P=(a,m,o)=>(o=a!=null?s(h(a)):{},U(m||!a||!a.__esModule?H(o,"default",{value:a,enumerable:!0}):o,a)),B=d(a=>{"use strict";a.__esModule=!0;var m=/[\\^$.*+?()[\]{}|]/g,o=RegExp(m.source);function y(L){return L&&o.test(L)?L.replace(m,"\\$&"):L||""}a.default=y}),_=d(a=>{"use strict";a.__esModule=!0,a.TokenTypes=void 0;var m;(function(o){o.WHITESPACE="whitespace",o.WORD="word",o.STRING="string",o.RESERVED="reserved",o.RESERVED_TOP_LEVEL="reserved-top-level",o.RESERVED_TOP_LEVEL_NO_INDENT="reserved-top-level-no-indent",o.RESERVED_NEWLINE="reserved-newline",o.OPERATOR="operator",o.NO_SPACE_OPERATOR="no-space-operator",o.OPEN_PAREN="open-paren",o.CLOSE_PAREN="close-paren",o.LINE_COMMENT="line-comment",o.BLOCK_COMMENT="block-comment",o.NUMBER="number",o.PLACEHOLDER="placeholder",o.SERVERVARIABLE="servervariable"})(m=a.TokenTypes||(a.TokenTypes={}))}),O=d(a=>{"use strict";var m=a&&a.__importDefault||function(R){return R&&R.__esModule?R:{default:R}};a.__esModule=!0;var o=m(B()),y=_(),L=(function(){function R(r){this.WHITESPACE_REGEX=/^(\s+)/u,this.NUMBER_REGEX=/^((-\s*)?[0-9]+(\.[0-9]+)?|0x[0-9a-fA-F]+|0b[01]+|([a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}))\b/u,this.AMBIGUOS_OPERATOR_REGEX=/^(\?\||\?&)/u,this.OPERATOR_REGEX=/^(!=|<>|>>|<<|==|<=|>=|!<|!>|\|\|\/|\|\/|\|\||~~\*|~~|!~~\*|!~~|~\*|!~\*|!~|:=|=>|&&|@>|<@|#-|@@|@|.)/u,this.NO_SPACE_OPERATOR_REGEX=/^(::|->>|->|#>>|#>)/u,this.BLOCK_COMMENT_REGEX=/^(\/\*[^]*?(?:\*\/|$))/u,this.LINE_COMMENT_REGEX=this.createLineCommentRegex(r.lineCommentTypes),this.RESERVED_TOP_LEVEL_REGEX=this.createReservedWordRegex(r.reservedTopLevelWords),this.RESERVED_TOP_LEVEL_NO_INDENT_REGEX=this.createReservedWordRegex(r.reservedTopLevelWordsNoIndent),this.RESERVED_NEWLINE_REGEX=this.createReservedWordRegex(r.reservedNewlineWords),this.RESERVED_PLAIN_REGEX=this.createReservedWordRegex(r.reservedWords),this.WORD_REGEX=this.createWordRegex(r.specialWordChars),this.STRING_REGEX=this.createStringRegex(r.stringTypes),this.OPEN_PAREN_REGEX=this.createParenRegex(r.openParens),this.CLOSE_PAREN_REGEX=this.createParenRegex(r.closeParens),this.INDEXED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(r.indexedPlaceholderTypes,"[0-9]*"),this.IDENT_NAMED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(r.namedPlaceholderTypes,"[a-zA-Z0-9._$]+"),this.STRING_NAMED_PLACEHOLDER_REGEX=this.createPlaceholderRegex(r.namedPlaceholderTypes,this.createStringPattern(r.stringTypes))}return R.prototype.createLineCommentRegex=function(r){var C="((?|(?:[^>]))";return new RegExp("^((?:".concat(r.map(function(W){return(0,o.default)(W)}).join("|"),")").concat(C,`.*?(?:\r |\r| -|$))`),"u")},R.prototype.createReservedWordRegex=function(r){var I=r.join("|").replace(/ /gu,"\\s+");return new RegExp("^(".concat(I,")\\b"),"iu")},R.prototype.createWordRegex=function(r){return new RegExp("^([\\p{Alphabetic}\\p{Mark}\\p{Decimal_Number}\\p{Connector_Punctuation}\\p{Join_Control}".concat(r.join(""),"]+)"),"u")},R.prototype.createStringRegex=function(r){return new RegExp("^("+this.createStringPattern(r)+")","u")},R.prototype.createStringPattern=function(r){var I={"``":"((`[^`]*($|`))+)","[]":"((\\[[^\\]]*($|\\]))(\\][^\\]]*($|\\]))*)",'""':'(("[^"\\\\]*(?:\\\\.[^"\\\\]*)*("|$))+)',"''":"(('[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)","N''":"((N'[^N'\\\\]*(?:\\\\.[^N'\\\\]*)*('|$))+)","E''":"(((E|e)'[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)"};return r.map(function(H){return I[H]}).join("|")},R.prototype.createParenRegex=function(r){var I=this;return new RegExp("^("+r.map(function(H){return I.escapeParen(H)}).join("|")+")","iu")},R.prototype.escapeParen=function(r){return r.length===1?(0,l.default)(r):"\\b"+r+"\\b"},R.prototype.createPlaceholderRegex=function(r,I){if(!r||r.length===0)return null;var H=r.map(l.default).join("|");return new RegExp("^((?:".concat(H,")(?:").concat(I,"))"),"u")},R.prototype.tokenize=function(r){if(!r)return[];for(var I=[],H;r.length;)H=this.getNextToken(r,H),r=r.substring(H.value.length),I.push(H);return I},R.prototype.getNextToken=function(r,I){return this.getWhitespaceToken(r)||this.getCommentToken(r)||this.getStringToken(r)||this.getOpenParenToken(r)||this.getCloseParenToken(r)||this.getAmbiguosOperatorToken(r)||this.getNoSpaceOperatorToken(r)||this.getServerVariableToken(r)||this.getPlaceholderToken(r)||this.getNumberToken(r)||this.getReservedWordToken(r,I)||this.getWordToken(r)||this.getOperatorToken(r)},R.prototype.getWhitespaceToken=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.WHITESPACE,regex:this.WHITESPACE_REGEX})},R.prototype.getCommentToken=function(r){return this.getLineCommentToken(r)||this.getBlockCommentToken(r)},R.prototype.getLineCommentToken=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.LINE_COMMENT,regex:this.LINE_COMMENT_REGEX})},R.prototype.getBlockCommentToken=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.BLOCK_COMMENT,regex:this.BLOCK_COMMENT_REGEX})},R.prototype.getStringToken=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.STRING,regex:this.STRING_REGEX})},R.prototype.getOpenParenToken=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.OPEN_PAREN,regex:this.OPEN_PAREN_REGEX})},R.prototype.getCloseParenToken=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.CLOSE_PAREN,regex:this.CLOSE_PAREN_REGEX})},R.prototype.getPlaceholderToken=function(r){return this.getIdentNamedPlaceholderToken(r)||this.getStringNamedPlaceholderToken(r)||this.getIndexedPlaceholderToken(r)},R.prototype.getServerVariableToken=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.SERVERVARIABLE,regex:/(^@@\w+)/iu})},R.prototype.getIdentNamedPlaceholderToken=function(r){return this.getPlaceholderTokenWithKey({input:r,regex:this.IDENT_NAMED_PLACEHOLDER_REGEX,parseKey:function(I){return I.slice(1)}})},R.prototype.getStringNamedPlaceholderToken=function(r){var I=this;return this.getPlaceholderTokenWithKey({input:r,regex:this.STRING_NAMED_PLACEHOLDER_REGEX,parseKey:function(H){return I.getEscapedPlaceholderKey({key:H.slice(2,-1),quoteChar:H.slice(-1)})}})},R.prototype.getIndexedPlaceholderToken=function(r){return this.getPlaceholderTokenWithKey({input:r,regex:this.INDEXED_PLACEHOLDER_REGEX,parseKey:function(I){return I.slice(1)}})},R.prototype.getPlaceholderTokenWithKey=function(r){var I=r.input,H=r.regex,f=r.parseKey,o=this.getTokenOnFirstMatch({input:I,regex:H,type:S.TokenTypes.PLACEHOLDER});return o&&(o.key=f(o.value)),o},R.prototype.getEscapedPlaceholderKey=function(r){var I=r.key,H=r.quoteChar;return I.replace(new RegExp((0,l.default)("\\"+H),"gu"),H)},R.prototype.getNumberToken=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.NUMBER,regex:this.NUMBER_REGEX})},R.prototype.getOperatorToken=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.OPERATOR,regex:this.OPERATOR_REGEX})},R.prototype.getAmbiguosOperatorToken=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.OPERATOR,regex:this.AMBIGUOS_OPERATOR_REGEX})},R.prototype.getNoSpaceOperatorToken=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.NO_SPACE_OPERATOR,regex:this.NO_SPACE_OPERATOR_REGEX})},R.prototype.getReservedWordToken=function(r,I){if(!(I&&I.value&&I.value==="."))return this.getToplevelReservedToken(r)||this.getNewlineReservedToken(r)||this.getTopLevelReservedTokenNoIndent(r)||this.getPlainReservedToken(r)},R.prototype.getToplevelReservedToken=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.RESERVED_TOP_LEVEL,regex:this.RESERVED_TOP_LEVEL_REGEX})},R.prototype.getNewlineReservedToken=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.RESERVED_NEWLINE,regex:this.RESERVED_NEWLINE_REGEX})},R.prototype.getPlainReservedToken=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.RESERVED,regex:this.RESERVED_PLAIN_REGEX})},R.prototype.getTopLevelReservedTokenNoIndent=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.RESERVED_TOP_LEVEL_NO_INDENT,regex:this.RESERVED_TOP_LEVEL_NO_INDENT_REGEX})},R.prototype.getWordToken=function(r){return this.getTokenOnFirstMatch({input:r,type:S.TokenTypes.WORD,regex:this.WORD_REGEX})},R.prototype.getTokenOnFirstMatch=function(r){var I=r.input,H=r.type,f=r.regex,o=I.match(f);if(o)return{type:H,value:o[1]}},R})();a.default=y}),t=c(a=>{"use strict";a.__esModule=!0;var h=function(l){return l===void 0&&(l=[]),l[l.length-1]};a.default=h}),i=c(a=>{"use strict";var h=a&&a.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};a.__esModule=!0;var l=h(t()),S="top-level",y="block-level",R=(function(){function r(I){this.indent=I,this.indentTypes=[],this.indent=I||" "}return r.prototype.getIndent=function(){return new Array(this.indentTypes.length).fill(this.indent).join("")},r.prototype.increaseTopLevel=function(){this.indentTypes.push(S)},r.prototype.increaseBlockLevel=function(){this.indentTypes.push(y)},r.prototype.decreaseTopLevel=function(){(0,l.default)(this.indentTypes)===S&&this.indentTypes.pop()},r.prototype.decreaseBlockLevel=function(){for(;this.indentTypes.length>0;){var I=this.indentTypes.pop();if(I!==S)break}},r.prototype.resetIndentation=function(){this.indentTypes=[]},r})();a.default=R}),L=c(a=>{"use strict";a.__esModule=!0;var h=p(),l=50,S=(function(){function y(){this.level=0}return y.prototype.beginIfPossible=function(R,r){this.level===0&&this.isInlineBlock(R,r)?this.level=1:this.level>0?this.level++:this.level=0},y.prototype.end=function(){this.level--},y.prototype.isActive=function(){return this.level>0},y.prototype.isInlineBlock=function(R,r){for(var I=0,H=0,f=r;fl)return!1;if(o.type===h.TokenTypes.OPEN_PAREN)H++;else if(o.type===h.TokenTypes.CLOSE_PAREN&&(H--,H===0))return!0;if(this.isForbiddenToken(o))return!1}return!1},y.prototype.isForbiddenToken=function(R){var r=R.type,I=R.value;return r===h.TokenTypes.RESERVED_TOP_LEVEL||r===h.TokenTypes.RESERVED_NEWLINE||r===h.TokenTypes.LINE_COMMENT||r===h.TokenTypes.BLOCK_COMMENT||I===";"},y})();a.default=S}),E=c(a=>{"use strict";a.__esModule=!0;var h=(function(){function l(S){this.params=S,this.index=0,this.params=S}return l.prototype.get=function(S){var y=S.key,R=S.value;return this.params?y?this.params[y]:this.params[this.index++]:R},l})();a.default=h}),O=c(a=>{"use strict";var h=a&&a.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};a.__esModule=!0;var l=p(),S=h(i()),y=h(L()),R=h(E()),r=[" "," "],I=function(f){for(var o=f.length-1;o>=0&&r.includes(f[o]);)o--;return f.substring(0,o+1)},H=(function(){function f(o,u,C){this.cfg=o,this.tokenizer=u,this.tokenOverride=C,this.tokens=[],this.previousReservedWord={type:null,value:null},this.previousNonWhiteSpace={type:null,value:null},this.index=0,this.indentation=new S.default(this.cfg.indent),this.inlineBlock=new y.default,this.params=new R.default(this.cfg.params)}return f.prototype.format=function(o){this.tokens=this.tokenizer.tokenize(o);var u=this.getFormattedQueryFromTokens();return u.trim()},f.prototype.getFormattedQueryFromTokens=function(){var o=this,u="";return this.tokens.forEach(function(C,X){o.index=X,o.tokenOverride&&(C=o.tokenOverride(C,o.previousReservedWord)||C),C.type===l.TokenTypes.WHITESPACE?u=o.formatWhitespace(C,u):C.type===l.TokenTypes.LINE_COMMENT?u=o.formatLineComment(C,u):C.type===l.TokenTypes.BLOCK_COMMENT?u=o.formatBlockComment(C,u):C.type===l.TokenTypes.RESERVED_TOP_LEVEL||C.type===l.TokenTypes.RESERVED_TOP_LEVEL_NO_INDENT||C.type===l.TokenTypes.RESERVED_NEWLINE||C.type===l.TokenTypes.RESERVED?u=o.formatReserved(C,u):C.type===l.TokenTypes.OPEN_PAREN?u=o.formatOpeningParentheses(C,u):C.type===l.TokenTypes.CLOSE_PAREN?u=o.formatClosingParentheses(C,u):C.type===l.TokenTypes.NO_SPACE_OPERATOR?u=o.formatWithoutSpaces(C,u):C.type===l.TokenTypes.PLACEHOLDER||C.type===l.TokenTypes.SERVERVARIABLE?u=o.formatPlaceholder(C,u):C.value===","?u=o.formatComma(C,u):C.value===":"?u=o.formatWithSpaceAfter(C,u):C.value==="."?u=o.formatWithoutSpaces(C,u):C.value===";"?u=o.formatQuerySeparator(C,u):u=o.formatWithSpaces(C,u),C.type!==l.TokenTypes.WHITESPACE&&(o.previousNonWhiteSpace=C)}),u},f.prototype.formatWhitespace=function(o,u){return this.cfg.linesBetweenQueries==="preserve"&&/((\r\n|\n)(\r\n|\n)+)/u.test(o.value)&&this.previousToken().value===";"?u.replace(/(\n|\r\n)$/u,"")+o.value:u},f.prototype.formatReserved=function(o,u){return o.type===l.TokenTypes.RESERVED_NEWLINE&&this.previousReservedWord&&this.previousReservedWord.value&&o.value.toUpperCase()==="AND"&&this.previousReservedWord.value.toUpperCase()==="BETWEEN"&&(o.type=l.TokenTypes.RESERVED),o.type===l.TokenTypes.RESERVED_TOP_LEVEL?u=this.formatTopLevelReservedWord(o,u):o.type===l.TokenTypes.RESERVED_TOP_LEVEL_NO_INDENT?u=this.formatTopLevelReservedWordNoIndent(o,u):o.type===l.TokenTypes.RESERVED_NEWLINE?u=this.formatNewlineReservedWord(o,u):u=this.formatWithSpaces(o,u),this.previousReservedWord=o,u},f.prototype.formatLineComment=function(o,u){return this.addNewline(u+o.value)},f.prototype.formatBlockComment=function(o,u){return this.addNewline(this.addNewline(u)+this.indentComment(o.value))},f.prototype.indentComment=function(o){return o.replace(/\n[ \t]*/gu,` -`+this.indentation.getIndent()+" ")},f.prototype.formatTopLevelReservedWordNoIndent=function(o,u){return this.indentation.decreaseTopLevel(),u=this.addNewline(u)+this.equalizeWhitespace(this.formatReservedWord(o.value)),this.addNewline(u)},f.prototype.formatTopLevelReservedWord=function(o,u){var C=this.previousNonWhiteSpace.value!==","&&!["GRANT"].includes("".concat(this.previousNonWhiteSpace.value).toUpperCase());return C&&(this.indentation.decreaseTopLevel(),u=this.addNewline(u)),u=u+this.equalizeWhitespace(this.formatReservedWord(o.value))+" ",C&&this.indentation.increaseTopLevel(),u},f.prototype.formatNewlineReservedWord=function(o,u){return this.addNewline(u)+this.equalizeWhitespace(this.formatReservedWord(o.value))+" "},f.prototype.equalizeWhitespace=function(o){return o.replace(/\s+/gu," ")},f.prototype.formatOpeningParentheses=function(o,u){o.value=this.formatCase(o.value);var C=this.previousToken().type;return C!==l.TokenTypes.WHITESPACE&&C!==l.TokenTypes.OPEN_PAREN&&C!==l.TokenTypes.LINE_COMMENT&&(u=I(u)),u+=o.value,this.inlineBlock.beginIfPossible(this.tokens,this.index),this.inlineBlock.isActive()||(this.indentation.increaseBlockLevel(),u=this.addNewline(u)),u},f.prototype.formatClosingParentheses=function(o,u){return o.value=this.formatCase(o.value),this.inlineBlock.isActive()?(this.inlineBlock.end(),this.formatWithSpaceAfter(o,u)):(this.indentation.decreaseBlockLevel(),this.formatWithSpaces(o,this.addNewline(u)))},f.prototype.formatPlaceholder=function(o,u){return u+this.params.get(o)+" "},f.prototype.formatComma=function(o,u){return u=I(u)+o.value+" ",this.inlineBlock.isActive()||/^LIMIT$/iu.test(this.previousReservedWord.value)?u:this.addNewline(u)},f.prototype.formatWithSpaceAfter=function(o,u){return I(u)+o.value+" "},f.prototype.formatWithoutSpaces=function(o,u){return I(u)+o.value},f.prototype.formatWithSpaces=function(o,u){var C=o.type===l.TokenTypes.RESERVED?this.formatReservedWord(o.value):o.value;return u+C+" "},f.prototype.formatReservedWord=function(o){return this.formatCase(o)},f.prototype.formatQuerySeparator=function(o,u){this.indentation.resetIndentation();var C=` -`;return this.cfg.linesBetweenQueries!=="preserve"&&(C=` -`.repeat(this.cfg.linesBetweenQueries||1)),I(u)+o.value+C},f.prototype.addNewline=function(o){return o=I(o),o.endsWith(` -`)||(o+=` -`),o+this.indentation.getIndent()},f.prototype.previousToken=function(){return this.tokens[this.index-1]||{type:null,value:null}},f.prototype.formatCase=function(o){return this.cfg.reservedWordCase==="upper"?o.toUpperCase():this.cfg.reservedWordCase==="lower"?o.toLowerCase():o},f})();a.default=H}),v=c(a=>{"use strict";var h=a&&a.__importDefault||function(R){return R&&R.__esModule?R:{default:R}};a.__esModule=!0;var l=h(e()),S=h(O()),y=(function(){function R(r){this.cfg=r}return R.prototype.format=function(r){return new S.default(this.cfg,this.tokenizer(),this.tokenOverride).format(r)},R.prototype.tokenize=function(r){return this.tokenizer().tokenize(r)},R.prototype.tokenizer=function(){return new l.default(this.getTokenizerConfig())},R})();a.default=y}),G=c(a=>{"use strict";var h=a&&a.__extends||(function(){var f=function(o,u){return f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(C,X){C.__proto__=X}||function(C,X){for(var _ in X)Object.prototype.hasOwnProperty.call(X,_)&&(C[_]=X[_])},f(o,u)};return function(o,u){if(typeof u!="function"&&u!==null)throw new TypeError("Class extends value "+String(u)+" is not a constructor or null");f(o,u);function C(){this.constructor=o}o.prototype=u===null?Object.create(u):(C.prototype=u.prototype,new C)}})(),l=a&&a.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};a.__esModule=!0;var S=l(v()),y=(function(f){h(o,f);function o(){return f!==null&&f.apply(this,arguments)||this}return o.prototype.getTokenizerConfig=function(){return{reservedWords:R,reservedTopLevelWords:r,reservedNewlineWords:H,reservedTopLevelWordsNoIndent:I,stringTypes:['""',"''","``","[]"],openParens:["("],closeParens:[")"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:[":"],lineCommentTypes:["--"],specialWordChars:["#","@"]}},o})(S.default);a.default=y;var R=["ABS","ACTIVATE","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","ANY","ARE","ARRAY","AS","ASC","ASENSITIVE","ASSOCIATE","ASUTIME","ASYMMETRIC","AT","ATOMIC","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","AVG","BEFORE","BEGIN","BETWEEN","BIGINT","BINARY","BLOB","BOOLEAN","BOTH","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CCSID","CEIL","CEILING","CHAR","CHARACTER","CHARACTER_LENGTH","CHAR_LENGTH","CHECK","CLOB","CLONE","CLOSE","CLUSTER","COALESCE","COLLATE","COLLECT","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","CONVERT","CORR","CORRESPONDING","COUNT","COUNT_BIG","COVAR_POP","COVAR_SAMP","CREATE","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DATE","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DEREF","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DOUBLE","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELEMENT","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPTION","EXCLUDING","EXCLUSIVE","EXEC","EXECUTE","EXISTS","EXIT","EXP","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FILTER","FINAL","FIRST","FLOAT","FLOOR","FOR","FOREIGN","FREE","FULL","FUNCTION","FUSION","GENERAL","GENERATED","GET","GLOBAL","GOTO","GRANT","GRAPHIC","GROUP","GROUPING","HANDLER","HASH","HASHED_VALUE","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INT","INTEGER","INTEGRITY","INTERSECTION","INTERVAL","INTO","IS","ISOBID","ISOLATION","ITERATE","JAR","JAVA","KEEP","KEY","LABEL","LANGUAGE","LARGE","LATERAL","LC_CTYPE","LEADING","LEAVE","LEFT","LIKE","LINKTYPE","LN","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LONG","LOOP","LOWER","MAINTAINED","MATCH","MATERIALIZED","MAX","MAXVALUE","MEMBER","MERGE","METHOD","MICROSECOND","MICROSECONDS","MIN","MINUTE","MINUTES","MINVALUE","MOD","MODE","MODIFIES","MODULE","MONTH","MONTHS","MULTISET","NAN","NATIONAL","NATURAL","NCHAR","NCLOB","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZE","NORMALIZED","NOT","NULL","NULLIF","NULLS","NUMERIC","NUMPARTS","OBID","OCTET_LENGTH","OF","OFFSET","OLD","OLD_TABLE","ON","ONLY","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","ORDER","OUT","OUTER","OVER","OVERLAPS","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","PIECESIZE","PLAN","POSITION","POWER","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","REAL","RECOVERY","RECURSIVE","REF","REFERENCES","REFERENCING","REFRESH","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROLLUP","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCOPE","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SIGNAL","SIMILAR","SIMPLE","SMALLINT","SNAN","SOME","SOURCE","SPECIFIC","SPECIFICTYPE","SQL","SQLEXCEPTION","SQLID","SQLSTATE","SQLWARNING","SQRT","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STDDEV_POP","STDDEV_SAMP","STOGROUP","STORES","STYLE","SUBMULTISET","SUBSTRING","SUM","SUMMARY","SYMMETRIC","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","TABLESPACE","THEN","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSACTION","TRANSLATE","TRANSLATION","TREAT","TRIGGER","TRIM","TRUE","TRUNCATE","TYPE","UESCAPE","UNDO","UNIQUE","UNKNOWN","UNNEST","UNTIL","UPPER","USAGE","USER","USING","VALIDPROC","VALUE","VARCHAR","VARIABLE","VARIANT","VARYING","VAR_POP","VAR_SAMP","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHILE","WIDTH_BUCKET","WINDOW","WITH","WITHIN","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],r=["ADD","AFTER","ALTER COLUMN","ALTER TABLE","DELETE FROM","EXCEPT","FETCH FIRST","FROM","GROUP BY","GO","HAVING","INSERT INTO","INTERSECT","LIMIT","ORDER BY","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UPDATE","VALUES","WHERE"],I=["INTERSECT","INTERSECT ALL","MINUS","UNION","UNION ALL"],H=["AND","CROSS JOIN","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN"]}),P=c(a=>{"use strict";var h=a&&a.__extends||(function(){var f=function(o,u){return f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(C,X){C.__proto__=X}||function(C,X){for(var _ in X)Object.prototype.hasOwnProperty.call(X,_)&&(C[_]=X[_])},f(o,u)};return function(o,u){if(typeof u!="function"&&u!==null)throw new TypeError("Class extends value "+String(u)+" is not a constructor or null");f(o,u);function C(){this.constructor=o}o.prototype=u===null?Object.create(u):(C.prototype=u.prototype,new C)}})(),l=a&&a.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};a.__esModule=!0;var S=l(v()),y=(function(f){h(o,f);function o(){return f!==null&&f.apply(this,arguments)||this}return o.prototype.getTokenizerConfig=function(){return{reservedWords:R,reservedTopLevelWords:r,reservedNewlineWords:H,reservedTopLevelWordsNoIndent:I,stringTypes:['""',"''","``"],openParens:["(","[","{"],closeParens:[")","]","}"],namedPlaceholderTypes:["$"],lineCommentTypes:["#","--"],specialWordChars:[]}},o})(S.default);a.default=y;var R=["ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","CONNECT","CONTINUE","CORRELATE","COVER","CREATE","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FIRST","FLATTEN","FOR","FORCE","FROM","FUNCTION","GRANT","GROUP","GSI","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LAST","LEFT","LET","LETTING","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MISSING","NAMESPACE","NEST","NOT","NULL","NUMBER","OBJECT","OFFSET","ON","OPTION","OR","ORDER","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROCEDURE","PUBLIC","RAW","REALM","REDUCE","RENAME","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","SATISFIES","SCHEMA","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TO","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WITH","WITHIN","WORK","XOR"],r=["DELETE FROM","EXCEPT ALL","EXCEPT","EXPLAIN DELETE FROM","EXPLAIN UPDATE","EXPLAIN UPSERT","FROM","GROUP BY","HAVING","INFER","INSERT INTO","LET","LIMIT","MERGE","NEST","ORDER BY","PREPARE","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UNNEST","UPDATE","UPSERT","USE KEYS","VALUES","WHERE"],I=["INTERSECT","INTERSECT ALL","MINUS","UNION","UNION ALL"],H=["AND","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","XOR"]}),A=c(a=>{"use strict";var h=a&&a.__extends||(function(){var o=function(u,C){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(X,_){X.__proto__=_}||function(X,_){for(var D in _)Object.prototype.hasOwnProperty.call(_,D)&&(X[D]=_[D])},o(u,C)};return function(u,C){if(typeof C!="function"&&C!==null)throw new TypeError("Class extends value "+String(C)+" is not a constructor or null");o(u,C);function X(){this.constructor=u}u.prototype=C===null?Object.create(C):(X.prototype=C.prototype,new X)}})(),l=a&&a.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};a.__esModule=!0;var S=l(v()),y=p(),R=(function(o){h(u,o);function u(){var C=o!==null&&o.apply(this,arguments)||this;return C.tokenOverride=function(X,_){if(X.type===y.TokenTypes.RESERVED_TOP_LEVEL&&_.value&&X.value.toUpperCase()==="SET"&&_.value.toUpperCase()==="BY")return X.type=y.TokenTypes.RESERVED,X},C}return u.prototype.getTokenizerConfig=function(){return{reservedWords:r,reservedTopLevelWords:I,reservedNewlineWords:f,reservedTopLevelWordsNoIndent:H,stringTypes:['""',"N''","''","``"],openParens:["(","CASE"],closeParens:[")","END"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:[":"],lineCommentTypes:["--"],specialWordChars:["_","$","#",".","@"]}},u})(S.default);a.default=R;var r=["A","ACCESSIBLE","AGENT","AGGREGATE","ALL","ALTER","ANY","ARRAY","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BETWEEN","BFILE_BASE","BINARY_INTEGER","BINARY","BLOB_BASE","BLOCK","BODY","BOOLEAN","BOTH","BOUND","BREADTH","BULK","BY","BYTE","C","CALL","CALLING","CASCADE","CASE","CHAR_BASE","CHAR","CHARACTER","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOB_BASE","CLONE","CLOSE","CLUSTER","CLUSTERS","COALESCE","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONTINUE","CONVERT","COUNT","CRASH","CREATE","CREDENTIAL","CURRENT","CURRVAL","CURSOR","CUSTOMDATUM","DANGLING","DATA","DATE_BASE","DATE","DAY","DECIMAL","DEFAULT","DEFINE","DELETE","DEPTH","DESC","DETERMINISTIC","DIRECTORY","DISTINCT","DO","DOUBLE","DROP","DURATION","ELEMENT","ELSIF","EMPTY","END","ESCAPE","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTENDS","EXTERNAL","EXTRACT","FALSE","FETCH","FINAL","FIRST","FIXED","FLOAT","FOR","FORALL","FORCE","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSTANTIABLE","INT","INTEGER","INTERFACE","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMITED","LOCAL","LOCK","LONG","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUTE","MLSLABEL","MOD","MODE","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NATURAL","NATURALN","NCHAR","NEW","NEXTVAL","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","NULLIF","NUMBER_BASE","NUMBER","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","OLD","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","ORACLE","ORADATA","ORDER","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERLAPS","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARENT","PARTITION","PASCAL","PCTFREE","PIPE","PIPELINED","PLS_INTEGER","PLUGGABLE","POSITIVE","POSITIVEN","PRAGMA","PRECISION","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","RAW","READ","REAL","RECORD","REF","REFERENCE","RELEASE","RELIES_ON","REM","REMAINDER","RENAME","RESOURCE","RESULT_CACHE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","ROWID","ROWNUM","ROWTYPE","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SEARCH","SECOND","SEGMENT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SHARE","SHORT","SIZE_T","SIZE","SMALLINT","SOME","SPACE","SPARSE","SQL","SQLCODE","SQLDATA","SQLERRM","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUCCESSFUL","SUM","SYNONYM","SYSDATE","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMESTAMP","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSACTION","TRANSACTIONAL","TRIGGER","TRUE","TRUSTED","TYPE","UB1","UB2","UB4","UID","UNDER","UNIQUE","UNPLUG","UNSIGNED","UNTRUSTED","USE","USER","USING","VALIDATE","VALIST","VALUE","VARCHAR","VARCHAR2","VARIABLE","VARIANCE","VARRAY","VARYING","VIEW","VIEWS","VOID","WHENEVER","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],I=["ADD","ALTER COLUMN","ALTER TABLE","BEGIN","CONNECT BY","DECLARE","DELETE FROM","DELETE","END","EXCEPT","EXCEPTION","FETCH FIRST","FROM","GROUP BY","HAVING","INSERT INTO","INSERT","LIMIT","LOOP","MODIFY","ORDER BY","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","START WITH","UPDATE","VALUES","WHERE"],H=["INTERSECT","INTERSECT ALL","MINUS","UNION","UNION ALL"],f=["AND","CROSS APPLY","CROSS JOIN","ELSE","END","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER APPLY","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","WHEN","XOR"]}),T=c(a=>{"use strict";var h=a&&a.__extends||(function(){var f=function(o,u){return f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(C,X){C.__proto__=X}||function(C,X){for(var _ in X)Object.prototype.hasOwnProperty.call(X,_)&&(C[_]=X[_])},f(o,u)};return function(o,u){if(typeof u!="function"&&u!==null)throw new TypeError("Class extends value "+String(u)+" is not a constructor or null");f(o,u);function C(){this.constructor=o}o.prototype=u===null?Object.create(u):(C.prototype=u.prototype,new C)}})(),l=a&&a.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};a.__esModule=!0;var S=l(v()),y=(function(f){h(o,f);function o(){return f!==null&&f.apply(this,arguments)||this}return o.prototype.getTokenizerConfig=function(){return{reservedWords:R,reservedTopLevelWords:r,reservedNewlineWords:H,reservedTopLevelWordsNoIndent:I,stringTypes:['""',"N''","''","``","[]","E''"],openParens:["(","CASE"],closeParens:[")","END"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:["@",":","%","$"],lineCommentTypes:["#","--"],specialWordChars:[]}},o})(S.default);a.default=y;var R=["ACCESSIBLE","ACTION","AGAINST","AGGREGATE","ALGORITHM","ALL","ALTER","ANALYSE","ANALYZE","AS","ASC","AUTOCOMMIT","AUTO_INCREMENT","BACKUP","BEGIN","BETWEEN","BINLOG","BOTH","CASCADE","CASE","CHANGE","CHANGED","CHARACTER SET","CHARSET","CHECK","CHECKSUM","COLLATE","COLLATION","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPRESSED","CONCURRENT","CONSTRAINT","CONTAINS","CONVERT","COUNT","CREATE","CROSS","CURRENT_TIMESTAMP","DATABASE","DATABASES","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DAY","DEFAULT","DEFINER","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO","DROP","DUMPFILE","DUPLICATE","DYNAMIC","ELSE","ENCLOSED","END","ENGINE","ENGINES","ENGINE_TYPE","ESCAPE","ESCAPED","EVENTS","EXEC","EXECUTE","EXISTS","EXPLAIN","EXTENDED","FAST","FETCH","FIELDS","FILE","FIRST","FIXED","FLUSH","FOR","FORCE","FOREIGN","FULL","FULLTEXT","FUNCTION","GLOBAL","GRANTS","GROUP_CONCAT","HEAP","HIGH_PRIORITY","HOSTS","HOUR","HOUR_MINUTE","HOUR_SECOND","IDENTIFIED","IF","IFNULL","IGNORE","IN","INDEX","INDEXES","INFILE","INSERT","INSERT_ID","INSERT_METHOD","INTERVAL","INTO","INVOKER","IS","ISOLATION","KEY","KEYS","KILL","LAST_INSERT_ID","LEADING","LEVEL","LIKE","LINEAR","LINES","LOAD","LOCAL","LOCK","LOCKS","LOGS","LOW_PRIORITY","MARIA","MASTER","MASTER_CONNECT_RETRY","MASTER_HOST","MASTER_LOG_FILE","MATCH","MAX_CONNECTIONS_PER_HOUR","MAX_QUERIES_PER_HOUR","MAX_ROWS","MAX_UPDATES_PER_HOUR","MAX_USER_CONNECTIONS","MEDIUM","MERGE","MINUTE","MINUTE_SECOND","MIN_ROWS","MODE","MONTH","MRG_MYISAM","MYISAM","NAMES","NATURAL","NOT","NOW()","NULL","OFFSET","ON DELETE","ON UPDATE","ON","ONLY","OPEN","OPTIMIZE","OPTION","OPTIONALLY","OUTFILE","PACK_KEYS","PAGE","PARTIAL","PARTITION","PARTITIONS","PASSWORD","PRIMARY","PRIVILEGES","PROCEDURE","PROCESS","PROCESSLIST","PURGE","QUICK","RAID0","RAID_CHUNKS","RAID_CHUNKSIZE","RAID_TYPE","RANGE","READ","READ_ONLY","READ_WRITE","REFERENCES","REGEXP","RELOAD","RENAME","REPAIR","REPEATABLE","REPLACE","REPLICATION","RESET","RESTORE","RESTRICT","RETURN","RETURNS","REVOKE","RLIKE","ROLLBACK","ROW","ROWS","ROW_FORMAT","SECOND","SECURITY","SEPARATOR","SERIALIZABLE","SESSION","SHARE","SHOW","SHUTDOWN","SLAVE","SONAME","SOUNDS","SQL","SQL_AUTO_IS_NULL","SQL_BIG_RESULT","SQL_BIG_SELECTS","SQL_BIG_TABLES","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQL_LOG_BIN","SQL_LOG_OFF","SQL_LOG_UPDATE","SQL_LOW_PRIORITY_UPDATES","SQL_MAX_JOIN_SIZE","SQL_NO_CACHE","SQL_QUOTE_SHOW_CREATE","SQL_SAFE_UPDATES","SQL_SELECT_LIMIT","SQL_SLAVE_SKIP_COUNTER","SQL_SMALL_RESULT","SQL_WARNINGS","START","STARTING","STATUS","STOP","STORAGE","STRAIGHT_JOIN","STRING","STRIPED","SUPER","TABLE","TABLES","TEMPORARY","TERMINATED","THEN","TO","TRAILING","TRANSACTIONAL","TRIGGER","TRUE","TRUNCATE","TYPE","TYPES","UNCOMMITTED","UNIQUE","UNLOCK","UNSIGNED","USAGE","USE","USING","VARIABLES","VIEW","WHEN","WITH","WORK","WRITE","YEAR_MONTH"],r=["ADD","AFTER","ALTER COLUMN","ALTER TABLE","CREATE OR REPLACE","DECLARE","DELETE FROM","EXCEPT","FETCH FIRST","FROM","GO","GRANT","GROUP BY","HAVING","INSERT INTO","INSERT","LIMIT","MODIFY","ORDER BY","RETURNING","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UPDATE","VALUES","WHERE"],I=["INTERSECT ALL","INTERSECT","MINUS","UNION ALL","UNION"],H=["AND","CROSS APPLY","CROSS JOIN","ELSE","INNER JOIN","FULL JOIN","FULL OUTER JOIN","LEFT JOIN","LEFT OUTER JOIN","NATURAL JOIN","OR","OUTER APPLY","OUTER JOIN","RENAME","RIGHT JOIN","RIGHT OUTER JOIN","JOIN","WHEN","XOR"]}),N=c(a=>{"use strict";var h=a&&a.__importDefault||function(H){return H&&H.__esModule?H:{default:H}};a.__esModule=!0,a.tokenize=a.format=void 0;var l=h(G()),S=h(P()),y=h(A()),R=h(T()),r=function(H,f){switch(f===void 0&&(f={}),f.language){case"db2":return new l.default(f).format(H);case"n1ql":return new S.default(f).format(H);case"pl/sql":return new y.default(f).format(H);default:return new R.default(f).format(H)}};a.format=r;var I=function(H,f){return f===void 0&&(f={}),new R.default(f).tokenize(H)};a.tokenize=I,a.default={format:a.format,tokenize:a.tokenize}}),m=M(N(),1);globalThis.phpdebugbar_sqlformatter=m.default.default})();window.PhpDebugBar=window.PhpDebugBar||{};(function(){const s=window.PhpDebugBar;s.utils=s.utils||{};const W=s.utils.getDictValue=function(p,e,t){if(p==null)return t;const i=String(e).split(".");let L=p;for(const E of i)if(L==null||(L=L[E],L===void 0))return t;return L};s.utils.csscls=function(p,e){const t=String(p).trim();return t.includes(" ")?t.split(/\s+/).filter(Boolean).map(i=>s.utils.csscls(i,e)).join(" "):t.startsWith(".")?`.${e}${t.slice(1)}`:e+t},s.utils.makecsscls=function(p){return e=>s.utils.csscls(e,p)};const b=s.utils.makecsscls("phpdebugbar-");s.utils.sfDump=function(p){typeof window.Sfdump=="function"&&p.querySelectorAll("pre.sf-dump[id]").forEach(e=>{window.Sfdump(e.id,{maxDepth:0})})},s.utils.schedule=function(p){return window.requestIdleCallback?window.requestIdleCallback(p,{timeout:1e3}):setTimeout(p,0)};class g{get tagName(){return"div"}constructor(e={}){this._attributes=et({},this.defaults),this._boundAttributes={},this.el=document.createElement(this.tagName),this.className&&this.el.classList.add(...this.className.split(" ")),this.initialize(e),this.render()}initialize(e){this.set(e)}render(){}set(e,t){const i=typeof e=="string"?{[e]:t}:e,L=[];for(const E in i)if(t=i[E],this._attributes[E]=t,this._boundAttributes[E])for(const O of this._boundAttributes[E])L.includes(O)||(O.call(this,t),L.push(O))}has(e){return this._attributes[e]!==void 0&&this._attributes[e]!==null}get(e){return this._attributes[e]}bindAttr(e,t){if(Array.isArray(e)){for(const i of e)this.bindAttr(i,t);return}if(this._boundAttributes[e]||(this._boundAttributes[e]=[]),t instanceof HTMLElement){const i=t;t=L=>i.textContent=L||""}this._boundAttributes[e].push(t),this.has(e)&&t.call(this,this._attributes[e])}static extend(e){const t=this;class i extends t{}for(const L in e){const E=Object.getOwnPropertyDescriptor(e,L);E&&Object.defineProperty(i.prototype,L,E)}return Object.assign(i,t),i.__super__=t.prototype,i}}g.prototype.defaults={},s.Widget=g;class d extends g{get className(){return b("panel")}render(){this.active=!1,this.tab=document.createElement("a"),this.tab.classList.add(b("tab")),this.icon=document.createElement("i"),this.tab.append(this.icon),this.bindAttr("icon",function(t){t?this.icon.className=`phpdebugbar-icon phpdebugbar-icon-${t}`:this.icon.className=""});const e=document.createElement("span");e.classList.add(b("text")),this.tab.append(e),this.bindAttr("title",e),this.badge=document.createElement("span"),this.badge.classList.add(b("badge")),this.tab.append(this.badge),this.bindAttr("badge",function(t){t!==null?(this.badge.textContent=t,this.badge.classList.add(b("visible"))):this.badge.classList.remove(b("visible"))}),this.summaryFloat=document.createElement("div"),this.summaryFloat.classList.add(b("panel-summary-float")),this.summaryFloat.hidden=!0,this.summaryBtn=document.createElement("button"),this.summaryBtn.type="button",this.summaryBtn.classList.add(b("panel-summary-btn")),this.summaryBtn.setAttribute("title","Show summary"),this.summaryBtn.addEventListener("click",t=>{t.stopPropagation(),this._toggleSummary()}),this.summaryFloat.append(this.summaryBtn),this.summaryPopover=document.createElement("div"),this.summaryPopover.classList.add(b("panel-summary-popover")),this.summaryPopover.hidden=!0,this.summaryPopover.addEventListener("click",t=>{t.stopPropagation()}),this.summaryContent=document.createElement("div"),this.summaryContent.classList.add(b("panel-summary-content")),this.summaryPopover.append(this.summaryContent),this.summaryCopyBtn=document.createElement("button"),this.summaryCopyBtn.type="button",this.summaryCopyBtn.classList.add(b("panel-summary-copy")),this.summaryCopyBtn.setAttribute("title","Copy to clipboard"),this.summaryCopyLabel=document.createElement("span"),this.summaryCopyLabel.textContent="Copy",this.summaryCopyBtn.append(this.summaryCopyLabel),this.summaryCopyBtn.addEventListener("click",()=>{var L;const t=this._summaryText||"";if(!t)return;const i=()=>{const E=this.summaryCopyLabel.textContent;this.summaryCopyBtn.classList.add(b("panel-summary-copied")),this.summaryCopyLabel.textContent="Copied!",setTimeout(()=>{this.summaryCopyLabel.textContent=E,this.summaryCopyBtn.classList.remove(b("panel-summary-copied"))},1500)};if((L=navigator.clipboard)!=null&&L.writeText)navigator.clipboard.writeText(t).then(i,()=>{});else{const E=document.createElement("textarea");E.value=t,E.style.position="fixed",E.style.opacity="0",document.body.append(E),E.select();try{document.execCommand("copy")&&i()}catch(O){}E.remove()}}),this.summaryPopover.append(this.summaryCopyBtn),this.summaryFloat.append(this.summaryPopover),this._closeSummaryOnDocClick=()=>{this.summaryPopover.hidden=!0,this.summaryBtn.classList.remove(b("panel-summary-btn-active"))},this._closeSummaryOnEsc=t=>{t.key==="Escape"&&this._closeSummaryOnDocClick()},this._toggleSummary=()=>{const t=this.summaryPopover.hidden;this.summaryPopover.hidden=!t,this.summaryBtn.classList.toggle(b("panel-summary-btn-active"),t),t?(document.addEventListener("click",this._closeSummaryOnDocClick),document.addEventListener("keydown",this._closeSummaryOnEsc)):(document.removeEventListener("click",this._closeSummaryOnDocClick),document.removeEventListener("keydown",this._closeSummaryOnEsc))},this.bindAttr("widget",function(t){this.el.innerHTML="",this.el.append(this.summaryFloat),this.el.append(t.el)}),this.bindAttr("summary",function(t){let i="";typeof t=="string"?i=t:t!=null&&typeof t=="object"&&(i=Object.entries(t).map(([L,E])=>{const O=E!==null&&typeof E=="object"?JSON.stringify(E):String(E);return`${L} = ${O}`}).join(` -`)),this._summaryText=i,this.summaryContent.textContent=i,this.summaryFloat.hidden=!i,!i&&!this.summaryPopover.hidden&&this._closeSummaryOnDocClick()}),this.widgetRendered=!1,this.bindAttr("data",function(t){this.has("widget")&&(this.tab.setAttribute("data-empty",Object.keys(t).length===0||t.count===0),!this.widgetRendered&&this.active&&t!=null?this.renderWidgetData():this.widgetRendered=!1)})}renderWidgetData(){const e=this.get("data"),t=this.get("widget");e==null||!t||(t.set("data",e),s.utils.schedule(()=>{s.utils.sfDump(t.el)}),this.widgetRendered=!0)}show(){const e=b("active");this.tab.classList.add(e),this.tab.hidden=!1,this.el.classList.add(e),this.el.hidden=!1,this.active=!0,this.widgetRendered||this.renderWidgetData()}hide(){const e=b("active");this.tab.classList.remove(e),this.el.classList.remove(e),this.el.hidden=!0,this.active=!1}}class w extends g{get tagName(){return"span"}get className(){return b("indicator")}render(){this.icon=document.createElement("i"),this.el.append(this.icon),this.bindAttr("icon",function(t){t?this.icon.className=`phpdebugbar-icon phpdebugbar-icon-${t}`:this.icon.className=""}),this.bindAttr("link",function(t){t?(this.el.addEventListener("click",()=>{this.get("debugbar").showTab(t)}),this.el.style.cursor="pointer"):this.el.style.cursor=""});const e=document.createElement("span");e.classList.add(b("text")),this.el.append(e),this.bindAttr(["title","data"],e),this.tooltip=document.createElement("span"),this.tooltip.classList.add(b("tooltip"),b("disabled")),this.el.append(this.tooltip),this.bindAttr("tooltip",function(t){if(t)if(Array.isArray(t)||typeof t=="object"){const i=document.createElement("dl");for(const[L,E]of Object.entries(t)){const O=document.createElement("dt");O.textContent=L,i.append(O);const v=document.createElement("dd");v.textContent=E,i.append(v)}this.tooltip.innerHTML="",this.tooltip.append(i),this.tooltip.classList.remove(b("disabled"))}else this.tooltip.textContent=t,this.tooltip.classList.remove(b("disabled"));else this.tooltip.classList.add(b("disabled"))})}}class c extends g{get tagName(){return"form"}get className(){return b("settings")}initialize(e){this.set(e);const t=this.get("debugbar");this.settings=JSON.parse(localStorage.getItem("phpdebugbar-settings"))||{};for(const i in t.options)i in this.settings&&(t.options[i]=this.settings[i]),i==="theme"?t.setTheme(t.options[i]):t.el.setAttribute(`data-${i}`,t.options[i])}clearSettings(){const e=this.get("debugbar");if(localStorage.removeItem("phpdebugbar-settings"),localStorage.removeItem("phpdebugbar-ajaxhandler-autoshow"),this.settings={},e.options=et({},e.defaultOptions),e.ajaxHandler){const t=e.ajaxHandler.defaultAutoShow;e.ajaxHandler.setAutoShow(t),this.set("autoshow",t),e.controls.__datasets&&e.controls.__datasets.get("widget").set("autoshow",this.autoshow.checked)}this.initialize(e.options)}storeSetting(e,t){this.settings[e]=t;const i=this.get("debugbar");i.options[e]=t,e!=="theme"&&i.el.setAttribute(`data-${e}`,t),localStorage.setItem("phpdebugbar-settings",JSON.stringify(this.settings))}render(){this.el.innerHTML="";const e=this.get("debugbar"),t=this,i={},L=document.createElement("select");L.innerHTML='',L.value=e.options.theme,L.addEventListener("change",function(){t.storeSetting("theme",this.value),e.setTheme(this.value)}),i.Theme=L;const E=document.createElement("select");E.innerHTML='',E.value=e.options.openBtnPosition,E.addEventListener("change",function(){t.storeSetting("openBtnPosition",this.value),this.value==="topLeft"||this.value==="topRight"?t.storeSetting("toolbarPosition","top"):t.storeSetting("toolbarPosition","bottom"),t.get("debugbar").recomputeBottomOffset()}),i["Toolbar Position"]=E,this.hideEmptyTabs=document.createElement("input"),this.hideEmptyTabs.type="checkbox",this.hideEmptyTabs.checked=e.options.hideEmptyTabs,this.hideEmptyTabs.addEventListener("click",function(){t.storeSetting("hideEmptyTabs",this.checked),t.get("debugbar").respCSSSize=0,t.get("debugbar").resize()});const O=document.createElement("label");O.append(this.hideEmptyTabs,"Hide empty tabs until they have data"),i["Hide Empty Tabs"]=O;const v=document.createElement("input");v.type="checkbox",v.checked=e.options.showFullscreenBtn,v.addEventListener("click",function(){t.storeSetting("showFullscreenBtn",this.checked),e.toggleFullscreenBtn(this.checked)});const G=document.createElement("label");G.append(v,"Show fullscreen button in toolbar"),i.Fullscreen=G,this.autoshow=document.createElement("input"),this.autoshow.type="checkbox",this.autoshow.checked=e.ajaxHandler&&e.ajaxHandler.autoShow,this.autoshow.addEventListener("click",function(){e.ajaxHandler&&e.ajaxHandler.setAutoShow(this.checked),e.controls.__datasets&&e.controls.__datasets.get("widget").set("autoshow",this.checked),e.datasetSwitcherWidget&&e.datasetSwitcherWidget.set("autoshow",this.checked)}),this.bindAttr("autoshow",function(){this.autoshow.checked=this.get("autoshow");const T=this.autoshow.closest(`.${b("form-row")}`);T&&(T.style.display="")});const P=document.createElement("label");P.append(this.autoshow,"Automatically show new incoming Ajax requests"),i.Autoshow=P;const A=document.createElement("button");A.textContent="Reset settings",A.addEventListener("click",T=>{T.preventDefault(),t.clearSettings(),t.render()}),i["Reset to defaults"]=A;for(const[T,N]of Object.entries(i)){const m=document.createElement("div");m.classList.add(b("form-row"));const a=document.createElement("div");a.classList.add(b("form-label")),a.textContent=T,m.append(a);const h=document.createElement("div");h.classList.add(b("form-input")),N instanceof HTMLElement?h.append(N):h.innerHTML=N,m.append(h),t.el.append(m)}e.ajaxHandler||(this.autoshow.closest(`.${b("form-row")}`).style.display="none")}}class U{constructor(e){this.debugbar=e}format(e,t,i,L){if(i=i?` ${i}`:"",L=L||Object.keys(this.debugbar.datasets).length,t.__meta===void 0)return`#${L}${i}`;const E=t.__meta.uri.split("/");let O=E.pop();O||(O=`${E.pop()||""}/`),E.length&&!Number.isNaN(O)&&(O=`${E.pop()}/${O}`);const v=150;return O.length>v&&(O=`${O.substr(0,v)}...`),`#${L} ${O}${i} (${t.__meta.datetime.split(" ")[1]})`}}s.DatasetTitleFormater=U;class M extends g{get className(){return"phpdebugbar"}initialize(e={}){this.options=Object.assign({bodyBottomInset:!0,theme:"auto",toolbarPosition:"bottom",openBtnPosition:"bottomLeft",hideEmptyTabs:!1,showFullscreenBtn:!1,spaNavigationEvents:[]},e),this.defaultOptions=et({},this.options),this.controls={},this.dataMap={},this.datasets={},this.firstTabName=null,this.activePanelName=null,this.activeDatasetId=null,this.pendingDataSetId=null,this.datesetTitleFormater=new U(this);const t=window.getComputedStyle(document.body);this.bodyPaddingBottomHeight=Number.parseInt(t.paddingBottom),this.bodyPaddingTopHeight=Number.parseInt(t.paddingTop);try{this.isIframe=window.self!==window.top&&window.top.PhpDebugBar&&window.top.PhpDebugBar}catch(i){this.isIframe=!1}this.registerResizeHandler(),this.registerMediaListener(),this.registerNavigationListener(),this.settingsControl=new s.DebugBar.Tab({icon:"adjustments-horizontal",title:"Settings",widget:new c({debugbar:this})})}registerResizeHandler(){if(this.resize.bind===void 0||this.isIframe)return;const e=this.resize.bind(this);this.respCSSSize=0,window.addEventListener("resize",e),setTimeout(e,20)}registerMediaListener(){window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.options.theme==="auto"&&this.setTheme("auto")})}registerNavigationListener(){const e=this.options.spaNavigationEvents;if(!(!e||!e.length))for(const t of e)document.addEventListener(t,()=>{this.recalculateBodyPadding()})}recalculateBodyPadding(){if(!this.options.bodyBottomInset)return;document.body.style.paddingTop="",document.body.style.paddingBottom="";const e=window.getComputedStyle(document.body);this.bodyPaddingTopHeight=Number.parseFloat(e.paddingTop),this.bodyPaddingBottomHeight=Number.parseFloat(e.paddingBottom),this.recomputeBottomOffset()}setTheme(e){this.options.theme=e,e==="auto"&&(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),this.el.setAttribute("data-theme",e),this.openHandler&&this.openHandler.el.setAttribute("data-theme",e),this.datasetSwitcherWidget&&this.datasetSwitcherWidget.panel&&this.datasetSwitcherWidget.panel.setAttribute("data-theme",e)}resize(){if(this.isIframe)return;let e=this.respCSSSize;if(this.respCSSSize===0){const O=Array.from(this.header.children).filter(v=>v.offsetParent!==null);for(const v of O){const G=window.getComputedStyle(v);e+=v.offsetWidth+Number.parseFloat(G.marginLeft)+Number.parseFloat(G.marginRight)}}const t=this.header.offsetWidth,i=b("mini-design"),L=this.header.classList.contains(i);t<=e&&!L?(this.respCSSSize=e,this.header.classList.add(i)):e{e.close()}),this.headerLeft=document.createElement("div"),this.headerLeft.classList.add(b("header-left")),this.header.append(this.headerLeft),this.headerRight=document.createElement("div"),this.headerRight.classList.add(b("header-right")),this.header.append(this.headerRight),this.body=document.createElement("div"),this.body.classList.add(b("body")),this.el.append(this.body),this.recomputeBottomOffset(),this.resizeHandleBottom=document.createElement("div"),this.resizeHandleBottom.classList.add(b("resize-handle")),this.resizeHandleBottom.classList.add(b("resize-handle-bottom")),this.el.append(this.resizeHandleBottom);let t,i;const L=v=>{const G=i+(t-v.pageY);e.setHeight(G)},E=v=>{const G=i-(t-v.pageY);e.setHeight(G)},O=()=>{document.removeEventListener("mousemove",L),document.removeEventListener("mousemove",E),document.removeEventListener("mouseup",O),e.dragCapture.style.display="none"};this.resizeHandle.addEventListener("mousedown",v=>{i=e.body.offsetHeight,t=v.pageY,document.addEventListener("mousemove",L),document.addEventListener("mouseup",O),e.dragCapture.style.display="",v.preventDefault()}),this.resizeHandleBottom.addEventListener("mousedown",v=>{i=e.body.offsetHeight,t=v.pageY,document.addEventListener("mousemove",E),document.addEventListener("mouseup",O),e.dragCapture.style.display="",v.preventDefault()}),this.closebtn=document.createElement("a"),this.closebtn.classList.add(b("close-btn")),this.headerRight.append(this.closebtn),this.closebtn.addEventListener("click",()=>{e.close()}),this.fullscreenbtn=document.createElement("a"),this.fullscreenbtn.classList.add(b("fullscreen-btn")),this.fullscreenbtn.hidden=!this.options.showFullscreenBtn,this.headerRight.append(this.fullscreenbtn),this.fullscreenbtn.addEventListener("click",()=>{e.toggleFullscreen()}),this.minimizebtn=document.createElement("a"),this.minimizebtn.classList.add(b("minimize-btn")),this.minimizebtn.hidden=!this.isMinimized(),this.headerRight.append(this.minimizebtn),this.minimizebtn.addEventListener("click",()=>{e.minimize()}),this.maximizebtn=document.createElement("a"),this.maximizebtn.classList.add(b("maximize-btn")),this.maximizebtn.hidden=this.isMinimized(),this.headerRight.append(this.maximizebtn),this.maximizebtn.addEventListener("click",()=>{e.restore()}),this.restorebtn=document.createElement("a"),this.restorebtn.classList.add(b("restore-btn")),this.restorebtn.hidden=!0,this.el.append(this.restorebtn),this.restorebtn.addEventListener("click",()=>{e.restore()}),this.openbtn=document.createElement("a"),this.openbtn.classList.add(b("open-btn")),this.openbtn.hidden=!0,this.headerRight.append(this.openbtn),this.openbtn.addEventListener("click",()=>{e.openHandler.show((v,G)=>{e.addDataSet(G,v,"(opened)")})}),this.datasetsSelectSpan=document.createElement("span"),this.datasetsSelectSpan.classList.add(b("datasets-switcher")),this.datasetsSelectSpan.setAttribute("name","datasets-switcher"),this.datasetsSelect=document.createElement("select"),this.datasetsSelect.hidden=!0,this.datasetsSelectSpan.append(this.datasetsSelect),this.headerRight.append(this.datasetsSelectSpan),this.datasetsSelect.addEventListener("change",function(){e.showDataSet(this.value)}),this.controls.__settings=this.settingsControl,this.settingsControl.tab.classList.add(b("tab-settings")),this.settingsControl.tab.setAttribute("data-collector","__settings"),this.settingsControl.el.setAttribute("data-collector","__settings"),this.settingsControl.el.hidden=!0,this.maximizebtn.after(this.settingsControl.tab),this.settingsControl.tab.hidden=!1,this.settingsControl.tab.addEventListener("click",()=>{!this.isMinimized()&&this.activePanelName==="__settings"&&!this.isFullscreen()?this.minimize():(this.showTab("__settings"),this.settingsControl.get("widget").render())}),this.body.append(this.settingsControl.el)}setHeight(e){if(this.isFullscreen())return;const t=40,i=window.innerHeight-this.header.offsetHeight-10;e=Math.min(e,i),e=Math.max(e,t),this.body.style.height=`${e}px`,localStorage.setItem("phpdebugbar-height",e),this.recomputeBottomOffset()}restoreState(){if(this.isIframe)return;const e=localStorage.getItem("phpdebugbar-height");this.setHeight(Number.parseInt(e)||this.body.offsetHeight);const t=localStorage.getItem("phpdebugbar-open");if(t&&t==="0")this.close();else{const i=localStorage.getItem("phpdebugbar-visible");if(i&&i==="1"){const L=localStorage.getItem("phpdebugbar-tab");this.isTab(L)?this.showTab(L):this.showTab()}else this.minimize()}this.options.showFullscreenBtn&&sessionStorage.getItem("phpdebugbar-fullscreen")==="1"&&this.toggleFullscreen()}createTab(e,t,i){const L=new d({title:i||e.replace(/[_-]/g," ").charAt(0).toUpperCase()+e.slice(1),widget:t});return this.addTab(e,L)}addTab(e,t){if(this.isControl(e))throw new Error(`${e} already exists`);const i=this;return this.headerLeft.append(t.tab),t.tab.addEventListener("click",()=>{!i.isMinimized()&&i.activePanelName===e&&!i.isFullscreen()?i.minimize():(i.restore(),i.showTab(e))}),t.tab.setAttribute("data-empty",!0),t.tab.setAttribute("data-collector",e),t.el.setAttribute("data-collector",e),this.body.append(t.el),this.controls[e]=t,this.firstTabName===null&&(this.firstTabName=e),t}createIndicator(e,t,i,L){const E=new w({icon:t,tooltip:i});return this.addIndicator(e,E,L)}addIndicator(e,t,i){if(this.isControl(e))throw new Error(`${e} already exists`);return t.set("debugbar",this),i==="left"?this.headerLeft.prepend(t.el):this.headerRight.append(t.el),this.controls[e]=t,t}getControl(e){if(this.isControl(e))return this.controls[e]}isControl(e){return this.controls[e]!==void 0}isTab(e){return this.isControl(e)&&this.controls[e]instanceof d}isIndicator(e){return this.isControl(e)&&this.controls[e]instanceof w}reset(){this.minimize();for(const[e,t]of Object.entries(this.controls))this.isTab(e)&&t.tab.remove(),t.el.remove();this.controls={}}showTab(e){if(e||(this.activePanelName?e=this.activePanelName:e=this.firstTabName),!this.isTab(e))throw new Error(`Unknown tab '${e}'`);this.body.hidden=!1,this.recomputeBottomOffset();for(const[t,i]of Object.entries(this.controls))i instanceof d&&(t===e?i.show():i.hide());this.activePanelName=e,this.el.classList.remove(b("minimized")),localStorage.setItem("phpdebugbar-visible","1"),localStorage.setItem("phpdebugbar-tab",e),this.maximize()}minimize(){this.exitFullscreen();const e=b("active"),t=this.header.querySelectorAll(`:scope > div > .${e}`);for(const i of t)i.classList.remove(e);this.body.hidden=!0,this.minimizebtn.hidden=!0,this.maximizebtn.hidden=!1,this.recomputeBottomOffset(),localStorage.setItem("phpdebugbar-visible","0"),this.el.classList.add(b("minimized")),this.resize()}maximize(){this.header.hidden=!1,this.restorebtn.hidden=!0,this.body.hidden=!1,this.minimizebtn.hidden=!1,this.maximizebtn.hidden=!0,this.recomputeBottomOffset(),localStorage.setItem("phpdebugbar-visible","1"),localStorage.setItem("phpdebugbar-open","1"),this.el.classList.remove(b("minimized")),this.el.classList.remove(b("closed")),this.resize()}isMinimized(){return this.el.classList.contains(b("minimized"))}toggleFullscreen(){this.isFullscreen()?this.exitFullscreen():(this._preFullscreenHeight=this.body.offsetHeight,this.el.classList.add(b("fullscreen")),this.body.style.height="",sessionStorage.setItem("phpdebugbar-fullscreen","1"),this.recomputeBottomOffset())}exitFullscreen(){this.isFullscreen()&&(this.el.classList.remove(b("fullscreen")),this._preFullscreenHeight&&(this.body.style.height=`${this._preFullscreenHeight}px`),sessionStorage.removeItem("phpdebugbar-fullscreen"),this.recomputeBottomOffset())}isFullscreen(){return this.el.classList.contains(b("fullscreen"))}toggleFullscreenBtn(e){this.fullscreenbtn.hidden=!e,e||this.exitFullscreen()}close(){this.exitFullscreen(),this.header.hidden=!0,this.body.hidden=!0,this.restorebtn.hidden=!1,localStorage.setItem("phpdebugbar-open","0"),this.el.classList.add(b("closed")),this.recomputeBottomOffset()}isClosed(){return this.el.classList.contains(b("closed"))}restore(){const e=localStorage.getItem("phpdebugbar-tab");this.pendingDataSetId&&(this.dataChangeHandler(this.datasets[this.pendingDataSetId]),this.pendingDataSetId=null),this.isTab(e)?this.showTab(e):this.showTab()}recomputeBottomOffset(){if(this.options.bodyBottomInset){if(this.isClosed()){document.body.style.paddingBottom=this.bodyPaddingBottomHeight?`${this.bodyPaddingBottomHeight}px`:"",document.body.style.paddingTop=this.bodyPaddingTopHeight?`${this.bodyPaddingTopHeight}px`:"";return}if(this.options.toolbarPosition==="top"){const e=this.el.offsetHeight+(this.bodyPaddingTopHeight||0);document.body.style.paddingTop=`${e}px`,document.body.style.paddingBottom=this.bodyPaddingBottomHeight?`${this.bodyPaddingBottomHeight}px`:""}else{const e=this.el.offsetHeight+(this.bodyPaddingBottomHeight||0);document.body.style.paddingBottom=`${e}px`,document.body.style.paddingTop=this.bodyPaddingTopHeight?`${this.bodyPaddingTopHeight}px`:""}}}setDataMap(e){this.dataMap=e}addDataMap(e){Object.assign(this.dataMap,e)}setData(e){return this.datasets={},this.addDataSet(e)}addDataSet(e,t,i,L){if(!e||!e.__meta)return;if(this.isIframe&&window.top.PhpDebugBar&&window.top.PhpDebugBar.instance){window.top.PhpDebugBar.instance.addDataSet(e,t,`(iframe)${i||""}`,L);return}const E=Object.keys(this.datasets).length+1;t=t||E,e.__meta.nb=E,e.__meta.suffix=i,this.datasets[t]=e;const O=this.datesetTitleFormater.format(t,this.datasets[t],i,E);if(this.datasetSwitcherWidget)this.datasetSwitcherWidget.set("data",this.datasets);else{const v=document.createElement("option");v.value=t,v.textContent=O,this.datasetsSelect.append(v),this.datasetsSelect.hidden=!1}return(L===void 0||L)&&this.showDataSet(t),this.resize(),t}loadDataSet(e,t,i,L){if(!this.openHandler)throw new Error("loadDataSet() needs an open handler");const E=this;this.openHandler.load(e,O=>{E.addDataSet(O,e,t,L),E.resize(),i&&i(O)})}getDataSet(e){return this.datasets[e]}showDataSet(e){this.activeDatasetId=e,this.isClosed()?this.pendingDataSetId=e:(this.dataChangeHandler(this.datasets[e]),this.pendingDataSetId=null),this.datasetSwitcherWidget?this.datasetSwitcherWidget.set("activeId",e):this.datasetsSelect.value=e}dataChangeHandler(e){for(const[t,i]of Object.entries(this.dataMap)){const L=W(e,i[0],i[1]);if(t.includes(":")){const E=t.split(":");this.getControl(E[0]).set(E[1],L)}else this.getControl(t).set("data",L)}this.isMinimized()||this.showTab(),this.resize()}setOpenHandler(e){this.openHandler=e,this.openHandler.el.setAttribute("data-theme",this.el.getAttribute("data-theme")),this.openbtn.hidden=e==null}getOpenHandler(){return this.openHandler}enableAjaxHandlerTab(){this.datasetsSelectSpan&&(this.datasetsSelectSpan.hidden=!0),this.datasetSwitcherWidget=new s.Widgets.DatasetWidget({debugbar:this}),this.openbtn.after(this.datasetSwitcherWidget.el)}}s.DebugBar=M,M.Tab=d,M.Indicator=w;class B{constructor(e,t,i){this.debugbar=e,this.headerName=t||"phpdebugbar",this.captureStreamed=!1,this.streamedContentTypes=["text/event-stream"],this.autoShow=i===void 0?!0:i,this.defaultAutoShow=this.autoShow,localStorage.getItem("phpdebugbar-ajaxhandler-autoshow")!==null&&(this.autoShow=localStorage.getItem("phpdebugbar-ajaxhandler-autoshow")==="1"),e.controls.__settings&&e.controls.__settings.get("widget").set("autoshow",this.autoShow)}handle(e,t){const i=this.getHeader(e,`${this.headerName}-stack`);return i&&JSON.parse(i).forEach(E=>{this.debugbar.loadDataSet(E," (stacked)",null,!1)}),this.loadFromId(e)||this.loadFromData(e)?!0:t&&this.debugbar.openHandler&&this.isStreamedResponse(e)?(this.loadFromRequestId(t),!0):!1}isStreamedResponse(e){const t=this.streamedContentTypes;if(!t||!t.length)return!0;const i=(this.getHeader(e,"content-type")||"").split(";")[0].trim().toLowerCase();return t.some(L=>L.trim().toLowerCase()===i)}sameOrigin(e){try{return new URL(e,location.href).origin===location.origin}catch(t){return!1}}canInjectRequestId(e){const t=this.debugbar.openHandler;if(t&&typeof t.get=="function")try{const i=t.get("url");if(i&&new URL(e,location.href).pathname===new URL(i,location.href).pathname)return!1}catch(i){}return!0}newRequestId(){return globalThis.crypto&&typeof globalThis.crypto.randomUUID=="function"&&globalThis.crypto.randomUUID()||String(Date.now())+Math.random().toString(16).slice(2)}loadFromRequestId(e,t=5){this.debugbar.openHandler.find({rid:e},0,i=>{const L=Array.isArray(i)?i.find(E=>E&&E.rid===e&&E.id):null;L?this.debugbar.loadDataSet(L.id,"(ajax)",void 0,this.autoShow):t>0&&setTimeout(()=>this.loadFromRequestId(e,t-1),150)})}getHeader(e,t){return e instanceof Response?e.headers.get(t):e instanceof XMLHttpRequest?e.getResponseHeader(t):null}setAutoShow(e){this.autoShow=e,localStorage.setItem("phpdebugbar-ajaxhandler-autoshow",e?"1":"0")}loadFromId(e){const t=this.extractIdFromHeaders(e);return t&&this.debugbar.openHandler?(this.debugbar.loadDataSet(t,"(ajax)",void 0,this.autoShow),!0):!1}extractIdFromHeaders(e){return this.getHeader(e,`${this.headerName}-id`)}loadFromData(e){const t=this.extractDataFromHeaders(e);if(!t)return!1;const i=this.parseHeaders(t);if(i.error)throw new Error(`Error loading debugbar data: ${i.error}`);return i.data&&this.debugbar.addDataSet(i.data,i.id,"(ajax)",this.autoShow),!0}extractDataFromHeaders(e){let t=this.getHeader(e,this.headerName);if(t){for(let i=1;;i++){const L=this.getHeader(e,`${this.headerName}-${i}`);if(!L)break;t+=L}return decodeURIComponent(t)}}parseHeaders(e){return JSON.parse(e)}bindToFetch(){const e=this,t=window.fetch.__debugbar_original||window.fetch,i=t.bind(window);function L(E,O){var A;let v=null;const G=E instanceof Request?E.url:E;if(e.captureStreamed&&e.sameOrigin(G)&&e.canInjectRequestId(G)){v=e.newRequestId();const T=`${e.headerName}-request-id`;if(E instanceof Request){O=et({},O||{});const N=new Headers(E.headers);new Headers(O.headers||{}).forEach((m,a)=>N.set(a,m)),N.set(T,v),E=new Request(E,Ht(et({},O),{headers:N})),O=void 0}else{O=et({},O||{});const N=new Headers(O.headers||{});N.set(T,v),O.headers=N}}const P=i(E,O);return(A=P==null?void 0:P.then)==null||A.call(P,T=>e.handle(T,v)).catch(()=>{}),P}L.__debugbar_wrapped=!0,L.__debugbar_original=t,window.fetch=L}bindToXHR(){const e=this,t=XMLHttpRequest.prototype,i=(t.open||{}).__debugbar_original||t.open;if(typeof i!="function")return;function L(E,O,v=!0,G=null,P=null){this.__debugbar_listener_attached||(this.__debugbar_listener_attached=!0,this.addEventListener("readystatechange",()=>{this.readyState===4&&e.handle(this,this.__debugbar_rid)}));const A=i.call(this,E,O,v,G,P);if(e.captureStreamed&&e.sameOrigin(O)&&e.canInjectRequestId(O)){this.__debugbar_rid=e.newRequestId();try{this.setRequestHeader(`${e.headerName}-request-id`,this.__debugbar_rid)}catch(T){}}return A}L.__debugbar_wrapped=!0,L.__debugbar_original=i,t.open=L}}s.AjaxHandler=B})();(function(){PhpDebugBar.Widgets={};const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-"),W=PhpDebugBar.Widgets.htmlize=function(P){return P.replace(/\n/g,"
").replace(/\s/g," ")};let b;const g=PhpDebugBar.Widgets.renderValue=function(P,A){return P&&typeof P=="object"?(b||(b=new PhpDebugBar.Widgets.VarDumpRenderer),b.render(P)):typeof P!="string"?A?W(JSON.stringify(P,void 0,2)):JSON.stringify(P):P};PhpDebugBar.Widgets.renderValueInto=function(P,A,T){const N=g(A,T);N instanceof Node?P.append(N):P.insertAdjacentHTML("beforeend",N)};const d=PhpDebugBar.Widgets.editorLink=function(P){const A=document.createElement("span"),T=P.line?`#${P.line}`:"";if(A.classList.add(s("filename")),A.textContent=P.filename+T,P.path&&(A.setAttribute("title",P.path+T),A.addEventListener("click",N=>{if(N.stopPropagation(),N.preventDefault(),window.getSelection().type==="Range")return"";w(P.path).then(m=>{if(!m)return;const a=document.createElement("a");a.classList.add(s("copy-clipboard-check")),A.prepend(a),setTimeout(()=>{A.removeChild(a)},2e3)})})),P.url){const N=document.createElement("a");N.classList.add(s("editor-link")),N.setAttribute(N.ajax?"title":"href",P.url),N.addEventListener("click",m=>{m.stopPropagation(),P.ajax&&(fetch(stmt.xdebug_link.url),m.preventDefault())}),A.append(N)}return A},w=PhpDebugBar.Widgets.copyToClipboard=function(P){return Wt(this,null,function*(){const A=P instanceof Element?P.innerText:P;if(navigator.clipboard&&window.isSecureContext)try{return yield navigator.clipboard.writeText(A),!0}catch(m){}let T=!1;const N=document.createElement("textarea");N.value=A,N.style.position="fixed",N.style.left="-9999px",N.style.top="-9999px",document.body.appendChild(N);try{N.focus(),N.select(),N.setSelectionRange(0,99999),T=document.execCommand("copy")}catch(m){}return document.body.removeChild(N),T})},c=PhpDebugBar.Widgets.highlight=function(P,A){if(typeof phpdebugbar_hljs=="undefined")return W(P);const T=phpdebugbar_hljs;return A&&T.getLanguage(A)?T.highlight(P,{language:A}).value:T.highlightAuto(P).value},U=PhpDebugBar.Widgets.createCodeBlock=function(P,A,T,N){const m=document.createElement("pre");m.classList.add(s("code-block"));const a=document.createElement("code");if(a.innerHTML=c(`${P} -`,A),m.append(a),!Number.isNaN(Number.parseFloat(T))){const h=P.split(` -`).length,l=document.createElement("ul");m.prepend(l);const S=Array.from(m.children);for(const y of S)y.classList.add(s("numbered-code"));for(let y=T;y100&&(h=`${h.substr(0,100)}...`);let l=null;T.textContent=h,T.addEventListener("click",()=>{if(window.getSelection().type==="Range")return"";T.classList.contains(s("pretty"))?(T.textContent=h,T.classList.remove(s("pretty"))):(l=l||U(m),T.classList.add(s("pretty")),T.innerHTML="",T.append(l))})}}PhpDebugBar.Widgets.VariableListWidget=e;class t extends p{get className(){return s("kvlist htmlvarlist")}itemRenderer(A,T,N,m){const a=document.createElement("i");a.innerHTML=N!=null?N:"";const h=document.createElement("span");h.setAttribute("title",a.textContent),h.innerHTML=N!=null?N:"",A.append(h),T.innerHTML=m&&m.value||m,m!=null&&m.xdebug_link&&T.append(d(m.xdebug_link))}}PhpDebugBar.Widgets.HtmlVariableListWidget=t;class i extends PhpDebugBar.Widget{get tagName(){return"div"}get className(){return s("tablevarlist")}render(){this.bindAttr("data",function(A){var y,R,r;if(this.el.innerHTML="",!this.has("data"))return;this.table=document.createElement("table"),this.table.classList.add(s("tablevar")),this.el.append(this.table);const T=document.createElement("tr");T.classList.add(s("header"));const N=document.createElement("td");T.append(N),this.table.append(T);let m=A.key_map||{value:"Value"};Array.isArray(m)&&(m=Object.fromEntries(m.map(I=>[I,null])));for(const[I,H]of Object.entries(m)){const f=document.createElement("td");if(f.textContent=H!=null?H:I,T.append(f),A.badges&&A.badges[I]){const o=document.createElement("span");o.textContent=A.badges[I],o.classList.add(s("badge")),f.append(o)}}const a=this;if(!A.data)return;let h=!1;for(const[I,H]of Object.entries(A.data)){const f=document.createElement("tr");f.classList.add(s("item")),a.table.append(f);const o=document.createElement("td");if(o.classList.add(s("key")),o.textContent=I,f.append(o),typeof H!="object"||H===null){const u=document.createElement("td");u.classList.add(s("value")),u.textContent=H!=null?H:"",f.append(u);continue}for(const u of Object.keys(m)){const C=document.createElement("td");C.classList.add(s("value")),C.textContent=(y=H[u])!=null?y:"",f.append(C)}if(H.xdebug_link){const u=document.createElement("td");u.classList.add(s("editor")),u.append(d(H.xdebug_link)),f.append(u),h||(h=!0,T.append(document.createElement("td")))}}if(!A.summary)return;const l=document.createElement("tr");l.classList.add(s("summary")),a.table.append(l);const S=document.createElement("td");if(S.classList.add(s("key")),l.append(S),typeof A.summary!="object"||A.summary===null){const I=document.createElement("td");I.classList.add(s("value")),I.textContent=(R=A.summary)!=null?R:"",l.append(I)}else for(const I of Object.keys(m)){const H=document.createElement("td");H.classList.add(s("value")),H.textContent=(r=A.summary[I])!=null?r:"",l.append(H)}h&&l.append(document.createElement("td"))})}}PhpDebugBar.Widgets.TableVariableListWidget=i;class L extends PhpDebugBar.Widget{get tagName(){return"iframe"}get className(){return s("iframe")}render(){this.el.setAttribute("seamless","seamless"),this.el.setAttribute("border","0"),this.el.setAttribute("width","100%"),this.el.setAttribute("height","100%"),this.bindAttr("data",function(A){this.el.setAttribute("src",A)})}}PhpDebugBar.Widgets.IFrameWidget=L;class E extends PhpDebugBar.Widget{get className(){return s("messages")}render(){const A=this;this.list=new B({itemRenderer(N,m){let a;if(m.message_json)a=document.createElement("span"),a.classList.add(s("value")),PhpDebugBar.Widgets.renderValueInto(a,m.message_json),N.append(a);else if(m.message_html)a=document.createElement("span"),a.classList.add(s("value")),a.innerHTML=m.message_html,N.append(a);else{const h=m.message;if(a=document.createElement("span"),a.classList.add(s("value")),a.textContent=h,a.classList.add(s("truncated")),N.append(a),!m.is_string||a.scrollWidth>a.clientWidth){let l=m.message;m.is_string||(l=null),N.style.cursor="pointer",N.addEventListener("click",()=>{if(window.getSelection().type==="Range")return"";a.classList.contains(s("pretty"))?(a.textContent=h,a.classList.remove(s("pretty")),a.classList.add(s("truncated"))):(l=l||U(m.message),a.classList.add(s("pretty")),a.classList.remove(s("truncated")),a.innerHTML="",a.append(l))})}}if(m.collector){const h=document.createElement("span");h.classList.add(s("collector")),h.textContent=m.collector,N.prepend(h)}if(m.label){a.classList.add(s(m.label));const h=document.createElement("span");h.classList.add(s("label")),h.textContent=m.label,N.prepend(h)}if(m.context&&Object.keys(m.context).length>0){const h=document.createElement("span");h.setAttribute("title","Context"),h.classList.add(s("context-count")),h.textContent=Object.keys(m.context).length,N.prepend(h);const l=document.createElement("table");l.classList.add(s("params")),l.hidden=!0,l.innerHTML='Context';const S=m.context_json||{};for(const y in m.context)if(typeof m.context[y]!="function"){const R=document.createElement("tr"),r=document.createElement("td");r.classList.add(s("name")),r.textContent=y,R.append(r);const I=document.createElement("td");I.classList.add(s("value")),S[y]?PhpDebugBar.Widgets.renderValueInto(I,S[y]):I.innerHTML=m.context[y],R.append(I),l.append(R)}N.append(l),N.style.cursor="pointer",N.addEventListener("click",y=>{window.getSelection().type==="Range"||y.target.closest(".sf-dump")||(l.hidden=!l.hidden)})}m.xdebug_link&&N.prepend(d(m.xdebug_link))}}),this.el.append(this.list.el),this.toolbar=document.createElement("div"),this.toolbar.classList.add(s("toolbar")),this.toolbar.innerHTML='',this.el.append(this.toolbar);const T=document.createElement("input");T.type="text",T.name="search",T.setAttribute("aria-label","Search"),T.placeholder="Search",T.addEventListener("change",function(){A.set("search",this.value)}),this.toolbar.append(T),this.bindAttr("data",function(N){this.set({excludelabel:[],excludecollector:[],search:""});const m=this.toolbar.querySelectorAll(`.${s("filter")}`);for(const R of m)R.remove();const a=[],h=[],l=this,S=function(R,r){const I=document.createElement("a");I.classList.add(s("filter")),I.classList.add(s(R)),I.textContent=r,I.setAttribute("rel",r),I.addEventListener("click",function(){l.onFilterClick(this,R)}),l.toolbar.append(I)};if(N.forEach(R=>{a.includes(R.label||"none")||a.push(R.label||"none"),h.includes(R.collector||"none")||h.push(R.collector||"none")}),a.length>1&&a.forEach(R=>S("label",R)),h.length===1)return;const y=document.createElement("a");y.classList.add(s("filter")),y.style.visibility="hidden",l.toolbar.append(y),h.forEach(R=>S("collector",R))}),this.bindAttr(["excludelabel","excludecollector","search"],function(){const N=this.get("excludelabel")||[],m=this.get("excludecollector")||[],a=this.get("search");let h=!1;const l=[];a&&a===a.toLowerCase()&&(h=!0),this.get("data").forEach(S=>{let y=S.message;S.message_json?y=JSON.stringify(S.message_json):S.message_html&&(y=S.message_html.replace(/<[^>]*>/g,"")),h&&(y=y.toLowerCase()),!N.includes(S.label||void 0)&&!m.includes(S.collector||void 0)&&(!a||y.includes(a))&&l.push(S)}),this.list.set("data",l)})}onFilterClick(A,T){A.classList.toggle(s("excluded"));const N=[],m=`.${s("filter")}.${s("excluded")}.${s(T)}`,a=this.toolbar.querySelectorAll(m);for(const h of a)N.push(h.rel==="none"||!h.rel?void 0:h.rel);this.set(`exclude${T}`,N)}}PhpDebugBar.Widgets.MessagesWidget=E;class O extends PhpDebugBar.Widget{get tagName(){return"ul"}get className(){return s("timeline")}render(){this.bindAttr("data",function(A){const T=function(m){return m<.001?`${(m*1e6).toFixed()}\u03BCs`:m<.1?`${(m*1e3).toFixed(2)}ms`:m<1?`${(m*1e3).toFixed()}ms`:`${m.toFixed(2)}s`},N=function(a){if(a===0||a===null)return"0B";const h=a<0?"-":"",l=Math.abs(a),S=Math.log(l)/Math.log(1024),y=["B","KB","MB","GB","TB"];return h+Math.round(Ut(1024,S-Math.floor(S))*100)/100+y[Math.floor(S)]};if(this.el.innerHTML="",A.measures){let m={};for(let l=0;l1?R.length+"x ":"")+S.label.replace(/\s+/g," ")+(S.duration?` (${S.duration_str}${S.memory?`/${S.memory_str}`:""})`:""),r.append(H),S.collector){const f=document.createElement("span");f.classList.add(s("collector")),f.textContent=S.collector,r.append(f)}if(I.append(r),this.el.append(I),S.params&&Object.keys(S.params).length>0){const f=document.createElement("table");f.classList.add(s("params")),f.hidden=!0,f.innerHTML='Params';for(const o in S.params)if(typeof S.params[o]!="function"){const u=document.createElement("tr"),C=document.createElement("td");C.className=s("name"),C.textContent=o,u.append(C);const X=document.createElement("td");X.className=s("value"),PhpDebugBar.Widgets.renderValueInto(X,S.params[o]),u.append(X),f.append(u)}I.append(f),I.style.cursor="pointer",I.addEventListener("click",function(o){if(window.getSelection().type==="Range"||o.target.closest(".sf-dump"))return"";const u=this.querySelector("table");u.hidden=!u.hidden})}}m=Object.entries(m).map(([l,S])=>({label:l,data:S})).sort((l,S)=>S.data.duration-l.data.duration);const a=document.createElement("table");a.classList.add(s("params"));for(const l of m){const S=Math.min((l.data.duration*100/A.duration).toFixed(2),100),y=document.createElement("i");y.textContent=l.label.replace(/\s+/g," ");const R=y.innerHTML,r=document.createElement("tr");r.innerHTML=`${l.data.count} x ${R} (${S}%)
${T(l.data.duration)}${l.data.memory?`/${N(l.data.memory)}`:""}
`,a.append(r);const I=r.querySelector(`span.${s("value")}`);I.style.width=`${S}%`}const h=document.createElement("li");h.append(a),this.el.append(h)}})}}PhpDebugBar.Widgets.TimelineWidget=O;class v extends PhpDebugBar.Widget{get className(){return s("exceptions")}render(){this.list=new B({itemRenderer(A,T){const N=document.createElement("span");if(N.classList.add(s("message")),N.textContent=T.message,T.count>1){const m=document.createElement("span");m.classList.add(s("badge")),m.textContent=`${T.count}x`,N.prepend(m)}if(A.append(N),T.file&&A.append(d(T.xdebug_link||{filename:T.file,line:T.line})),T.type){const m=document.createElement("span");m.classList.add(s("type")),m.textContent=T.type,A.append(m)}if(T.surrounding_lines){const m=T.line-3<=0?1:T.line-3,a=U(T.surrounding_lines.join(""),"php",m,T.line);a.classList.add(s("file")),a.hidden=!0,A.append(a),A.addEventListener("click",h=>{window.getSelection().type==="Range"||h.target.closest(".sf-dump")||(a.hidden=!a.hidden)})}if(T.stack_trace_json||T.stack_trace_html){const m=document.createElement("span");if(m.classList.add(s("filename")),T.stack_trace_json){const h=T.stack_trace_json,l=h._sd;h._sd=0,PhpDebugBar.Widgets.renderValueInto(m,h),h._sd=l}else m.innerHTML=T.stack_trace_html;const a=m.querySelector(".sf-dump-note");a&&(a.innerHTML=`${a.innerHTML.replace(/^array:/,'Stack Trace: ')} lines`),A.append(m)}else T.stack_trace&&T.stack_trace.split(` -`).forEach(m=>{const a=document.createElement("div"),h=document.createElement("span");h.classList.add(s("filename")),h.textContent=m,a.append(h),A.append(a)})}}),this.el.append(this.list.el),this.bindAttr("data",function(A){if(this.list.set("data",A),A.length===1){const T=this.list.el.children[0];if(T){const N=T.querySelector(`.${s("file")}`);N&&(N.hidden=!1)}}})}}PhpDebugBar.Widgets.ExceptionsWidget=v;class G extends PhpDebugBar.Widget{get className(){return s("datasets-switcher-widget")}initialize(A){this.set(A);const T=this,N=this.get("debugbar");this.badge=document.createElement("div"),this.badge.classList.add(s("datasets-badge")),this.badge.hidden=!0,this.badgeCount=document.createElement("span"),this.badgeCount.classList.add(s("datasets-badge-count")),this.badge.append(this.badgeCount),this.badgeUrl=document.createElement("span"),this.badgeUrl.classList.add(s("datasets-badge-url")),this.badge.append(this.badgeUrl),this.panel=document.createElement("div"),this.panel.classList.add(s("datasets-panel")),this.panel.hidden=!0,N.el&&this.panel.setAttribute("data-theme",N.el.getAttribute("data-theme"));const m=document.createElement("div");m.classList.add(s("datasets-panel-toolbar"));const a=document.createElement("label");a.classList.add(s("datasets-autoshow")),this.autoshowCheckbox=document.createElement("input"),this.autoshowCheckbox.type="checkbox";const h=localStorage.getItem("phpdebugbar-ajaxhandler-autoshow");this.autoshowCheckbox.checked=h!==null?h==="1":N.ajaxHandler?N.ajaxHandler.autoShow:!0,this.autoshowCheckbox.addEventListener("change",function(){N.ajaxHandler&&N.ajaxHandler.setAutoShow(this.checked),N.controls.__settings&&N.controls.__settings.get("widget").set("autoshow",this.checked),N.controls.__datasets&&N.controls.__datasets.get("widget").set("autoshow",this.checked)}),a.append(this.autoshowCheckbox),a.append(document.createTextNode(" Autoshow")),m.append(a),this.refreshBtn=document.createElement("a"),this.refreshBtn.tabIndex=0,this.refreshBtn.classList.add(s("datasets-refresh-btn")),this.refreshBtn.innerHTML='',this.refreshBtn.title="Auto-scan for new datasets",this.isScanning=!1,this.refreshBtn.addEventListener("click",y=>{y.stopPropagation(),this.isScanning?(this.isScanning=!1,this.refreshBtn.classList.remove(s("active")),this.refreshBtn.title="Auto-scan for new datasets"):(this.isScanning=!0,this.refreshBtn.classList.add(s("active")),this.refreshBtn.title="Stop auto-scanning",this.scanForNewDatasets())}),m.append(this.refreshBtn);const l=document.createElement("a");l.tabIndex=0,l.classList.add(s("datasets-clear-btn")),l.textContent="Clear",l.addEventListener("click",()=>{const y=N.activeDatasetId,R=N.datasets[y];N.datasets={},R&&N.addDataSet(R,y,R.__meta.suffix,!0),this.panel.hidden=!0}),m.append(l),this.searchInput=document.createElement("input"),this.searchInput.type="search",this.searchInput.placeholder="Search",this.searchInput.classList.add(s("datasets-search")),this.searchInput.addEventListener("input",()=>{T.applySearchFilter()}),m.append(this.searchInput),this.panel.append(m),this.list=document.createElement("div"),this.list.classList.add(s("datasets-list")),this.panel.append(this.list),this.el.append(this.badge),document.body.append(this.panel);const S=()=>{const y=this.badge.getBoundingClientRect(),R=y.top,r=window.innerHeight-y.bottom,I=r>R;this.panel.style.position="fixed",this.panel.style.right=`${window.innerWidth-y.right}px`,this.panel.style.left="auto",I?(this.panel.style.top=`${y.bottom}px`,this.panel.style.bottom="auto",this.panel.style.maxHeight=`${r}px`):(this.panel.style.bottom=`${window.innerHeight-y.top}px`,this.panel.style.top="auto",this.panel.style.maxHeight=`${R}px`),this.refreshBtn.hidden=!N.openHandler};this.badge.addEventListener("click",y=>{y.target!==this.panel&&!this.panel.contains(y.target)&&(this.panel.hidden&&S(),this.panel.hidden=!this.panel.hidden)}),document.addEventListener("click",y=>{!this.badge.contains(y.target)&&!this.panel.contains(y.target)&&(this.panel.hidden=!0)})}render(){this.bindAttr("data",function(){this.updateBadge()}),this.bindAttr("activeId",function(){this.updateBadge()}),this.bindAttr("autoshow",function(){this.autoshowCheckbox&&(this.autoshowCheckbox.checked=this.get("autoshow"))})}updateBadge(){const A=this.get("debugbar"),T=this.get("data")||A.datasets,N=this.get("activeId")||A.activeDatasetId;if(!T){this.badge.hidden=!0;return}const m=Object.keys(T).length;if(m>=1){this.badge.hidden=!1;const a=T[N];if(a&&a.__meta){const l=a.__meta.uri||"",S=a.__meta.method||"GET";this.badgeUrl.textContent=`${S} ${l}`}m>1?(this.badgeCount.textContent=m,this.badgeCount.hidden=!1):this.badgeCount.hidden=!0,this.list.innerHTML="";const h=Object.keys(T).sort((l,S)=>{var r,I;const y=((r=T[l].__meta)==null?void 0:r.utime)||0;return(((I=T[S].__meta)==null?void 0:I.utime)||0)-y});for(const l of h){const S=T[l],y=document.createElement("div");y.classList.add(s("datasets-list-item"));const R=S.__meta.uri||"",r=S.__meta.method||"GET";y.setAttribute("data-url",R),y.setAttribute("data-method",r),l===N&&y.classList.add(s("active"));const I=document.createElement("span");I.classList.add(s("datasets-item-nb")),I.textContent=`#${S.__meta.nb}`,y.append(I);const H=document.createElement("span");H.classList.add(s("datasets-item-time")),H.textContent=S.__meta.datetime?S.__meta.datetime.split(" ")[1]:"",y.append(H);const f=document.createElement("div");f.classList.add(s("datasets-item-request"));const o=document.createElement("span");o.classList.add(s("datasets-item-method")),o.textContent=r,f.append(o);const u=document.createElement("span");if(u.classList.add(s("datasets-item-url")),u.textContent=R,f.append(u),S.__meta.suffix){const _=document.createElement("span");_.classList.add(s("datasets-item-suffix")),_.textContent=` ${S.__meta.suffix}`,f.append(_)}y.append(f);const C=document.createElement("div");C.classList.add(s("datasets-item-badges"));for(const[_,D]of Object.entries(A.dataMap)){const q=M(S,D[0],D[1]);if(_.includes(":")){const ee=_.split(":"),ne=ee[0];if(ee[1]==="badge"&&q>0){const ae=A.getControl(ne);if(ae){const se=document.createElement("span");if(se.classList.add(s("datasets-item-badge")),se.setAttribute("title",ae.get("title")),se.dataset.tab=ne,ae.icon){const ce=ae.icon.cloneNode(!0);ce.style.width="12px",ce.style.height="12px",se.append(ce)}const Ee=document.createElement("span");Ee.textContent=q,se.append(Ee),C.append(se),se.addEventListener("click",ce=>{ce.stopPropagation(),A.showDataSet(l),A.showTab(ne),this.panel.hidden=!0})}}}}y.append(C);const X=document.createElement("a");X.classList.add(s("datasets-item-copy-id")),X.title=`Copy Request ID: ${l}`,X.innerHTML='',X.addEventListener("click",_=>{_.stopPropagation();const D=document.createElement("textarea");D.value=l,D.style.position="fixed",D.style.opacity="0",document.body.append(D),D.select(),document.execCommand("copy"),D.remove();const q=X.querySelector("i");q.className="phpdebugbar-icon phpdebugbar-icon-circle-check",X.classList.add(s("copied")),setTimeout(()=>{q.className="phpdebugbar-icon phpdebugbar-icon-copy",X.classList.remove(s("copied"))},2e3)}),y.append(X),y.addEventListener("click",()=>{A.showDataSet(l),this.panel.hidden=!0}),this.list.append(y)}this.applySearchFilter()}else this.badge.hidden=!0}applySearchFilter(){const A=this.searchInput.value.toLowerCase().trim(),T=this.list.querySelectorAll(`.${s("datasets-list-item")}`);for(const N of T)if(A==="")N.hidden=!1;else{const m=N.getAttribute("data-url").toLowerCase(),h=`${N.getAttribute("data-method").toLowerCase()} ${m}`,S=A.split(/\s+/).filter(y=>y.length>0).every(y=>h.includes(y));N.hidden=!S}}scanForNewDatasets(){const A=this.get("debugbar");if(!this.isScanning||!A.openHandler)return;const T=A.datasets,N=Object.values(T).reduce((a,h)=>{var l;return Math.max(a,((l=h.__meta)==null?void 0:l.utime)||0)},0),m=()=>{this.isScanning&&setTimeout(()=>this.scanForNewDatasets(),1e3)};A.openHandler.find({utime:N},0,(a,h)=>{if(h){console.error("scanForNewDatasets: find() failed",h),this.isScanning=!1,this.refreshBtn.classList.remove(s("active")),this.refreshBtn.title="Error scanning";return}try{const l=a.filter(y=>y.utime>N&&!T[y.id]);l.reverse();const S=(y=0)=>{if(y>=l.length){m();return}const{id:R}=l[y],r=y===l.length-1;A.loadDataSet(R,"(scan)",()=>S(y+1),this.autoshowCheckbox.checked&&r)};l.length?S():m()}catch(l){console.error("scanForNewDatasets: unexpected error",l),this.refreshBtn.classList.remove(s("active")),this.refreshBtn.title="Error scanning",this.isScanning=!1}})}}PhpDebugBar.Widgets.DatasetWidget=G})();(function(){const s=function(W){return PhpDebugBar.utils.csscls(W,"phpdebugbar-openhandler-")};PhpDebugBar.OpenHandler=PhpDebugBar.Widget.extend({className:"phpdebugbar-openhandler",defaults:{items_per_page:20},render(){const W=this;document.body.append(this.el),this.el.style.display="none",this.closebtn=document.createElement("a"),this.closebtn.classList.add(s("closebtn")),this.closebtn.innerHTML='',this.brand=document.createElement("span"),this.brand.classList.add(s("brand")),this.brand.innerHTML='',this.table=document.createElement("tbody");const b=document.createElement("div");b.classList.add(s("header")),b.textContent="PHP DebugBar | Open",b.prepend(this.brand),b.append(this.closebtn),this.el.append(b);const g=document.createElement("table");g.innerHTML='IDDateMethodURLIPFilter data',g.append(this.table),this.el.append(g),this.actions=document.createElement("div"),this.actions.classList.add(s("actions")),this.el.append(this.actions),this.closebtn.addEventListener("click",()=>{W.hide()}),this.loadmorebtn=document.createElement("a"),this.loadmorebtn.textContent="Load more",this.actions.append(this.loadmorebtn),this.loadmorebtn.addEventListener("click",()=>{W.find(W.last_find_request,W.last_find_request.offset+W.get("items_per_page"),W.handleFind.bind(W))}),this.showonlycurrentbtn=document.createElement("a"),this.showonlycurrentbtn.textContent="Show only current URL",this.actions.append(this.showonlycurrentbtn),this.showonlycurrentbtn.addEventListener("click",()=>{W.uriInput.value=window.location.pathname,W.searchBtn.click()}),this.refreshbtn=document.createElement("a"),this.refreshbtn.textContent="Refresh",this.actions.append(this.refreshbtn),this.refreshbtn.addEventListener("click",()=>{W.refresh()}),this.clearbtn=document.createElement("a"),this.clearbtn.textContent="Clear storage",this.actions.append(this.clearbtn),this.clearbtn.addEventListener("click",()=>{W.clear(()=>{W.hide()})}),this.addSearch(),this.overlay=document.createElement("div"),this.overlay.classList.add(s("overlay")),this.overlay.style.display="none",document.body.append(this.overlay),this.overlay.addEventListener("click",()=>{W.hide()})},refresh(){this.table.innerHTML="",this.loadmorebtn.style.display="",this.find({},0,this.handleFind.bind(this))},addSearch(){const W=this,b=this.searchBtn=document.createElement("button");b.textContent="Search",b.type="submit",b.addEventListener("click",function(w){W.table.innerHTML="";const c={},U=new FormData(this.parentElement);for(const[M,B]of U.entries())B&&(c[M]=B);W.find(c,0,W.handleFind.bind(W)),w.preventDefault()});const g=document.createElement("form");g.innerHTML='
Filter results
',this.uriInput=document.createElement("input"),this.uriInput.type="text",this.uriInput.name="uri",this.uriInput.placeholder="URI, eg '/user/*'",g.append(this.uriInput),this.ipInput=document.createElement("input"),this.ipInput.type="text",this.ipInput.name="ip",this.ipInput.placeholder="IP",g.append(this.ipInput);const d=document.createElement("button");d.textContent="Reset",d.type="button",d.addEventListener("click",()=>{g.reset(),b.click()}),g.append(b),g.append(d),this.actions.append(g)},handleFind(W){const b=this;for(const g of W){const d=document.createElement("a");d.textContent="Load dataset",d.addEventListener("click",G=>{b.hide(),b.load(g.id,P=>{b.callback(g.id,P)}),G.preventDefault()});const w=document.createElement("a");w.textContent=g.method,w.addEventListener("click",G=>{b.table.innerHTML="",b.find({method:g.method},0,b.handleFind.bind(b)),G.preventDefault()});const c=document.createElement("a");c.textContent=g.uri,c.addEventListener("click",G=>{b.hide(),b.load(g.id,P=>{b.callback(g.id,P)}),G.preventDefault()});const U=document.createElement("a");U.textContent=g.ip,U.addEventListener("click",G=>{b.ipInput.value=g.ip,b.searchBtn.click(),G.preventDefault()});const M=document.createElement("a");M.textContent="Show URL",M.addEventListener("click",G=>{b.uriInput.value=g.uri,b.searchBtn.click(),G.preventDefault()});const B=document.createElement("tr"),p=document.createElement("td");p.classList.add(s("id-cell"));const e=document.createElement("span");e.classList.add(s("id-text")),e.textContent=g.id,e.title=g.id,p.append(e);const t=document.createElement("a");t.classList.add(s("copy-id")),t.title="Copy Request ID",t.innerHTML='',t.addEventListener("click",G=>{G.stopPropagation(),G.preventDefault();const P=document.createElement("textarea");P.value=g.id,P.style.position="fixed",P.style.opacity="0",document.body.append(P),P.select(),document.execCommand("copy"),P.remove();const A=t.querySelector("i");A.className="phpdebugbar-icon phpdebugbar-icon-circle-check",t.classList.add(s("copied")),setTimeout(()=>{A.className="phpdebugbar-icon phpdebugbar-icon-copy",t.classList.remove(s("copied"))},2e3)}),p.append(t),B.append(p);const i=document.createElement("td");i.textContent=g.datetime,B.append(i);const L=document.createElement("td");L.textContent=g.method,B.append(L);const E=document.createElement("td");E.append(c),B.append(E);const O=document.createElement("td");O.append(U),B.append(O);const v=document.createElement("td");v.append(M),B.append(v),b.table.append(B)}W.lengthd.json()).then(b).catch(d=>{b(null,d)})}})})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class W extends PhpDebugBar.Widget{get className(){return s("mails")}render(){this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer(g,d){const w=document.createElement("span");w.classList.add(s("subject")),w.textContent=d.subject,g.append(w);const c=document.createElement("span");if(c.classList.add(s("to")),c.textContent=d.to,g.append(c),d.attachments&&d.attachments.length){const U=` +|$))`),"u")},R.prototype.createReservedWordRegex=function(r){var C=r.join("|").replace(/ /gu,"\\s+");return new RegExp("^(".concat(C,")\\b"),"iu")},R.prototype.createWordRegex=function(r){return new RegExp("^([\\p{Alphabetic}\\p{Mark}\\p{Decimal_Number}\\p{Connector_Punctuation}\\p{Join_Control}".concat(r.join(""),"]+)"),"u")},R.prototype.createStringRegex=function(r){return new RegExp("^("+this.createStringPattern(r)+")","u")},R.prototype.createStringPattern=function(r){var C={"``":"((`[^`]*($|`))+)","[]":"((\\[[^\\]]*($|\\]))(\\][^\\]]*($|\\]))*)",'""':'(("[^"\\\\]*(?:\\\\.[^"\\\\]*)*("|$))+)',"''":"(('[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)","N''":"((N'[^N'\\\\]*(?:\\\\.[^N'\\\\]*)*('|$))+)","E''":"(((E|e)'[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)"};return r.map(function(W){return C[W]}).join("|")},R.prototype.createParenRegex=function(r){var C=this;return new RegExp("^("+r.map(function(W){return C.escapeParen(W)}).join("|")+")","iu")},R.prototype.escapeParen=function(r){return r.length===1?(0,o.default)(r):"\\b"+r+"\\b"},R.prototype.createPlaceholderRegex=function(r,C){if(!r||r.length===0)return null;var W=r.map(o.default).join("|");return new RegExp("^((?:".concat(W,")(?:").concat(C,"))"),"u")},R.prototype.tokenize=function(r){if(!r)return[];for(var C=[],W;r.length;)W=this.getNextToken(r,W),r=r.substring(W.value.length),C.push(W);return C},R.prototype.getNextToken=function(r,C){return this.getWhitespaceToken(r)||this.getCommentToken(r)||this.getStringToken(r)||this.getOpenParenToken(r)||this.getCloseParenToken(r)||this.getAmbiguosOperatorToken(r)||this.getNoSpaceOperatorToken(r)||this.getServerVariableToken(r)||this.getPlaceholderToken(r)||this.getNumberToken(r)||this.getReservedWordToken(r,C)||this.getWordToken(r)||this.getOperatorToken(r)},R.prototype.getWhitespaceToken=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.WHITESPACE,regex:this.WHITESPACE_REGEX})},R.prototype.getCommentToken=function(r){return this.getLineCommentToken(r)||this.getBlockCommentToken(r)},R.prototype.getLineCommentToken=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.LINE_COMMENT,regex:this.LINE_COMMENT_REGEX})},R.prototype.getBlockCommentToken=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.BLOCK_COMMENT,regex:this.BLOCK_COMMENT_REGEX})},R.prototype.getStringToken=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.STRING,regex:this.STRING_REGEX})},R.prototype.getOpenParenToken=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.OPEN_PAREN,regex:this.OPEN_PAREN_REGEX})},R.prototype.getCloseParenToken=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.CLOSE_PAREN,regex:this.CLOSE_PAREN_REGEX})},R.prototype.getPlaceholderToken=function(r){return this.getIdentNamedPlaceholderToken(r)||this.getStringNamedPlaceholderToken(r)||this.getIndexedPlaceholderToken(r)},R.prototype.getServerVariableToken=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.SERVERVARIABLE,regex:/(^@@\w+)/iu})},R.prototype.getIdentNamedPlaceholderToken=function(r){return this.getPlaceholderTokenWithKey({input:r,regex:this.IDENT_NAMED_PLACEHOLDER_REGEX,parseKey:function(C){return C.slice(1)}})},R.prototype.getStringNamedPlaceholderToken=function(r){var C=this;return this.getPlaceholderTokenWithKey({input:r,regex:this.STRING_NAMED_PLACEHOLDER_REGEX,parseKey:function(W){return C.getEscapedPlaceholderKey({key:W.slice(2,-1),quoteChar:W.slice(-1)})}})},R.prototype.getIndexedPlaceholderToken=function(r){return this.getPlaceholderTokenWithKey({input:r,regex:this.INDEXED_PLACEHOLDER_REGEX,parseKey:function(C){return C.slice(1)}})},R.prototype.getPlaceholderTokenWithKey=function(r){var C=r.input,W=r.regex,N=r.parseKey,l=this.getTokenOnFirstMatch({input:C,regex:W,type:y.TokenTypes.PLACEHOLDER});return l&&(l.key=N(l.value)),l},R.prototype.getEscapedPlaceholderKey=function(r){var C=r.key,W=r.quoteChar;return C.replace(new RegExp((0,o.default)("\\"+W),"gu"),W)},R.prototype.getNumberToken=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.NUMBER,regex:this.NUMBER_REGEX})},R.prototype.getOperatorToken=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.OPERATOR,regex:this.OPERATOR_REGEX})},R.prototype.getAmbiguosOperatorToken=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.OPERATOR,regex:this.AMBIGUOS_OPERATOR_REGEX})},R.prototype.getNoSpaceOperatorToken=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.NO_SPACE_OPERATOR,regex:this.NO_SPACE_OPERATOR_REGEX})},R.prototype.getReservedWordToken=function(r,C){if(!(C&&C.value&&C.value==="."))return this.getToplevelReservedToken(r)||this.getNewlineReservedToken(r)||this.getTopLevelReservedTokenNoIndent(r)||this.getPlainReservedToken(r)},R.prototype.getToplevelReservedToken=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.RESERVED_TOP_LEVEL,regex:this.RESERVED_TOP_LEVEL_REGEX})},R.prototype.getNewlineReservedToken=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.RESERVED_NEWLINE,regex:this.RESERVED_NEWLINE_REGEX})},R.prototype.getPlainReservedToken=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.RESERVED,regex:this.RESERVED_PLAIN_REGEX})},R.prototype.getTopLevelReservedTokenNoIndent=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.RESERVED_TOP_LEVEL_NO_INDENT,regex:this.RESERVED_TOP_LEVEL_NO_INDENT_REGEX})},R.prototype.getWordToken=function(r){return this.getTokenOnFirstMatch({input:r,type:y.TokenTypes.WORD,regex:this.WORD_REGEX})},R.prototype.getTokenOnFirstMatch=function(r){var C=r.input,W=r.type,N=r.regex,l=C.match(N);if(l)return{type:W,value:l[1]}},R})();a.default=L}),I=d(a=>{"use strict";a.__esModule=!0;var m=function(o){return o===void 0&&(o=[]),o[o.length-1]};a.default=m}),G=d(a=>{"use strict";var m=a&&a.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};a.__esModule=!0;var o=m(I()),y="top-level",L="block-level",R=(function(){function r(C){this.indent=C,this.indentTypes=[],this.indent=C||" "}return r.prototype.getIndent=function(){return new Array(this.indentTypes.length).fill(this.indent).join("")},r.prototype.increaseTopLevel=function(){this.indentTypes.push(y)},r.prototype.increaseBlockLevel=function(){this.indentTypes.push(L)},r.prototype.decreaseTopLevel=function(){(0,o.default)(this.indentTypes)===y&&this.indentTypes.pop()},r.prototype.decreaseBlockLevel=function(){for(;this.indentTypes.length>0;){var C=this.indentTypes.pop();if(C!==y)break}},r.prototype.resetIndentation=function(){this.indentTypes=[]},r})();a.default=R}),w=d(a=>{"use strict";a.__esModule=!0;var m=_(),o=50,y=(function(){function L(){this.level=0}return L.prototype.beginIfPossible=function(R,r){this.level===0&&this.isInlineBlock(R,r)?this.level=1:this.level>0?this.level++:this.level=0},L.prototype.end=function(){this.level--},L.prototype.isActive=function(){return this.level>0},L.prototype.isInlineBlock=function(R,r){for(var C=0,W=0,N=r;No)return!1;if(l.type===m.TokenTypes.OPEN_PAREN)W++;else if(l.type===m.TokenTypes.CLOSE_PAREN&&(W--,W===0))return!0;if(this.isForbiddenToken(l))return!1}return!1},L.prototype.isForbiddenToken=function(R){var r=R.type,C=R.value;return r===m.TokenTypes.RESERVED_TOP_LEVEL||r===m.TokenTypes.RESERVED_NEWLINE||r===m.TokenTypes.LINE_COMMENT||r===m.TokenTypes.BLOCK_COMMENT||C===";"},L})();a.default=y}),e=d(a=>{"use strict";a.__esModule=!0;var m=(function(){function o(y){this.params=y,this.index=0,this.params=y}return o.prototype.get=function(y){var L=y.key,R=y.value;return this.params?L?this.params[L]:this.params[this.index++]:R},o})();a.default=m}),t=d(a=>{"use strict";var m=a&&a.__importDefault||function(N){return N&&N.__esModule?N:{default:N}};a.__esModule=!0;var o=_(),y=m(G()),L=m(w()),R=m(e()),r=[" "," "],C=function(N){for(var l=N.length-1;l>=0&&r.includes(N[l]);)l--;return N.substring(0,l+1)},W=(function(){function N(l,p,v){this.cfg=l,this.tokenizer=p,this.tokenOverride=v,this.tokens=[],this.previousReservedWord={type:null,value:null},this.previousNonWhiteSpace={type:null,value:null},this.index=0,this.indentation=new y.default(this.cfg.indent),this.inlineBlock=new L.default,this.params=new R.default(this.cfg.params)}return N.prototype.format=function(l){this.tokens=this.tokenizer.tokenize(l);var p=this.getFormattedQueryFromTokens();return p.trim()},N.prototype.getFormattedQueryFromTokens=function(){var l=this,p="";return this.tokens.forEach(function(v,X){l.index=X,l.tokenOverride&&(v=l.tokenOverride(v,l.previousReservedWord)||v),v.type===o.TokenTypes.WHITESPACE?p=l.formatWhitespace(v,p):v.type===o.TokenTypes.LINE_COMMENT?p=l.formatLineComment(v,p):v.type===o.TokenTypes.BLOCK_COMMENT?p=l.formatBlockComment(v,p):v.type===o.TokenTypes.RESERVED_TOP_LEVEL||v.type===o.TokenTypes.RESERVED_TOP_LEVEL_NO_INDENT||v.type===o.TokenTypes.RESERVED_NEWLINE||v.type===o.TokenTypes.RESERVED?p=l.formatReserved(v,p):v.type===o.TokenTypes.OPEN_PAREN?p=l.formatOpeningParentheses(v,p):v.type===o.TokenTypes.CLOSE_PAREN?p=l.formatClosingParentheses(v,p):v.type===o.TokenTypes.NO_SPACE_OPERATOR?p=l.formatWithoutSpaces(v,p):v.type===o.TokenTypes.PLACEHOLDER||v.type===o.TokenTypes.SERVERVARIABLE?p=l.formatPlaceholder(v,p):v.value===","?p=l.formatComma(v,p):v.value===":"?p=l.formatWithSpaceAfter(v,p):v.value==="."?p=l.formatWithoutSpaces(v,p):v.value===";"?p=l.formatQuerySeparator(v,p):p=l.formatWithSpaces(v,p),v.type!==o.TokenTypes.WHITESPACE&&(l.previousNonWhiteSpace=v)}),p},N.prototype.formatWhitespace=function(l,p){return this.cfg.linesBetweenQueries==="preserve"&&/((\r\n|\n)(\r\n|\n)+)/u.test(l.value)&&this.previousToken().value===";"?p.replace(/(\n|\r\n)$/u,"")+l.value:p},N.prototype.formatReserved=function(l,p){return l.type===o.TokenTypes.RESERVED_NEWLINE&&this.previousReservedWord&&this.previousReservedWord.value&&l.value.toUpperCase()==="AND"&&this.previousReservedWord.value.toUpperCase()==="BETWEEN"&&(l.type=o.TokenTypes.RESERVED),l.type===o.TokenTypes.RESERVED_TOP_LEVEL?p=this.formatTopLevelReservedWord(l,p):l.type===o.TokenTypes.RESERVED_TOP_LEVEL_NO_INDENT?p=this.formatTopLevelReservedWordNoIndent(l,p):l.type===o.TokenTypes.RESERVED_NEWLINE?p=this.formatNewlineReservedWord(l,p):p=this.formatWithSpaces(l,p),this.previousReservedWord=l,p},N.prototype.formatLineComment=function(l,p){return this.addNewline(p+l.value)},N.prototype.formatBlockComment=function(l,p){return this.addNewline(this.addNewline(p)+this.indentComment(l.value))},N.prototype.indentComment=function(l){return l.replace(/\n[ \t]*/gu,` +`+this.indentation.getIndent()+" ")},N.prototype.formatTopLevelReservedWordNoIndent=function(l,p){return this.indentation.decreaseTopLevel(),p=this.addNewline(p)+this.equalizeWhitespace(this.formatReservedWord(l.value)),this.addNewline(p)},N.prototype.formatTopLevelReservedWord=function(l,p){var v=this.previousNonWhiteSpace.value!==","&&!["GRANT"].includes("".concat(this.previousNonWhiteSpace.value).toUpperCase());return v&&(this.indentation.decreaseTopLevel(),p=this.addNewline(p)),p=p+this.equalizeWhitespace(this.formatReservedWord(l.value))+" ",v&&this.indentation.increaseTopLevel(),p},N.prototype.formatNewlineReservedWord=function(l,p){return this.addNewline(p)+this.equalizeWhitespace(this.formatReservedWord(l.value))+" "},N.prototype.equalizeWhitespace=function(l){return l.replace(/\s+/gu," ")},N.prototype.formatOpeningParentheses=function(l,p){l.value=this.formatCase(l.value);var v=this.previousToken().type;return v!==o.TokenTypes.WHITESPACE&&v!==o.TokenTypes.OPEN_PAREN&&v!==o.TokenTypes.LINE_COMMENT&&(p=C(p)),p+=l.value,this.inlineBlock.beginIfPossible(this.tokens,this.index),this.inlineBlock.isActive()||(this.indentation.increaseBlockLevel(),p=this.addNewline(p)),p},N.prototype.formatClosingParentheses=function(l,p){return l.value=this.formatCase(l.value),this.inlineBlock.isActive()?(this.inlineBlock.end(),this.formatWithSpaceAfter(l,p)):(this.indentation.decreaseBlockLevel(),this.formatWithSpaces(l,this.addNewline(p)))},N.prototype.formatPlaceholder=function(l,p){return p+this.params.get(l)+" "},N.prototype.formatComma=function(l,p){return p=C(p)+l.value+" ",this.inlineBlock.isActive()||/^LIMIT$/iu.test(this.previousReservedWord.value)?p:this.addNewline(p)},N.prototype.formatWithSpaceAfter=function(l,p){return C(p)+l.value+" "},N.prototype.formatWithoutSpaces=function(l,p){return C(p)+l.value},N.prototype.formatWithSpaces=function(l,p){var v=l.type===o.TokenTypes.RESERVED?this.formatReservedWord(l.value):l.value;return p+v+" "},N.prototype.formatReservedWord=function(l){return this.formatCase(l)},N.prototype.formatQuerySeparator=function(l,p){this.indentation.resetIndentation();var v=` +`;return this.cfg.linesBetweenQueries!=="preserve"&&(v=` +`.repeat(this.cfg.linesBetweenQueries||1)),C(p)+l.value+v},N.prototype.addNewline=function(l){return l=C(l),l.endsWith(` +`)||(l+=` +`),l+this.indentation.getIndent()},N.prototype.previousToken=function(){return this.tokens[this.index-1]||{type:null,value:null}},N.prototype.formatCase=function(l){return this.cfg.reservedWordCase==="upper"?l.toUpperCase():this.cfg.reservedWordCase==="lower"?l.toLowerCase():l},N})();a.default=W}),i=d(a=>{"use strict";var m=a&&a.__importDefault||function(R){return R&&R.__esModule?R:{default:R}};a.__esModule=!0;var o=m(O()),y=m(t()),L=(function(){function R(r){this.cfg=r}return R.prototype.format=function(r){return new y.default(this.cfg,this.tokenizer(),this.tokenOverride).format(r)},R.prototype.tokenize=function(r){return this.tokenizer().tokenize(r)},R.prototype.tokenizer=function(){return new o.default(this.getTokenizerConfig())},R})();a.default=L}),E=d(a=>{"use strict";var m=a&&a.__extends||(function(){var N=function(l,p){return N=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,X){v.__proto__=X}||function(v,X){for(var A in X)Object.prototype.hasOwnProperty.call(X,A)&&(v[A]=X[A])},N(l,p)};return function(l,p){if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");N(l,p);function v(){this.constructor=l}l.prototype=p===null?Object.create(p):(v.prototype=p.prototype,new v)}})(),o=a&&a.__importDefault||function(N){return N&&N.__esModule?N:{default:N}};a.__esModule=!0;var y=o(i()),L=(function(N){m(l,N);function l(){return N!==null&&N.apply(this,arguments)||this}return l.prototype.getTokenizerConfig=function(){return{reservedWords:R,reservedTopLevelWords:r,reservedNewlineWords:W,reservedTopLevelWordsNoIndent:C,stringTypes:['""',"''","``","[]"],openParens:["("],closeParens:[")"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:[":"],lineCommentTypes:["--"],specialWordChars:["#","@"]}},l})(y.default);a.default=L;var R=["ABS","ACTIVATE","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","ANY","ARE","ARRAY","AS","ASC","ASENSITIVE","ASSOCIATE","ASUTIME","ASYMMETRIC","AT","ATOMIC","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","AVG","BEFORE","BEGIN","BETWEEN","BIGINT","BINARY","BLOB","BOOLEAN","BOTH","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CCSID","CEIL","CEILING","CHAR","CHARACTER","CHARACTER_LENGTH","CHAR_LENGTH","CHECK","CLOB","CLONE","CLOSE","CLUSTER","COALESCE","COLLATE","COLLECT","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","CONVERT","CORR","CORRESPONDING","COUNT","COUNT_BIG","COVAR_POP","COVAR_SAMP","CREATE","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DATE","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DEREF","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DOUBLE","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELEMENT","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPTION","EXCLUDING","EXCLUSIVE","EXEC","EXECUTE","EXISTS","EXIT","EXP","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FILTER","FINAL","FIRST","FLOAT","FLOOR","FOR","FOREIGN","FREE","FULL","FUNCTION","FUSION","GENERAL","GENERATED","GET","GLOBAL","GOTO","GRANT","GRAPHIC","GROUP","GROUPING","HANDLER","HASH","HASHED_VALUE","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INT","INTEGER","INTEGRITY","INTERSECTION","INTERVAL","INTO","IS","ISOBID","ISOLATION","ITERATE","JAR","JAVA","KEEP","KEY","LABEL","LANGUAGE","LARGE","LATERAL","LC_CTYPE","LEADING","LEAVE","LEFT","LIKE","LINKTYPE","LN","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LONG","LOOP","LOWER","MAINTAINED","MATCH","MATERIALIZED","MAX","MAXVALUE","MEMBER","MERGE","METHOD","MICROSECOND","MICROSECONDS","MIN","MINUTE","MINUTES","MINVALUE","MOD","MODE","MODIFIES","MODULE","MONTH","MONTHS","MULTISET","NAN","NATIONAL","NATURAL","NCHAR","NCLOB","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZE","NORMALIZED","NOT","NULL","NULLIF","NULLS","NUMERIC","NUMPARTS","OBID","OCTET_LENGTH","OF","OFFSET","OLD","OLD_TABLE","ON","ONLY","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","ORDER","OUT","OUTER","OVER","OVERLAPS","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","PIECESIZE","PLAN","POSITION","POWER","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","REAL","RECOVERY","RECURSIVE","REF","REFERENCES","REFERENCING","REFRESH","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROLLUP","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCOPE","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SIGNAL","SIMILAR","SIMPLE","SMALLINT","SNAN","SOME","SOURCE","SPECIFIC","SPECIFICTYPE","SQL","SQLEXCEPTION","SQLID","SQLSTATE","SQLWARNING","SQRT","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STDDEV_POP","STDDEV_SAMP","STOGROUP","STORES","STYLE","SUBMULTISET","SUBSTRING","SUM","SUMMARY","SYMMETRIC","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","TABLESPACE","THEN","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSACTION","TRANSLATE","TRANSLATION","TREAT","TRIGGER","TRIM","TRUE","TRUNCATE","TYPE","UESCAPE","UNDO","UNIQUE","UNKNOWN","UNNEST","UNTIL","UPPER","USAGE","USER","USING","VALIDPROC","VALUE","VARCHAR","VARIABLE","VARIANT","VARYING","VAR_POP","VAR_SAMP","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHILE","WIDTH_BUCKET","WINDOW","WITH","WITHIN","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],r=["ADD","AFTER","ALTER COLUMN","ALTER TABLE","DELETE FROM","EXCEPT","FETCH FIRST","FROM","GROUP BY","GO","HAVING","INSERT INTO","INTERSECT","LIMIT","ORDER BY","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UPDATE","VALUES","WHERE"],C=["INTERSECT","INTERSECT ALL","MINUS","UNION","UNION ALL"],W=["AND","CROSS JOIN","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN"]}),g=d(a=>{"use strict";var m=a&&a.__extends||(function(){var N=function(l,p){return N=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,X){v.__proto__=X}||function(v,X){for(var A in X)Object.prototype.hasOwnProperty.call(X,A)&&(v[A]=X[A])},N(l,p)};return function(l,p){if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");N(l,p);function v(){this.constructor=l}l.prototype=p===null?Object.create(p):(v.prototype=p.prototype,new v)}})(),o=a&&a.__importDefault||function(N){return N&&N.__esModule?N:{default:N}};a.__esModule=!0;var y=o(i()),L=(function(N){m(l,N);function l(){return N!==null&&N.apply(this,arguments)||this}return l.prototype.getTokenizerConfig=function(){return{reservedWords:R,reservedTopLevelWords:r,reservedNewlineWords:W,reservedTopLevelWordsNoIndent:C,stringTypes:['""',"''","``"],openParens:["(","[","{"],closeParens:[")","]","}"],namedPlaceholderTypes:["$"],lineCommentTypes:["#","--"],specialWordChars:[]}},l})(y.default);a.default=L;var R=["ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","CONNECT","CONTINUE","CORRELATE","COVER","CREATE","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FIRST","FLATTEN","FOR","FORCE","FROM","FUNCTION","GRANT","GROUP","GSI","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LAST","LEFT","LET","LETTING","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MISSING","NAMESPACE","NEST","NOT","NULL","NUMBER","OBJECT","OFFSET","ON","OPTION","OR","ORDER","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROCEDURE","PUBLIC","RAW","REALM","REDUCE","RENAME","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","SATISFIES","SCHEMA","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TO","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WITH","WITHIN","WORK","XOR"],r=["DELETE FROM","EXCEPT ALL","EXCEPT","EXPLAIN DELETE FROM","EXPLAIN UPDATE","EXPLAIN UPSERT","FROM","GROUP BY","HAVING","INFER","INSERT INTO","LET","LIMIT","MERGE","NEST","ORDER BY","PREPARE","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UNNEST","UPDATE","UPSERT","USE KEYS","VALUES","WHERE"],C=["INTERSECT","INTERSECT ALL","MINUS","UNION","UNION ALL"],W=["AND","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","XOR"]}),c=d(a=>{"use strict";var m=a&&a.__extends||(function(){var l=function(p,v){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(X,A){X.__proto__=A}||function(X,A){for(var M in A)Object.prototype.hasOwnProperty.call(A,M)&&(X[M]=A[M])},l(p,v)};return function(p,v){if(typeof v!="function"&&v!==null)throw new TypeError("Class extends value "+String(v)+" is not a constructor or null");l(p,v);function X(){this.constructor=p}p.prototype=v===null?Object.create(v):(X.prototype=v.prototype,new X)}})(),o=a&&a.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};a.__esModule=!0;var y=o(i()),L=_(),R=(function(l){m(p,l);function p(){var v=l!==null&&l.apply(this,arguments)||this;return v.tokenOverride=function(X,A){if(X.type===L.TokenTypes.RESERVED_TOP_LEVEL&&A.value&&X.value.toUpperCase()==="SET"&&A.value.toUpperCase()==="BY")return X.type=L.TokenTypes.RESERVED,X},v}return p.prototype.getTokenizerConfig=function(){return{reservedWords:r,reservedTopLevelWords:C,reservedNewlineWords:N,reservedTopLevelWordsNoIndent:W,stringTypes:['""',"N''","''","``"],openParens:["(","CASE"],closeParens:[")","END"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:[":"],lineCommentTypes:["--"],specialWordChars:["_","$","#",".","@"]}},p})(y.default);a.default=R;var r=["A","ACCESSIBLE","AGENT","AGGREGATE","ALL","ALTER","ANY","ARRAY","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BETWEEN","BFILE_BASE","BINARY_INTEGER","BINARY","BLOB_BASE","BLOCK","BODY","BOOLEAN","BOTH","BOUND","BREADTH","BULK","BY","BYTE","C","CALL","CALLING","CASCADE","CASE","CHAR_BASE","CHAR","CHARACTER","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOB_BASE","CLONE","CLOSE","CLUSTER","CLUSTERS","COALESCE","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONTINUE","CONVERT","COUNT","CRASH","CREATE","CREDENTIAL","CURRENT","CURRVAL","CURSOR","CUSTOMDATUM","DANGLING","DATA","DATE_BASE","DATE","DAY","DECIMAL","DEFAULT","DEFINE","DELETE","DEPTH","DESC","DETERMINISTIC","DIRECTORY","DISTINCT","DO","DOUBLE","DROP","DURATION","ELEMENT","ELSIF","EMPTY","END","ESCAPE","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTENDS","EXTERNAL","EXTRACT","FALSE","FETCH","FINAL","FIRST","FIXED","FLOAT","FOR","FORALL","FORCE","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSTANTIABLE","INT","INTEGER","INTERFACE","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMITED","LOCAL","LOCK","LONG","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUTE","MLSLABEL","MOD","MODE","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NATURAL","NATURALN","NCHAR","NEW","NEXTVAL","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","NULLIF","NUMBER_BASE","NUMBER","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","OLD","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","ORACLE","ORADATA","ORDER","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERLAPS","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARENT","PARTITION","PASCAL","PCTFREE","PIPE","PIPELINED","PLS_INTEGER","PLUGGABLE","POSITIVE","POSITIVEN","PRAGMA","PRECISION","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","RAW","READ","REAL","RECORD","REF","REFERENCE","RELEASE","RELIES_ON","REM","REMAINDER","RENAME","RESOURCE","RESULT_CACHE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","ROWID","ROWNUM","ROWTYPE","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SEARCH","SECOND","SEGMENT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SHARE","SHORT","SIZE_T","SIZE","SMALLINT","SOME","SPACE","SPARSE","SQL","SQLCODE","SQLDATA","SQLERRM","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUCCESSFUL","SUM","SYNONYM","SYSDATE","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMESTAMP","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSACTION","TRANSACTIONAL","TRIGGER","TRUE","TRUSTED","TYPE","UB1","UB2","UB4","UID","UNDER","UNIQUE","UNPLUG","UNSIGNED","UNTRUSTED","USE","USER","USING","VALIDATE","VALIST","VALUE","VARCHAR","VARCHAR2","VARIABLE","VARIANCE","VARRAY","VARYING","VIEW","VIEWS","VOID","WHENEVER","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],C=["ADD","ALTER COLUMN","ALTER TABLE","BEGIN","CONNECT BY","DECLARE","DELETE FROM","DELETE","END","EXCEPT","EXCEPTION","FETCH FIRST","FROM","GROUP BY","HAVING","INSERT INTO","INSERT","LIMIT","LOOP","MODIFY","ORDER BY","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","START WITH","UPDATE","VALUES","WHERE"],W=["INTERSECT","INTERSECT ALL","MINUS","UNION","UNION ALL"],N=["AND","CROSS APPLY","CROSS JOIN","ELSE","END","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER APPLY","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","WHEN","XOR"]}),u=d(a=>{"use strict";var m=a&&a.__extends||(function(){var N=function(l,p){return N=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,X){v.__proto__=X}||function(v,X){for(var A in X)Object.prototype.hasOwnProperty.call(X,A)&&(v[A]=X[A])},N(l,p)};return function(l,p){if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");N(l,p);function v(){this.constructor=l}l.prototype=p===null?Object.create(p):(v.prototype=p.prototype,new v)}})(),o=a&&a.__importDefault||function(N){return N&&N.__esModule?N:{default:N}};a.__esModule=!0;var y=o(i()),L=(function(N){m(l,N);function l(){return N!==null&&N.apply(this,arguments)||this}return l.prototype.getTokenizerConfig=function(){return{reservedWords:R,reservedTopLevelWords:r,reservedNewlineWords:W,reservedTopLevelWordsNoIndent:C,stringTypes:['""',"N''","''","``","[]","E''"],openParens:["(","CASE"],closeParens:[")","END"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:["@",":","%","$"],lineCommentTypes:["#","--"],specialWordChars:[]}},l})(y.default);a.default=L;var R=["ACCESSIBLE","ACTION","AGAINST","AGGREGATE","ALGORITHM","ALL","ALTER","ANALYSE","ANALYZE","AS","ASC","AUTOCOMMIT","AUTO_INCREMENT","BACKUP","BEGIN","BETWEEN","BINLOG","BOTH","CASCADE","CASE","CHANGE","CHANGED","CHARACTER SET","CHARSET","CHECK","CHECKSUM","COLLATE","COLLATION","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPRESSED","CONCURRENT","CONSTRAINT","CONTAINS","CONVERT","COUNT","CREATE","CROSS","CURRENT_TIMESTAMP","DATABASE","DATABASES","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DAY","DEFAULT","DEFINER","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO","DROP","DUMPFILE","DUPLICATE","DYNAMIC","ELSE","ENCLOSED","END","ENGINE","ENGINES","ENGINE_TYPE","ESCAPE","ESCAPED","EVENTS","EXEC","EXECUTE","EXISTS","EXPLAIN","EXTENDED","FAST","FETCH","FIELDS","FILE","FIRST","FIXED","FLUSH","FOR","FORCE","FOREIGN","FULL","FULLTEXT","FUNCTION","GLOBAL","GRANTS","GROUP_CONCAT","HEAP","HIGH_PRIORITY","HOSTS","HOUR","HOUR_MINUTE","HOUR_SECOND","IDENTIFIED","IF","IFNULL","IGNORE","IN","INDEX","INDEXES","INFILE","INSERT","INSERT_ID","INSERT_METHOD","INTERVAL","INTO","INVOKER","IS","ISOLATION","KEY","KEYS","KILL","LAST_INSERT_ID","LEADING","LEVEL","LIKE","LINEAR","LINES","LOAD","LOCAL","LOCK","LOCKS","LOGS","LOW_PRIORITY","MARIA","MASTER","MASTER_CONNECT_RETRY","MASTER_HOST","MASTER_LOG_FILE","MATCH","MAX_CONNECTIONS_PER_HOUR","MAX_QUERIES_PER_HOUR","MAX_ROWS","MAX_UPDATES_PER_HOUR","MAX_USER_CONNECTIONS","MEDIUM","MERGE","MINUTE","MINUTE_SECOND","MIN_ROWS","MODE","MONTH","MRG_MYISAM","MYISAM","NAMES","NATURAL","NOT","NOW()","NULL","OFFSET","ON DELETE","ON UPDATE","ON","ONLY","OPEN","OPTIMIZE","OPTION","OPTIONALLY","OUTFILE","PACK_KEYS","PAGE","PARTIAL","PARTITION","PARTITIONS","PASSWORD","PRIMARY","PRIVILEGES","PROCEDURE","PROCESS","PROCESSLIST","PURGE","QUICK","RAID0","RAID_CHUNKS","RAID_CHUNKSIZE","RAID_TYPE","RANGE","READ","READ_ONLY","READ_WRITE","REFERENCES","REGEXP","RELOAD","RENAME","REPAIR","REPEATABLE","REPLACE","REPLICATION","RESET","RESTORE","RESTRICT","RETURN","RETURNS","REVOKE","RLIKE","ROLLBACK","ROW","ROWS","ROW_FORMAT","SECOND","SECURITY","SEPARATOR","SERIALIZABLE","SESSION","SHARE","SHOW","SHUTDOWN","SLAVE","SONAME","SOUNDS","SQL","SQL_AUTO_IS_NULL","SQL_BIG_RESULT","SQL_BIG_SELECTS","SQL_BIG_TABLES","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQL_LOG_BIN","SQL_LOG_OFF","SQL_LOG_UPDATE","SQL_LOW_PRIORITY_UPDATES","SQL_MAX_JOIN_SIZE","SQL_NO_CACHE","SQL_QUOTE_SHOW_CREATE","SQL_SAFE_UPDATES","SQL_SELECT_LIMIT","SQL_SLAVE_SKIP_COUNTER","SQL_SMALL_RESULT","SQL_WARNINGS","START","STARTING","STATUS","STOP","STORAGE","STRAIGHT_JOIN","STRING","STRIPED","SUPER","TABLE","TABLES","TEMPORARY","TERMINATED","THEN","TO","TRAILING","TRANSACTIONAL","TRIGGER","TRUE","TRUNCATE","TYPE","TYPES","UNCOMMITTED","UNIQUE","UNLOCK","UNSIGNED","USAGE","USE","USING","VARIABLES","VIEW","WHEN","WITH","WORK","WRITE","YEAR_MONTH"],r=["ADD","AFTER","ALTER COLUMN","ALTER TABLE","CREATE OR REPLACE","DECLARE","DELETE FROM","EXCEPT","FETCH FIRST","FROM","GO","GRANT","GROUP BY","HAVING","INSERT INTO","INSERT","LIMIT","MODIFY","ORDER BY","RETURNING","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UPDATE","VALUES","WHERE"],C=["INTERSECT ALL","INTERSECT","MINUS","UNION ALL","UNION"],W=["AND","CROSS APPLY","CROSS JOIN","ELSE","INNER JOIN","FULL JOIN","FULL OUTER JOIN","LEFT JOIN","LEFT OUTER JOIN","NATURAL JOIN","OR","OUTER APPLY","OUTER JOIN","RENAME","RIGHT JOIN","RIGHT OUTER JOIN","JOIN","WHEN","XOR"]}),b=d(a=>{"use strict";var m=a&&a.__importDefault||function(W){return W&&W.__esModule?W:{default:W}};a.__esModule=!0,a.tokenize=a.format=void 0;var o=m(E()),y=m(g()),L=m(c()),R=m(u()),r=function(W,N){switch(N===void 0&&(N={}),N.language){case"db2":return new o.default(N).format(W);case"n1ql":return new y.default(N).format(W);case"pl/sql":return new L.default(N).format(W);default:return new R.default(N).format(W)}};a.format=r;var C=function(W,N){return N===void 0&&(N={}),new R.default(N).tokenize(W)};a.tokenize=C,a.default={format:a.format,tokenize:a.tokenize}}),f=P(b(),1);globalThis.phpdebugbar_sqlformatter=f.default.default})();window.PhpDebugBar=window.PhpDebugBar||{};(function(){const s=window.PhpDebugBar;s.utils=s.utils||{};const H=s.utils.getDictValue=function(w,e,t){if(w==null)return t;const i=String(e).split(".");let E=w;for(const g of i)if(E==null||(E=E[g],E===void 0))return t;return E};s.utils.csscls=function(w,e){const t=String(w).trim();return t.includes(" ")?t.split(/\s+/).filter(Boolean).map(i=>s.utils.csscls(i,e)).join(" "):t.startsWith(".")?`.${e}${t.slice(1)}`:e+t},s.utils.makecsscls=function(w){return e=>s.utils.csscls(e,w)};const T=s.utils.makecsscls("phpdebugbar-");s.utils.sfDump=function(w){typeof window.Sfdump=="function"&&w.querySelectorAll("pre.sf-dump[id]").forEach(e=>{window.Sfdump(e.id,{maxDepth:0})})};const S=s.utils.formatSummary=function(w,e=""){const t=g=>g==null?"null":String(g);if(w==null||typeof w!="object")return e+t(w);const i=[],E=Array.isArray(w);for(const[g,c]of Object.entries(w)){const u=c!==null&&typeof c=="object";if(E){if(!u){i.push(`${e}- ${t(c)}`);continue}const b=S(c,`${e} `);i.push(`${b.slice(0,e.length)}- ${b.slice(e.length+2)}`);continue}if(u){i.push(`${e}${g}:`),i.push(S(c,`${e} `));continue}i.push(`${e}${g} = ${t(c)}`)}return i.join(` +`)},h=s.utils.summaryText=function(w){return w==null?"":typeof w=="string"?w:S(w)},k=s.utils.titleize=function(w){const e=String(w).replace(/[_-]/g," ");return e.charAt(0).toUpperCase()+e.slice(1)};s.utils.copyToClipboard=function(w){var i;if(!w)return Promise.reject(new Error("Nothing to copy"));if((i=navigator.clipboard)!=null&&i.writeText)return navigator.clipboard.writeText(w);const e=document.createElement("textarea");e.value=w,e.style.position="fixed",e.style.opacity="0",document.body.append(e),e.select();let t=!1;try{t=document.execCommand("copy")}catch(E){t=!1}return e.remove(),t?Promise.resolve():Promise.reject(new Error("Copy failed"))},s.utils.schedule=function(w){return window.requestIdleCallback?window.requestIdleCallback(w,{timeout:1e3}):setTimeout(w,0)};class d{get tagName(){return"div"}constructor(e={}){this._attributes=et({},this.defaults),this._boundAttributes={},this.el=document.createElement(this.tagName),this.className&&this.el.classList.add(...this.className.split(" ")),this.initialize(e),this.render()}initialize(e){this.set(e)}render(){}set(e,t){const i=typeof e=="string"?{[e]:t}:e,E=[];for(const g in i)if(t=i[g],this._attributes[g]=t,this._boundAttributes[g])for(const c of this._boundAttributes[g])E.includes(c)||(c.call(this,t),E.push(c))}has(e){return this._attributes[e]!==void 0&&this._attributes[e]!==null}get(e){return this._attributes[e]}bindAttr(e,t){if(Array.isArray(e)){for(const i of e)this.bindAttr(i,t);return}if(this._boundAttributes[e]||(this._boundAttributes[e]=[]),t instanceof HTMLElement){const i=t;t=E=>i.textContent=E||""}this._boundAttributes[e].push(t),this.has(e)&&t.call(this,this._attributes[e])}static extend(e){const t=this;class i extends t{}for(const E in e){const g=Object.getOwnPropertyDescriptor(e,E);g&&Object.defineProperty(i.prototype,E,g)}return Object.assign(i,t),i.__super__=t.prototype,i}}d.prototype.defaults={},s.Widget=d;class U{constructor(e={}){this.section=null,this.el=document.createElement("div"),this.el.classList.add(T("summary-float")),this.el.hidden=!0,this.btn=document.createElement("a"),this.btn.classList.add(T("summary-btn")),this.btn.setAttribute("title","Show summary"),this.btn.setAttribute("aria-haspopup","dialog"),this.btn.setAttribute("aria-expanded","false"),this.btn.addEventListener("click",i=>{i.stopPropagation(),this.toggle()}),this.el.append(this.btn),this.popover=document.createElement("div"),this.popover.classList.add(T("summary-popover")),this.popover.setAttribute("role","dialog"),this.popover.hidden=!0,this.popover.addEventListener("click",i=>i.stopPropagation()),this.content=document.createElement("div"),this.content.classList.add(T("summary-content")),this.popover.append(this.content),this.preferAll=localStorage.getItem("phpdebugbar-summary-all")==="1",this.scope=document.createElement("div"),this.scope.classList.add(T("summary-scope")),this.sectionBtn=this.createScopeButton("",!1),this.allBtn=this.createScopeButton("All",!0),this.scope.append(this.sectionBtn,this.allBtn),this.copyBtn=this.createCopyButton("Copy",()=>this.shownText);const t=document.createElement("div");t.classList.add(T("summary-actions")),t.append(this.scope,this.copyBtn),this.popover.append(t),this.el.append(this.popover),this.getSection=e.getSection||(()=>null),this.getAll=e.getAll||(()=>""),this.onDocumentClick=()=>this.close(),this.onKeyDown=i=>{i.key==="Escape"&&this.close()}}createScopeButton(e,t){const i=document.createElement("button");return i.type="button",i.classList.add(T("summary-scope-btn")),i.textContent=e,i.addEventListener("click",()=>{this.preferAll!==t&&(this.preferAll=t,localStorage.setItem("phpdebugbar-summary-all",t?"1":"0"),this.refresh())}),i}createCopyButton(e,t){const i=document.createElement("button");return i.type="button",i.classList.add(T("summary-copy")),this.copyLabel=document.createElement("span"),this.copyLabel.textContent=e,this.copyLabelText=e,i.append(this.copyLabel),i.addEventListener("click",()=>{s.utils.copyToClipboard(t()).then(()=>{this.resetCopied(),i.classList.add(T("summary-copied")),this.copyLabel.textContent="Copied!",this.copyTimer=setTimeout(()=>this.resetCopied(),1500)},()=>{})}),i}resetCopied(){clearTimeout(this.copyTimer),this.copyTimer=null,this.copyLabel.textContent=this.copyLabelText,this.copyBtn.classList.remove(T("summary-copied"))}setAvailable(e){this.el.hidden=!e,e||this.close()}refresh(){this.resetCopied(),this.section=this.getSection(),this.all=this.getAll(),this.showAll=this.preferAll||!this.section,this.sectionBtn.hidden=!this.section,this.sectionBtn.textContent=this.section?this.section.title:"",this.sectionBtn.classList.toggle(T("summary-scope-active"),!this.showAll),this.allBtn.classList.toggle(T("summary-scope-active"),this.showAll),this.content.textContent=this.shownText,this.content.scrollTop=0}get shownText(){var e,t;return this.showAll?this.all:(t=(e=this.section)==null?void 0:e.text)!=null?t:""}open(){this.refresh(),this.popover.hidden=!1,this.btn.setAttribute("aria-expanded","true"),this.btn.classList.add(T("summary-btn-active")),document.addEventListener("click",this.onDocumentClick),document.addEventListener("keydown",this.onKeyDown)}close(){this.popover.hidden=!0,this.btn.setAttribute("aria-expanded","false"),this.btn.classList.remove(T("summary-btn-active")),document.removeEventListener("click",this.onDocumentClick),document.removeEventListener("keydown",this.onKeyDown)}toggle(){this.popover.hidden?this.open():this.close()}get isOpen(){return!this.popover.hidden}}s.SummaryPopover=U;class P extends d{get className(){return T("panel")}render(){this.active=!1,this.tab=document.createElement("a"),this.tab.classList.add(T("tab")),this.icon=document.createElement("i"),this.tab.append(this.icon),this.bindAttr("icon",function(t){t?this.icon.className=`phpdebugbar-icon phpdebugbar-icon-${t}`:this.icon.className=""});const e=document.createElement("span");e.classList.add(T("text")),this.tab.append(e),this.bindAttr("title",e),this.badge=document.createElement("span"),this.badge.classList.add(T("badge")),this.tab.append(this.badge),this.bindAttr("badge",function(t){t!==null?(this.badge.textContent=t,this.badge.classList.add(T("visible"))):this.badge.classList.remove(T("visible"))}),this.bindAttr("widget",function(t){this.el.replaceChildren(t.el)}),this.summaryText="",this.bindAttr("summary",function(t){this.summaryText=h(t)}),this.widgetRendered=!1,this.bindAttr("data",function(t){this.has("widget")&&(this.tab.setAttribute("data-empty",Object.keys(t).length===0||t.count===0),!this.widgetRendered&&this.active&&t!=null?this.renderWidgetData():this.widgetRendered=!1)})}renderWidgetData(){const e=this.get("data"),t=this.get("widget");e==null||!t||(t.set("data",e),s.utils.schedule(()=>{s.utils.sfDump(t.el)}),this.widgetRendered=!0)}show(){const e=T("active");this.tab.classList.add(e),this.tab.hidden=!1,this.el.classList.add(e),this.el.hidden=!1,this.active=!0,this.widgetRendered||this.renderWidgetData()}hide(){const e=T("active");this.tab.classList.remove(e),this.el.classList.remove(e),this.el.hidden=!0,this.active=!1}}class B extends d{get tagName(){return"span"}get className(){return T("indicator")}render(){this.icon=document.createElement("i"),this.el.append(this.icon),this.bindAttr("icon",function(t){t?this.icon.className=`phpdebugbar-icon phpdebugbar-icon-${t}`:this.icon.className=""}),this.bindAttr("link",function(t){t?(this.el.addEventListener("click",()=>{this.get("debugbar").showTab(t)}),this.el.style.cursor="pointer"):this.el.style.cursor=""});const e=document.createElement("span");e.classList.add(T("text")),this.el.append(e),this.bindAttr(["title","data"],e),this.tooltip=document.createElement("span"),this.tooltip.classList.add(T("tooltip"),T("disabled")),this.el.append(this.tooltip),this.bindAttr("tooltip",function(t){if(t)if(Array.isArray(t)||typeof t=="object"){const i=document.createElement("dl");for(const[E,g]of Object.entries(t)){const c=document.createElement("dt");c.textContent=E,i.append(c);const u=document.createElement("dd");u.textContent=g,i.append(u)}this.tooltip.innerHTML="",this.tooltip.append(i),this.tooltip.classList.remove(T("disabled"))}else this.tooltip.textContent=t,this.tooltip.classList.remove(T("disabled"));else this.tooltip.classList.add(T("disabled"))})}}class _ extends d{get tagName(){return"form"}get className(){return T("settings")}initialize(e){this.set(e);const t=this.get("debugbar");this.settings=JSON.parse(localStorage.getItem("phpdebugbar-settings"))||{};for(const i in t.options)i in this.settings&&(t.options[i]=this.settings[i]),i==="theme"?t.setTheme(t.options[i]):t.el.setAttribute(`data-${i}`,t.options[i])}clearSettings(){const e=this.get("debugbar");if(localStorage.removeItem("phpdebugbar-settings"),localStorage.removeItem("phpdebugbar-ajaxhandler-autoshow"),this.settings={},e.options=et({},e.defaultOptions),e.ajaxHandler){const t=e.ajaxHandler.defaultAutoShow;e.ajaxHandler.setAutoShow(t),this.set("autoshow",t),e.controls.__datasets&&e.controls.__datasets.get("widget").set("autoshow",this.autoshow.checked)}this.initialize(e.options)}storeSetting(e,t){this.settings[e]=t;const i=this.get("debugbar");i.options[e]=t,e!=="theme"&&i.el.setAttribute(`data-${e}`,t),localStorage.setItem("phpdebugbar-settings",JSON.stringify(this.settings))}render(){this.el.innerHTML="";const e=this.get("debugbar"),t=this,i={},E=document.createElement("select");E.innerHTML='',E.value=e.options.theme,E.addEventListener("change",function(){t.storeSetting("theme",this.value),e.setTheme(this.value)}),i.Theme=E;const g=document.createElement("select");g.innerHTML='',g.value=e.options.openBtnPosition,g.addEventListener("change",function(){t.storeSetting("openBtnPosition",this.value),this.value==="topLeft"||this.value==="topRight"?t.storeSetting("toolbarPosition","top"):t.storeSetting("toolbarPosition","bottom"),t.get("debugbar").recomputeBottomOffset()}),i["Toolbar Position"]=g,this.hideEmptyTabs=document.createElement("input"),this.hideEmptyTabs.type="checkbox",this.hideEmptyTabs.checked=e.options.hideEmptyTabs,this.hideEmptyTabs.addEventListener("click",function(){t.storeSetting("hideEmptyTabs",this.checked),t.get("debugbar").respCSSSize=0,t.get("debugbar").resize()});const c=document.createElement("label");c.append(this.hideEmptyTabs,"Hide empty tabs until they have data"),i["Hide Empty Tabs"]=c;const u=document.createElement("input");u.type="checkbox",u.checked=e.options.showFullscreenBtn,u.addEventListener("click",function(){t.storeSetting("showFullscreenBtn",this.checked),e.toggleFullscreenBtn(this.checked)});const b=document.createElement("label");b.append(u,"Show fullscreen button in toolbar"),i.Fullscreen=b,this.autoshow=document.createElement("input"),this.autoshow.type="checkbox",this.autoshow.checked=e.ajaxHandler&&e.ajaxHandler.autoShow,this.autoshow.addEventListener("click",function(){e.ajaxHandler&&e.ajaxHandler.setAutoShow(this.checked),e.controls.__datasets&&e.controls.__datasets.get("widget").set("autoshow",this.checked),e.datasetSwitcherWidget&&e.datasetSwitcherWidget.set("autoshow",this.checked)}),this.bindAttr("autoshow",function(){this.autoshow.checked=this.get("autoshow");const m=this.autoshow.closest(`.${T("form-row")}`);m&&(m.style.display="")});const f=document.createElement("label");f.append(this.autoshow,"Automatically show new incoming Ajax requests"),i.Autoshow=f;const a=document.createElement("button");a.textContent="Reset settings",a.addEventListener("click",m=>{m.preventDefault(),t.clearSettings(),t.render()}),i["Reset to defaults"]=a;for(const[m,o]of Object.entries(i)){const y=document.createElement("div");y.classList.add(T("form-row"));const L=document.createElement("div");L.classList.add(T("form-label")),L.textContent=m,y.append(L);const R=document.createElement("div");R.classList.add(T("form-input")),o instanceof HTMLElement?R.append(o):R.innerHTML=o,y.append(R),t.el.append(y)}e.ajaxHandler||(this.autoshow.closest(`.${T("form-row")}`).style.display="none")}}class O{constructor(e){this.debugbar=e}format(e,t,i,E){if(i=i?` ${i}`:"",E=E||Object.keys(this.debugbar.datasets).length,t.__meta===void 0)return`#${E}${i}`;const g=t.__meta.uri.split("/");let c=g.pop();c||(c=`${g.pop()||""}/`),g.length&&!Number.isNaN(c)&&(c=`${g.pop()}/${c}`);const u=150;return c.length>u&&(c=`${c.substr(0,u)}...`),`#${E} ${c}${i} (${t.__meta.datetime.split(" ")[1]})`}}s.DatasetTitleFormater=O;class I extends d{get className(){return"phpdebugbar"}initialize(e={}){this.options=Object.assign({bodyBottomInset:!0,theme:"auto",toolbarPosition:"bottom",openBtnPosition:"bottomLeft",hideEmptyTabs:!1,showFullscreenBtn:!1,spaNavigationEvents:[]},e),this.defaultOptions=et({},this.options),this.controls={},this.dataMap={},this.datasets={},this.firstTabName=null,this.activePanelName=null,this.activeDatasetId=null,this.pendingDataSetId=null,this.datesetTitleFormater=new O(this);const t=window.getComputedStyle(document.body);this.bodyPaddingBottomHeight=Number.parseInt(t.paddingBottom),this.bodyPaddingTopHeight=Number.parseInt(t.paddingTop);try{this.isIframe=window.self!==window.top&&window.top.PhpDebugBar&&window.top.PhpDebugBar}catch(i){this.isIframe=!1}this.registerResizeHandler(),this.registerMediaListener(),this.registerNavigationListener(),this.settingsControl=new s.DebugBar.Tab({icon:"adjustments-horizontal",title:"Settings",widget:new _({debugbar:this})})}registerResizeHandler(){if(this.resize.bind===void 0||this.isIframe)return;const e=this.resize.bind(this);this.respCSSSize=0,window.addEventListener("resize",e),setTimeout(e,20)}registerMediaListener(){window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.options.theme==="auto"&&this.setTheme("auto")})}registerNavigationListener(){const e=this.options.spaNavigationEvents;if(!(!e||!e.length))for(const t of e)document.addEventListener(t,()=>{this.recalculateBodyPadding()})}recalculateBodyPadding(){if(!this.options.bodyBottomInset)return;document.body.style.paddingTop="",document.body.style.paddingBottom="";const e=window.getComputedStyle(document.body);this.bodyPaddingTopHeight=Number.parseFloat(e.paddingTop),this.bodyPaddingBottomHeight=Number.parseFloat(e.paddingBottom),this.recomputeBottomOffset()}setTheme(e){this.options.theme=e,e==="auto"&&(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),this.el.setAttribute("data-theme",e),this.openHandler&&this.openHandler.el.setAttribute("data-theme",e),this.datasetSwitcherWidget&&this.datasetSwitcherWidget.panel&&this.datasetSwitcherWidget.panel.setAttribute("data-theme",e)}resize(){if(this.isIframe)return;let e=this.respCSSSize;if(this.respCSSSize===0){const c=Array.from(this.header.children).filter(u=>u.offsetParent!==null);for(const u of c){const b=window.getComputedStyle(u);e+=u.offsetWidth+Number.parseFloat(b.marginLeft)+Number.parseFloat(b.marginRight)}}const t=this.header.offsetWidth,i=T("mini-design"),E=this.header.classList.contains(i);t<=e&&!E?(this.respCSSSize=e,this.header.classList.add(i)):e{e.close()}),this.headerLeft=document.createElement("div"),this.headerLeft.classList.add(T("header-left")),this.header.append(this.headerLeft),this.headerRight=document.createElement("div"),this.headerRight.classList.add(T("header-right")),this.header.append(this.headerRight),this.body=document.createElement("div"),this.body.classList.add(T("body")),this.el.append(this.body),this.recomputeBottomOffset(),this.resizeHandleBottom=document.createElement("div"),this.resizeHandleBottom.classList.add(T("resize-handle")),this.resizeHandleBottom.classList.add(T("resize-handle-bottom")),this.el.append(this.resizeHandleBottom);let t,i;const E=u=>{const b=i+(t-u.pageY);e.setHeight(b)},g=u=>{const b=i-(t-u.pageY);e.setHeight(b)},c=()=>{document.removeEventListener("mousemove",E),document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",c),e.dragCapture.style.display="none"};this.resizeHandle.addEventListener("mousedown",u=>{i=e.body.offsetHeight,t=u.pageY,document.addEventListener("mousemove",E),document.addEventListener("mouseup",c),e.dragCapture.style.display="",u.preventDefault()}),this.resizeHandleBottom.addEventListener("mousedown",u=>{i=e.body.offsetHeight,t=u.pageY,document.addEventListener("mousemove",g),document.addEventListener("mouseup",c),e.dragCapture.style.display="",u.preventDefault()}),this.closebtn=document.createElement("a"),this.closebtn.classList.add(T("close-btn")),this.headerRight.append(this.closebtn),this.closebtn.addEventListener("click",()=>{e.close()}),this.fullscreenbtn=document.createElement("a"),this.fullscreenbtn.classList.add(T("fullscreen-btn")),this.fullscreenbtn.hidden=!this.options.showFullscreenBtn,this.headerRight.append(this.fullscreenbtn),this.fullscreenbtn.addEventListener("click",()=>{e.toggleFullscreen()}),this.minimizebtn=document.createElement("a"),this.minimizebtn.classList.add(T("minimize-btn")),this.minimizebtn.hidden=!this.isMinimized(),this.headerRight.append(this.minimizebtn),this.minimizebtn.addEventListener("click",()=>{e.minimize()}),this.maximizebtn=document.createElement("a"),this.maximizebtn.classList.add(T("maximize-btn")),this.maximizebtn.hidden=this.isMinimized(),this.headerRight.append(this.maximizebtn),this.maximizebtn.addEventListener("click",()=>{e.restore()}),this.restorebtn=document.createElement("a"),this.restorebtn.classList.add(T("restore-btn")),this.restorebtn.hidden=!0,this.el.append(this.restorebtn),this.restorebtn.addEventListener("click",()=>{e.restore()}),this.summaryControl=new U({getSection:()=>e.getSummarySection(e.activePanelName),getAll:()=>e.getSummary()}),this.headerRight.append(this.summaryControl.el),this.openbtn=document.createElement("a"),this.openbtn.classList.add(T("open-btn")),this.openbtn.hidden=!0,this.headerRight.append(this.openbtn),this.openbtn.addEventListener("click",()=>{e.openHandler.show((u,b)=>{e.addDataSet(b,u,"(opened)")})}),this.datasetsSelectSpan=document.createElement("span"),this.datasetsSelectSpan.classList.add(T("datasets-switcher")),this.datasetsSelectSpan.setAttribute("name","datasets-switcher"),this.datasetsSelect=document.createElement("select"),this.datasetsSelect.hidden=!0,this.datasetsSelectSpan.append(this.datasetsSelect),this.headerRight.append(this.datasetsSelectSpan),this.datasetsSelect.addEventListener("change",function(){e.showDataSet(this.value)}),this.controls.__settings=this.settingsControl,this.settingsControl.tab.classList.add(T("tab-settings")),this.settingsControl.tab.setAttribute("data-collector","__settings"),this.settingsControl.el.setAttribute("data-collector","__settings"),this.settingsControl.el.hidden=!0,this.maximizebtn.after(this.settingsControl.tab),this.settingsControl.tab.hidden=!1,this.settingsControl.tab.addEventListener("click",()=>{!this.isMinimized()&&this.activePanelName==="__settings"&&!this.isFullscreen()?this.minimize():(this.showTab("__settings"),this.settingsControl.get("widget").render())}),this.body.append(this.settingsControl.el)}setHeight(e){if(this.isFullscreen())return;const t=40,i=window.innerHeight-this.header.offsetHeight-10;e=Math.min(e,i),e=Math.max(e,t),this.body.style.height=`${e}px`,localStorage.setItem("phpdebugbar-height",e),this.recomputeBottomOffset()}restoreState(){if(this.isIframe)return;const e=localStorage.getItem("phpdebugbar-height");this.setHeight(Number.parseInt(e)||this.body.offsetHeight);const t=localStorage.getItem("phpdebugbar-open");if(t&&t==="0")this.close();else{const i=localStorage.getItem("phpdebugbar-visible");if(i&&i==="1"){const E=localStorage.getItem("phpdebugbar-tab");this.isTab(E)?this.showTab(E):this.showTab()}else this.minimize()}this.options.showFullscreenBtn&&sessionStorage.getItem("phpdebugbar-fullscreen")==="1"&&this.toggleFullscreen()}createTab(e,t,i){const E=new P({title:i||e.replace(/[_-]/g," ").charAt(0).toUpperCase()+e.slice(1),widget:t});return this.addTab(e,E)}addTab(e,t){if(this.isControl(e))throw new Error(`${e} already exists`);const i=this;return this.headerLeft.append(t.tab),t.tab.addEventListener("click",()=>{!i.isMinimized()&&i.activePanelName===e&&!i.isFullscreen()?i.minimize():(i.restore(),i.showTab(e))}),t.tab.setAttribute("data-empty",!0),t.tab.setAttribute("data-collector",e),t.el.setAttribute("data-collector",e),this.body.append(t.el),this.controls[e]=t,this.firstTabName===null&&(this.firstTabName=e),t}createIndicator(e,t,i,E){const g=new B({icon:t,tooltip:i});return this.addIndicator(e,g,E)}addIndicator(e,t,i){if(this.isControl(e))throw new Error(`${e} already exists`);return t.set("debugbar",this),i==="left"?this.headerLeft.prepend(t.el):this.headerRight.append(t.el),this.controls[e]=t,t}getControl(e){if(this.isControl(e))return this.controls[e]}isControl(e){return this.controls[e]!==void 0}isTab(e){return this.isControl(e)&&this.controls[e]instanceof P}isIndicator(e){return this.isControl(e)&&this.controls[e]instanceof B}reset(){this.minimize();for(const[e,t]of Object.entries(this.controls))this.isTab(e)&&t.tab.remove(),t.el.remove();this.controls={}}showTab(e){var t;if(e||(this.activePanelName?e=this.activePanelName:e=this.firstTabName),!this.isTab(e))throw new Error(`Unknown tab '${e}'`);this.body.hidden=!1,this.recomputeBottomOffset();for(const[i,E]of Object.entries(this.controls))E instanceof P&&(i===e?E.show():E.hide());this.activePanelName=e,(t=this.summaryControl)!=null&&t.isOpen&&this.summaryControl.refresh(),this.el.classList.remove(T("minimized")),localStorage.setItem("phpdebugbar-visible","1"),localStorage.setItem("phpdebugbar-tab",e),this.maximize()}minimize(){this.exitFullscreen();const e=T("active"),t=this.header.querySelectorAll(`:scope > div > .${e}`);for(const i of t)i.classList.remove(e);this.body.hidden=!0,this.minimizebtn.hidden=!0,this.maximizebtn.hidden=!1,this.recomputeBottomOffset(),localStorage.setItem("phpdebugbar-visible","0"),this.el.classList.add(T("minimized")),this.resize()}maximize(){this.header.hidden=!1,this.restorebtn.hidden=!0,this.body.hidden=!1,this.minimizebtn.hidden=!1,this.maximizebtn.hidden=!0,this.recomputeBottomOffset(),localStorage.setItem("phpdebugbar-visible","1"),localStorage.setItem("phpdebugbar-open","1"),this.el.classList.remove(T("minimized")),this.el.classList.remove(T("closed")),this.resize()}isMinimized(){return this.el.classList.contains(T("minimized"))}toggleFullscreen(){this.isFullscreen()?this.exitFullscreen():(this._preFullscreenHeight=this.body.offsetHeight,this.el.classList.add(T("fullscreen")),this.body.style.height="",sessionStorage.setItem("phpdebugbar-fullscreen","1"),this.recomputeBottomOffset())}exitFullscreen(){this.isFullscreen()&&(this.el.classList.remove(T("fullscreen")),this._preFullscreenHeight&&(this.body.style.height=`${this._preFullscreenHeight}px`),sessionStorage.removeItem("phpdebugbar-fullscreen"),this.recomputeBottomOffset())}isFullscreen(){return this.el.classList.contains(T("fullscreen"))}toggleFullscreenBtn(e){this.fullscreenbtn.hidden=!e,e||this.exitFullscreen()}close(){this.exitFullscreen(),this.header.hidden=!0,this.body.hidden=!0,this.restorebtn.hidden=!1,localStorage.setItem("phpdebugbar-open","0"),this.el.classList.add(T("closed")),this.recomputeBottomOffset()}isClosed(){return this.el.classList.contains(T("closed"))}restore(){const e=localStorage.getItem("phpdebugbar-tab");this.pendingDataSetId&&(this.dataChangeHandler(this.datasets[this.pendingDataSetId]),this.pendingDataSetId=null),this.isTab(e)?this.showTab(e):this.showTab()}recomputeBottomOffset(){if(this.options.bodyBottomInset){if(this.isClosed()){document.body.style.paddingBottom=this.bodyPaddingBottomHeight?`${this.bodyPaddingBottomHeight}px`:"",document.body.style.paddingTop=this.bodyPaddingTopHeight?`${this.bodyPaddingTopHeight}px`:"";return}if(this.options.toolbarPosition==="top"){const e=this.el.offsetHeight+(this.bodyPaddingTopHeight||0);document.body.style.paddingTop=`${e}px`,document.body.style.paddingBottom=this.bodyPaddingBottomHeight?`${this.bodyPaddingBottomHeight}px`:""}else{const e=this.el.offsetHeight+(this.bodyPaddingBottomHeight||0);document.body.style.paddingBottom=`${e}px`,document.body.style.paddingTop=this.bodyPaddingTopHeight?`${this.bodyPaddingTopHeight}px`:""}}}setDataMap(e){this.dataMap=e}addDataMap(e){Object.assign(this.dataMap,e)}setData(e){return this.datasets={},this.addDataSet(e)}addDataSet(e,t,i,E){if(!e||!e.__meta)return;if(this.isIframe&&window.top.PhpDebugBar&&window.top.PhpDebugBar.instance){window.top.PhpDebugBar.instance.addDataSet(e,t,`(iframe)${i||""}`,E);return}const g=Object.keys(this.datasets).length+1;t=t||g,e.__meta.nb=g,e.__meta.suffix=i,this.datasets[t]=e;const c=this.datesetTitleFormater.format(t,this.datasets[t],i,g);if(this.datasetSwitcherWidget)this.datasetSwitcherWidget.set("data",this.datasets);else{const u=document.createElement("option");u.value=t,u.textContent=c,this.datasetsSelect.append(u),this.datasetsSelect.hidden=!1}return(E===void 0||E)&&this.showDataSet(t),this.resize(),t}loadDataSet(e,t,i,E){if(!this.openHandler)throw new Error("loadDataSet() needs an open handler");const g=this;this.openHandler.load(e,c=>{g.addDataSet(c,e,t,E),g.resize(),i&&i(c)})}getDataSet(e){return this.datasets[e]}showDataSet(e){this.activeDatasetId=e,this.isClosed()?this.pendingDataSetId=e:(this.dataChangeHandler(this.datasets[e]),this.pendingDataSetId=null),this.datasetSwitcherWidget?this.datasetSwitcherWidget.set("activeId",e):this.datasetsSelect.value=e}dataChangeHandler(e){for(const[t,i]of Object.entries(this.dataMap)){const E=H(e,i[0],i[1]);if(t.includes(":")){const g=t.split(":");this.getControl(g[0]).set(g[1],E)}else this.getControl(t).set("data",E)}this.summaryControl&&(this.summaryControl.setAvailable(this.getSummary()!==""),this.summaryControl.isOpen&&this.summaryControl.refresh()),this.isMinimized()||this.showTab(),this.resize()}getSummarySection(e,t){const i=e?this.getControl(e):void 0;let E=(i==null?void 0:i.summaryText)||"";if(!E){const g=this.dataMap[`${e}:summary`],c=this.datasets[t!=null?t:this.activeDatasetId];E=g?h(H(c,g[0],null)):""}return E.trim()?{name:e,title:(i==null?void 0:i.get("title"))||k(e),text:E}:null}getSummarySections(e){if(!this.datasets[e!=null?e:this.activeDatasetId])return[];const t=":summary",i=Object.keys(this.dataMap).filter(E=>E.endsWith(t)).map(E=>E.slice(0,-t.length));for(const[E,g]of Object.entries(this.controls))g.summaryText&&!i.includes(E)&&i.push(E);return i.map(E=>this.getSummarySection(E,e)).filter(Boolean)}getSummary(e){const t=this.getSummarySections(e);if(!t.length)return"";const i=["# PHP DebugBar summary"],E=this.datasets[e!=null?e:this.activeDatasetId].__meta||{},g={};for(const c of["id","datetime","ip"])E[c]&&(g[c]=E[c]);Object.keys(g).length&&i.push(S(g));for(const c of t)i.push(`## ${c.title} +${c.text}`);return i.join(` + +`)}setOpenHandler(e){this.openHandler=e,this.openHandler.el.setAttribute("data-theme",this.el.getAttribute("data-theme")),this.openbtn.hidden=e==null}getOpenHandler(){return this.openHandler}enableAjaxHandlerTab(){this.datasetsSelectSpan&&(this.datasetsSelectSpan.hidden=!0),this.datasetSwitcherWidget=new s.Widgets.DatasetWidget({debugbar:this}),this.openbtn.after(this.datasetSwitcherWidget.el)}}s.DebugBar=I,I.Tab=P,I.Indicator=B;class G{constructor(e,t,i){this.debugbar=e,this.headerName=t||"phpdebugbar",this.captureStreamed=!1,this.streamedContentTypes=["text/event-stream"],this.autoShow=i===void 0?!0:i,this.defaultAutoShow=this.autoShow,localStorage.getItem("phpdebugbar-ajaxhandler-autoshow")!==null&&(this.autoShow=localStorage.getItem("phpdebugbar-ajaxhandler-autoshow")==="1"),e.controls.__settings&&e.controls.__settings.get("widget").set("autoshow",this.autoShow)}handle(e,t){const i=this.getHeader(e,`${this.headerName}-stack`);return i&&JSON.parse(i).forEach(g=>{this.debugbar.loadDataSet(g," (stacked)",null,!1)}),this.loadFromId(e)||this.loadFromData(e)?!0:t&&this.debugbar.openHandler&&this.isStreamedResponse(e)?(this.loadFromRequestId(t),!0):!1}isStreamedResponse(e){const t=this.streamedContentTypes;if(!t||!t.length)return!0;const i=(this.getHeader(e,"content-type")||"").split(";")[0].trim().toLowerCase();return t.some(E=>E.trim().toLowerCase()===i)}sameOrigin(e){try{return new URL(e,location.href).origin===location.origin}catch(t){return!1}}canInjectRequestId(e){const t=this.debugbar.openHandler;if(t&&typeof t.get=="function")try{const i=t.get("url");if(i&&new URL(e,location.href).pathname===new URL(i,location.href).pathname)return!1}catch(i){}return!0}newRequestId(){return globalThis.crypto&&typeof globalThis.crypto.randomUUID=="function"&&globalThis.crypto.randomUUID()||String(Date.now())+Math.random().toString(16).slice(2)}loadFromRequestId(e,t=5){this.debugbar.openHandler.find({rid:e},0,i=>{const E=Array.isArray(i)?i.find(g=>g&&g.rid===e&&g.id):null;E?this.debugbar.loadDataSet(E.id,"(ajax)",void 0,this.autoShow):t>0&&setTimeout(()=>this.loadFromRequestId(e,t-1),150)})}getHeader(e,t){return e instanceof Response?e.headers.get(t):e instanceof XMLHttpRequest?e.getResponseHeader(t):null}setAutoShow(e){this.autoShow=e,localStorage.setItem("phpdebugbar-ajaxhandler-autoshow",e?"1":"0")}loadFromId(e){const t=this.extractIdFromHeaders(e);return t&&this.debugbar.openHandler?(this.debugbar.loadDataSet(t,"(ajax)",void 0,this.autoShow),!0):!1}extractIdFromHeaders(e){return this.getHeader(e,`${this.headerName}-id`)}loadFromData(e){const t=this.extractDataFromHeaders(e);if(!t)return!1;const i=this.parseHeaders(t);if(i.error)throw new Error(`Error loading debugbar data: ${i.error}`);return i.data&&this.debugbar.addDataSet(i.data,i.id,"(ajax)",this.autoShow),!0}extractDataFromHeaders(e){let t=this.getHeader(e,this.headerName);if(t){for(let i=1;;i++){const E=this.getHeader(e,`${this.headerName}-${i}`);if(!E)break;t+=E}return decodeURIComponent(t)}}parseHeaders(e){return JSON.parse(e)}bindToFetch(){const e=this,t=window.fetch.__debugbar_original||window.fetch,i=t.bind(window);function E(g,c){var a;let u=null;const b=g instanceof Request?g.url:g;if(e.captureStreamed&&e.sameOrigin(b)&&e.canInjectRequestId(b)){u=e.newRequestId();const m=`${e.headerName}-request-id`;if(g instanceof Request){c=et({},c||{});const o=new Headers(g.headers);new Headers(c.headers||{}).forEach((y,L)=>o.set(L,y)),o.set(m,u),g=new Request(g,Ht(et({},c),{headers:o})),c=void 0}else{c=et({},c||{});const o=new Headers(c.headers||{});o.set(m,u),c.headers=o}}const f=i(g,c);return(a=f==null?void 0:f.then)==null||a.call(f,m=>e.handle(m,u)).catch(()=>{}),f}E.__debugbar_wrapped=!0,E.__debugbar_original=t,window.fetch=E}bindToXHR(){const e=this,t=XMLHttpRequest.prototype,i=(t.open||{}).__debugbar_original||t.open;if(typeof i!="function")return;function E(g,c,u=!0,b=null,f=null){this.__debugbar_listener_attached||(this.__debugbar_listener_attached=!0,this.addEventListener("readystatechange",()=>{this.readyState===4&&e.handle(this,this.__debugbar_rid)}));const a=i.call(this,g,c,u,b,f);if(e.captureStreamed&&e.sameOrigin(c)&&e.canInjectRequestId(c)){this.__debugbar_rid=e.newRequestId();try{this.setRequestHeader(`${e.headerName}-request-id`,this.__debugbar_rid)}catch(m){}}return a}E.__debugbar_wrapped=!0,E.__debugbar_original=i,t.open=E}}s.AjaxHandler=G})();(function(){PhpDebugBar.Widgets={};const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-"),H=PhpDebugBar.Widgets.htmlize=function(g){return g.replace(/\n/g,"
").replace(/\s/g," ")};let T;const S=PhpDebugBar.Widgets.renderValue=function(g,c){return g&&typeof g=="object"?(T||(T=new PhpDebugBar.Widgets.VarDumpRenderer),T.render(g)):typeof g!="string"?c?H(JSON.stringify(g,void 0,2)):JSON.stringify(g):g};PhpDebugBar.Widgets.renderValueInto=function(g,c,u){const b=S(c,u);b instanceof Node?g.append(b):g.insertAdjacentHTML("beforeend",b)};const h=PhpDebugBar.Widgets.editorLink=function(g){const c=document.createElement("span"),u=g.line?`#${g.line}`:"";if(c.classList.add(s("filename")),c.textContent=g.filename+u,g.path&&(c.setAttribute("title",g.path+u),c.addEventListener("click",b=>{if(b.stopPropagation(),b.preventDefault(),window.getSelection().type==="Range")return"";k(g.path).then(f=>{if(!f)return;const a=document.createElement("a");a.classList.add(s("copy-clipboard-check")),c.prepend(a),setTimeout(()=>{c.removeChild(a)},2e3)})})),g.url){const b=document.createElement("a");b.classList.add(s("editor-link")),b.setAttribute(b.ajax?"title":"href",g.url),b.addEventListener("click",f=>{f.stopPropagation(),g.ajax&&(fetch(stmt.xdebug_link.url),f.preventDefault())}),c.append(b)}return c},k=PhpDebugBar.Widgets.copyToClipboard=function(g){return Wt(this,null,function*(){const c=g instanceof Element?g.innerText:g;if(navigator.clipboard&&window.isSecureContext)try{return yield navigator.clipboard.writeText(c),!0}catch(f){}let u=!1;const b=document.createElement("textarea");b.value=c,b.style.position="fixed",b.style.left="-9999px",b.style.top="-9999px",document.body.appendChild(b);try{b.focus(),b.select(),b.setSelectionRange(0,99999),u=document.execCommand("copy")}catch(f){}return document.body.removeChild(b),u})},d=PhpDebugBar.Widgets.highlight=function(g,c){if(typeof phpdebugbar_hljs=="undefined")return H(g);const u=phpdebugbar_hljs;return c&&u.getLanguage(c)?u.highlight(g,{language:c}).value:u.highlightAuto(g).value},U=PhpDebugBar.Widgets.createCodeBlock=function(g,c,u,b){const f=document.createElement("pre");f.classList.add(s("code-block"));const a=document.createElement("code");if(a.innerHTML=d(`${g} +`,c),f.append(a),!Number.isNaN(Number.parseFloat(u))){const m=g.split(` +`).length,o=document.createElement("ul");f.prepend(o);const y=Array.from(f.children);for(const L of y)L.classList.add(s("numbered-code"));for(let L=u;L100&&(m=`${m.substr(0,100)}...`);let o=null;u.textContent=m,u.addEventListener("click",()=>{if(window.getSelection().type==="Range")return"";u.classList.contains(s("pretty"))?(u.textContent=m,u.classList.remove(s("pretty"))):(o=o||U(f),u.classList.add(s("pretty")),u.innerHTML="",u.append(o))})}}PhpDebugBar.Widgets.VariableListWidget=O;class I extends _{get className(){return s("kvlist htmlvarlist")}itemRenderer(c,u,b,f){const a=document.createElement("i");a.innerHTML=b!=null?b:"";const m=document.createElement("span");m.setAttribute("title",a.textContent),m.innerHTML=b!=null?b:"",c.append(m),u.innerHTML=f&&f.value||f,f!=null&&f.xdebug_link&&u.append(h(f.xdebug_link))}}PhpDebugBar.Widgets.HtmlVariableListWidget=I;class G extends PhpDebugBar.Widget{get tagName(){return"div"}get className(){return s("tablevarlist")}render(){this.bindAttr("data",function(c){var L,R,r;if(this.el.innerHTML="",!this.has("data"))return;this.table=document.createElement("table"),this.table.classList.add(s("tablevar")),this.el.append(this.table);const u=document.createElement("tr");u.classList.add(s("header"));const b=document.createElement("td");u.append(b),this.table.append(u);let f=c.key_map||{value:"Value"};Array.isArray(f)&&(f=Object.fromEntries(f.map(C=>[C,null])));for(const[C,W]of Object.entries(f)){const N=document.createElement("td");if(N.textContent=W!=null?W:C,u.append(N),c.badges&&c.badges[C]){const l=document.createElement("span");l.textContent=c.badges[C],l.classList.add(s("badge")),N.append(l)}}const a=this;if(!c.data)return;let m=!1;for(const[C,W]of Object.entries(c.data)){const N=document.createElement("tr");N.classList.add(s("item")),a.table.append(N);const l=document.createElement("td");if(l.classList.add(s("key")),l.textContent=C,N.append(l),typeof W!="object"||W===null){const p=document.createElement("td");p.classList.add(s("value")),p.textContent=W!=null?W:"",N.append(p);continue}for(const p of Object.keys(f)){const v=document.createElement("td");v.classList.add(s("value")),v.textContent=(L=W[p])!=null?L:"",N.append(v)}if(W.xdebug_link){const p=document.createElement("td");p.classList.add(s("editor")),p.append(h(W.xdebug_link)),N.append(p),m||(m=!0,u.append(document.createElement("td")))}}if(!c.summary)return;const o=document.createElement("tr");o.classList.add(s("summary")),a.table.append(o);const y=document.createElement("td");if(y.classList.add(s("key")),o.append(y),typeof c.summary!="object"||c.summary===null){const C=document.createElement("td");C.classList.add(s("value")),C.textContent=(R=c.summary)!=null?R:"",o.append(C)}else for(const C of Object.keys(f)){const W=document.createElement("td");W.classList.add(s("value")),W.textContent=(r=c.summary[C])!=null?r:"",o.append(W)}m&&o.append(document.createElement("td"))})}}PhpDebugBar.Widgets.TableVariableListWidget=G;class w extends PhpDebugBar.Widget{get tagName(){return"iframe"}get className(){return s("iframe")}render(){this.el.setAttribute("seamless","seamless"),this.el.setAttribute("border","0"),this.el.setAttribute("width","100%"),this.el.setAttribute("height","100%"),this.bindAttr("data",function(c){this.el.setAttribute("src",c)})}}PhpDebugBar.Widgets.IFrameWidget=w;class e extends PhpDebugBar.Widget{get className(){return s("messages")}render(){const c=this;this.list=new B({itemRenderer(b,f){let a;if(f.message_json)a=document.createElement("span"),a.classList.add(s("value")),PhpDebugBar.Widgets.renderValueInto(a,f.message_json),b.append(a);else if(f.message_html)a=document.createElement("span"),a.classList.add(s("value")),a.innerHTML=f.message_html,b.append(a);else{const m=f.message;if(a=document.createElement("span"),a.classList.add(s("value")),a.textContent=m,a.classList.add(s("truncated")),b.append(a),!f.is_string||a.scrollWidth>a.clientWidth){let o=f.message;f.is_string||(o=null),b.style.cursor="pointer",b.addEventListener("click",()=>{if(window.getSelection().type==="Range")return"";a.classList.contains(s("pretty"))?(a.textContent=m,a.classList.remove(s("pretty")),a.classList.add(s("truncated"))):(o=o||U(f.message),a.classList.add(s("pretty")),a.classList.remove(s("truncated")),a.innerHTML="",a.append(o))})}}if(f.collector){const m=document.createElement("span");m.classList.add(s("collector")),m.textContent=f.collector,b.prepend(m)}if(f.label){a.classList.add(s(f.label));const m=document.createElement("span");m.classList.add(s("label")),m.textContent=f.label,b.prepend(m)}if(f.context&&Object.keys(f.context).length>0){const m=document.createElement("span");m.setAttribute("title","Context"),m.classList.add(s("context-count")),m.textContent=Object.keys(f.context).length,b.prepend(m);const o=document.createElement("table");o.classList.add(s("params")),o.hidden=!0,o.innerHTML='Context';const y=f.context_json||{};for(const L in f.context)if(typeof f.context[L]!="function"){const R=document.createElement("tr"),r=document.createElement("td");r.classList.add(s("name")),r.textContent=L,R.append(r);const C=document.createElement("td");C.classList.add(s("value")),y[L]?PhpDebugBar.Widgets.renderValueInto(C,y[L]):C.innerHTML=f.context[L],R.append(C),o.append(R)}b.append(o),b.style.cursor="pointer",b.addEventListener("click",L=>{window.getSelection().type==="Range"||L.target.closest(".sf-dump")||(o.hidden=!o.hidden)})}f.xdebug_link&&b.prepend(h(f.xdebug_link))}}),this.el.append(this.list.el),this.toolbar=document.createElement("div"),this.toolbar.classList.add(s("toolbar")),this.toolbar.innerHTML='',this.el.append(this.toolbar);const u=document.createElement("input");u.type="text",u.name="search",u.setAttribute("aria-label","Search"),u.placeholder="Search",u.addEventListener("change",function(){c.set("search",this.value)}),this.toolbar.append(u),this.bindAttr("data",function(b){this.set({excludelabel:[],excludecollector:[],search:""});const f=this.toolbar.querySelectorAll(`.${s("filter")}`);for(const R of f)R.remove();const a=[],m=[],o=this,y=function(R,r){const C=document.createElement("a");C.classList.add(s("filter")),C.classList.add(s(R)),C.textContent=r,C.setAttribute("rel",r),C.addEventListener("click",function(){o.onFilterClick(this,R)}),o.toolbar.append(C)};if(b.forEach(R=>{a.includes(R.label||"none")||a.push(R.label||"none"),m.includes(R.collector||"none")||m.push(R.collector||"none")}),a.length>1&&a.forEach(R=>y("label",R)),m.length===1)return;const L=document.createElement("a");L.classList.add(s("filter")),L.style.visibility="hidden",o.toolbar.append(L),m.forEach(R=>y("collector",R))}),this.bindAttr(["excludelabel","excludecollector","search"],function(){const b=this.get("excludelabel")||[],f=this.get("excludecollector")||[],a=this.get("search");let m=!1;const o=[];a&&a===a.toLowerCase()&&(m=!0),this.get("data").forEach(y=>{let L=y.message;y.message_json?L=JSON.stringify(y.message_json):y.message_html&&(L=y.message_html.replace(/<[^>]*>/g,"")),m&&(L=L.toLowerCase()),!b.includes(y.label||void 0)&&!f.includes(y.collector||void 0)&&(!a||L.includes(a))&&o.push(y)}),this.list.set("data",o)})}onFilterClick(c,u){c.classList.toggle(s("excluded"));const b=[],f=`.${s("filter")}.${s("excluded")}.${s(u)}`,a=this.toolbar.querySelectorAll(f);for(const m of a)b.push(m.rel==="none"||!m.rel?void 0:m.rel);this.set(`exclude${u}`,b)}}PhpDebugBar.Widgets.MessagesWidget=e;class t extends PhpDebugBar.Widget{get tagName(){return"ul"}get className(){return s("timeline")}render(){this.bindAttr("data",function(c){const u=function(f){return f<.001?`${(f*1e6).toFixed()}\u03BCs`:f<.1?`${(f*1e3).toFixed(2)}ms`:f<1?`${(f*1e3).toFixed()}ms`:`${f.toFixed(2)}s`},b=function(a){if(a===0||a===null)return"0B";const m=a<0?"-":"",o=Math.abs(a),y=Math.log(o)/Math.log(1024),L=["B","KB","MB","GB","TB"];return m+Math.round(Ut(1024,y-Math.floor(y))*100)/100+L[Math.floor(y)]};if(this.el.innerHTML="",c.measures){let f={};for(let o=0;o1?R.length+"x ":"")+y.label.replace(/\s+/g," ")+(y.duration?` (${y.duration_str}${y.memory?`/${y.memory_str}`:""})`:""),r.append(W),y.collector){const N=document.createElement("span");N.classList.add(s("collector")),N.textContent=y.collector,r.append(N)}if(C.append(r),this.el.append(C),y.params&&Object.keys(y.params).length>0){const N=document.createElement("table");N.classList.add(s("params")),N.hidden=!0,N.innerHTML='Params';for(const l in y.params)if(typeof y.params[l]!="function"){const p=document.createElement("tr"),v=document.createElement("td");v.className=s("name"),v.textContent=l,p.append(v);const X=document.createElement("td");X.className=s("value"),PhpDebugBar.Widgets.renderValueInto(X,y.params[l]),p.append(X),N.append(p)}C.append(N),C.style.cursor="pointer",C.addEventListener("click",function(l){if(window.getSelection().type==="Range"||l.target.closest(".sf-dump"))return"";const p=this.querySelector("table");p.hidden=!p.hidden})}}f=Object.entries(f).map(([o,y])=>({label:o,data:y})).sort((o,y)=>y.data.duration-o.data.duration);const a=document.createElement("table");a.classList.add(s("params"));for(const o of f){const y=Math.min((o.data.duration*100/c.duration).toFixed(2),100),L=document.createElement("i");L.textContent=o.label.replace(/\s+/g," ");const R=L.innerHTML,r=document.createElement("tr");r.innerHTML=`${o.data.count} x ${R} (${y}%)
${u(o.data.duration)}${o.data.memory?`/${b(o.data.memory)}`:""}
`,a.append(r);const C=r.querySelector(`span.${s("value")}`);C.style.width=`${y}%`}const m=document.createElement("li");m.append(a),this.el.append(m)}})}}PhpDebugBar.Widgets.TimelineWidget=t;class i extends PhpDebugBar.Widget{get className(){return s("exceptions")}render(){this.list=new B({itemRenderer(c,u){const b=document.createElement("span");if(b.classList.add(s("message")),b.textContent=u.message,u.count>1){const f=document.createElement("span");f.classList.add(s("badge")),f.textContent=`${u.count}x`,b.prepend(f)}if(c.append(b),u.file&&c.append(h(u.xdebug_link||{filename:u.file,line:u.line})),u.type){const f=document.createElement("span");f.classList.add(s("type")),f.textContent=u.type,c.append(f)}if(u.surrounding_lines){const f=u.line-3<=0?1:u.line-3,a=U(u.surrounding_lines.join(""),"php",f,u.line);a.classList.add(s("file")),a.hidden=!0,c.append(a),c.addEventListener("click",m=>{window.getSelection().type==="Range"||m.target.closest(".sf-dump")||(a.hidden=!a.hidden)})}if(u.stack_trace_json||u.stack_trace_html){const f=document.createElement("span");if(f.classList.add(s("filename")),u.stack_trace_json){const m=u.stack_trace_json,o=m._sd;m._sd=0,PhpDebugBar.Widgets.renderValueInto(f,m),m._sd=o}else f.innerHTML=u.stack_trace_html;const a=f.querySelector(".sf-dump-note");a&&(a.innerHTML=`${a.innerHTML.replace(/^array:/,'Stack Trace: ')} lines`),c.append(f)}else u.stack_trace&&u.stack_trace.split(` +`).forEach(f=>{const a=document.createElement("div"),m=document.createElement("span");m.classList.add(s("filename")),m.textContent=f,a.append(m),c.append(a)})}}),this.el.append(this.list.el),this.bindAttr("data",function(c){if(this.list.set("data",c),c.length===1){const u=this.list.el.children[0];if(u){const b=u.querySelector(`.${s("file")}`);b&&(b.hidden=!1)}}})}}PhpDebugBar.Widgets.ExceptionsWidget=i;class E extends PhpDebugBar.Widget{get className(){return s("datasets-switcher-widget")}initialize(c){this.set(c);const u=this,b=this.get("debugbar");this.badge=document.createElement("div"),this.badge.classList.add(s("datasets-badge")),this.badge.hidden=!0,this.badgeCount=document.createElement("span"),this.badgeCount.classList.add(s("datasets-badge-count")),this.badge.append(this.badgeCount),this.badgeUrl=document.createElement("span"),this.badgeUrl.classList.add(s("datasets-badge-url")),this.badge.append(this.badgeUrl),this.panel=document.createElement("div"),this.panel.classList.add(s("datasets-panel")),this.panel.hidden=!0,b.el&&this.panel.setAttribute("data-theme",b.el.getAttribute("data-theme"));const f=document.createElement("div");f.classList.add(s("datasets-panel-toolbar"));const a=document.createElement("label");a.classList.add(s("datasets-autoshow")),this.autoshowCheckbox=document.createElement("input"),this.autoshowCheckbox.type="checkbox";const m=localStorage.getItem("phpdebugbar-ajaxhandler-autoshow");this.autoshowCheckbox.checked=m!==null?m==="1":b.ajaxHandler?b.ajaxHandler.autoShow:!0,this.autoshowCheckbox.addEventListener("change",function(){b.ajaxHandler&&b.ajaxHandler.setAutoShow(this.checked),b.controls.__settings&&b.controls.__settings.get("widget").set("autoshow",this.checked),b.controls.__datasets&&b.controls.__datasets.get("widget").set("autoshow",this.checked)}),a.append(this.autoshowCheckbox),a.append(document.createTextNode(" Autoshow")),f.append(a),this.refreshBtn=document.createElement("a"),this.refreshBtn.tabIndex=0,this.refreshBtn.classList.add(s("datasets-refresh-btn")),this.refreshBtn.innerHTML='',this.refreshBtn.title="Auto-scan for new datasets",this.isScanning=!1,this.refreshBtn.addEventListener("click",L=>{L.stopPropagation(),this.isScanning?(this.isScanning=!1,this.refreshBtn.classList.remove(s("active")),this.refreshBtn.title="Auto-scan for new datasets"):(this.isScanning=!0,this.refreshBtn.classList.add(s("active")),this.refreshBtn.title="Stop auto-scanning",this.scanForNewDatasets())}),f.append(this.refreshBtn);const o=document.createElement("a");o.tabIndex=0,o.classList.add(s("datasets-clear-btn")),o.textContent="Clear",o.addEventListener("click",()=>{const L=b.activeDatasetId,R=b.datasets[L];b.datasets={},R&&b.addDataSet(R,L,R.__meta.suffix,!0),this.panel.hidden=!0}),f.append(o),this.searchInput=document.createElement("input"),this.searchInput.type="search",this.searchInput.placeholder="Search",this.searchInput.classList.add(s("datasets-search")),this.searchInput.addEventListener("input",()=>{u.applySearchFilter()}),f.append(this.searchInput),this.panel.append(f),this.list=document.createElement("div"),this.list.classList.add(s("datasets-list")),this.panel.append(this.list),this.el.append(this.badge),document.body.append(this.panel);const y=()=>{const L=this.badge.getBoundingClientRect(),R=L.top,r=window.innerHeight-L.bottom,C=r>R;this.panel.style.position="fixed",this.panel.style.right=`${window.innerWidth-L.right}px`,this.panel.style.left="auto",C?(this.panel.style.top=`${L.bottom}px`,this.panel.style.bottom="auto",this.panel.style.maxHeight=`${r}px`):(this.panel.style.bottom=`${window.innerHeight-L.top}px`,this.panel.style.top="auto",this.panel.style.maxHeight=`${R}px`),this.refreshBtn.hidden=!b.openHandler};this.badge.addEventListener("click",L=>{L.target!==this.panel&&!this.panel.contains(L.target)&&(this.panel.hidden&&y(),this.panel.hidden=!this.panel.hidden)}),document.addEventListener("click",L=>{!this.badge.contains(L.target)&&!this.panel.contains(L.target)&&(this.panel.hidden=!0)})}render(){this.bindAttr("data",function(){this.updateBadge()}),this.bindAttr("activeId",function(){this.updateBadge()}),this.bindAttr("autoshow",function(){this.autoshowCheckbox&&(this.autoshowCheckbox.checked=this.get("autoshow"))})}updateBadge(){const c=this.get("debugbar"),u=this.get("data")||c.datasets,b=this.get("activeId")||c.activeDatasetId;if(!u){this.badge.hidden=!0;return}const f=Object.keys(u).length;if(f>=1){this.badge.hidden=!1;const a=u[b];if(a&&a.__meta){const o=a.__meta.uri||"",y=a.__meta.method||"GET";this.badgeUrl.textContent=`${y} ${o}`}f>1?(this.badgeCount.textContent=f,this.badgeCount.hidden=!1):this.badgeCount.hidden=!0,this.list.innerHTML="";const m=Object.keys(u).sort((o,y)=>{var r,C;const L=((r=u[o].__meta)==null?void 0:r.utime)||0;return(((C=u[y].__meta)==null?void 0:C.utime)||0)-L});for(const o of m){const y=u[o],L=document.createElement("div");L.classList.add(s("datasets-list-item"));const R=y.__meta.uri||"",r=y.__meta.method||"GET";L.setAttribute("data-url",R),L.setAttribute("data-method",r),o===b&&L.classList.add(s("active"));const C=document.createElement("span");C.classList.add(s("datasets-item-nb")),C.textContent=`#${y.__meta.nb}`,L.append(C);const W=document.createElement("span");W.classList.add(s("datasets-item-time")),W.textContent=y.__meta.datetime?y.__meta.datetime.split(" ")[1]:"",L.append(W);const N=document.createElement("div");N.classList.add(s("datasets-item-request"));const l=document.createElement("span");l.classList.add(s("datasets-item-method")),l.textContent=r,N.append(l);const p=document.createElement("span");if(p.classList.add(s("datasets-item-url")),p.textContent=R,N.append(p),y.__meta.suffix){const A=document.createElement("span");A.classList.add(s("datasets-item-suffix")),A.textContent=` ${y.__meta.suffix}`,N.append(A)}L.append(N);const v=document.createElement("div");v.classList.add(s("datasets-item-badges"));for(const[A,M]of Object.entries(c.dataMap)){const q=P(y,M[0],M[1]);if(A.includes(":")){const ee=A.split(":"),ne=ee[0];if(ee[1]==="badge"&&q>0){const ae=c.getControl(ne);if(ae){const se=document.createElement("span");if(se.classList.add(s("datasets-item-badge")),se.setAttribute("title",ae.get("title")),se.dataset.tab=ne,ae.icon){const ce=ae.icon.cloneNode(!0);ce.style.width="12px",ce.style.height="12px",se.append(ce)}const ge=document.createElement("span");ge.textContent=q,se.append(ge),v.append(se),se.addEventListener("click",ce=>{ce.stopPropagation(),c.showDataSet(o),c.showTab(ne),this.panel.hidden=!0})}}}}L.append(v);const X=document.createElement("a");X.classList.add(s("datasets-item-copy-id")),X.title=`Copy Request ID: ${o}`,X.innerHTML='',X.addEventListener("click",A=>{A.stopPropagation();const M=document.createElement("textarea");M.value=o,M.style.position="fixed",M.style.opacity="0",document.body.append(M),M.select(),document.execCommand("copy"),M.remove();const q=X.querySelector("i");q.className="phpdebugbar-icon phpdebugbar-icon-circle-check",X.classList.add(s("copied")),setTimeout(()=>{q.className="phpdebugbar-icon phpdebugbar-icon-copy",X.classList.remove(s("copied"))},2e3)}),L.append(X),L.addEventListener("click",()=>{c.showDataSet(o),this.panel.hidden=!0}),this.list.append(L)}this.applySearchFilter()}else this.badge.hidden=!0}applySearchFilter(){const c=this.searchInput.value.toLowerCase().trim(),u=this.list.querySelectorAll(`.${s("datasets-list-item")}`);for(const b of u)if(c==="")b.hidden=!1;else{const f=b.getAttribute("data-url").toLowerCase(),m=`${b.getAttribute("data-method").toLowerCase()} ${f}`,y=c.split(/\s+/).filter(L=>L.length>0).every(L=>m.includes(L));b.hidden=!y}}scanForNewDatasets(){const c=this.get("debugbar");if(!this.isScanning||!c.openHandler)return;const u=c.datasets,b=Object.values(u).reduce((a,m)=>{var o;return Math.max(a,((o=m.__meta)==null?void 0:o.utime)||0)},0),f=()=>{this.isScanning&&setTimeout(()=>this.scanForNewDatasets(),1e3)};c.openHandler.find({utime:b},0,(a,m)=>{if(m){console.error("scanForNewDatasets: find() failed",m),this.isScanning=!1,this.refreshBtn.classList.remove(s("active")),this.refreshBtn.title="Error scanning";return}try{const o=a.filter(L=>L.utime>b&&!u[L.id]);o.reverse();const y=(L=0)=>{if(L>=o.length){f();return}const{id:R}=o[L],r=L===o.length-1;c.loadDataSet(R,"(scan)",()=>y(L+1),this.autoshowCheckbox.checked&&r)};o.length?y():f()}catch(o){console.error("scanForNewDatasets: unexpected error",o),this.refreshBtn.classList.remove(s("active")),this.refreshBtn.title="Error scanning",this.isScanning=!1}})}}PhpDebugBar.Widgets.DatasetWidget=E})();(function(){const s=function(H){return PhpDebugBar.utils.csscls(H,"phpdebugbar-openhandler-")};PhpDebugBar.OpenHandler=PhpDebugBar.Widget.extend({className:"phpdebugbar-openhandler",defaults:{items_per_page:20},render(){const H=this;document.body.append(this.el),this.el.style.display="none",this.closebtn=document.createElement("a"),this.closebtn.classList.add(s("closebtn")),this.closebtn.innerHTML='',this.brand=document.createElement("span"),this.brand.classList.add(s("brand")),this.brand.innerHTML='',this.table=document.createElement("tbody");const T=document.createElement("div");T.classList.add(s("header")),T.textContent="PHP DebugBar | Open",T.prepend(this.brand),T.append(this.closebtn),this.el.append(T);const S=document.createElement("table");S.innerHTML='IDDateMethodURLIPFilter data',S.append(this.table),this.el.append(S),this.actions=document.createElement("div"),this.actions.classList.add(s("actions")),this.el.append(this.actions),this.closebtn.addEventListener("click",()=>{H.hide()}),this.loadmorebtn=document.createElement("a"),this.loadmorebtn.textContent="Load more",this.actions.append(this.loadmorebtn),this.loadmorebtn.addEventListener("click",()=>{H.find(H.last_find_request,H.last_find_request.offset+H.get("items_per_page"),H.handleFind.bind(H))}),this.showonlycurrentbtn=document.createElement("a"),this.showonlycurrentbtn.textContent="Show only current URL",this.actions.append(this.showonlycurrentbtn),this.showonlycurrentbtn.addEventListener("click",()=>{H.uriInput.value=window.location.pathname,H.searchBtn.click()}),this.refreshbtn=document.createElement("a"),this.refreshbtn.textContent="Refresh",this.actions.append(this.refreshbtn),this.refreshbtn.addEventListener("click",()=>{H.refresh()}),this.clearbtn=document.createElement("a"),this.clearbtn.textContent="Clear storage",this.actions.append(this.clearbtn),this.clearbtn.addEventListener("click",()=>{H.clear(()=>{H.hide()})}),this.addSearch(),this.overlay=document.createElement("div"),this.overlay.classList.add(s("overlay")),this.overlay.style.display="none",document.body.append(this.overlay),this.overlay.addEventListener("click",()=>{H.hide()})},refresh(){this.table.innerHTML="",this.loadmorebtn.style.display="",this.find({},0,this.handleFind.bind(this))},addSearch(){const H=this,T=this.searchBtn=document.createElement("button");T.textContent="Search",T.type="submit",T.addEventListener("click",function(k){H.table.innerHTML="";const d={},U=new FormData(this.parentElement);for(const[P,B]of U.entries())B&&(d[P]=B);H.find(d,0,H.handleFind.bind(H)),k.preventDefault()});const S=document.createElement("form");S.innerHTML='
Filter results
',this.uriInput=document.createElement("input"),this.uriInput.type="text",this.uriInput.name="uri",this.uriInput.placeholder="URI, eg '/user/*'",S.append(this.uriInput),this.ipInput=document.createElement("input"),this.ipInput.type="text",this.ipInput.name="ip",this.ipInput.placeholder="IP",S.append(this.ipInput);const h=document.createElement("button");h.textContent="Reset",h.type="button",h.addEventListener("click",()=>{S.reset(),T.click()}),S.append(T),S.append(h),this.actions.append(S)},handleFind(H){const T=this;for(const S of H){const h=document.createElement("a");h.textContent="Load dataset",h.addEventListener("click",E=>{T.hide(),T.load(S.id,g=>{T.callback(S.id,g)}),E.preventDefault()});const k=document.createElement("a");k.textContent=S.method,k.addEventListener("click",E=>{T.table.innerHTML="",T.find({method:S.method},0,T.handleFind.bind(T)),E.preventDefault()});const d=document.createElement("a");d.textContent=S.uri,d.addEventListener("click",E=>{T.hide(),T.load(S.id,g=>{T.callback(S.id,g)}),E.preventDefault()});const U=document.createElement("a");U.textContent=S.ip,U.addEventListener("click",E=>{T.ipInput.value=S.ip,T.searchBtn.click(),E.preventDefault()});const P=document.createElement("a");P.textContent="Show URL",P.addEventListener("click",E=>{T.uriInput.value=S.uri,T.searchBtn.click(),E.preventDefault()});const B=document.createElement("tr"),_=document.createElement("td");_.classList.add(s("id-cell"));const O=document.createElement("span");O.classList.add(s("id-text")),O.textContent=S.id,O.title=S.id,_.append(O);const I=document.createElement("a");I.classList.add(s("copy-id")),I.title="Copy Request ID",I.innerHTML='',I.addEventListener("click",E=>{E.stopPropagation(),E.preventDefault();const g=document.createElement("textarea");g.value=S.id,g.style.position="fixed",g.style.opacity="0",document.body.append(g),g.select(),document.execCommand("copy"),g.remove();const c=I.querySelector("i");c.className="phpdebugbar-icon phpdebugbar-icon-circle-check",I.classList.add(s("copied")),setTimeout(()=>{c.className="phpdebugbar-icon phpdebugbar-icon-copy",I.classList.remove(s("copied"))},2e3)}),_.append(I),B.append(_);const G=document.createElement("td");G.textContent=S.datetime,B.append(G);const w=document.createElement("td");w.textContent=S.method,B.append(w);const e=document.createElement("td");e.append(d),B.append(e);const t=document.createElement("td");t.append(U),B.append(t);const i=document.createElement("td");i.append(P),B.append(i),T.table.append(B)}H.lengthh.json()).then(T).catch(h=>{T(null,h)})}})})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class H extends PhpDebugBar.Widget{get className(){return s("mails")}render(){this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer(S,h){const k=document.createElement("span");k.classList.add(s("subject")),k.textContent=h.subject,S.append(k);const d=document.createElement("span");if(d.classList.add(s("to")),d.textContent=h.to,S.append(d),h.attachments&&h.attachments.length){const U=` Attachments: - `+d.attachments.join(` - `);d.headers=(d.headers||"")+U,delete d.attachments}if(d.body||d.html){const U=document.createElement("span");U.classList.add(s("filename")),U.textContent="";const M=document.createElement("a");M.setAttribute("title","Mail Preview"),M.textContent="View Mail",M.classList.add(s("editor-link")),M.addEventListener("click",()=>{const p=window.open("about:blank","Mail Preview","width=650,height=440,scrollbars=yes").document;let e="";if(d.headers){const E=document.createElement("pre");E.style.border="1px solid #ddd",E.style.padding="5px",E.style.overflowX="scroll";const O=document.createElement("code");O.textContent=d.headers,E.append(O),e=E.outerHTML}const t=document.createElement("pre");t.style.border="1px solid #ddd",t.style.padding="5px",t.style.overflowX="scroll",t.textContent=d.body;let i=t.outerHTML,L="";if(d.html){const E=document.createElement("details"),O=document.createElement("summary");O.textContent="Text version",E.append(O),E.append(t),i=E.outerHTML;const v=document.createElement("iframe");v.setAttribute("width","100%"),v.setAttribute("height","400px"),v.setAttribute("sandbox",""),v.setAttribute("referrerpolicy","no-referrer"),v.setAttribute("srcdoc",d.html),L=v.outerHTML}p.open(),p.write(e+i+L),p.close()}),U.append(M),g.append(U)}if(d.headers){const U=document.createElement("pre");U.classList.add(s("headers"));const M=document.createElement("code");M.textContent=d.headers,U.append(M),U.hidden=!0,g.append(U),g.addEventListener("click",()=>{U.hidden=!U.hidden})}}}),this.el.append(this.list.el),this.bindAttr("data",function(g){this.list.set("data",g)})}}PhpDebugBar.Widgets.MailsWidget=W})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class W extends PhpDebugBar.Widget{get className(){return s("sqlqueries")}onFilterClick(g){g.classList.toggle(s("excluded"));const d=g.getAttribute("rel"),w=this.list.el.querySelectorAll(`li[connection="${d}"]`);for(const c of w)c.hidden=!c.hidden}onCopyToClipboard(g){PhpDebugBar.Widgets.copyToClipboard(g.parentElement.querySelector("code")).then(d=>{if(!d){console.log("Oops, unable to copy");return}g.classList.add(s("copy-clipboard-check")),setTimeout(()=>{g.classList.remove(s("copy-clipboard-check"))},2e3)})}renderList(g,d,w){var p;const c=document.createElement("thead"),U=document.createElement("tr"),M=document.createElement("th");M.colSpan=2,M.classList.add(s("name")),M.innerHTML=d,U.append(M),c.append(U),g.append(c);const B=document.createElement("tbody");for(const e in w){const t=typeof w[e]=="function"?`${w[e].name} {}`:w[e],i=document.createElement("tr");if(typeof t=="object"&&t!==null){const L=document.createElement("td");L.classList.add("phpdebugbar-text-muted"),L.textContent=t.index||e,i.append(L);const E=document.createElement("td");if(t.namespace&&E.append(`${t.namespace}::`),E.append(t.name||t.file),t.line){const O=document.createElement("span");O.classList.add("phpdebugbar-text-muted"),O.textContent=`:${t.line}`,E.append(O)}if((p=t.xdebug_link)!=null&&p.url){const O=PhpDebugBar.Widgets.editorLink(t.xdebug_link);E.append(O.querySelector("a"))}i.append(E)}else{const L=document.createElement("td");L.classList.add("phpdebugbar-text-muted"),L.textContent=e,i.append(L);const E=document.createElement("td");E.textContent=t,i.append(E)}B.append(i)}g.append(B)}itemRenderer(g,d){if(d.type=d.type||"query",d.slow&&g.classList.add(s("sql-slow")),d.width_percent){const c=document.createElement("div");c.classList.add(s("bg-measure"));const U=document.createElement("div");U.classList.add(s("value")),U.style.left=`${d.start_percent}%`,U.style.width=`${Math.max(d.width_percent,.01)}%`,c.append(U),g.append(c)}if(d.duration_str){const c=document.createElement("span");c.setAttribute("title","Duration"),c.classList.add(s("duration")),c.textContent=d.duration_str,g.append(c)}if(d.memory_str){const c=document.createElement("span");c.setAttribute("title","Memory usage"),c.classList.add(s("memory")),c.textContent=d.memory_str,g.append(c)}if(typeof d.row_count!="undefined"){const c=document.createElement("span");c.setAttribute("title","Row count"),c.classList.add(s("row-count")),c.textContent=d.row_count,g.append(c)}if(typeof d.stmt_id!="undefined"&&d.stmt_id){const c=document.createElement("span");c.setAttribute("title","Prepared statement ID"),c.classList.add(s("stmt-id")),c.textContent=d.stmt_id,g.append(c)}if(d.connection){const c=document.createElement("span");if(c.setAttribute("title","Connection"),c.classList.add(s("database")),c.textContent=d.connection,g.append(c),g.setAttribute("connection",d.connection),!this.filters.includes(d.connection)){this.filters.push(d.connection);const U=document.createElement("a");U.classList.add(s("filter")),U.textContent=d.connection,U.setAttribute("rel",d.connection),U.addEventListener("click",()=>{this.onFilterClick(U)}),this.toolbar.append(U),this.filters.length>1&&(this.toolbar.hidden=!1)}}if(d.type==="query"){const c=document.createElement("span");c.setAttribute("title","Copy to clipboard"),c.classList.add(s("copy-clipboard")),c.style.cursor="pointer",c.innerHTML="​",c.addEventListener("click",U=>{this.onCopyToClipboard(c),U.stopPropagation()}),g.append(c)}if(d.xdebug_link?g.prepend(PhpDebugBar.Widgets.editorLink(d.xdebug_link)):typeof d.filename!="undefined"&&d.filename&&g.prepend(PhpDebugBar.Widgets.editorLink(d)),d.type!=="query"){const c=document.createElement("strong");c.classList.add(s("sql"),s(d.type)),c.textContent=d.sql,g.append(c)}else{const c=document.createElement("code");c.classList.add(s("sql")),c.innerHTML=PhpDebugBar.Widgets.highlight(d.sql,"sql"),g.append(c)}if(typeof d.is_success!="undefined"&&!d.is_success){g.classList.add(s("error"));const c=document.createElement("span");c.classList.add(s("error")),c.textContent=`[${d.error_code}] ${d.error_message}`,g.append(c)}if(d.type!=="query")return;const w=document.createElement("table");w.classList.add(s("params")),w.hidden=!0,d.params&&Object.keys(d.params).length>0&&this.renderList(w,"Params",d.params),d.backtrace&&Object.keys(d.backtrace).length>0&&this.renderList(w,"Backtrace",d.backtrace),w.querySelectorAll("tr").length||(w.style.display="none"),g.append(w),g.style.cursor="pointer",g.addEventListener("click",c=>{if(window.getSelection().type==="Range"||c.target.closest(".sf-dump"))return"";w.hidden=!w.hidden;const U=g.querySelector("code");if(U&&typeof phpdebugbar_sqlformatter!="undefined"){let M=d.sql;w.hidden||(M=phpdebugbar_sqlformatter.format(d.sql)),U.innerHTML=PhpDebugBar.Widgets.highlight(M,"sql")}})}render(){this.status=document.createElement("div"),this.status.classList.add(s("status")),this.el.append(this.status),this.toolbar=document.createElement("div"),this.toolbar.classList.add(s("toolbar")),this.el.append(this.toolbar),this.filters=[];let g="none",d=null;this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer:(w,c)=>this.itemRenderer(w,c)}),this.list.bindAttr("data",function(w){const c={};let U=0;for(let M=0;M0&&(B+=JSON.stringify(w[M].params)),w[M].connection&&(B+=`@${w[M].connection}`),c[B]=c[B]||{keys:[]},c[B].keys.push(M)}for(const M in c)if(c[M].keys.length>1){U+=c[M].keys.length;for(let B=0;B{p.classList.toggle("shown-duplicated"),p.textContent=p.classList.contains("shown-duplicated")?"Show All":B;const e=`.${s("list-item")}:not(.${s("sql-duplicate")})`,t=this.list.el.querySelectorAll(e);for(const i of t)i.hidden=!i.hidden}),M.append(p)}if(w.accumulated_duration_str){const p=document.createElement("span");p.setAttribute("title","Accumulated duration"),p.classList.add(s("duration")),p.textContent=w.accumulated_duration_str;const e=document.createElement("span");e.classList.add(s("sort-icon")),e.style.cursor="pointer",e.style.marginLeft="5px",e.textContent="Sort \u21C5",e.setAttribute("title","Sort by duration"),e.addEventListener("click",()=>{if(g==="none"?(g="desc",e.textContent="\u2193",d=[...w.statements],w.statements.sort((t,i)=>(i.duration||0)-(t.duration||0))):g==="desc"?(g="asc",e.textContent="\u2191",w.statements.sort((t,i)=>(t.duration||0)-(i.duration||0))):(g="none",e.textContent="\u21C5",d&&(w.statements=d,d=null)),this.list.set("data",w.statements),this.list.get("duplicate")){const t=M.querySelector("a."+s("duplicates"));t.textContent=B,t.classList.remove("shown-duplicated")}}),p.append(e),this.status.append(p)}if(w.memory_usage_str){const p=document.createElement("span");p.setAttribute("title","Memory usage"),p.classList.add(s("memory")),p.textContent=w.memory_usage_str,this.status.append(p)}})}}PhpDebugBar.Widgets.SQLQueriesWidget=W})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class W extends PhpDebugBar.Widget{get className(){return s("templates")}render(){this.status=document.createElement("div"),this.status.classList.add(s("status")),this.el.append(this.status),this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer(g,d){const w=document.createElement("span");if(w.classList.add(s("name")),d.html?w.innerHTML=d.html:w.textContent=d.name,g.append(w),d.xdebug_link&&g.append(PhpDebugBar.Widgets.editorLink(d.xdebug_link)),d.render_time_str){const c=document.createElement("span");c.setAttribute("title","Render time"),c.classList.add(s("render-time")),c.textContent=d.render_time_str,g.append(c)}if(d.memory_str){const c=document.createElement("span");c.setAttribute("title","Memory usage"),c.classList.add(s("memory")),c.textContent=d.memory_str,g.append(c)}if(typeof d.param_count!="undefined"){const c=document.createElement("span");c.setAttribute("title","Parameter count"),c.classList.add(s("param-count")),c.textContent=d.param_count,g.append(c)}if(typeof d.type!="undefined"&&d.type){const c=document.createElement("span");c.setAttribute("title","Type"),c.classList.add(s("type")),c.textContent=d.type,g.append(c)}if(typeof d.editorLink!="undefined"&&d.editorLink){const c=document.createElement("a");c.setAttribute("href",d.editorLink),c.classList.add(s("editor-link")),c.textContent="file",c.addEventListener("click",U=>{U.stopPropagation()}),g.append(c)}if(d.params&&Object.keys(d.params).length>0){const c=document.createElement("table");c.classList.add(s("params"));const U=document.createElement("thead");U.innerHTML='Params';const M=document.createElement("tbody");c.append(U,M);for(const B in d.params)if(typeof d.params[B]!="function"){const p=document.createElement("tr"),e=document.createElement("td");e.className=s("name"),e.textContent=B,p.append(e);const t=document.createElement("td");t.className=s("value"),PhpDebugBar.Widgets.renderValueInto(t,d.params[B]),p.append(t),M.append(p)}c.hidden=!0,g.append(c),g.style.cursor="pointer",g.addEventListener("click",B=>{window.getSelection().type==="Range"||B.target.closest(".sf-dump")||(c.hidden=!c.hidden)})}}}),this.el.append(this.list.el),this.callgraph=document.createElement("div"),this.callgraph.classList.add(s("callgraph")),this.el.append(this.callgraph),this.bindAttr("data",function(g){this.list.set("data",g.templates),this.status.innerHTML="",this.callgraph.innerHTML="";const d=g.sentence||"templates were rendered",w=document.createElement("span");if(w.textContent=`${g.nb_templates} ${d}`,this.status.append(w),g.accumulated_render_time_str){const c=document.createElement("span");c.setAttribute("title","Accumulated render time"),c.classList.add(s("render-time")),c.textContent=g.accumulated_render_time_str,this.status.append(c)}if(g.memory_usage_str){const c=document.createElement("span");c.setAttribute("title","Memory usage"),c.classList.add(s("memory")),c.textContent=g.memory_usage_str,this.status.append(c)}if(g.nb_blocks>0){const c=document.createElement("div");c.textContent=`${g.nb_blocks} blocks were rendered`,this.status.append(c)}if(g.nb_macros>0){const c=document.createElement("div");c.textContent=`${g.nb_macros} macros were rendered`,this.status.append(c)}typeof g.callgraph!="undefined"&&(this.callgraph.innerHTML=g.callgraph)})}}PhpDebugBar.Widgets.TemplatesWidget=W})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class W extends PhpDebugBar.Widget{get className(){return s("httpclient")}render(){this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer(g,d){const w=document.createElement("div");w.classList.add(s("request-summary")),w.style.display="flex",w.style.gap="10px",w.style.alignItems="center";const c=document.createElement("span");c.classList.add(s("method")),c.textContent=d.method,c.style.fontWeight="bold",c.style.minWidth="60px",w.append(c);const U=document.createElement("span");U.classList.add(s("url")),U.textContent=d.url,U.style.flex="1",U.style.overflow="hidden",U.style.textOverflow="ellipsis",U.style.whiteSpace="nowrap",w.append(U);const M=document.createElement("span");if(M.classList.add(s("status")),M.textContent=d.status,M.style.minWidth="40px",M.style.textAlign="center",typeof d.status=="number"&&(d.status>=200&&d.status<300?M.style.color="#4caf50":d.status>=300&&d.status<400?M.style.color="#ff9800":d.status>=400&&(M.style.color="#f44336")),w.append(M),d.duration!==null&&typeof d.duration!="undefined"){const B=document.createElement("span");B.classList.add(s("duration")),B.textContent=d.duration,B.style.minWidth="60px",B.style.textAlign="right",w.append(B)}if(g.append(w),d.details&&Object.keys(d.details).length>0){const B=document.createElement("table");B.classList.add(s("params"));const p=document.createElement("thead");p.innerHTML='Details';const e=document.createElement("tbody");B.append(p,e);for(const t in d.details)if(typeof d.details[t]!="function"){const i=document.createElement("tr"),L=document.createElement("td");L.className=s("name"),L.textContent=t,i.append(L);const E=document.createElement("td");E.className=s("value"),PhpDebugBar.Widgets.renderValueInto(E,d.details[t]),i.append(E),e.append(i)}B.hidden=!0,g.append(B),g.style.cursor="pointer",g.addEventListener("click",t=>{window.getSelection().type==="Range"||t.target.closest(".sf-dump")||(B.hidden=!B.hidden)})}}}),this.el.append(this.list.el),this.bindAttr("data",function(g){this.list.set("data",g)})}}PhpDebugBar.Widgets.HttpWidget=W})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-"),W=new Map;let b=0;const g={"&":"&","<":"<",">":">",'"':"""},d=/[&<>"]/g;class w{constructor(p){this.expandedDepth=p&&p.expandedDepth!==void 0?p.expandedDepth:0}render(p){const e=document.createElement("pre");e.className="sf-dump";const t=this.expandedDepth;return this.expandedDepth=0,e.innerHTML=this.toHtml(p,0)+` -`,this.expandedDepth=t,e}toHtml(p,e){if(p===null)return"null";switch(typeof p){case"boolean":return""+p+"";case"number":return""+this.esc(String(p))+"";case"string":return'"'+this.esc(p)+'"';case"object":return this.containerToHtml(p,e);default:return this.esc(String(p))}}containerToHtml(p,e){const t=Array.isArray(p),i=!t&&p._vd,L=!t&&p._cut||0,E=t?null:Object.keys(p),O=!t&&(i||L)?E.filter(P=>P!=="_vd"&&P!=="_cut"):E,G=(t?p.length:O.length)+L;return i?this.objectToHtml(p,O,i,L,G,e):this.arrayToHtml(p,t,O,L,G,e)}arrayToHtml(p,e,t,i,L,E){if(L===0)return"[]";const O=E [";if(v+=""+(O?"\u25BC":"\u25B6")+"",v+=' ',v+=this.arrayPreview(p,e,t,i)+" ]",O)v+="",v+=this.arrayChildren(p,e,t,i,E),v+="";else{const G=++b;W.set(G,{v:p,arr:e,k:t,c:i,d:E,r:this,ed:this.expandedDepth}),v+=""}return v+=']',v}arrayPreview(p,e,t,i){const L=e?p.length:t.length,E=Math.min(L,8),O=[];for(let G=0;GE||i>0)&&(v+=", \u2026"),v}arrayChildren(p,e,t,i,L){const E=e?p.length:t.length;let O="";for(let v=0;v0&&(O+=` -`),e?(O+=""+v+" => ",O+=this.toHtml(p[v],L+1)):(O+='"'+this.esc(t[v])+'" => ',O+=this.toHtml(p[t[v]],L+1));return i>0&&(O+=` -\u2026`+i),O}objectToHtml(p,e,t,i,L,E){const O=t[1]||0,v=t[2]||null,G=t[3]||null,P=t[0]===5;if(L===0&&!O)return(v?this.esc(v)+" ":"")+"{}";const A=E {":(v&&(T+=""+this.esc(v)+" "),T+="{",O&&(N="#"+O+" ")),L===0)return T+N+"}";T+=""+N+""+(A?"\u25BC":"\u25B6")+"",T+=' ';const m=Math.min(e.length,8),a=[];for(let l=0;lm||i>0)&&(h+=", \u2026"),T+=h+" }",A)T+="",T+=this.objectChildren(p,e,G,i,E),T+="";else{const l=++b;W.set(l,{v:p,obj:!0,k:e,p:G,c:i,d:E,r:this,ed:this.expandedDepth}),T+=""}return T+='}',T}objectChildren(p,e,t,i,L){let E="";for(let O=0;O0&&(E+=` -`);const v=t?t[O]:null,G=this.esc(e[O]);v?v==="+"?E+='+"'+G+'": ':v==="~"?E+=""+G+": ":v==="*"?E+='#'+G+": ":E+='-'+G+": ":E+='+'+G+": ",E+=this.toHtml(p[e[O]],L+1)}return i>0&&(E+=` -\u2026`+i),E}previewValue(p){return p===null?"null":typeof p=="string"?'"'+this.esc(p.length>40?p.substring(0,40)+"\u2026":p)+'"':typeof p=="boolean"||typeof p=="number"?String(p):typeof p=="object"?p._vd?(p._vd[2]||"")+" {\u2026}":Array.isArray(p)?"[\u2026]":"{\u2026}":"\u2026"}esc(p){return String(p).replace(d,e=>g[e])}}PhpDebugBar.Widgets.VarDumpRenderer=w;function c(B){const p=+B.dataset.lazy;delete B.dataset.lazy;const e=W.get(p);if(!e)return;W.delete(p);const t=e.r,i=t.expandedDepth;t.expandedDepth=e.ed,e.obj?B.innerHTML=t.objectChildren(e.v,e.k,e.p,e.c,e.d):B.innerHTML=t.arrayChildren(e.v,e.arr,e.k,e.c,e.d),t.expandedDepth=i}function U(B,p){const e=B.previousElementSibling,t=B.nextElementSibling;e&&e.classList.toggle("sf-dump-hidden",p),t&&t.classList.toggle("sf-dump-hidden",!p)}document.addEventListener("click",function(B){var L,E;const p=B.target.closest("a.sf-dump-toggle")||((L=B.target.closest(".sf-dump-preview"))==null?void 0:L.previousElementSibling);if(!p)return;const e=p.closest("pre.sf-dump");if(!e||e.id)return;const t=(E=p.nextElementSibling)==null?void 0:E.nextElementSibling;if(!t||t.tagName!=="SAMP")return;B.preventDefault();const i=t.classList.contains("sf-dump-compact");if(i&&t.dataset.lazy&&c(t),B.ctrlKey||B.metaKey)if(i){let O;for(;(O=t.querySelectorAll("[data-lazy]")).length;)O.forEach(c);t.querySelectorAll("samp.sf-dump-compact").forEach(function(v){var P;v.classList.replace("sf-dump-compact","sf-dump-expanded");const G=(P=v.previousElementSibling)==null?void 0:P.previousElementSibling;G&&G.classList.contains("sf-dump-toggle")&&(G.lastElementChild.textContent="\u25BC"),U(v,!0)})}else t.querySelectorAll("samp.sf-dump-expanded").forEach(function(O){var G;O.classList.replace("sf-dump-expanded","sf-dump-compact");const v=(G=O.previousElementSibling)==null?void 0:G.previousElementSibling;v&&v.classList.contains("sf-dump-toggle")&&(v.lastElementChild.textContent="\u25B6"),U(O,!1)});t.classList.toggle("sf-dump-compact",!i),t.classList.toggle("sf-dump-expanded",i),p.lastElementChild.textContent=i?"\u25BC":"\u25B6",U(t,i)});class M extends PhpDebugBar.Widgets.KVListWidget{get className(){return s("kvlist jsonvarlist")}itemRenderer(p,e,t,i){const L=document.createElement("span");L.setAttribute("title",t),L.textContent=t,p.appendChild(L);const E=i&&i.value!==void 0?i.value:i;PhpDebugBar.Widgets.renderValueInto(e,E),i&&i.xdebug_link&&e.appendChild(PhpDebugBar.Widgets.editorLink(i.xdebug_link))}}PhpDebugBar.Widgets.JsonVariableListWidget=M})();})(); + `+h.attachments.join(` + `);h.headers=(h.headers||"")+U,delete h.attachments}if(h.body||h.html){const U=document.createElement("span");U.classList.add(s("filename")),U.textContent="";const P=document.createElement("a");P.setAttribute("title","Mail Preview"),P.textContent="View Mail",P.classList.add(s("editor-link")),P.addEventListener("click",()=>{const _=window.open("about:blank","Mail Preview","width=650,height=440,scrollbars=yes").document;let O="";if(h.headers){const e=document.createElement("pre");e.style.border="1px solid #ddd",e.style.padding="5px",e.style.overflowX="scroll";const t=document.createElement("code");t.textContent=h.headers,e.append(t),O=e.outerHTML}const I=document.createElement("pre");I.style.border="1px solid #ddd",I.style.padding="5px",I.style.overflowX="scroll",I.textContent=h.body;let G=I.outerHTML,w="";if(h.html){const e=document.createElement("details"),t=document.createElement("summary");t.textContent="Text version",e.append(t),e.append(I),G=e.outerHTML;const i=document.createElement("iframe");i.setAttribute("width","100%"),i.setAttribute("height","400px"),i.setAttribute("sandbox",""),i.setAttribute("referrerpolicy","no-referrer"),i.setAttribute("srcdoc",h.html),w=i.outerHTML}_.open(),_.write(O+G+w),_.close()}),U.append(P),S.append(U)}if(h.headers){const U=document.createElement("pre");U.classList.add(s("headers"));const P=document.createElement("code");P.textContent=h.headers,U.append(P),U.hidden=!0,S.append(U),S.addEventListener("click",()=>{U.hidden=!U.hidden})}}}),this.el.append(this.list.el),this.bindAttr("data",function(S){this.list.set("data",S)})}}PhpDebugBar.Widgets.MailsWidget=H})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class H extends PhpDebugBar.Widget{get className(){return s("sqlqueries")}onFilterClick(S){S.classList.toggle(s("excluded"));const h=S.getAttribute("rel"),k=this.list.el.querySelectorAll(`li[connection="${h}"]`);for(const d of k)d.hidden=!d.hidden}onCopyToClipboard(S){PhpDebugBar.Widgets.copyToClipboard(S.parentElement.querySelector("code")).then(h=>{if(!h){console.log("Oops, unable to copy");return}S.classList.add(s("copy-clipboard-check")),setTimeout(()=>{S.classList.remove(s("copy-clipboard-check"))},2e3)})}renderList(S,h,k){var _;const d=document.createElement("thead"),U=document.createElement("tr"),P=document.createElement("th");P.colSpan=2,P.classList.add(s("name")),P.innerHTML=h,U.append(P),d.append(U),S.append(d);const B=document.createElement("tbody");for(const O in k){const I=typeof k[O]=="function"?`${k[O].name} {}`:k[O],G=document.createElement("tr");if(typeof I=="object"&&I!==null){const w=document.createElement("td");w.classList.add("phpdebugbar-text-muted"),w.textContent=I.index||O,G.append(w);const e=document.createElement("td");if(I.namespace&&e.append(`${I.namespace}::`),e.append(I.name||I.file),I.line){const t=document.createElement("span");t.classList.add("phpdebugbar-text-muted"),t.textContent=`:${I.line}`,e.append(t)}if((_=I.xdebug_link)!=null&&_.url){const t=PhpDebugBar.Widgets.editorLink(I.xdebug_link);e.append(t.querySelector("a"))}G.append(e)}else{const w=document.createElement("td");w.classList.add("phpdebugbar-text-muted"),w.textContent=O,G.append(w);const e=document.createElement("td");e.textContent=I,G.append(e)}B.append(G)}S.append(B)}itemRenderer(S,h){if(h.type=h.type||"query",h.slow&&S.classList.add(s("sql-slow")),h.width_percent){const d=document.createElement("div");d.classList.add(s("bg-measure"));const U=document.createElement("div");U.classList.add(s("value")),U.style.left=`${h.start_percent}%`,U.style.width=`${Math.max(h.width_percent,.01)}%`,d.append(U),S.append(d)}if(h.duration_str){const d=document.createElement("span");d.setAttribute("title","Duration"),d.classList.add(s("duration")),d.textContent=h.duration_str,S.append(d)}if(h.memory_str){const d=document.createElement("span");d.setAttribute("title","Memory usage"),d.classList.add(s("memory")),d.textContent=h.memory_str,S.append(d)}if(typeof h.row_count!="undefined"){const d=document.createElement("span");d.setAttribute("title","Row count"),d.classList.add(s("row-count")),d.textContent=h.row_count,S.append(d)}if(typeof h.stmt_id!="undefined"&&h.stmt_id){const d=document.createElement("span");d.setAttribute("title","Prepared statement ID"),d.classList.add(s("stmt-id")),d.textContent=h.stmt_id,S.append(d)}if(h.connection){const d=document.createElement("span");if(d.setAttribute("title","Connection"),d.classList.add(s("database")),d.textContent=h.connection,S.append(d),S.setAttribute("connection",h.connection),!this.filters.includes(h.connection)){this.filters.push(h.connection);const U=document.createElement("a");U.classList.add(s("filter")),U.textContent=h.connection,U.setAttribute("rel",h.connection),U.addEventListener("click",()=>{this.onFilterClick(U)}),this.toolbar.append(U),this.filters.length>1&&(this.toolbar.hidden=!1)}}if(h.type==="query"){const d=document.createElement("span");d.setAttribute("title","Copy to clipboard"),d.classList.add(s("copy-clipboard")),d.style.cursor="pointer",d.innerHTML="​",d.addEventListener("click",U=>{this.onCopyToClipboard(d),U.stopPropagation()}),S.append(d)}if(h.xdebug_link?S.prepend(PhpDebugBar.Widgets.editorLink(h.xdebug_link)):typeof h.filename!="undefined"&&h.filename&&S.prepend(PhpDebugBar.Widgets.editorLink(h)),h.type!=="query"){const d=document.createElement("strong");d.classList.add(s("sql"),s(h.type)),d.textContent=h.sql,S.append(d)}else{const d=document.createElement("code");d.classList.add(s("sql")),d.innerHTML=PhpDebugBar.Widgets.highlight(h.sql,"sql"),S.append(d)}if(typeof h.is_success!="undefined"&&!h.is_success){S.classList.add(s("error"));const d=document.createElement("span");d.classList.add(s("error")),d.textContent=`[${h.error_code}] ${h.error_message}`,S.append(d)}if(h.type!=="query")return;const k=document.createElement("table");k.classList.add(s("params")),k.hidden=!0,h.params&&Object.keys(h.params).length>0&&this.renderList(k,"Params",h.params),h.backtrace&&Object.keys(h.backtrace).length>0&&this.renderList(k,"Backtrace",h.backtrace),k.querySelectorAll("tr").length||(k.style.display="none"),S.append(k),S.style.cursor="pointer",S.addEventListener("click",d=>{if(window.getSelection().type==="Range"||d.target.closest(".sf-dump"))return"";k.hidden=!k.hidden;const U=S.querySelector("code");if(U&&typeof phpdebugbar_sqlformatter!="undefined"){let P=h.sql;k.hidden||(P=phpdebugbar_sqlformatter.format(h.sql)),U.innerHTML=PhpDebugBar.Widgets.highlight(P,"sql")}})}render(){this.status=document.createElement("div"),this.status.classList.add(s("status")),this.el.append(this.status),this.toolbar=document.createElement("div"),this.toolbar.classList.add(s("toolbar")),this.el.append(this.toolbar),this.filters=[];let S="none",h=null;this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer:(k,d)=>this.itemRenderer(k,d)}),this.list.bindAttr("data",function(k){const d={};let U=0;for(let P=0;P0&&(B+=JSON.stringify(k[P].params)),k[P].connection&&(B+=`@${k[P].connection}`),d[B]=d[B]||{keys:[]},d[B].keys.push(P)}for(const P in d)if(d[P].keys.length>1){U+=d[P].keys.length;for(let B=0;B{_.classList.toggle("shown-duplicated"),_.textContent=_.classList.contains("shown-duplicated")?"Show All":B;const O=`.${s("list-item")}:not(.${s("sql-duplicate")})`,I=this.list.el.querySelectorAll(O);for(const G of I)G.hidden=!G.hidden}),P.append(_)}if(k.accumulated_duration_str){const _=document.createElement("span");_.setAttribute("title","Accumulated duration"),_.classList.add(s("duration")),_.textContent=k.accumulated_duration_str;const O=document.createElement("span");O.classList.add(s("sort-icon")),O.style.cursor="pointer",O.style.marginLeft="5px",O.textContent="Sort \u21C5",O.setAttribute("title","Sort by duration"),O.addEventListener("click",()=>{if(S==="none"?(S="desc",O.textContent="\u2193",h=[...k.statements],k.statements.sort((I,G)=>(G.duration||0)-(I.duration||0))):S==="desc"?(S="asc",O.textContent="\u2191",k.statements.sort((I,G)=>(I.duration||0)-(G.duration||0))):(S="none",O.textContent="\u21C5",h&&(k.statements=h,h=null)),this.list.set("data",k.statements),this.list.get("duplicate")){const I=P.querySelector("a."+s("duplicates"));I.textContent=B,I.classList.remove("shown-duplicated")}}),_.append(O),this.status.append(_)}if(k.memory_usage_str){const _=document.createElement("span");_.setAttribute("title","Memory usage"),_.classList.add(s("memory")),_.textContent=k.memory_usage_str,this.status.append(_)}})}}PhpDebugBar.Widgets.SQLQueriesWidget=H})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class H extends PhpDebugBar.Widget{get className(){return s("templates")}render(){this.status=document.createElement("div"),this.status.classList.add(s("status")),this.el.append(this.status),this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer(S,h){const k=document.createElement("span");if(k.classList.add(s("name")),h.html?k.innerHTML=h.html:k.textContent=h.name,S.append(k),h.xdebug_link&&S.append(PhpDebugBar.Widgets.editorLink(h.xdebug_link)),h.render_time_str){const d=document.createElement("span");d.setAttribute("title","Render time"),d.classList.add(s("render-time")),d.textContent=h.render_time_str,S.append(d)}if(h.memory_str){const d=document.createElement("span");d.setAttribute("title","Memory usage"),d.classList.add(s("memory")),d.textContent=h.memory_str,S.append(d)}if(typeof h.param_count!="undefined"){const d=document.createElement("span");d.setAttribute("title","Parameter count"),d.classList.add(s("param-count")),d.textContent=h.param_count,S.append(d)}if(typeof h.type!="undefined"&&h.type){const d=document.createElement("span");d.setAttribute("title","Type"),d.classList.add(s("type")),d.textContent=h.type,S.append(d)}if(typeof h.editorLink!="undefined"&&h.editorLink){const d=document.createElement("a");d.setAttribute("href",h.editorLink),d.classList.add(s("editor-link")),d.textContent="file",d.addEventListener("click",U=>{U.stopPropagation()}),S.append(d)}if(h.params&&Object.keys(h.params).length>0){const d=document.createElement("table");d.classList.add(s("params"));const U=document.createElement("thead");U.innerHTML='Params';const P=document.createElement("tbody");d.append(U,P);for(const B in h.params)if(typeof h.params[B]!="function"){const _=document.createElement("tr"),O=document.createElement("td");O.className=s("name"),O.textContent=B,_.append(O);const I=document.createElement("td");I.className=s("value"),PhpDebugBar.Widgets.renderValueInto(I,h.params[B]),_.append(I),P.append(_)}d.hidden=!0,S.append(d),S.style.cursor="pointer",S.addEventListener("click",B=>{window.getSelection().type==="Range"||B.target.closest(".sf-dump")||(d.hidden=!d.hidden)})}}}),this.el.append(this.list.el),this.callgraph=document.createElement("div"),this.callgraph.classList.add(s("callgraph")),this.el.append(this.callgraph),this.bindAttr("data",function(S){this.list.set("data",S.templates),this.status.innerHTML="",this.callgraph.innerHTML="";const h=S.sentence||"templates were rendered",k=document.createElement("span");if(k.textContent=`${S.nb_templates} ${h}`,this.status.append(k),S.accumulated_render_time_str){const d=document.createElement("span");d.setAttribute("title","Accumulated render time"),d.classList.add(s("render-time")),d.textContent=S.accumulated_render_time_str,this.status.append(d)}if(S.memory_usage_str){const d=document.createElement("span");d.setAttribute("title","Memory usage"),d.classList.add(s("memory")),d.textContent=S.memory_usage_str,this.status.append(d)}if(S.nb_blocks>0){const d=document.createElement("div");d.textContent=`${S.nb_blocks} blocks were rendered`,this.status.append(d)}if(S.nb_macros>0){const d=document.createElement("div");d.textContent=`${S.nb_macros} macros were rendered`,this.status.append(d)}typeof S.callgraph!="undefined"&&(this.callgraph.innerHTML=S.callgraph)})}}PhpDebugBar.Widgets.TemplatesWidget=H})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-");class H extends PhpDebugBar.Widget{get className(){return s("httpclient")}render(){this.list=new PhpDebugBar.Widgets.ListWidget({itemRenderer(S,h){const k=document.createElement("div");k.classList.add(s("request-summary")),k.style.display="flex",k.style.gap="10px",k.style.alignItems="center";const d=document.createElement("span");d.classList.add(s("method")),d.textContent=h.method,d.style.fontWeight="bold",d.style.minWidth="60px",k.append(d);const U=document.createElement("span");U.classList.add(s("url")),U.textContent=h.url,U.style.flex="1",U.style.overflow="hidden",U.style.textOverflow="ellipsis",U.style.whiteSpace="nowrap",k.append(U);const P=document.createElement("span");if(P.classList.add(s("status")),P.textContent=h.status,P.style.minWidth="40px",P.style.textAlign="center",typeof h.status=="number"&&(h.status>=200&&h.status<300?P.style.color="#4caf50":h.status>=300&&h.status<400?P.style.color="#ff9800":h.status>=400&&(P.style.color="#f44336")),k.append(P),h.duration!==null&&typeof h.duration!="undefined"){const B=document.createElement("span");B.classList.add(s("duration")),B.textContent=h.duration,B.style.minWidth="60px",B.style.textAlign="right",k.append(B)}if(S.append(k),h.details&&Object.keys(h.details).length>0){const B=document.createElement("table");B.classList.add(s("params"));const _=document.createElement("thead");_.innerHTML='Details';const O=document.createElement("tbody");B.append(_,O);for(const I in h.details)if(typeof h.details[I]!="function"){const G=document.createElement("tr"),w=document.createElement("td");w.className=s("name"),w.textContent=I,G.append(w);const e=document.createElement("td");e.className=s("value"),PhpDebugBar.Widgets.renderValueInto(e,h.details[I]),G.append(e),O.append(G)}B.hidden=!0,S.append(B),S.style.cursor="pointer",S.addEventListener("click",I=>{window.getSelection().type==="Range"||I.target.closest(".sf-dump")||(B.hidden=!B.hidden)})}}}),this.el.append(this.list.el),this.bindAttr("data",function(S){this.list.set("data",S)})}}PhpDebugBar.Widgets.HttpWidget=H})();(function(){const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-"),H=new Map;let T=0;const S={"&":"&","<":"<",">":">",'"':"""},h=/[&<>"]/g;class k{constructor(_){this.expandedDepth=_&&_.expandedDepth!==void 0?_.expandedDepth:0}render(_){const O=document.createElement("pre");O.className="sf-dump";const I=this.expandedDepth;return this.expandedDepth=0,O.innerHTML=this.toHtml(_,0)+` +`,this.expandedDepth=I,O}toHtml(_,O){if(_===null)return"null";switch(typeof _){case"boolean":return""+_+"";case"number":return""+this.esc(String(_))+"";case"string":return'"'+this.esc(_)+'"';case"object":return this.containerToHtml(_,O);default:return this.esc(String(_))}}containerToHtml(_,O){const I=Array.isArray(_),G=!I&&_._vd,w=!I&&_._cut||0,e=I?null:Object.keys(_),t=!I&&(G||w)?e.filter(g=>g!=="_vd"&&g!=="_cut"):e,E=(I?_.length:t.length)+w;return G?this.objectToHtml(_,t,G,w,E,O):this.arrayToHtml(_,I,t,w,E,O)}arrayToHtml(_,O,I,G,w,e){if(w===0)return"[]";const t=e [";if(i+=""+(t?"\u25BC":"\u25B6")+"",i+=' ',i+=this.arrayPreview(_,O,I,G)+" ]",t)i+="",i+=this.arrayChildren(_,O,I,G,e),i+="";else{const E=++T;H.set(E,{v:_,arr:O,k:I,c:G,d:e,r:this,ed:this.expandedDepth}),i+=""}return i+=']',i}arrayPreview(_,O,I,G){const w=O?_.length:I.length,e=Math.min(w,8),t=[];for(let E=0;Ee||G>0)&&(i+=", \u2026"),i}arrayChildren(_,O,I,G,w){const e=O?_.length:I.length;let t="";for(let i=0;i0&&(t+=` +`),O?(t+=""+i+" => ",t+=this.toHtml(_[i],w+1)):(t+='"'+this.esc(I[i])+'" => ',t+=this.toHtml(_[I[i]],w+1));return G>0&&(t+=` +\u2026`+G),t}objectToHtml(_,O,I,G,w,e){const t=I[1]||0,i=I[2]||null,E=I[3]||null,g=I[0]===5;if(w===0&&!t)return(i?this.esc(i)+" ":"")+"{}";const c=e {":(i&&(u+=""+this.esc(i)+" "),u+="{",t&&(b="#"+t+" ")),w===0)return u+b+"}";u+=""+b+""+(c?"\u25BC":"\u25B6")+"",u+=' ';const f=Math.min(O.length,8),a=[];for(let o=0;of||G>0)&&(m+=", \u2026"),u+=m+" }",c)u+="",u+=this.objectChildren(_,O,E,G,e),u+="";else{const o=++T;H.set(o,{v:_,obj:!0,k:O,p:E,c:G,d:e,r:this,ed:this.expandedDepth}),u+=""}return u+='}',u}objectChildren(_,O,I,G,w){let e="";for(let t=0;t0&&(e+=` +`);const i=I?I[t]:null,E=this.esc(O[t]);i?i==="+"?e+='+"'+E+'": ':i==="~"?e+=""+E+": ":i==="*"?e+='#'+E+": ":e+='-'+E+": ":e+='+'+E+": ",e+=this.toHtml(_[O[t]],w+1)}return G>0&&(e+=` +\u2026`+G),e}previewValue(_){return _===null?"null":typeof _=="string"?'"'+this.esc(_.length>40?_.substring(0,40)+"\u2026":_)+'"':typeof _=="boolean"||typeof _=="number"?String(_):typeof _=="object"?_._vd?(_._vd[2]||"")+" {\u2026}":Array.isArray(_)?"[\u2026]":"{\u2026}":"\u2026"}esc(_){return String(_).replace(h,O=>S[O])}}PhpDebugBar.Widgets.VarDumpRenderer=k;function d(B){const _=+B.dataset.lazy;delete B.dataset.lazy;const O=H.get(_);if(!O)return;H.delete(_);const I=O.r,G=I.expandedDepth;I.expandedDepth=O.ed,O.obj?B.innerHTML=I.objectChildren(O.v,O.k,O.p,O.c,O.d):B.innerHTML=I.arrayChildren(O.v,O.arr,O.k,O.c,O.d),I.expandedDepth=G}function U(B,_){const O=B.previousElementSibling,I=B.nextElementSibling;O&&O.classList.toggle("sf-dump-hidden",_),I&&I.classList.toggle("sf-dump-hidden",!_)}document.addEventListener("click",function(B){var w,e;const _=B.target.closest("a.sf-dump-toggle")||((w=B.target.closest(".sf-dump-preview"))==null?void 0:w.previousElementSibling);if(!_)return;const O=_.closest("pre.sf-dump");if(!O||O.id)return;const I=(e=_.nextElementSibling)==null?void 0:e.nextElementSibling;if(!I||I.tagName!=="SAMP")return;B.preventDefault();const G=I.classList.contains("sf-dump-compact");if(G&&I.dataset.lazy&&d(I),B.ctrlKey||B.metaKey)if(G){let t;for(;(t=I.querySelectorAll("[data-lazy]")).length;)t.forEach(d);I.querySelectorAll("samp.sf-dump-compact").forEach(function(i){var g;i.classList.replace("sf-dump-compact","sf-dump-expanded");const E=(g=i.previousElementSibling)==null?void 0:g.previousElementSibling;E&&E.classList.contains("sf-dump-toggle")&&(E.lastElementChild.textContent="\u25BC"),U(i,!0)})}else I.querySelectorAll("samp.sf-dump-expanded").forEach(function(t){var E;t.classList.replace("sf-dump-expanded","sf-dump-compact");const i=(E=t.previousElementSibling)==null?void 0:E.previousElementSibling;i&&i.classList.contains("sf-dump-toggle")&&(i.lastElementChild.textContent="\u25B6"),U(t,!1)});I.classList.toggle("sf-dump-compact",!G),I.classList.toggle("sf-dump-expanded",G),_.lastElementChild.textContent=G?"\u25BC":"\u25B6",U(I,G)});class P extends PhpDebugBar.Widgets.KVListWidget{get className(){return s("kvlist jsonvarlist")}itemRenderer(_,O,I,G){const w=document.createElement("span");w.setAttribute("title",I),w.textContent=I,_.appendChild(w);const e=G&&G.value!==void 0?G.value:G;PhpDebugBar.Widgets.renderValueInto(O,e),G&&G.xdebug_link&&O.appendChild(PhpDebugBar.Widgets.editorLink(G.xdebug_link))}}PhpDebugBar.Widgets.JsonVariableListWidget=P})();})(); diff --git a/resources/icons.css b/resources/icons.css index 2e836382..fbd79f36 100644 --- a/resources/icons.css +++ b/resources/icons.css @@ -22,6 +22,7 @@ --debugbar-icon-inbox: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-12a2%202%200%200%201%20-2%20-2l0%20-12%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2013h3l3%203h4l3%20-3h3%22%20%2F%3E%20%3C%2Fsvg%3E'); --debugbar-icon-leaf: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2021c.5%20-4.5%202.5%20-8%207%20-10%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2018c6.218%200%2010.5%20-3.288%2011%20-12v-2h-4.014c-9%200%20-11.986%204%20-12%209c0%201%200%203%202%205h3l.014%200%22%20%2F%3E%20%3C%2Fsvg%3E'); --debugbar-icon-list: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%206l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2012l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2018l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M5%206l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2012l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2018l0%20.01%22%20%2F%3E%20%3C%2Fsvg%3E'); + --debugbar-icon-list-details: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%205h8%22%20%2F%3E%20%3Cpath%20d%3D%22M13%209h5%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2015h8%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2019h5%22%20%2F%3E%20%3Cpath%20d%3D%22M3%205a1%201%200%200%201%201%20-1h4a1%201%200%200%201%201%201v4a1%201%200%200%201%20-1%201h-4a1%201%200%200%201%20-1%20-1l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2015a1%201%200%200%201%201%20-1h4a1%201%200%200%201%201%201v4a1%201%200%200%201%20-1%201h-4a1%201%200%200%201%20-1%20-1l0%20-4%22%20%2F%3E%20%3C%2Fsvg%3E'); --debugbar-icon-logs: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2018h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2018h2%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2012h2%22%20%2F%3E%20%3Cpath%20d%3D%22M8%206h2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%206h6%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2012h6%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2018h6%22%20%2F%3E%20%3C%2Fsvg%3E'); --debugbar-icon-mobiledata: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2012v-8%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2020v-8%22%20%2F%3E%20%3Cpath%20d%3D%22M13%207l3%20-3l3%203%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2017l3%203l3%20-3%22%20%2F%3E%20%3C%2Fsvg%3E'); --debugbar-icon-search: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010a7%207%200%201%200%2014%200a7%207%200%201%200%20-14%200%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2021l-6%20-6%22%20%2F%3E%20%3C%2Fsvg%3E'); @@ -144,6 +145,11 @@ mask-image: var(--debugbar-icon-list); } +.phpdebugbar-icon-list-details::before { + -webkit-mask-image: var(--debugbar-icon-list-details); + mask-image: var(--debugbar-icon-list-details); +} + .phpdebugbar-icon-logs::before { -webkit-mask-image: var(--debugbar-icon-logs); mask-image: var(--debugbar-icon-logs); diff --git a/src/DataCollector/DataCollector.php b/src/DataCollector/DataCollector.php index 6423883e..9cae7d86 100644 --- a/src/DataCollector/DataCollector.php +++ b/src/DataCollector/DataCollector.php @@ -25,6 +25,7 @@ abstract class DataCollector implements DataCollectorInterface use HasDataFormatter; use HasXdebugLinks; use HidesMaskedValues; + use SummarizesData; public static ?DataFormatterInterface $defaultDataFormatter = null; } diff --git a/src/DataCollector/ExceptionsCollector.php b/src/DataCollector/ExceptionsCollector.php index b654865d..c9c24494 100644 --- a/src/DataCollector/ExceptionsCollector.php +++ b/src/DataCollector/ExceptionsCollector.php @@ -141,12 +141,84 @@ public function getExceptions(): array public function collect(): array { + $exceptions = array_map([$this, 'formatThrowableData'], $this->exceptions); + return [ 'count' => count($this->exceptions), - 'exceptions' => array_map([$this, 'formatThrowableData'], $this->exceptions), + 'exceptions' => $exceptions, + 'summary' => $this->buildSummary($exceptions), ]; } + /** + * What was thrown and where, with a few frames of context. + * + * Full traces are mostly vendor noise, so only the first application frames are kept. + * + * @param array> $exceptions + * + * @return array + */ + protected function buildSummary(array $exceptions, int $max = 5, int $maxFrames = 5): array + { + if (!$exceptions) { + return []; + } + + $summary = ['count' => count($exceptions)]; + + $items = []; + foreach (array_slice($exceptions, 0, $max) as $exception) { + $item = [ + 'type' => $exception['type'] ?? 'Unknown', + 'message' => $exception['message'] ?? '', + 'at' => ($exception['file'] ?? '?') . ':' . ($exception['line'] ?? '?'), + ]; + + if (($exception['count'] ?? 1) > 1) { + $item['occurrences'] = $exception['count']; + } + + $trace = $this->summarizeTrace($exception['stack_trace'] ?? null, $maxFrames); + if ($trace) { + $item['trace'] = $trace; + } + + $items[] = $item; + } + + if ($items) { + $summary['exceptions'] = $items; + } + + $extra = count($exceptions) - $max; + if ($extra > 0) { + $summary['not_shown'] = $extra; + } + + return $summary; + } + + /** + * Keeps the first application frames of a formatted stack trace, falling back to + * the raw frames when everything is vendor code. + * + * @return array + */ + protected function summarizeTrace(?string $stackTrace, int $maxFrames): array + { + if (!$stackTrace) { + return []; + } + + $frames = array_values(array_filter(array_map('trim', explode("\n", $stackTrace)))); + $app = array_values(array_filter($frames, function ($frame): bool { + return !str_contains($frame, '/vendor/') && !str_contains($frame, '\\vendor\\'); + })); + + return array_slice($app ?: $frames, 0, $maxFrames); + } + /** * Returns Throwable trace as an formated array * @@ -269,6 +341,9 @@ public function getWidgets(): array 'map' => "$name.count", 'default' => 'null', ], + "$name:summary" => [ + 'map' => "$name.summary", + ], ]; } } diff --git a/src/DataCollector/HidesMaskedValues.php b/src/DataCollector/HidesMaskedValues.php index 4c67a0fa..676ca50c 100644 --- a/src/DataCollector/HidesMaskedValues.php +++ b/src/DataCollector/HidesMaskedValues.php @@ -29,6 +29,34 @@ public function hideMaskedValues(array $data, ?string $prefix = null): mixed return $data; } + /** + * Masks the values of sensitive query string parameters within a URI. + * + * Only the values are replaced; keys, ordering and encoding are preserved so + * the result stays recognisable as the original request. + */ + public function hideMaskedUri(string $uri): string + { + $pos = strpos($uri, '?'); + if ($pos === false || $pos === strlen($uri) - 1) { + return $uri; + } + + $path = substr($uri, 0, $pos + 1); + $pairs = explode('&', substr($uri, $pos + 1)); + + foreach ($pairs as $i => $pair) { + [$key, $value] = array_pad(explode('=', $pair, 2), 2, null); + if ($value === null || !$this->isMaskedKey(urldecode($key))) { + continue; + } + // Not re-encoded: the mask is a display artifact, and %2A%2A%2A reads as noise + $pairs[$i] = $key . '=' . $this->maskValue(urldecode($value)); + } + + return $path . implode('&', $pairs); + } + public function addMaskedKeys(array $keys): void { foreach ($keys as $key) { diff --git a/src/DataCollector/HttpCollector.php b/src/DataCollector/HttpCollector.php index 1084ca66..15175f04 100644 --- a/src/DataCollector/HttpCollector.php +++ b/src/DataCollector/HttpCollector.php @@ -41,6 +41,9 @@ public function getWidgets(): array 'map' => $name . '.nb_requests', 'default' => 0, ], + "$name:summary" => [ + 'map' => $name . '.summary', + ], ]; } @@ -78,6 +81,52 @@ public function collect(): array return [ 'nb_requests' => count($this->requests), 'requests' => $this->requests, + 'summary' => $this->buildSummary(), ]; } + + /** + * One line per outgoing call, failures first so they are not buried. + * + * @return array + */ + protected function buildSummary(int $max = 15): array + { + if (!$this->requests) { + return []; + } + + $summary = ['requests' => count($this->requests)]; + + $failed = []; + $lines = []; + foreach ($this->requests as $request) { + $line = sprintf( + '%s %s -> %s%s', + $request['method'], + $this->summarizeText((string) $request['url'], 120), + $request['status'] ?? '?', + $request['duration'] ? ' (' . $request['duration'] . ')' : '', + ); + + if ($request['status'] === null || $request['status'] >= 400) { + $failed[] = $line; + } else { + $lines[] = $line; + } + } + + if ($failed) { + $summary['failed'] = count($failed); + } + + $calls = array_merge($failed, $lines); + $extra = count($calls) - $max; + $summary['calls'] = array_slice($calls, 0, $max); + if ($extra > 0) { + $summary['not_shown'] = $extra; + } + + return $summary; + } } diff --git a/src/DataCollector/MemoryCollector.php b/src/DataCollector/MemoryCollector.php index 4d07111e..666f64e9 100644 --- a/src/DataCollector/MemoryCollector.php +++ b/src/DataCollector/MemoryCollector.php @@ -85,9 +85,49 @@ public function collect(): array return [ 'peak_usage' => $this->getPeakUsage(), 'peak_usage_str' => $this->getDataFormatter()->formatBytes($this->getPeakUsage(), $this->precision), + 'summary' => $this->buildSummary(), ]; } + /** + * Peak usage on its own says little; relative to the limit it is actionable. + * + * @return array + */ + protected function buildSummary(): array + { + $peak = $this->getPeakUsage(); + $summary = [ + 'peak_usage' => $this->getDataFormatter()->formatBytes($peak, $this->precision), + ]; + + $limit = $this->getMemoryLimit(); + if ($limit > 0) { + $summary['limit'] = $this->getDataFormatter()->formatBytes($limit); + $summary['limit_used'] = round($peak / $limit * 100) . '%'; + } + + return $summary; + } + + /** + * Returns the memory_limit in bytes, or -1 when unlimited or unparseable. + */ + protected function getMemoryLimit(): int + { + $limit = trim((string) ini_get('memory_limit')); + if ($limit === '' || !preg_match('/^(\d+)\s*([KMG])?$/i', $limit, $matches)) { + return -1; + } + + return (int) $matches[1] * match (strtoupper($matches[2] ?? '')) { + 'G' => 1024 ** 3, + 'M' => 1024 ** 2, + 'K' => 1024, + default => 1, + }; + } + public function getName(): string { return 'memory'; @@ -102,6 +142,9 @@ public function getWidgets(): array "map" => "memory.peak_usage_str", "default" => "'0B'", ], + "memory:summary" => [ + "map" => "memory.summary", + ], ]; } } diff --git a/src/DataCollector/MessagesCollector.php b/src/DataCollector/MessagesCollector.php index add95aee..c4bb3254 100644 --- a/src/DataCollector/MessagesCollector.php +++ b/src/DataCollector/MessagesCollector.php @@ -27,6 +27,7 @@ class MessagesCollector extends AbstractLogger implements DataCollectorInterface use HasDataFormatter; use HasXdebugLinks; use HasTimeDataCollector; + use SummarizesData; protected string $name; @@ -306,15 +307,67 @@ public function clear(): void $this->messages = []; } + /** Levels whose message text is worth quoting verbatim in a summary. */ + public static array $IMPORTANT_LABELS = ['emergency', 'alert', 'critical', 'error', 'warning']; + public function collect(): array { $messages = $this->getMessages(); return [ 'count' => count($messages), 'messages' => $messages, + 'summary' => $this->buildSummary($messages), ]; } + /** + * Counts per level, plus the text of everything at warning or above. + * + * Errors and warnings are few and are the reason anyone opens this tab, so they are + * quoted in full; debug/info noise is reduced to a count. + * + * @param array> $messages + * + * @return array + */ + protected function buildSummary(array $messages, int $max = 10): array + { + if (!$messages) { + return []; + } + + $summary = ['count' => count($messages)]; + + $counts = []; + $important = []; + foreach ($messages as $message) { + $label = (string) ($message['label'] ?? 'info'); + $counts[$label] = ($counts[$label] ?? 0) + 1; + + if (!in_array(strtolower($label), static::$IMPORTANT_LABELS, true)) { + continue; + } + + $text = $message['message'] ?? null; + $important[] = strtoupper($label) . ': ' . ($text === null + ? '(non-string message, see the panel)' + : $this->summarizeText((string) $text)); + } + + arsort($counts); + $summary['by_label'] = $counts; + + if ($important) { + $extra = count($important) - $max; + $summary['important'] = array_slice($important, 0, $max); + if ($extra > 0) { + $summary['not_shown'] = $extra; + } + } + + return $summary; + } + public function getName(): string { return $this->name; @@ -334,6 +387,9 @@ public function getWidgets(): array "map" => "$name.count", "default" => "null", ], + "$name:summary" => [ + "map" => "$name.summary", + ], ]; } } diff --git a/src/DataCollector/ObjectCountCollector.php b/src/DataCollector/ObjectCountCollector.php index 83cab1e4..71e23046 100644 --- a/src/DataCollector/ObjectCountCollector.php +++ b/src/DataCollector/ObjectCountCollector.php @@ -81,6 +81,8 @@ public function collect(): array $collect['badges'] = $this->classSummary; } + $collect['summary'] = $this->buildSummary(); + if (! $this->getXdebugLinkTemplate()) { return $collect; } @@ -96,6 +98,35 @@ public function collect(): array return $collect; } + /** + * The heaviest counts, which read as an N+1 signal next to the query count. + * + * @return array + */ + protected function buildSummary(int $max = 5): array + { + if (!$this->classList) { + return []; + } + + $summary = ['count' => $this->classCount]; + + $lines = []; + foreach (array_slice($this->classList, 0, $max, true) as $class => $counts) { + $lines[] = $class . ' = ' . array_sum($counts); + } + if ($lines) { + $summary['top'] = $lines; + } + + $extra = count($this->classList) - $max; + if ($extra > 0) { + $summary['not_shown'] = $extra; + } + + return $summary; + } + public function getName(): string { return $this->name; @@ -116,6 +147,9 @@ public function getWidgets(): array 'map' => "$name.count", 'default' => 0, ], + "$name:summary" => [ + 'map' => "$name.summary", + ], ]; } } diff --git a/src/DataCollector/PDO/PDOCollector.php b/src/DataCollector/PDO/PDOCollector.php index 318dc4b5..5a504d6c 100644 --- a/src/DataCollector/PDO/PDOCollector.php +++ b/src/DataCollector/PDO/PDOCollector.php @@ -124,6 +124,7 @@ public function collect(): array $data = [ 'nb_statements' => 0, 'nb_failed_statements' => 0, + 'nb_duplicate_statements' => 0, 'accumulated_duration' => 0, 'memory_usage' => 0, 'peak_memory_usage' => 0, @@ -134,6 +135,7 @@ public function collect(): array $pdodata = $this->collectPDO($pdo, $name); $data['nb_statements'] += $pdodata['nb_statements']; $data['nb_failed_statements'] += $pdodata['nb_failed_statements']; + $data['nb_duplicate_statements'] += $pdodata['nb_duplicate_statements']; $data['accumulated_duration'] += $pdodata['accumulated_duration']; $data['memory_usage'] += $pdodata['memory_usage']; $data['peak_memory_usage'] = max($data['peak_memory_usage'], $pdodata['peak_memory_usage']); @@ -149,10 +151,67 @@ public function collect(): array $data['accumulated_duration_str'] = $this->getDataFormatter()->formatDuration($data['accumulated_duration']); $data['memory_usage_str'] = $this->getDataFormatter()->formatBytes($data['memory_usage']); $data['peak_memory_usage_str'] = $this->getDataFormatter()->formatBytes($data['peak_memory_usage']); + $data['summary'] = $this->buildSummary($data); return $data; } + /** + * The query story in a handful of lines: how many, how long, what repeated and what failed. + * + * Duplicate counting happens per connection on the raw SQL (see collectPDO), so it still + * spots N+1 patterns when statements are rendered with their bindings inlined. + * + * @param array $data + * + * @return array + */ + protected function buildSummary(array $data, int $slowest = 3, int $maxErrors = 5): array + { + if ($data['nb_statements'] === 0) { + return []; + } + + $summary = [ + 'statements' => $data['nb_statements'], + 'duration' => $data['accumulated_duration_str'], + ]; + + if ($data['nb_duplicate_statements'] > 0) { + $summary['duplicates'] = $data['nb_duplicate_statements']; + } + if ($data['nb_failed_statements'] > 0) { + $summary['failed'] = $data['nb_failed_statements']; + } + + $statements = $data['statements']; + usort($statements, fn($a, $b) => $b['duration'] <=> $a['duration']); + + $lines = []; + foreach (array_slice($statements, 0, $slowest) as $statement) { + $lines[] = $this->summarizeText($statement['sql'], 120) . ' = ' . $statement['duration_str']; + } + if ($lines) { + $summary['slowest'] = $lines; + } + + $errors = []; + foreach ($data['statements'] as $statement) { + if (!$statement['is_success']) { + $errors[] = $this->summarizeText($statement['sql'], 120) . ' -> ' . $statement['error_message']; + } + } + if ($errors) { + $extra = count($errors) - $maxErrors; + $summary['errors'] = $extra > 0 + ? array_merge(array_slice($errors, 0, $maxErrors), ["(+{$extra} more)"]) + : $errors; + } + + return $summary; + } + + /** * Collects data from a single TraceablePDO instance */ @@ -164,9 +223,11 @@ protected function collectPDO(TraceablePDO $pdo, ?string $connectionName = null) $connectionName = 'pdo ' . $connectionName; } $stmts = []; + $sqlCounts = []; foreach ($pdo->getExecutedStatements() as $stmt) { $sql = $stmt->getSql(); + $sqlCounts[$sql] = ($sqlCounts[$sql] ?? 0) + 1; $params = $stmt->getParameters(); if ($this->renderSqlWithParams) { $sql = $this->getQueryFormatter()->formatSqlWithBindings($sql, $params, $pdo); @@ -217,6 +278,7 @@ protected function collectPDO(TraceablePDO $pdo, ?string $connectionName = null) return [ 'nb_statements' => count($stmts), 'nb_failed_statements' => count($pdo->getFailedExecutedStatements()), + 'nb_duplicate_statements' => array_sum($sqlCounts) - count($sqlCounts), 'accumulated_duration' => $totalTime, 'accumulated_duration_str' => $this->getDataFormatter()->formatDuration($totalTime), 'memory_usage' => $pdo->getMemoryUsage(), @@ -245,6 +307,9 @@ public function getWidgets(): array "map" => "pdo.nb_statements", "default" => 0, ], + "database:summary" => [ + "map" => "pdo.summary", + ], ]; } diff --git a/src/DataCollector/RequestDataCollector.php b/src/DataCollector/RequestDataCollector.php index 2cf603e9..f5f6d7a6 100644 --- a/src/DataCollector/RequestDataCollector.php +++ b/src/DataCollector/RequestDataCollector.php @@ -47,18 +47,55 @@ public function collect(): array $data[$name] = $this->getDataFormatter()->formatVar($global); } - $summary = [ - 'uri' => $requestUri ?? '', - ]; - return [ 'data' => $data, 'tooltip' => null, 'badge' => null, - 'summary' => $summary, + 'summary' => $this->buildSummary($requestUri ?? null), ]; } + /** + * Builds the summary for this request. + * + * Summaries are meant to be copied out of the browser (into an issue, a chat or an + * LLM), so only parameter *names* are listed here; the values stay in the panel. + * The URI is the one exception, and its query string is masked. + * + * @return array + */ + protected function buildSummary(?string $requestUri): array + { + $status = http_response_code(); + + return array_filter([ + 'method' => $_SERVER['REQUEST_METHOD'] ?? (php_sapi_name() === 'cli' ? 'CLI' : null), + 'uri' => $requestUri !== null ? $this->hideMaskedUri($requestUri) : null, + 'status' => is_int($status) ? $status : null, + 'get' => $this->summarizeKeys($_GET), + 'post' => $this->summarizeKeys($_POST), + 'cookie' => $this->summarizeKeys($_COOKIE), + 'session' => $this->summarizeKeys($_SESSION ?? []), + ], fn($value) => $value !== null); + } + + /** + * Lists the keys of a superglobal, capped so a large session doesn't flood the summary. + */ + protected function summarizeKeys(array $values, int $max = 10): ?string + { + if (!$values) { + return null; + } + + $keys = array_map('strval', array_keys($values)); + $extra = count($keys) - $max; + + return $extra > 0 + ? implode(', ', array_slice($keys, 0, $max)) . " (+{$extra} more)" + : implode(', ', $keys); + } + public function setShowUriIndicator(bool $showUriIndicator = true): void { $this->showUriIndicator = $showUriIndicator; diff --git a/src/DataCollector/SummarizesData.php b/src/DataCollector/SummarizesData.php new file mode 100644 index 00000000..fed32f55 --- /dev/null +++ b/src/DataCollector/SummarizesData.php @@ -0,0 +1,24 @@ + $maxLength ? mb_substr($text, 0, $maxLength - 1) . '…' : $text; + } +} diff --git a/src/DataCollector/TemplateCollector.php b/src/DataCollector/TemplateCollector.php index c6f3b934..c73efba3 100644 --- a/src/DataCollector/TemplateCollector.php +++ b/src/DataCollector/TemplateCollector.php @@ -51,6 +51,9 @@ public function getWidgets(): array 'map' => $name . '.nb_templates', 'default' => 0, ], + "$name:summary" => [ + 'map' => $name . '.summary', + ], ]; } @@ -122,6 +125,40 @@ public function collect(): array 'count' => count($this->templates), 'nb_templates' => count($this->templates), 'templates' => $templates, + 'summary' => $this->buildSummary(), ]; } + + /** + * How many templates rendered, and which ones rendered more than once. + * + * @return array + */ + protected function buildSummary(int $max = 5): array + { + if (!$this->templates) { + return []; + } + + $summary = ['rendered' => count($this->templates)]; + + $counts = []; + foreach ($this->templates as $template) { + $name = (string) $template['name']; + $counts[$name] = ($counts[$name] ?? 0) + 1; + } + + $repeated = array_filter($counts, fn($count) => $count > 1); + arsort($repeated); + + $lines = []; + foreach (array_slice($repeated, 0, $max, true) as $name => $count) { + $lines[] = $count . 'x ' . $name; + } + if ($lines) { + $summary['repeated'] = $lines; + } + + return $summary; + } } diff --git a/src/DataCollector/TimeDataCollector.php b/src/DataCollector/TimeDataCollector.php index 0099b71f..59662988 100644 --- a/src/DataCollector/TimeDataCollector.php +++ b/src/DataCollector/TimeDataCollector.php @@ -246,9 +246,44 @@ public function collect(): array 'duration' => $this->getRequestDuration(), 'duration_str' => $this->getDataFormatter()->formatDuration($this->getRequestDuration()), 'measures' => $this->measures, + 'summary' => $this->buildSummary(), ]; } + /** + * Where the time went: the total, and the handful of measures that account for it. + * + * @return array + */ + protected function buildSummary(int $slowest = 3): array + { + $duration = $this->getRequestDuration(); + + $summary = [ + 'duration' => $this->getDataFormatter()->formatDuration($duration), + 'measures' => count($this->measures), + ]; + + $measures = $this->measures; + usort($measures, fn($a, $b) => $b['duration'] <=> $a['duration']); + + $lines = []; + foreach (array_slice($measures, 0, $slowest) as $measure) { + // Measures added with an explicit start/end can outlast the request itself, + // and a share above 100% reads as a bug, so it is left off in that case + $share = $duration > 0 ? round($measure['duration'] / $duration * 100) : 0; + $lines[] = $share > 0 && $share <= 100 + ? sprintf('%s = %s (%d%%)', $measure['label'], $measure['duration_str'], $share) + : sprintf('%s = %s', $measure['label'], $measure['duration_str']); + } + + if ($lines) { + $summary['slowest'] = $lines; + } + + return $summary; + } + public function getName(): string { return 'time'; @@ -270,6 +305,9 @@ public function getWidgets(): array "map" => "time", "default" => "{}", ], + "timeline:summary" => [ + "map" => "time.summary", + ], ]; } } diff --git a/src/DebugBar.php b/src/DebugBar.php index 1303399e..5e3bd547 100644 --- a/src/DebugBar.php +++ b/src/DebugBar.php @@ -310,6 +310,19 @@ public function getData(): array return $this->data; } + /** + * Returns the collected summaries as plain text, ready to paste into an issue, + * a chat or a prompt. + * + * Will collect the data if none have been collected yet. + * + * @param null|array $data Dataset to summarize, defaults to the current one + */ + public function getSummary(?array $data = null): string + { + return (new SummaryFormatter($this))->format($data ?? $this->getData()); + } + public function reset(): void { $this->requestId = null; diff --git a/src/OpenHandler.php b/src/OpenHandler.php index 179029ce..9796aac6 100644 --- a/src/OpenHandler.php +++ b/src/OpenHandler.php @@ -59,24 +59,30 @@ public function handle(?array $request = null, bool $echo = true, bool $sendHead throw new DebugBarException("DebugBar must have a storage backend to use OpenHandler"); } - try { - $response = match ($op) { - 'find' => $this->find($request), - 'get' => $this->get($request), - 'clear' => $this->clear(), - }; - } catch (\UnhandledMatchError $e) { - throw new DebugBarException("Invalid operation '{$request['op']}'"); - } + if ($op === 'summary') { + $response = $this->summary($request); + $contentType = 'text/plain; charset=utf-8'; + } else { + try { + $data = match ($op) { + 'find' => $this->find($request), + 'get' => $this->get($request), + 'clear' => $this->clear(), + }; + } catch (\UnhandledMatchError $e) { + throw new DebugBarException("Invalid operation '{$request['op']}'"); + } - $response = json_encode($response); - if ($response === false) { - throw new DebugBarException("Invalid JSON response"); + $response = json_encode($data); + if ($response === false) { + throw new DebugBarException("Invalid JSON response"); + } + $contentType = 'application/json'; } if ($sendHeader) { $this->debugBar->getHttpDriver()->setHeaders([ - 'Content-Type' => 'application/json', + 'Content-Type' => $contentType, ]); } @@ -130,6 +136,44 @@ protected function get(array $request): array return $this->storage->get((string) $request['id']); } + /** + * Summary operation + * + * Returns a stored dataset as plain text rather than JSON, so tooling that can't + * render the bar - a terminal, a CI job, an agent driving the app over HTTP - can + * read what happened during a request. Omit 'id' to summarize the latest dataset. + * + * @param array $request + * + * @throws DebugBarException + */ + protected function summary(array $request): string + { + $id = isset($request['id']) ? (string) $request['id'] : $this->getLatestId(); + if ($id === null) { + throw new DebugBarException("No dataset to summarize"); + } + + return $this->debugBar->getSummary($this->storage->get($id)); + } + + /** + * Returns the id of the most recently stored dataset, if any. + */ + protected function getLatestId(): ?string + { + $latest = $this->storage->find([], 1, 0); + $meta = reset($latest); + if (!is_array($meta)) { + return null; + } + + // Storage backends return metadata rows, but some return whole datasets + $id = $meta['id'] ?? $meta['__meta']['id'] ?? null; + + return $id !== null ? (string) $id : null; + } + /** * Clear operation */ diff --git a/src/SummaryFormatter.php b/src/SummaryFormatter.php new file mode 100644 index 00000000..ca7026fe --- /dev/null +++ b/src/SummaryFormatter.php @@ -0,0 +1,224 @@ +:summary` widget for it. This formatter turns those into something you can + * paste into an issue, a chat, or a prompt, which is also what `OpenHandler` serves for + * the `summary` operation. + */ +class SummaryFormatter +{ + /** Safety net so a misbehaving collector can't produce an unpastable wall of text. */ + public const MAX_LENGTH = 20000; + + protected DebugBar $debugBar; + + public function __construct(DebugBar $debugBar) + { + $this->debugBar = $debugBar; + } + + /** + * Formats a dataset (as returned by DebugBar::getData() or a storage backend). + * + * @param array $data + */ + public function format(array $data, int $maxLength = self::MAX_LENGTH): string + { + $meta = is_array($data['__meta'] ?? null) ? $data['__meta'] : []; + + $blocks = ['# PHP DebugBar summary']; + + // The raw URI in __meta is unmasked, so it is deliberately not repeated here; + // the request collector contributes a masked one. + $header = array_filter([ + 'id' => $meta['id'] ?? null, + 'datetime' => $meta['datetime'] ?? null, + 'ip' => $meta['ip'] ?? null, + ], fn($value) => $value !== null && $value !== ''); + + if ($header) { + $blocks[] = self::formatValue($header); + } + + foreach ($this->getSections($data) as $title => $summary) { + $body = self::formatValue($summary); + if (trim($body) === '') { + continue; + } + $blocks[] = "## {$title}\n{$body}"; + } + + $text = implode("\n\n", $blocks); + + if (mb_strlen($text) > $maxLength) { + $text = mb_substr($text, 0, $maxLength) . "\n\n(summary truncated)"; + } + + return $text; + } + + /** + * Returns the summaries in a dataset, keyed by the title of the control owning them. + * + * @param array $data + * + * @return array + */ + public function getSections(array $data): array + { + $sections = []; + $seen = []; + + foreach ($this->getSummaryMaps() as $title => $map) { + $summary = $this->getDictValue($data, $map); + if ($summary === null || $summary === [] || $summary === '') { + continue; + } + $sections[$title] = $summary; + $seen[$map] = true; + } + + // Datasets opened from storage may predate the current collector set, or come from + // an app that registers collectors this process doesn't know. Pick those up too. + foreach ($data as $name => $collected) { + $map = "{$name}.summary"; + if ($name === '__meta' || !is_array($collected) || isset($seen[$map])) { + continue; + } + $summary = $collected['summary'] ?? null; + if ($summary === null || $summary === [] || $summary === '') { + continue; + } + $sections[self::titleize((string) $name)] = $summary; + } + + return $sections; + } + + /** + * Maps every declared `:summary` widget to its dotted data path. + * + * @return array title => map + */ + protected function getSummaryMaps(): array + { + $widgets = []; + foreach ($this->debugBar->getCollectors() as $collector) { + if ($collector instanceof Renderable) { + $widgets = array_merge($widgets, $collector->getWidgets()); + } + } + + $maps = []; + foreach ($widgets as $name => $options) { + if (!str_ends_with((string) $name, ':summary') || !isset($options['map'])) { + continue; + } + + $control = substr((string) $name, 0, -strlen(':summary')); + $title = $widgets[$control]['title'] ?? self::titleize($control); + $maps[$title] = (string) $options['map']; + } + + return $maps; + } + + /** + * Formats a summary value as indented plain text. + * + * Lists become `- item` lines and maps become `key = value` lines, matching the + * rendering in the javascript bar so both produce the same text. + */ + public static function formatValue(mixed $value, string $indent = ''): string + { + if ($value instanceof \stdClass) { + $value = (array) $value; + } + + if (!is_array($value)) { + return $indent . self::formatScalar($value); + } + + $lines = []; + $isList = array_is_list($value); + + foreach ($value as $key => $item) { + $nested = is_array($item) || $item instanceof \stdClass; + + if ($isList) { + if (!$nested) { + $lines[] = $indent . '- ' . self::formatScalar($item); + continue; + } + // Hoist the first line of the nested block onto the bullet, YAML style. + $block = self::formatValue($item, $indent . ' '); + $lines[] = substr_replace($block, '- ', strlen($indent), 2); + continue; + } + + if ($nested) { + $lines[] = $indent . $key . ':'; + $lines[] = self::formatValue($item, $indent . ' '); + continue; + } + + $lines[] = $indent . $key . ' = ' . self::formatScalar($item); + } + + return implode("\n", $lines); + } + + protected static function formatScalar(mixed $value): string + { + return match (true) { + $value === null => 'null', + is_bool($value) => $value ? 'true' : 'false', + is_scalar($value) => (string) $value, + default => json_encode($value) ?: '', + }; + } + + protected static function titleize(string $name): string + { + return ucfirst(str_replace(['_', '-'], ' ', $name)); + } + + /** + * Resolves a dotted path within a dataset. + * + * @param array $data + */ + protected function getDictValue(array $data, string $path): mixed + { + $value = $data; + foreach (explode('.', $path) as $part) { + if (is_object($value)) { + $value = (array) $value; + } + if (!is_array($value) || !array_key_exists($part, $value)) { + return null; + } + $value = $value[$part]; + } + + return $value; + } +} diff --git a/tests/Tests/DataCollector/RequestDataCollectorTest.php b/tests/Tests/DataCollector/RequestDataCollectorTest.php new file mode 100644 index 00000000..df16e622 --- /dev/null +++ b/tests/Tests/DataCollector/RequestDataCollectorTest.php @@ -0,0 +1,87 @@ +collector = new RequestDataCollector(); + } + + public function testLeavesUrisWithoutSensitiveParamsAlone(): void + { + $uri = '/orders?page=2&sort=created_at'; + + $this->assertEquals($uri, $this->collector->hideMaskedUri($uri)); + } + + public function testLeavesUrisWithoutAQueryStringAlone(): void + { + $this->assertEquals('/orders', $this->collector->hideMaskedUri('/orders')); + $this->assertEquals('/orders?', $this->collector->hideMaskedUri('/orders?')); + } + + public function testMasksSensitiveQueryParams(): void + { + $this->assertEquals( + '/callback?state=xyz&access_token=ab***yz', + $this->collector->hideMaskedUri('/callback?state=xyz&access_token=abcdefghijklmnopqrstuvwxyz') + ); + } + + public function testMasksNestedAndEncodedParamNames(): void + { + $this->assertEquals( + '/search?filter%5Bpassword%5D=hu***', + $this->collector->hideMaskedUri('/search?filter%5Bpassword%5D=hunter2') + ); + } + + public function testMasksExplicitlyAddedKeys(): void + { + $this->collector->addMaskedKeys(['email']); + + $this->assertEquals( + '/users?email=ba***nl', + $this->collector->hideMaskedUri('/users?email=barry@fruitcake.nl') + ); + } + + public function testKeepsValuelessParams(): void + { + $this->assertEquals('/orders?debug&token=****', $this->collector->hideMaskedUri('/orders?debug&token=abcd')); + } + + public function testSummaryListsParamNamesButNotValues(): void + { + $_GET = ['page' => '2', 'q' => 'secret search term']; + $_SERVER['REQUEST_URI'] = '/search'; + + $summary = $this->collector->collect()['summary']; + + $this->assertEquals('page, q', $summary['get']); + $this->assertStringNotContainsString('secret search term', json_encode($summary)); + + $_GET = []; + unset($_SERVER['REQUEST_URI']); + } + + public function testSummaryCapsLongKeyLists(): void + { + $_SESSION = array_fill_keys(array_map(fn($i) => "key$i", range(1, 13)), 'x'); + + $summary = $this->collector->collect()['summary']; + + $this->assertStringEndsWith('(+3 more)', $summary['session']); + + $_SESSION = []; + } +} diff --git a/tests/Tests/OpenHandlerTest.php b/tests/Tests/OpenHandlerTest.php index 6b679a8f..a881f66f 100644 --- a/tests/Tests/OpenHandlerTest.php +++ b/tests/Tests/OpenHandlerTest.php @@ -6,6 +6,7 @@ use DebugBar\DebugBarException; use DebugBar\OpenHandler; +use DebugBar\Tests\DataCollector\MockCollector; use DebugBar\Tests\Storage\MockStorage; class OpenHandlerTest extends DebugBarTestCase @@ -43,6 +44,35 @@ public function testGetMissingId(): void $this->openHandler->handle(['op' => 'get'], false, false); } + public function testSummary(): void + { + $this->debugbar->addCollector(new MockCollector( + ['summary' => ['answer' => 42]], + 'mock', + ['mock' => ['widget' => 'Foo'], 'mock:summary' => ['map' => 'mock.summary']] + )); + $this->debugbar->getStorage()->save('bar', ['__meta' => ['id' => 'bar'], 'mock' => ['summary' => ['answer' => 42]]]); + + $result = $this->openHandler->handle(['op' => 'summary', 'id' => 'bar'], false, false); + + $this->assertStringContainsString('# PHP DebugBar summary', $result); + $this->assertStringContainsString("## Mock\nanswer = 42", $result); + } + + public function testSummarySendsPlainText(): void + { + $this->openHandler->handle(['op' => 'summary', 'id' => 'foo'], false, true); + + $this->assertEquals('text/plain; charset=utf-8', $this->httpDriver->headers['Content-Type']); + } + + public function testSummaryWithoutIdUsesTheLatestDataset(): void + { + $result = $this->openHandler->handle(['op' => 'summary'], false, false); + + $this->assertStringContainsString('id = foo', $result); + } + public function testClear(): void { $result = $this->openHandler->handle(['op' => 'clear'], false, false); diff --git a/tests/Tests/SummaryFormatterTest.php b/tests/Tests/SummaryFormatterTest.php new file mode 100644 index 00000000..28aa4445 --- /dev/null +++ b/tests/Tests/SummaryFormatterTest.php @@ -0,0 +1,133 @@ +assertEquals( + "count = 2\nfailed = false", + SummaryFormatter::formatValue(['count' => 2, 'failed' => false]) + ); + } + + public function testFormatsListsAsBullets(): void + { + $this->assertEquals( + "- first\n- second", + SummaryFormatter::formatValue(['first', 'second']) + ); + } + + public function testIndentsNestedValues(): void + { + $summary = [ + 'count' => 1, + 'exceptions' => [ + ['type' => 'RuntimeException', 'at' => 'Foo.php:12', 'trace' => ['Bar.php(3)']], + ], + ]; + + $this->assertEquals( + implode("\n", [ + 'count = 1', + 'exceptions:', + ' - type = RuntimeException', + ' at = Foo.php:12', + ' trace:', + ' - Bar.php(3)', + ]), + SummaryFormatter::formatValue($summary) + ); + } + + public function testFormatsNullAndScalars(): void + { + $this->assertEquals('null', SummaryFormatter::formatValue(null)); + $this->assertEquals('true', SummaryFormatter::formatValue(true)); + $this->assertEquals('12', SummaryFormatter::formatValue(12)); + } + + public function testGetSummaryUsesDeclaredSummaryWidgets(): void + { + $this->debugbar->addCollector(new MockCollector( + ['summary' => ['answer' => 42]], + 'mock', + ['mock' => ['widget' => 'Foo', 'map' => 'mock'], 'mock:summary' => ['map' => 'mock.summary']] + )); + + $summary = $this->debugbar->getSummary(); + + $this->assertStringContainsString('# PHP DebugBar summary', $summary); + $this->assertStringContainsString("## Mock\nanswer = 42", $summary); + } + + public function testGetSummaryPrefersTheDeclaredControlTitle(): void + { + $this->debugbar->addCollector(new MockCollector( + ['summary' => ['answer' => 42]], + 'mock', + ['mock' => ['widget' => 'Foo', 'title' => 'Custom title'], 'mock:summary' => ['map' => 'mock.summary']] + )); + + $this->assertStringContainsString('## Custom title', $this->debugbar->getSummary()); + } + + public function testGetSummaryFallsBackToDatasetsFromUnknownCollectors(): void + { + $formatter = new SummaryFormatter($this->debugbar); + + $sections = $formatter->getSections([ + '__meta' => ['id' => 'abc'], + 'unregistered' => ['summary' => ['hello' => 'world']], + ]); + + $this->assertEquals(['Unregistered' => ['hello' => 'world']], $sections); + } + + public function testGetSummarySkipsCollectorsWithoutASummary(): void + { + $this->debugbar->addCollector(new MessagesCollector()); + + $summary = $this->debugbar->getSummary(); + + // A collector with nothing to say contributes no section + $this->assertStringNotContainsString('## Messages', $summary); + } + + public function testGetSummaryIncludesMetaButNotTheUnmaskedUri(): void + { + $_SERVER['REQUEST_URI'] = '/checkout?token=super-secret-value'; + $this->debugbar->addCollector(new RequestDataCollector()); + + $summary = $this->debugbar->getSummary(); + + $this->assertStringContainsString('datetime = ', $summary); + $this->assertStringNotContainsString('super-secret-value', $summary); + $this->assertStringContainsString('uri = /checkout?token=su***ue', $summary); + + unset($_SERVER['REQUEST_URI']); + } + + public function testTruncatesOverlongSummaries(): void + { + $this->debugbar->addCollector(new MockCollector( + ['summary' => ['big' => str_repeat('x', 500)]], + 'mock', + ['mock' => ['widget' => 'Foo'], 'mock:summary' => ['map' => 'mock.summary']] + )); + + $formatter = new SummaryFormatter($this->debugbar); + $summary = $formatter->format($this->debugbar->getData(), 100); + + $this->assertStringEndsWith("\n\n(summary truncated)", $summary); + } +} diff --git a/tests/Tests/full_init.html b/tests/Tests/full_init.html index 55917f57..d198cc1d 100644 --- a/tests/Tests/full_init.html +++ b/tests/Tests/full_init.html @@ -7,6 +7,7 @@ phpdebugbar.setDataMap({ "messages": ["messages.messages", []], "messages:badge": ["messages.count", null], +"messages:summary": ["messages.summary", null], "time": ["time", "0s"] }); phpdebugbar.restoreState(); From 9c634b5f4c94466e645a52c671a543518cda07b2 Mon Sep 17 00:00:00 2001 From: "Barry vd. Heuvel" Date: Thu, 20 Aug 2026 15:07:27 +0200 Subject: [PATCH 3/3] Update summaries --- resources/debugbar.css | 7 +++++-- resources/debugbar.js | 6 ++++-- resources/dist/debugbar.min.css | 2 +- resources/dist/debugbar.min.js | 2 +- src/DataCollector/MessagesCollector.php | 4 ++-- src/DataCollector/PDO/PDOCollector.php | 12 +++++++----- src/SummaryFormatter.php | 8 ++++++-- tests/Tests/SummaryFormatterTest.php | 25 +++++++++++++++++++++++++ 8 files changed, 51 insertions(+), 15 deletions(-) diff --git a/resources/debugbar.css b/resources/debugbar.css index 3815dceb..7c4264fa 100644 --- a/resources/debugbar.css +++ b/resources/debugbar.css @@ -10,6 +10,7 @@ div.phpdebugbar-openhandler, div.phpdebugbar-widgets-datasets-panel { --debugbar-background: #F7F7F7; --debugbar-background-alt: #EFEFEF; + --debugbar-surface-sunken: #FFFFFF; --debugbar-text: #222; --debugbar-text-muted: #888; --debugbar-border: #eee; @@ -44,6 +45,7 @@ div.phpdebugbar-openhandler[data-theme='dark'], div.phpdebugbar-widgets-datasets-panel[data-theme='dark'] { --debugbar-background: #2a2a2a; --debugbar-background-alt: #333333; + --debugbar-surface-sunken: #1c1c1c; --debugbar-text: #e0e0e0; --debugbar-text-muted: #aaaaaa; --debugbar-border: #3a3a3a; @@ -592,8 +594,9 @@ div.phpdebugbar-summary-float div.phpdebugbar-summary-content { font-size: 11px; line-height: 1.4; color: var(--debugbar-text); - padding: 6px; - background-color: var(--debugbar-background-alt); + padding: 8px; + background-color: var(--debugbar-surface-sunken); + border: 1px solid var(--debugbar-header-border); border-radius: 3px; } div.phpdebugbar-summary-float div.phpdebugbar-summary-actions { diff --git a/resources/debugbar.js b/resources/debugbar.js index f7abdf45..f8d718b2 100644 --- a/resources/debugbar.js +++ b/resources/debugbar.js @@ -2022,10 +2022,12 @@ window.PhpDebugBar = window.PhpDebugBar || {}; const blocks = ['# PHP DebugBar summary']; // The raw uri in __meta is unmasked, so the request collector's masked one is - // used instead; it shows up as part of its own section. + // used instead; it shows up as part of its own section. The client ip is left + // out for the same reason: summaries are made to be pasted elsewhere. + // Keep this list in sync with SummaryFormatter::format(). const meta = this.datasets[datasetId ?? this.activeDatasetId].__meta || {}; const header = {}; - for (const key of ['id', 'datetime', 'ip']) { + for (const key of ['id', 'datetime', 'method']) { if (meta[key]) { header[key] = meta[key]; } diff --git a/resources/dist/debugbar.min.css b/resources/dist/debugbar.min.css index 937c7a4f..76ed25fa 100644 --- a/resources/dist/debugbar.min.css +++ b/resources/dist/debugbar.min.css @@ -1,4 +1,4 @@ -:root{--debugbar-icon-adjustments: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2010a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%204v4%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2012v8%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2016a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%204v10%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2018v2%22%20%2F%3E%20%3Cpath%20d%3D%22M16%207a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%204v1%22%20%2F%3E%20%3Cpath%20d%3D%22M18%209v11%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-adjustments-horizontal: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%206a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206l8%200%22%20%2F%3E%20%3Cpath%20d%3D%22M16%206l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2012a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012l2%200%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2012l10%200%22%20%2F%3E%20%3Cpath%20d%3D%22M15%2018a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2018l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M19%2018l1%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrow-right: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2012l14%200%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2018l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M13%206l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-left-right: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2017l-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2010l-3%20-3l3%20-3%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207l18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2020l3%20-3l-3%20-3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bolt: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%203l0%207l6%200l-8%2011l0%20-7l-6%200l8%20-11%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bookmark: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M18%207v14l-6%20-4l-6%204v-14a4%204%200%200%201%204%20-4h4a4%204%200%200%201%204%204%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-box: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%203l8%204.5l0%209l-8%204.5l-8%20-4.5l0%20-9l8%20-4.5%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l8%20-4.5%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l0%209%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l-8%20-4.5%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-briefcase: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%209a2%202%200%200%201%202%20-2h14a2%202%200%200%201%202%202v9a2%202%200%200%201%20-2%202h-14a2%202%200%200%201%20-2%20-2l0%20-9%22%20%2F%3E%20%3Cpath%20d%3D%22M8%207v-2a2%202%200%200%201%202%20-2h4a2%202%200%200%201%202%202v2%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2013a20%2020%200%200%200%2018%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bug: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%209v-1a3%203%200%200%201%206%200v1%22%20%2F%3E%20%3Cpath%20d%3D%22M8%209h8a6%206%200%200%201%201%203v3a5%205%200%200%201%20-10%200v-3a6%206%200%200%201%201%20-3%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2013l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2013l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2020l0%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2019l3.35%20-2%22%20%2F%3E%20%3Cpath%20d%3D%22M20%2019l-3.35%20-2%22%20%2F%3E%20%3Cpath%20d%3D%22M4%207l3.75%202.4%22%20%2F%3E%20%3Cpath%20d%3D%22M20%207l-3.75%202.4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-calendar: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%207a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-12a2%202%200%200%201%20-2%20-2v-12%22%20%2F%3E%20%3Cpath%20d%3D%22M16%203v4%22%20%2F%3E%20%3Cpath%20d%3D%22M8%203v4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2011h16%22%20%2F%3E%20%3Cpath%20d%3D%22M11%2015h1%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2015v3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chart-infographic: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207a4%204%200%201%200%208%200a4%204%200%201%200%20-8%200%22%20%2F%3E%20%3Cpath%20d%3D%22M7%203v4h4%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2017l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2014l0%207%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2013l0%208%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2012l0%209%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-clock: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%2018%200a9%209%200%200%200%20-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%207v5l3%203%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-code: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M7%208l-4%204l4%204%22%20%2F%3E%20%3Cpath%20d%3D%22M17%208l4%204l-4%204%22%20%2F%3E%20%3Cpath%20d%3D%22M14%204l-4%2016%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-database: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206a8%203%200%201%200%2016%200a8%203%200%201%200%20-16%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206v6a8%203%200%200%200%2016%200v-6%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012v6a8%203%200%200%200%2016%200v-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-file-code: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M14%203v4a1%201%200%200%200%201%201h4%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2021h-10a2%202%200%200%201%20-2%20-2v-14a2%202%200%200%201%202%20-2h7l5%205v11a2%202%200%200%201%20-2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2013l-1%202l1%202%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2013l1%202l-1%202%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-flag: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%205a5%205%200%200%201%207%200a5%205%200%200%200%207%200v9a5%205%200%200%201%20-7%200a5%205%200%200%200%20-7%200v-9%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2021v-7%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-history: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%208l0%204l2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M3.05%2011a9%209%200%201%201%20.5%204m-.5%205v-5h5%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-inbox: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-12a2%202%200%200%201%20-2%20-2l0%20-12%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2013h3l3%203h4l3%20-3h3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-leaf: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2021c.5%20-4.5%202.5%20-8%207%20-10%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2018c6.218%200%2010.5%20-3.288%2011%20-12v-2h-4.014c-9%200%20-11.986%204%20-12%209c0%201%200%203%202%205h3l.014%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-list: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%206l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2012l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2018l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M5%206l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2012l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2018l0%20.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-list-details: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%205h8%22%20%2F%3E%20%3Cpath%20d%3D%22M13%209h5%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2015h8%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2019h5%22%20%2F%3E%20%3Cpath%20d%3D%22M3%205a1%201%200%200%201%201%20-1h4a1%201%200%200%201%201%201v4a1%201%200%200%201%20-1%201h-4a1%201%200%200%201%20-1%20-1l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2015a1%201%200%200%201%201%20-1h4a1%201%200%200%201%201%201v4a1%201%200%200%201%20-1%201h-4a1%201%200%200%201%20-1%20-1l0%20-4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-logs: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2018h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2018h2%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2012h2%22%20%2F%3E%20%3Cpath%20d%3D%22M8%206h2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%206h6%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2012h6%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2018h6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-mobiledata: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2012v-8%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2020v-8%22%20%2F%3E%20%3Cpath%20d%3D%22M13%207l3%20-3l3%203%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2017l3%203l3%20-3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-search: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010a7%207%200%201%200%2014%200a7%207%200%201%200%20-14%200%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2021l-6%20-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-server-cog: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207a3%203%200%200%201%203%20-3h12a3%203%200%200%201%203%203v2a3%203%200%200%201%20-3%203h-12a3%203%200%200%201%20-3%20-3v-2%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2020h-6a3%203%200%200%201%20-3%20-3v-2a3%203%200%200%201%203%20-3h10.5%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2018a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2014.5v1.5%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2020v1.5%22%20%2F%3E%20%3Cpath%20d%3D%22M21.032%2016.25l-1.299%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M16.27%2019l-1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M14.97%2016.25l1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M19.733%2019l1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M7%208v.01%22%20%2F%3E%20%3Cpath%20d%3D%22M7%2016v.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-share-3: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%204v4c-6.575%201.028%20-9.02%206.788%20-10%2012c-.037%20.206%205.384%20-5.962%2010%20-6v4l8%20-7l-8%20-7%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-tags: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%208v4.172a2%202%200%200%200%20.586%201.414l5.71%205.71a2.41%202.41%200%200%200%203.408%200l3.592%20-3.592a2.41%202.41%200%200%200%200%20-3.408l-5.71%20-5.71a2%202%200%200%200%20-1.414%20-.586h-4.172a2%202%200%200%200%20-2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2019l1.592%20-1.592a4.82%204.82%200%200%200%200%20-6.816l-4.592%20-4.592%22%20%2F%3E%20%3Cpath%20d%3D%22M7%2010h-.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-x: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M18%206l-12%2012%22%20%2F%3E%20%3Cpath%20d%3D%22M6%206l12%2012%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-maximize: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M16%204l4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2010l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2020l-4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2020l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2020l4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2014l6%206%22%20%2F%3E%20%3Cpath%20d%3D%22M8%204l-4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M4%204l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-minimize: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%209l4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M3%203l6%206%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2015l4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2021l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M19%209l-4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M15%209l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M19%2015l-4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M15%2015l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chevron-down: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M6%209l6%206l6%20-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chevron-up: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2015l6%20-6l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-folder-open: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2019l2.757%20-7.351a1%201%200%200%201%20.936%20-.649h12.307a1%201%200%200%201%20.986%201.164l-.996%205.211a2%202%200%200%201%20-1.964%201.625h-14.026a2%202%200%200%201%20-2%20-2v-11a2%202%200%200%201%202%20-2h4l3%203h7a2%202%200%200%201%202%202v2%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-brand-php: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M2%2012a10%209%200%201%200%2020%200a10%209%200%201%200%20-20%200%22%20%2F%3E%20%3Cpath%20d%3D%22M5.5%2015l.395%20-1.974l.605%20-3.026h1.32a1%201%200%200%201%20.986%201.164l-.167%201a1%201%200%200%201%20-.986%20.836h-1.653%22%20%2F%3E%20%3Cpath%20d%3D%22M15.5%2015l.395%20-1.974l.605%20-3.026h1.32a1%201%200%200%201%20.986%201.164l-.167%201a1%201%200%200%201%20-.986%20.836h-1.653%22%20%2F%3E%20%3Cpath%20d%3D%22M12%207.5l-1%205.5%22%20%2F%3E%20%3Cpath%20d%3D%22M11.6%2010h2.4l-.5%203%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-refresh: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M20%2011a8.1%208.1%200%200%200%20-15.5%20-2m-.5%20-4v4h4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2013a8.1%208.1%200%200%200%2015.5%202m.5%204v-4h-4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-cpu: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%206a1%201%200%200%201%201%20-1h12a1%201%200%200%201%201%201v12a1%201%200%200%201%20-1%201h-12a1%201%200%200%201%20-1%20-1l0%20-12%22%20%2F%3E%20%3Cpath%20d%3D%22M9%209h6v6h-6l0%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010h2%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2014h2%22%20%2F%3E%20%3Cpath%20d%3D%22M10%203v2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%203v2%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2010h-2%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2014h-2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2021v-2%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2021v-2%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-table: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%205a2%202%200%200%201%202%20-2h14a2%202%200%200%201%202%202v14a2%202%200%200%201%20-2%202h-14a2%202%200%200%201%20-2%20-2v-14%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010h18%22%20%2F%3E%20%3Cpath%20d%3D%22M10%203v18%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-link: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2015l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M11%206l.463%20-.536a5%205%200%200%201%207.071%207.072l-.534%20.464%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2018l-.397%20.534a5.068%205.068%200%200%201%20-7.127%200a4.972%204.972%200%200%201%200%20-7.071l.524%20-.463%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-copy: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M7%209.667a2.667%202.667%200%200%201%202.667%20-2.667h8.666a2.667%202.667%200%200%201%202.667%202.667v8.666a2.667%202.667%200%200%201%20-2.667%202.667h-8.666a2.667%202.667%200%200%201%20-2.667%20-2.667l0%20-8.666%22%20%2F%3E%20%3Cpath%20d%3D%22M4.012%2016.737a2.005%202.005%200%200%201%20-1.012%20-1.737v-10c0%20-1.1%20.9%20-2%202%20-2h10c.75%200%201.158%20.385%201.5%201%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-circle-check: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%2018%200a9%209%200%201%200%20-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2012l2%202l4%20-4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-external-link: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%206h-6a2%202%200%200%200%20-2%202v10a2%202%200%200%200%202%202h10a2%202%200%200%200%202%20-2v-6%22%20%2F%3E%20%3Cpath%20d%3D%22M11%2013l9%20-9%22%20%2F%3E%20%3Cpath%20d%3D%22M15%204h5v5%22%20%2F%3E%20%3C%2Fsvg%3E)}.phpdebugbar-icon-adjustments:before{-webkit-mask-image:var(--debugbar-icon-adjustments);mask-image:var(--debugbar-icon-adjustments)}.phpdebugbar-icon-adjustments-horizontal:before{-webkit-mask-image:var(--debugbar-icon-adjustments-horizontal);mask-image:var(--debugbar-icon-adjustments-horizontal)}.phpdebugbar-icon-arrow-right:before{-webkit-mask-image:var(--debugbar-icon-arrow-right);mask-image:var(--debugbar-icon-arrow-right)}.phpdebugbar-icon-arrows-left-right:before{-webkit-mask-image:var(--debugbar-icon-arrows-left-right);mask-image:var(--debugbar-icon-arrows-left-right)}.phpdebugbar-icon-bolt:before{-webkit-mask-image:var(--debugbar-icon-bolt);mask-image:var(--debugbar-icon-bolt)}.phpdebugbar-icon-bookmark:before{-webkit-mask-image:var(--debugbar-icon-bookmark);mask-image:var(--debugbar-icon-bookmark)}.phpdebugbar-icon-box:before{-webkit-mask-image:var(--debugbar-icon-box);mask-image:var(--debugbar-icon-box)}.phpdebugbar-icon-briefcase:before{-webkit-mask-image:var(--debugbar-icon-briefcase);mask-image:var(--debugbar-icon-briefcase)}.phpdebugbar-icon-bug:before{-webkit-mask-image:var(--debugbar-icon-bug);mask-image:var(--debugbar-icon-bug)}.phpdebugbar-icon-calendar:before{-webkit-mask-image:var(--debugbar-icon-calendar);mask-image:var(--debugbar-icon-calendar)}.phpdebugbar-icon-chart-infographic:before{-webkit-mask-image:var(--debugbar-icon-chart-infographic);mask-image:var(--debugbar-icon-chart-infographic)}.phpdebugbar-icon-clock:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}.phpdebugbar-icon-code:before{-webkit-mask-image:var(--debugbar-icon-code);mask-image:var(--debugbar-icon-code)}.phpdebugbar-icon-database:before{-webkit-mask-image:var(--debugbar-icon-database);mask-image:var(--debugbar-icon-database)}.phpdebugbar-icon-file-code:before{-webkit-mask-image:var(--debugbar-icon-file-code);mask-image:var(--debugbar-icon-file-code)}.phpdebugbar-icon-flag:before{-webkit-mask-image:var(--debugbar-icon-flag);mask-image:var(--debugbar-icon-flag)}.phpdebugbar-icon-history:before{-webkit-mask-image:var(--debugbar-icon-history);mask-image:var(--debugbar-icon-history)}.phpdebugbar-icon-inbox:before{-webkit-mask-image:var(--debugbar-icon-inbox);mask-image:var(--debugbar-icon-inbox)}.phpdebugbar-icon-leaf:before{-webkit-mask-image:var(--debugbar-icon-leaf);mask-image:var(--debugbar-icon-leaf)}.phpdebugbar-icon-list:before{-webkit-mask-image:var(--debugbar-icon-list);mask-image:var(--debugbar-icon-list)}.phpdebugbar-icon-list-details:before{-webkit-mask-image:var(--debugbar-icon-list-details);mask-image:var(--debugbar-icon-list-details)}.phpdebugbar-icon-logs:before{-webkit-mask-image:var(--debugbar-icon-logs);mask-image:var(--debugbar-icon-logs)}.phpdebugbar-icon-mobiledata:before{-webkit-mask-image:var(--debugbar-icon-mobiledata);mask-image:var(--debugbar-icon-mobiledata)}.phpdebugbar-icon-search:before{-webkit-mask-image:var(--debugbar-icon-search);mask-image:var(--debugbar-icon-search)}.phpdebugbar-icon-server-cog:before{-webkit-mask-image:var(--debugbar-icon-server-cog);mask-image:var(--debugbar-icon-server-cog)}.phpdebugbar-icon-share-3:before{-webkit-mask-image:var(--debugbar-icon-share-3);mask-image:var(--debugbar-icon-share-3)}.phpdebugbar-icon-tags:before{-webkit-mask-image:var(--debugbar-icon-tags);mask-image:var(--debugbar-icon-tags)}.phpdebugbar-icon-x:before{-webkit-mask-image:var(--debugbar-icon-x);mask-image:var(--debugbar-icon-x)}.phpdebugbar-icon-arrows-maximize:before{-webkit-mask-image:var(--debugbar-icon-arrows-maximize);mask-image:var(--debugbar-icon-arrows-maximize)}.phpdebugbar-icon-arrows-minimize:before{-webkit-mask-image:var(--debugbar-icon-arrows-minimize);mask-image:var(--debugbar-icon-arrows-minimize)}.phpdebugbar-icon-chevron-down:before{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}.phpdebugbar-icon-chevron-up:before{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}.phpdebugbar-icon-folder-open:before{-webkit-mask-image:var(--debugbar-icon-folder-open);mask-image:var(--debugbar-icon-folder-open)}.phpdebugbar-icon-brand-php:before{-webkit-mask-image:var(--debugbar-icon-brand-php);mask-image:var(--debugbar-icon-brand-php)}.phpdebugbar-icon-refresh:before{-webkit-mask-image:var(--debugbar-icon-refresh);mask-image:var(--debugbar-icon-refresh)}.phpdebugbar-icon-cpu:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}.phpdebugbar-icon-table:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}.phpdebugbar-icon-link:before{-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link)}.phpdebugbar-icon-copy:before{-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy)}.phpdebugbar-icon-circle-check:before{-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}.phpdebugbar-icon-external-link:before{-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link)}@media print{div.phpdebugbar{display:none}}div.phpdebugbar,div.phpdebugbar-openhandler,div.phpdebugbar-widgets-datasets-panel{--debugbar-background: #F7F7F7;--debugbar-background-alt: #EFEFEF;--debugbar-text: #222;--debugbar-text-muted: #888;--debugbar-border: #eee;--debugbar-header: #efefef;--debugbar-header-text: #555;--debugbar-header-border: #ddd;--debugbar-active: #ccc;--debugbar-active-text: #666;--debugbar-icons: #555;--debugbar-badge: #ccc;--debugbar-badge-text: #555;--debugbar-badge-active: #477e96;--debugbar-badge-active-text: #fff;--debugbar-link: #888;--debugbar-hover: #aaa;--debugbar-accent: #6BB7D8;--debugbar-accent-border: #477e96;--debugbar-font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--debugbar-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--debugbar-icon-brand: var(--debugbar-icon-brand-php)}div.phpdebugbar[data-theme=dark],div.phpdebugbar-openhandler[data-theme=dark],div.phpdebugbar-widgets-datasets-panel[data-theme=dark]{--debugbar-background: #2a2a2a;--debugbar-background-alt: #333333;--debugbar-text: #e0e0e0;--debugbar-text-muted: #aaaaaa;--debugbar-border: #3a3a3a;--debugbar-header: #1e1e1e;--debugbar-header-text: #cccccc;--debugbar-header-border: #444;--debugbar-active: #444;--debugbar-active-text: #e0e0e0;--debugbar-icons: #cccccc;--debugbar-badge: #444;--debugbar-badge-text: #cccccc;--debugbar-badge-active: #4F8FB3;--debugbar-badge-active-text: #1e1e1e;--debugbar-accent: #4F8FB3;--debugbar-accent-border: #3F7A94;--debugbar-link: #aaaaaa;--debugbar-hover: #888888}div.phpdebugbar{position:fixed;bottom:0;left:0;width:100%;border-top:0;font-family:var(--debugbar-font-sans);background:var(--debugbar-background);z-index:100000000;font-size:13px;color:var(--debugbar-text);text-align:left;line-height:1.2em;letter-spacing:normal;direction:ltr}div.phpdebugbar.phpdebugbar-fullscreen,div.phpdebugbar.phpdebugbar-fullscreen[data-toolbarPosition=top]{top:0;bottom:0;display:flex;flex-direction:column}div.phpdebugbar.phpdebugbar-fullscreen .phpdebugbar-body{flex:1;height:calc(100% - 32px)!important}div.phpdebugbar.phpdebugbar-fullscreen .phpdebugbar-resize-handle{display:none}.phpdebugbar [hidden]{display:none!important}div.phpdebugbar[data-openBtnPosition=bottomRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=topRight].phpdebugbar-closed{left:auto;right:0}div.phpdebugbar[data-openBtnPosition=topRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=topLeft].phpdebugbar-closed{bottom:auto;top:0;border-bottom:1px solid var(--debugbar-header-border)}div.phpdebugbar[data-openBtnPosition=bottomRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=bottomLeft].phpdebugbar-closed{border-top:1px solid var(--debugbar-header-border)}.phpdebugbar-closed[data-openBtnPosition=bottomLeft],.phpdebugbar-closed[data-openBtnPosition=topLeft]{border-right:1px solid var(--debugbar-header-border)}.phpdebugbar-closed[data-openBtnPosition=bottomRight],.phpdebugbar-closed[data-openBtnPosition=topRight]{border-left:1px solid var(--debugbar-header-border)}div.phpdebugbar a,div.phpdebugbar-openhandler{cursor:pointer}div.phpdebugbar-drag-capture{position:fixed;inset:0;z-index:100000001;background:none;display:none;cursor:row-resize}div.phpdebugbar-closed{width:auto}div.phpdebugbar *{margin:0;padding:0;border:0;font-weight:400;text-decoration:none;clear:initial;width:auto;direction:ltr;text-align:left;-moz-box-sizing:content-box;box-sizing:content-box}div.phpdebugbar select,div.phpdebugbar input{appearance:auto}div.phpdebugbar ol,div.phpdebugbar ul{list-style:none}div.phpdebugbar ul li,div.phpdebugbar ol li,div.phpdebugbar dl li{line-height:normal}div.phpdebugbar table,.phpdebugbar-openhandler table{border-collapse:collapse;border-spacing:0;color:inherit}div.phpdebugbar input[type=text],div.phpdebugbar input[type=password],div.phpdebugbar select{font-family:var(--debugbar-font-sans);background:var(--debugbar-background);font-size:14px;color:var(--debugbar-text);padding:0;border:1px solid var(--debugbar-border);border-radius:.25rem;margin:0}div.phpdebugbar code,div.phpdebugbar pre,div.phpdebugbar samp{background:none;font-family:var(--debugbar-font-mono);font-size:1em;border:0!important;padding:0;margin:0}div.phpdebugbar code,div.phpdebugbar pre{color:var(--debugbar-text)}div.phpdebugbar pre.sf-dump{background:none!important;z-index:0!important;display:block!important;color:#a0a000;outline:0}div.phpdebugbar pre.sf-dump .sf-dump-private{color:gray}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-public{color:#fc0}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-protected{color:#a0a000}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-private{color:#9d9266}a.phpdebugbar-restore-btn{float:left;padding:4px;font-size:14px;color:var(--debugbar-icons);text-decoration:none;width:24px;height:24px}div.phpdebugbar-resize-handle{height:4px;margin-top:-4px;width:100%;background:none;border-bottom:1px solid var(--debugbar-header-border);cursor:row-resize}div.phpdebugbar-minimized div.phpdebugbar-resize-handle{cursor:auto}div.phpdebugbar-resize-handle.phpdebugbar-resize-handle-bottom{margin-top:4px}div.phpdebugbar-minimized{border-top:1px solid var(--debugbar-header-border)}div.phpdebugbar-minimized[data-toolbarPosition=top]{border-top:0;border-bottom:1px solid var(--debugbar-header-border)}div.phpdebugbar[data-toolbarPosition=top]{bottom:auto;top:0}div.phpdebugbar[data-toolbarPosition=top] div.phpdebugbar-resize-handle-top{height:0;display:none}div.phpdebugbar[data-toolbarPosition=top] div.phpdebugbar-resize-handle-bottom{margin-top:0}div.phpdebugbar[data-toolbarPosition=bottom] div.phpdebugbar-resize-handle-bottom{height:0;margin-top:0}a.phpdebugbar-restore-btn:after{-webkit-mask-image:var(--debugbar-icon-brand);mask-image:var(--debugbar-icon-brand);-webkit-mask-size:20px 20px;mask-size:20px 20px;background-color:var(--debugbar-icons)}div.phpdebugbar-header{background-color:var(--debugbar-header);min-height:32px;line-height:16px}div.phpdebugbar-header:before,div.phpdebugbar-header:after{display:table;line-height:0;content:""}div.phpdebugbar-header:after{clear:both}div.phpdebugbar-header-left{float:left}div.phpdebugbar-header-right{float:right}div.phpdebugbar-header>div>*{padding:5px;font-size:13px;height:22px;color:var(--debugbar-header-text);text-decoration:none}div.phpdebugbar-header-left>*,div.phpdebugbar-header-right>*{line-height:0;display:flex;align-items:center}div.phpdebugbar-header-left>*{float:left}div.phpdebugbar-header-right>*{float:right}div.phpdebugbar-header-right select{padding:0;line-height:1em;background-color:var(--debugbar-header);color:var(--debugbar-header-text)}span.phpdebugbar-indicator,a.phpdebugbar-indicator{border-right:1px solid var(--debugbar-header-border)}.phpdebugbar[data-hideEmptyTabs=true] .phpdebugbar-tab[data-empty=true]:not(.phpdebugbar-active){display:none}a.phpdebugbar-tab.phpdebugbar-active{background:var(--debugbar-active);color:var(--debugbar-active-text)}a.phpdebugbar-tab .phpdebugbar-text{font-size:14px}a.phpdebugbar-tab span.phpdebugbar-badge{display:none;margin-left:5px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge);border-radius:4px;color:var(--debugbar-badge-text);font-weight:400;text-shadow:none}a.phpdebugbar-tab.phpdebugbar-active span.phpdebugbar-badge{background:var(--debugbar-badge-active);color:var(--debugbar-badge-active-text)}a.phpdebugbar-tab i{display:none;vertical-align:middle}.phpdebugbar-icon,i.phpdebugbar-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.phpdebugbar-icon:before,i.phpdebugbar-icon:before{content:"";display:block;justify-content:center;flex-shrink:0;width:1.3em;height:1.3em;background-size:contain;background-repeat:no-repeat;background-position:center;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}.phpdebugbar-icon-brand:before{-webkit-mask-image:var(--debugbar-icon-brand);mask-image:var(--debugbar-icon-brand)}a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-visible{display:inline}a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-important{background:#ed6868;color:#fff}a.phpdebugbar-close-btn,a.phpdebugbar-open-btn,a.phpdebugbar-summary-btn,a.phpdebugbar-fullscreen-btn,a.phpdebugbar-minimize-btn,a.phpdebugbar-maximize-btn,a.phpdebugbar-tab.phpdebugbar-tab-history,a.phpdebugbar-tab.phpdebugbar-tab-settings{width:16px;height:22px;position:relative}a.phpdebugbar-close-btn:after,a.phpdebugbar-open-btn:after,a.phpdebugbar-summary-btn:after,a.phpdebugbar-restore-btn:after,a.phpdebugbar-fullscreen-btn:after,a.phpdebugbar-minimize-btn:after,a.phpdebugbar-maximize-btn:after{content:" ";display:block;left:0;position:absolute;top:0;width:100%;height:100%;background-color:var(--debugbar-icons);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:18px 18px;mask-size:18px 18px}a.phpdebugbar-restore-btn:after{-webkit-mask-size:24px 24px;mask-size:24px 24px;mask-repeat:no-repeat;mask-position:center;position:relative}a.phpdebugbar-minimize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}a.phpdebugbar-maximize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}div.phpdebugbar[data-toolbarPosition=top] a.phpdebugbar-minimize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}div.phpdebugbar[data-toolbarPosition=top] a.phpdebugbar-maximize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}a.phpdebugbar-close-btn:after{-webkit-mask-image:var(--debugbar-icon-x);mask-image:var(--debugbar-icon-x)}a.phpdebugbar-fullscreen-btn:after{-webkit-mask-image:var(--debugbar-icon-arrows-maximize);mask-image:var(--debugbar-icon-arrows-maximize)}div.phpdebugbar.phpdebugbar-fullscreen a.phpdebugbar-fullscreen-btn:after{-webkit-mask-image:var(--debugbar-icon-arrows-minimize);mask-image:var(--debugbar-icon-arrows-minimize)}a.phpdebugbar-open-btn:after{-webkit-mask-image:var(--debugbar-icon-folder-open);mask-image:var(--debugbar-icon-folder-open)}a.phpdebugbar-summary-btn:after{-webkit-mask-image:var(--debugbar-icon-list-details);mask-image:var(--debugbar-icon-list-details)}a.phpdebugbar-summary-btn.phpdebugbar-summary-btn-active:after{background-color:var(--debugbar-text)}div.phpdebugbar-header-right>div.phpdebugbar-summary-float{position:relative}div.phpdebugbar-summary-float>div.phpdebugbar-summary-popover{position:absolute;bottom:100%;right:0;z-index:4;width:420px;max-width:min(420px,90vw);max-height:50vh;margin-bottom:4px;padding:8px;display:flex;flex-direction:column;gap:6px;line-height:normal;text-align:left;background-color:var(--debugbar-background);border:1px solid var(--debugbar-border);border-radius:4px;box-shadow:0 4px 12px #00000040}div.phpdebugbar[data-toolbarPosition=top] div.phpdebugbar-summary-float>div.phpdebugbar-summary-popover{bottom:auto;top:100%;margin-bottom:0;margin-top:4px}div.phpdebugbar-summary-float div.phpdebugbar-summary-scope{flex:1 1 auto;min-width:0;display:flex;gap:4px}div.phpdebugbar-summary-float button.phpdebugbar-summary-scope-btn{flex:0 1 auto;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 8px;font-size:11px;font-family:inherit;line-height:1.4;color:var(--debugbar-text-muted);background-color:transparent;border:1px solid transparent;border-radius:3px;cursor:pointer}div.phpdebugbar-summary-float button.phpdebugbar-summary-scope-btn:hover{color:var(--debugbar-text)}div.phpdebugbar-summary-float button.phpdebugbar-summary-scope-btn.phpdebugbar-summary-scope-active{color:var(--debugbar-text);background-color:var(--debugbar-background-alt);border-color:var(--debugbar-border);cursor:default}div.phpdebugbar-summary-float div.phpdebugbar-summary-content{flex:1 1 auto;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--debugbar-font-mono);font-size:11px;line-height:1.4;color:var(--debugbar-text);padding:6px;background-color:var(--debugbar-background-alt);border-radius:3px}div.phpdebugbar-summary-float div.phpdebugbar-summary-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px}div.phpdebugbar-summary-float button.phpdebugbar-summary-copy{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-family:inherit;color:var(--debugbar-text);background-color:var(--debugbar-background-alt);border:1px solid var(--debugbar-border);border-radius:3px;cursor:pointer;line-height:1.4}div.phpdebugbar-summary-float button.phpdebugbar-summary-copy:hover{background-color:var(--debugbar-header)}div.phpdebugbar-summary-float button.phpdebugbar-summary-copy:before{content:"";display:inline-block;width:11px;height:11px;-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;background-color:currentColor}div.phpdebugbar-summary-float button.phpdebugbar-summary-copy.phpdebugbar-summary-copied{color:var(--debugbar-success, #4caf50)}div.phpdebugbar-summary-float button.phpdebugbar-summary-copy.phpdebugbar-summary-copied:before{-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}.phpdebugbar-indicator{position:relative;cursor:pointer}.phpdebugbar-indicator span.phpdebugbar-text{margin-left:5px}.phpdebugbar-indicator span.phpdebugbar-tooltip{display:none;position:absolute;bottom:38px;background:var(--debugbar-header);border:1px solid var(--debugbar-header-border);color:var(--debugbar-header-text);font-size:11px;padding:2px 6px;z-index:100000001;text-align:center;white-space:nowrap;right:0;line-height:1.5;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.phpdebugbar-indicator:hover span.phpdebugbar-tooltip:not(.phpdebugbar-disabled){display:block}.phpdebugbar-indicator span.phpdebugbar-tooltip dl{display:grid;grid-gap:4px 10px;grid-template-columns:max-content}.phpdebugbar-indicator span.phpdebugbar-tooltip dl dt{font-weight:700;text-align:left}.phpdebugbar-indicator span.phpdebugbar-tooltip dl dd{margin:0;grid-column-start:2;text-align:left}.phpdebugbar .phpdebugbar-datasets-switcher{float:right}.phpdebugbar .phpdebugbar-datasets-switcher select{max-width:200px;height:22px;padding:4px 0;border:none}.phpdebugbar button,.phpdebugbar-openhandler button{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;margin:0 5px;padding:0 12px;height:20px;line-height:normal;cursor:pointer}div.phpdebugbar-body{border-top:1px solid var(--debugbar-header-border);position:relative;height:300px}div.phpdebugbar-panel{height:100%;overflow:auto;width:100%}div.phpdebugbar-panel.phpdebugbar-active{display:block}div.phpdebugbar-mini-design a.phpdebugbar-tab{position:relative;border-right:1px solid var(--debugbar-header-border)}div.phpdebugbar-mini-design a.phpdebugbar-tab span.phpdebugbar-text{display:none}div.phpdebugbar-mini-design a.phpdebugbar-tab:hover span.phpdebugbar-text{display:block;position:absolute;top:-30px;background:var(--debugbar-background);opacity:1;border:1px solid var(--debugbar-header-border);color:var(--debugbar-header-text);font-size:11px;padding:2px 6px;z-index:100000001;text-align:center;right:0;line-height:1.5;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}div.phpdebugbar-mini-design a.phpdebugbar-tab i{display:inline-block}a.phpdebugbar-tab.phpdebugbar-tab-history{width:auto;min-width:22px}a.phpdebugbar-tab.phpdebugbar-tab-history,a.phpdebugbar-tab.phpdebugbar-tab-settings{display:flex;justify-content:center;align-items:center}a.phpdebugbar-tab.phpdebugbar-tab-history .phpdebugbar-text,a.phpdebugbar-tab.phpdebugbar-tab-settings .phpdebugbar-text{display:none;white-space:nowrap}a.phpdebugbar-tab.phpdebugbar-tab-history i,a.phpdebugbar-tab.phpdebugbar-tab-settings i{display:inline-block}.phpdebugbar-widgets-dataset-history table{width:100%;table-layout:fixed}.phpdebugbar-widgets-dataset-history table th{font-weight:700}.phpdebugbar-widgets-dataset-history table td,.phpdebugbar-widgets-dataset-history table th{padding:6px 3px;border-bottom:1px solid var(--debugbar-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phpdebugbar-widgets-dataset-history table td a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phpdebugbar-widgets-dataset-history table tr.phpdebugbar-widgets-active{background:var(--debugbar-active);color:var(--debugbar-active-text)}.phpdebugbar-widgets-dataset-history span.phpdebugbar-badge{margin:0 5px 0 2px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge);border-radius:4px;color:var(--debugbar-badge-text);font-weight:400;text-shadow:none;vertical-align:middle}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions{text-align:center;padding:7px 0;position:sticky;top:0;background:var(--debugbar-background)}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions a{margin:0 10px}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions input{margin:5px}.phpdebugbar-settings .phpdebugbar-form-row{display:block;border-top:1px solid var(--debugbar-border);min-height:17px;padding:5px 10px}.phpdebugbar-settings .phpdebugbar-form-label{width:200px;font-weight:700;display:inline-block;clear:none}.phpdebugbar-settings .phpdebugbar-form-input{font-weight:700;display:inline-block;clear:none}.phpdebugbar-settings input[type=text],.phpdebugbar-settings select{margin:0 5px;min-width:200px}.phpdebugbar-settings input[type=checkbox]{margin:0 5px}pre.phpdebugbar-widgets-code-block{white-space:pre;word-wrap:normal;overflow:hidden}pre.phpdebugbar-widgets-code-block code{display:block;overflow-x:auto;overflow-y:hidden}pre.phpdebugbar-widgets-code-block code.phpdebugbar-widgets-numbered-code{padding:5px;line-height:normal}pre.phpdebugbar-widgets-code-block ul li.phpdebugbar-widgets-highlighted-line{font-weight:bolder;text-decoration:underline}pre.phpdebugbar-widgets-code-block ul li.phpdebugbar-widgets-highlighted-line span{position:absolute;background:var(--debugbar-text);min-width:calc(100% - 85px);margin-left:10px;opacity:.15}pre.phpdebugbar-widgets-code-block ul{position:static;float:left;padding:5px;border-right:1px solid var(--debugbar-header-border);text-align:right}.phpdebugbar-widgets-kvlist span.phpdebugbar-widgets-filename,li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename,table.phpdebugbar-widgets-tablevar span.phpdebugbar-widgets-filename{display:block;font-style:italic;float:right;margin-left:8px;color:var(--debugbar-link)}a.phpdebugbar-widgets-editor-link,a.phpdebugbar-widgets-external-link{color:var(--debugbar-link)}.phpdebugbar-widgets-kvlist span.phpdebugbar-widgets-filename:hover,li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename:hover,a.phpdebugbar-widgets-editor-link:hover,a.phpdebugbar-widgets-external-link:hover{color:var(--debugbar-hover)}a.phpdebugbar-widgets-editor-link:before,a.phpdebugbar-widgets-copy-clipboard-check:before,a.phpdebugbar-widgets-external-link:after{content:"";display:inline-block;width:1em;height:1em;margin-left:4px;vertical-align:middle;-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}a.phpdebugbar-widgets-copy-clipboard-check:before{margin-left:0;margin-right:4px;-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}table.phpdebugbar-widgets-params{width:70%;margin:10px;border:1px solid var(--debugbar-border);font-family:var(--debugbar-font-mono);font-size:13px;border-collapse:collapse}table.phpdebugbar-widgets-params th{font-weight:700}table.phpdebugbar-widgets-params td{border:1px solid var(--debugbar-border);border-left:none;border-right:none;padding:0 5px}table.phpdebugbar-widgets-params .phpdebugbar-widgets-name{width:20%;font-weight:700;vertical-align:top}.phpdebugbar-widgets-truncated{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}ul.phpdebugbar-widgets-list{margin:0;padding:0;list-style:none;font-family:var(--debugbar-font-mono)}ul.phpdebugbar-widgets-list li.phpdebugbar-widgets-list-item{padding:7px 10px;border-bottom:1px solid var(--debugbar-border);position:relative;overflow:hidden}div.phpdebugbar-widgets-messages{position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column}div.phpdebugbar-widgets-messages ul.phpdebugbar-widgets-list{padding-bottom:45px;flex:1;overflow-y:auto}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value{display:flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value:before{margin-right:8px;font-family:system-ui,sans-serif;font-size:1.25em;line-height:1;display:inline-flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success{color:#28a745}.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success{color:#56db3a}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success:before{content:"\2713"}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-alert:before{content:"\2139";color:#cbcf38}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-debug:before{color:#78d79a}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-warning:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-emergency:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-notice:before{content:"\26a0";color:#ecb03d}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-critical{color:red}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-critical:before{content:"\2716"}.phpdebugbar-widgets-params .phpdebugbar-widgets-value pre.sf-dump,dl.phpdebugbar-widgets-kvlist dd.phpdebugbar-widgets-value pre.sf-dump,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item pre.sf-dump{display:inline-block!important;padding-top:0;padding-left:0;padding-bottom:0}dl.phpdebugbar-widgets-kvlist dd.phpdebugbar-widgets-value pre.sf-dump{max-width:calc(100% - 5px)}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-label{float:right;font-size:12px;padding:2px 4px;color:#888;margin:0 2px;text-decoration:none;text-shadow:none;background:none;font-weight:400}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-context-count{float:right;font-size:12px;padding:2px 4px;color:#888;margin:0 2px;text-decoration:none;text-shadow:none;background:none;font-weight:400;display:inline-flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-context-count:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector{color:#555;font-style:italic}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar{position:relative;flex-shrink:0;width:100%;background:var(--debugbar-header);color:var(--debugbar-text);border-top:1px solid var(--debugbar-border);border-bottom:0px;height:20px;padding:4px 0}div.phpdebugbar-widgets-messages li .phpdebugbar-widgets-label-called-from{float:right;color:var(--debugbar-text-muted);padding-left:5px;border-bottom:1px dotted var(--debugbar-border)}div.phpdebugbar-widgets-messages li .phpdebugbar-widgets-label-called-from:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input{border:0;margin:0 0 0 7px;width:30%;box-shadow:none;border-radius:3px;padding:2px 6px;height:15px}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input:focus{outline:none}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter{float:right;font-size:12px;padding:2px 4px;background:#7cacd5;margin:0 2px;border-radius:4px;color:var(--debugbar-background);text-decoration:none}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded{background:var(--debugbar-active);color:var(--debugbar-text-muted)}dl.phpdebugbar-widgets-kvlist{margin:0;display:grid;grid-template-columns:minmax(160px,15%) minmax(0,1fr)}dl.phpdebugbar-widgets-kvlist dt{grid-column:1;min-width:0;padding:5px 10px;border-top:1px solid var(--debugbar-border);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}dl.phpdebugbar-widgets-kvlist dd{grid-column:2;margin:0;padding:5px 10px;border-top:1px solid var(--debugbar-border);cursor:pointer;min-height:17px;overflow-wrap:anywhere;overflow-x:auto}dl.phpdebugbar-widgets-varlist,dl.phpdebugbar-widgets-jsonvarlist,dl.phpdebugbar-widgets-htmlvarlist{font-family:var(--debugbar-font-mono)}dl.phpdebugbar-widgets-jsonvarlist dd,dl.phpdebugbar-widgets-htmlvarlist dd{cursor:initial}ul.phpdebugbar-widgets-timeline{margin:0;padding:0;list-style:none}ul.phpdebugbar-widgets-timeline .phpdebugbar-widgets-measure{height:20px;position:relative;border:none;display:block}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label,ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-collector{position:absolute;font-size:12px;font-family:var(--debugbar-font-mono);color:var(--debugbar-text);top:4px;left:5px;background:none;text-shadow:none;font-weight:400;white-space:pre}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-collector{left:initial;right:5px}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-value{display:block;position:absolute;height:calc(100% - 4px);background-color:var(--debugbar-accent);border-bottom:2px solid var(--debugbar-accent-border);top:2px;border-radius:3px;min-width:2px}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item{cursor:pointer}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-message{display:block;color:red}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-type{display:block;position:absolute;right:4px;top:4px;font-weight:700}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-file{margin:10px;padding:5px;border:1px solid var(--debugbar-border);font-family:var(--debugbar-font-mono)}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename{float:none}div.phpdebugbar[data-theme=dark] code.phpdebugbar-widgets-sql,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-name,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-key,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-success>pre.sf-dump>.sf-dump-note{color:#fdfd96}table.phpdebugbar-widgets-tablevar{width:100%;table-layout:auto;font-size:1em}table.phpdebugbar-widgets-tablevar td:first-child{width:150px;white-space:nowrap;font-family:var(--debugbar-font-mono)}table.phpdebugbar-widgets-tablevar td.phpdebugbar-widgets-editor{width:5%;white-space:nowrap;text-align:right}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td{font-weight:700}table.phpdebugbar-widgets-tablevar td{padding:2px 4px;border-bottom:1px solid var(--debugbar-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td{position:sticky;inset-inline-start:0px;background:var(--debugbar-background);border-bottom:none;z-index:1;top:0;bottom:0}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td:after,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:var(--debugbar-border)}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td:after{bottom:auto;top:0}div.phpdebugbar span.phpdebugbar-widgets-badge{margin:0 5px 0 8px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge-active);border-radius:4px;color:var(--debugbar-badge-active-text);font-weight:400;text-shadow:none;vertical-align:middle}.phpdebugbar .phpdebugbar-widgets-datasets-switcher-widget{position:relative;float:right;display:flex;padding:0!important;margin:0!important;height:32px;align-items:center}.phpdebugbar .phpdebugbar-widgets-datasets-badge{position:relative;display:flex;align-items:center;gap:6px;padding:0 10px;height:32px;background:var(--debugbar-header);color:var(--debugbar-header-text);cursor:pointer;font-size:12px;line-height:normal;transition:background-color .15s;font-family:var(--debugbar-font-sans);border-right:1px solid var(--debugbar-header-border)}.phpdebugbar .phpdebugbar-widgets-datasets-badge:hover{background:var(--debugbar-active)}.phpdebugbar .phpdebugbar-widgets-datasets-badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:9px;font-weight:600;font-size:11px}.phpdebugbar .phpdebugbar-widgets-datasets-badge-count[hidden]{display:none}.phpdebugbar .phpdebugbar-widgets-datasets-badge-url{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-panel{position:fixed;width:600px;background:var(--debugbar-background);border:1px solid var(--debugbar-border);box-shadow:0 2px 8px #0000001a;overflow:hidden;z-index:100000001}.phpdebugbar-widgets-datasets-panel-toolbar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--debugbar-background-alt);border-bottom:1px solid var(--debugbar-border);font-size:12px;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-autoshow{display:flex;align-items:center;gap:4px;cursor:pointer;color:var(--debugbar-text);white-space:nowrap;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-autoshow input[type=checkbox]{cursor:pointer;margin:0}.phpdebugbar-widgets-datasets-clear-btn,.phpdebugbar-widgets-datasets-showall-btn{color:var(--debugbar-link);text-decoration:none;cursor:pointer;white-space:nowrap;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-clear-btn:hover,.phpdebugbar-widgets-datasets-showall-btn:hover{color:var(--debugbar-hover);text-decoration:underline}.phpdebugbar-widgets-datasets-refresh-btn{color:var(--debugbar-text-muted);text-decoration:none;cursor:pointer;white-space:nowrap;font-size:14px;display:inline-flex;align-items:center}.phpdebugbar-widgets-datasets-refresh-btn[hidden]{display:none}.phpdebugbar-widgets-datasets-refresh-btn:hover,.phpdebugbar-widgets-datasets-refresh-btn.phpdebugbar-widgets-active{color:var(--debugbar-text)}.phpdebugbar-widgets-datasets-refresh-btn.phpdebugbar-widgets-active i{animation:phpdebugbar-spin 2s linear infinite}@keyframes phpdebugbar-spin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.phpdebugbar-widgets-datasets-search{flex:1;padding:3px 8px;font-size:11px;min-width:120px;border:1px solid var(--debugbar-border);background:var(--debugbar-background);color:var(--debugbar-text);border-radius:2px;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-list{max-height:300px;overflow-y:auto}.phpdebugbar-widgets-datasets-list-item{display:grid;grid-template-columns:45px 50px 1fr auto auto auto;gap:6px;padding:5px 10px;border-bottom:1px solid var(--debugbar-border);cursor:pointer;transition:background-color .1s;align-items:center;font-size:11px}.phpdebugbar-widgets-datasets-list-item[hidden]{display:none}.phpdebugbar-widgets-datasets-list-item:hover{background:var(--debugbar-background-alt)}.phpdebugbar-widgets-datasets-list-item.phpdebugbar-widgets-active{background:var(--debugbar-active);font-weight:500}.phpdebugbar-widgets-datasets-item-nb{color:var(--debugbar-text-muted);font-weight:600;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-copy-id{cursor:pointer;color:var(--debugbar-text-muted);display:inline-flex;align-items:center;margin-right:-4px;position:relative}.phpdebugbar-widgets-datasets-item-copy-id i{font-size:12px}.phpdebugbar-widgets-datasets-item-copy-id:hover{color:var(--debugbar-text)}.phpdebugbar-widgets-datasets-item-copy-id.phpdebugbar-widgets-copied{color:var(--debugbar-success, #28a745)}.phpdebugbar-widgets-datasets-item-time{color:var(--debugbar-text-muted);font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-request{display:flex;gap:6px;align-items:center;overflow:hidden}.phpdebugbar-widgets-datasets-item-method{padding:1px 5px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:2px;font-weight:600;font-family:var(--debugbar-font-mono);flex-shrink:0}.phpdebugbar-widgets-datasets-item-url{color:var(--debugbar-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-suffix{color:var(--debugbar-text-muted);font-family:var(--debugbar-font-mono);flex-shrink:0}.phpdebugbar-widgets-datasets-item-badges{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}.phpdebugbar-widgets-datasets-item-badge{display:inline-flex;align-items:center;gap:2px;padding:1px 4px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:2px;font-size:10px;font-weight:600;cursor:pointer;transition:background-color .1s}.phpdebugbar-widgets-datasets-item-badge:hover{background:var(--debugbar-badge-active);color:var(--debugbar-badge-active-text)}.phpdebugbar-widgets-datasets-item-badge i{width:12px;height:12px}div.phpdebugbar-openhandler-overlay{position:fixed;left:0;top:0;width:100%;height:100%;background:#000;opacity:.3;z-index:100000002}div.phpdebugbar-openhandler{position:fixed;margin:auto;inset:0;width:80%;height:70%;background:var(--debugbar-background);color:var(--debugbar-text);border:2px solid var(--debugbar-header-border);overflow:auto;z-index:100000003;font-family:var(--debugbar-font-sans);font-size:14px;padding:0}div.phpdebugbar-openhandler select,div.phpdebugbar-openhandler input{appearance:auto}div.phpdebugbar-openhandler input,div.phpdebugbar-openhandler select{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;height:20px;margin:0 5px;padding:0}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions input[name=uri]{width:200px}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions input[name=ip]{width:90px}div.phpdebugbar-openhandler a{color:var(--debugbar-header-text)}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header{background:var(--debugbar-header) no-repeat 5px 4px;color:var(--debugbar-header-text);margin-bottom:10px;display:flex;align-items:center;padding:5px 8px}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-closebtn,div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-brand{font-size:14px;color:var(--debugbar-header-text);text-decoration:none;padding-right:5px;line-height:1;align-items:center}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-closebtn{margin-left:auto}div.phpdebugbar-openhandler table{width:100%;table-layout:fixed;font-size:14px}div.phpdebugbar-openhandler table td,div.phpdebugbar-openhandler table th{border:0px solid var(--debugbar-border);padding:2px 8px}div.phpdebugbar-openhandler table th,div.phpdebugbar-openhandler table tr:nth-child(2n){background-color:var(--debugbar-background-alt)}div.phpdebugbar-openhandler table th:nth-child(3),div.phpdebugbar-openhandler table td:nth-child(3),div.phpdebugbar-openhandler table th:nth-child(5),div.phpdebugbar-openhandler table td:nth-child(5),div.phpdebugbar-openhandler table th:nth-child(6),div.phpdebugbar-openhandler table td:nth-child(6){text-align:center}div.phpdebugbar-openhandler table td{padding:6px 3px;border-bottom:1px solid var(--debugbar-border)}div.phpdebugbar-openhandler table td a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phpdebugbar-openhandler-id-cell{display:flex;align-items:center;gap:4px}.phpdebugbar-openhandler-id-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55px;display:inline-block;font-family:var(--debugbar-font-mono);font-size:12px}.phpdebugbar-openhandler-copy-id{cursor:pointer;color:var(--debugbar-text-muted);display:inline-flex;align-items:center;position:relative;flex-shrink:0}.phpdebugbar-openhandler-copy-id i{font-size:12px}.phpdebugbar-openhandler-copy-id:hover{color:var(--debugbar-text)}.phpdebugbar-openhandler-copy-id.phpdebugbar-openhandler-copied{color:var(--debugbar-success, #28a745)}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions{text-align:center;padding:7px 0}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions a{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;margin:5px;padding:4px 12px}div.phpdebugbar-widgets-mails span.phpdebugbar-widgets-subject{display:block}div.phpdebugbar-widgets-mails li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-headers{margin:10px;padding:5px;border:1px solid var(--debugbar-border)!important;font-family:var(--debugbar-font-mono)}div.phpdebugbar-widgets-sqlqueries{position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-status{font-family:var(--debugbar-font-mono);padding:6px;border-bottom:1px solid var(--debugbar-border);font-weight:700;color:var(--debugbar-text);background-color:var(--debugbar-background-alt);flex-shrink:0;order:1}div.phpdebugbar-widgets-sqlqueries ul.phpdebugbar-widgets-list{flex:1;overflow-y:auto;order:2}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-error{color:red}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id{float:right;margin-left:8px;color:var(--debugbar-text-muted)}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-database,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-duration,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-row-count,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-copy-clipboard,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-stmt-id{color:var(--debugbar-text)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard-check:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before{-webkit-mask-image:var(--debugbar-icon-database);mask-image:var(--debugbar-icon-database)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before{-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before{-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard-check:before{-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-error{display:block;font-weight:700}code.phpdebugbar-widgets-sql{white-space:pre-wrap;overflow-wrap:break-word;word-wrap:break-word}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-slow{background-color:#ffe4e4}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate{background-color:#fdfdcd}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-slow{background-color:#623100}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate{background-color:#565602}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar{position:relative;flex-shrink:0;width:100%;z-index:1;order:3}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter{float:right;font-size:12px;padding:2px 4px;background:#7cacd5;margin:0 2px;border-radius:4px;color:#fff;text-decoration:none}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded{background:var(--debugbar-background);color:var(--debugbar-text)}div.phpdebugbar-widgets-sqlqueries a.phpdebugbar-widgets-duplicates{font-weight:700;text-decoration:underline}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item div.phpdebugbar-widgets-bg-measure{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-bg-measure div.phpdebugbar-widgets-value{position:absolute;bottom:0;height:1px;opacity:1;background:var(--debugbar-accent-border)}div.phpdebugbar-widgets-sqlqueries td.phpdebugbar-widgets-value li.phpdebugbar-widgets-table-list-item{text-align:left;padding-left:6px}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-text-muted{color:var(--debugbar-text-muted)}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction,div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-message,div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-info{font-weight:bolder}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction{color:#d73a49}[data-theme=dark] div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction{color:#ff7b72}div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status{font-family:var(--debugbar-font-mono);padding:6px;border-bottom:1px solid var(--debugbar-border);font-weight:700;color:var(--debugbar-text);background-color:var(--debugbar-background-alt)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type{float:right;margin-left:8px;color:var(--debugbar-text)}div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-render-time,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-param-count,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status a.phpdebugbar-widgets-editor-link,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-type{color:var(--debugbar-text)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before{-webkit-mask-image:var(--debugbar-icon-code);mask-image:var(--debugbar-icon-code)}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-callgraph>pre *{background-color:inherit!important}pre code.phpdebugbar-hljs{display:block;overflow-x:auto;padding:1em}code.phpdebugbar-hljs{padding:3px 5px}/*! +:root{--debugbar-icon-adjustments: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2010a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%204v4%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2012v8%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2016a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%204v10%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2018v2%22%20%2F%3E%20%3Cpath%20d%3D%22M16%207a2%202%200%201%200%204%200a2%202%200%200%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%204v1%22%20%2F%3E%20%3Cpath%20d%3D%22M18%209v11%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-adjustments-horizontal: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%206a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206l8%200%22%20%2F%3E%20%3Cpath%20d%3D%22M16%206l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2012a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012l2%200%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2012l10%200%22%20%2F%3E%20%3Cpath%20d%3D%22M15%2018a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2018l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M19%2018l1%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrow-right: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2012l14%200%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2018l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M13%206l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-left-right: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2017l-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2010l-3%20-3l3%20-3%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207l18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2020l3%20-3l-3%20-3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bolt: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%203l0%207l6%200l-8%2011l0%20-7l-6%200l8%20-11%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bookmark: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M18%207v14l-6%20-4l-6%204v-14a4%204%200%200%201%204%20-4h4a4%204%200%200%201%204%204%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-box: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%203l8%204.5l0%209l-8%204.5l-8%20-4.5l0%20-9l8%20-4.5%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l8%20-4.5%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l0%209%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l-8%20-4.5%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-briefcase: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%209a2%202%200%200%201%202%20-2h14a2%202%200%200%201%202%202v9a2%202%200%200%201%20-2%202h-14a2%202%200%200%201%20-2%20-2l0%20-9%22%20%2F%3E%20%3Cpath%20d%3D%22M8%207v-2a2%202%200%200%201%202%20-2h4a2%202%200%200%201%202%202v2%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2013a20%2020%200%200%200%2018%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-bug: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%209v-1a3%203%200%200%201%206%200v1%22%20%2F%3E%20%3Cpath%20d%3D%22M8%209h8a6%206%200%200%201%201%203v3a5%205%200%200%201%20-10%200v-3a6%206%200%200%201%201%20-3%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2013l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2013l4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2020l0%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2019l3.35%20-2%22%20%2F%3E%20%3Cpath%20d%3D%22M20%2019l-3.35%20-2%22%20%2F%3E%20%3Cpath%20d%3D%22M4%207l3.75%202.4%22%20%2F%3E%20%3Cpath%20d%3D%22M20%207l-3.75%202.4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-calendar: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%207a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-12a2%202%200%200%201%20-2%20-2v-12%22%20%2F%3E%20%3Cpath%20d%3D%22M16%203v4%22%20%2F%3E%20%3Cpath%20d%3D%22M8%203v4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2011h16%22%20%2F%3E%20%3Cpath%20d%3D%22M11%2015h1%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2015v3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chart-infographic: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207a4%204%200%201%200%208%200a4%204%200%201%200%20-8%200%22%20%2F%3E%20%3Cpath%20d%3D%22M7%203v4h4%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2017l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2014l0%207%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2013l0%208%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2012l0%209%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-clock: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%2018%200a9%209%200%200%200%20-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M12%207v5l3%203%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-code: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M7%208l-4%204l4%204%22%20%2F%3E%20%3Cpath%20d%3D%22M17%208l4%204l-4%204%22%20%2F%3E%20%3Cpath%20d%3D%22M14%204l-4%2016%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-database: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206a8%203%200%201%200%2016%200a8%203%200%201%200%20-16%200%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206v6a8%203%200%200%200%2016%200v-6%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012v6a8%203%200%200%200%2016%200v-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-file-code: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M14%203v4a1%201%200%200%200%201%201h4%22%20%2F%3E%20%3Cpath%20d%3D%22M17%2021h-10a2%202%200%200%201%20-2%20-2v-14a2%202%200%200%201%202%20-2h7l5%205v11a2%202%200%200%201%20-2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2013l-1%202l1%202%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2013l1%202l-1%202%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-flag: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%205a5%205%200%200%201%207%200a5%205%200%200%200%207%200v9a5%205%200%200%201%20-7%200a5%205%200%200%200%20-7%200v-9%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2021v-7%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-history: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%208l0%204l2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M3.05%2011a9%209%200%201%201%20.5%204m-.5%205v-5h5%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-inbox: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-12a2%202%200%200%201%20-2%20-2l0%20-12%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2013h3l3%203h4l3%20-3h3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-leaf: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2021c.5%20-4.5%202.5%20-8%207%20-10%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2018c6.218%200%2010.5%20-3.288%2011%20-12v-2h-4.014c-9%200%20-11.986%204%20-12%209c0%201%200%203%202%205h3l.014%200%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-list: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%206l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2012l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2018l11%200%22%20%2F%3E%20%3Cpath%20d%3D%22M5%206l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2012l0%20.01%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2018l0%20.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-list-details: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%205h8%22%20%2F%3E%20%3Cpath%20d%3D%22M13%209h5%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2015h8%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2019h5%22%20%2F%3E%20%3Cpath%20d%3D%22M3%205a1%201%200%200%201%201%20-1h4a1%201%200%200%201%201%201v4a1%201%200%200%201%20-1%201h-4a1%201%200%200%201%20-1%20-1l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2015a1%201%200%200%201%201%20-1h4a1%201%200%200%201%201%201v4a1%201%200%200%201%20-1%201h-4a1%201%200%200%201%20-1%20-1l0%20-4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-logs: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2012h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M4%206h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2018h.01%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2018h2%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2012h2%22%20%2F%3E%20%3Cpath%20d%3D%22M8%206h2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%206h6%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2012h6%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2018h6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-mobiledata: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2012v-8%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2020v-8%22%20%2F%3E%20%3Cpath%20d%3D%22M13%207l3%20-3l3%203%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2017l3%203l3%20-3%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-search: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010a7%207%200%201%200%2014%200a7%207%200%201%200%20-14%200%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2021l-6%20-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-server-cog: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%207a3%203%200%200%201%203%20-3h12a3%203%200%200%201%203%203v2a3%203%200%200%201%20-3%203h-12a3%203%200%200%201%20-3%20-3v-2%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2020h-6a3%203%200%200%201%20-3%20-3v-2a3%203%200%200%201%203%20-3h10.5%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2018a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2014.5v1.5%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2020v1.5%22%20%2F%3E%20%3Cpath%20d%3D%22M21.032%2016.25l-1.299%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M16.27%2019l-1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M14.97%2016.25l1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M19.733%2019l1.3%20.75%22%20%2F%3E%20%3Cpath%20d%3D%22M7%208v.01%22%20%2F%3E%20%3Cpath%20d%3D%22M7%2016v.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-share-3: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M13%204v4c-6.575%201.028%20-9.02%206.788%20-10%2012c-.037%20.206%205.384%20-5.962%2010%20-6v4l8%20-7l-8%20-7%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-tags: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%208v4.172a2%202%200%200%200%20.586%201.414l5.71%205.71a2.41%202.41%200%200%200%203.408%200l3.592%20-3.592a2.41%202.41%200%200%200%200%20-3.408l-5.71%20-5.71a2%202%200%200%200%20-1.414%20-.586h-4.172a2%202%200%200%200%20-2%202%22%20%2F%3E%20%3Cpath%20d%3D%22M18%2019l1.592%20-1.592a4.82%204.82%200%200%200%200%20-6.816l-4.592%20-4.592%22%20%2F%3E%20%3Cpath%20d%3D%22M7%2010h-.01%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-x: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M18%206l-12%2012%22%20%2F%3E%20%3Cpath%20d%3D%22M6%206l12%2012%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-maximize: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M16%204l4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2010l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M8%2020l-4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2020l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2020l4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2014l6%206%22%20%2F%3E%20%3Cpath%20d%3D%22M8%204l-4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M4%204l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-arrows-minimize: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%209l4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M3%203l6%206%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2015l4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2021l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M19%209l-4%200l0%20-4%22%20%2F%3E%20%3Cpath%20d%3D%22M15%209l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M19%2015l-4%200l0%204%22%20%2F%3E%20%3Cpath%20d%3D%22M15%2015l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chevron-down: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M6%209l6%206l6%20-6%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-chevron-up: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M6%2015l6%20-6l6%206%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-folder-open: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%2019l2.757%20-7.351a1%201%200%200%201%20.936%20-.649h12.307a1%201%200%200%201%20.986%201.164l-.996%205.211a2%202%200%200%201%20-1.964%201.625h-14.026a2%202%200%200%201%20-2%20-2v-11a2%202%200%200%201%202%20-2h4l3%203h7a2%202%200%200%201%202%202v2%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-brand-php: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M2%2012a10%209%200%201%200%2020%200a10%209%200%201%200%20-20%200%22%20%2F%3E%20%3Cpath%20d%3D%22M5.5%2015l.395%20-1.974l.605%20-3.026h1.32a1%201%200%200%201%20.986%201.164l-.167%201a1%201%200%200%201%20-.986%20.836h-1.653%22%20%2F%3E%20%3Cpath%20d%3D%22M15.5%2015l.395%20-1.974l.605%20-3.026h1.32a1%201%200%200%201%20.986%201.164l-.167%201a1%201%200%200%201%20-.986%20.836h-1.653%22%20%2F%3E%20%3Cpath%20d%3D%22M12%207.5l-1%205.5%22%20%2F%3E%20%3Cpath%20d%3D%22M11.6%2010h2.4l-.5%203%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-refresh: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M20%2011a8.1%208.1%200%200%200%20-15.5%20-2m-.5%20-4v4h4%22%20%2F%3E%20%3Cpath%20d%3D%22M4%2013a8.1%208.1%200%200%200%2015.5%202m.5%204v-4h-4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-cpu: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M5%206a1%201%200%200%201%201%20-1h12a1%201%200%200%201%201%201v12a1%201%200%200%201%20-1%201h-12a1%201%200%200%201%20-1%20-1l0%20-12%22%20%2F%3E%20%3Cpath%20d%3D%22M9%209h6v6h-6l0%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010h2%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2014h2%22%20%2F%3E%20%3Cpath%20d%3D%22M10%203v2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%203v2%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2010h-2%22%20%2F%3E%20%3Cpath%20d%3D%22M21%2014h-2%22%20%2F%3E%20%3Cpath%20d%3D%22M14%2021v-2%22%20%2F%3E%20%3Cpath%20d%3D%22M10%2021v-2%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-table: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%205a2%202%200%200%201%202%20-2h14a2%202%200%200%201%202%202v14a2%202%200%200%201%20-2%202h-14a2%202%200%200%201%20-2%20-2v-14%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2010h18%22%20%2F%3E%20%3Cpath%20d%3D%22M10%203v18%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-link: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2015l6%20-6%22%20%2F%3E%20%3Cpath%20d%3D%22M11%206l.463%20-.536a5%205%200%200%201%207.071%207.072l-.534%20.464%22%20%2F%3E%20%3Cpath%20d%3D%22M13%2018l-.397%20.534a5.068%205.068%200%200%201%20-7.127%200a4.972%204.972%200%200%201%200%20-7.071l.524%20-.463%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-copy: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M7%209.667a2.667%202.667%200%200%201%202.667%20-2.667h8.666a2.667%202.667%200%200%201%202.667%202.667v8.666a2.667%202.667%200%200%201%20-2.667%202.667h-8.666a2.667%202.667%200%200%201%20-2.667%20-2.667l0%20-8.666%22%20%2F%3E%20%3Cpath%20d%3D%22M4.012%2016.737a2.005%202.005%200%200%201%20-1.012%20-1.737v-10c0%20-1.1%20.9%20-2%202%20-2h10c.75%200%201.158%20.385%201.5%201%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-circle-check: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M3%2012a9%209%200%201%200%2018%200a9%209%200%201%200%20-18%200%22%20%2F%3E%20%3Cpath%20d%3D%22M9%2012l2%202l4%20-4%22%20%2F%3E%20%3C%2Fsvg%3E);--debugbar-icon-external-link: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%20%2F%3E%20%3Cpath%20d%3D%22M12%206h-6a2%202%200%200%200%20-2%202v10a2%202%200%200%200%202%202h10a2%202%200%200%200%202%20-2v-6%22%20%2F%3E%20%3Cpath%20d%3D%22M11%2013l9%20-9%22%20%2F%3E%20%3Cpath%20d%3D%22M15%204h5v5%22%20%2F%3E%20%3C%2Fsvg%3E)}.phpdebugbar-icon-adjustments:before{-webkit-mask-image:var(--debugbar-icon-adjustments);mask-image:var(--debugbar-icon-adjustments)}.phpdebugbar-icon-adjustments-horizontal:before{-webkit-mask-image:var(--debugbar-icon-adjustments-horizontal);mask-image:var(--debugbar-icon-adjustments-horizontal)}.phpdebugbar-icon-arrow-right:before{-webkit-mask-image:var(--debugbar-icon-arrow-right);mask-image:var(--debugbar-icon-arrow-right)}.phpdebugbar-icon-arrows-left-right:before{-webkit-mask-image:var(--debugbar-icon-arrows-left-right);mask-image:var(--debugbar-icon-arrows-left-right)}.phpdebugbar-icon-bolt:before{-webkit-mask-image:var(--debugbar-icon-bolt);mask-image:var(--debugbar-icon-bolt)}.phpdebugbar-icon-bookmark:before{-webkit-mask-image:var(--debugbar-icon-bookmark);mask-image:var(--debugbar-icon-bookmark)}.phpdebugbar-icon-box:before{-webkit-mask-image:var(--debugbar-icon-box);mask-image:var(--debugbar-icon-box)}.phpdebugbar-icon-briefcase:before{-webkit-mask-image:var(--debugbar-icon-briefcase);mask-image:var(--debugbar-icon-briefcase)}.phpdebugbar-icon-bug:before{-webkit-mask-image:var(--debugbar-icon-bug);mask-image:var(--debugbar-icon-bug)}.phpdebugbar-icon-calendar:before{-webkit-mask-image:var(--debugbar-icon-calendar);mask-image:var(--debugbar-icon-calendar)}.phpdebugbar-icon-chart-infographic:before{-webkit-mask-image:var(--debugbar-icon-chart-infographic);mask-image:var(--debugbar-icon-chart-infographic)}.phpdebugbar-icon-clock:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}.phpdebugbar-icon-code:before{-webkit-mask-image:var(--debugbar-icon-code);mask-image:var(--debugbar-icon-code)}.phpdebugbar-icon-database:before{-webkit-mask-image:var(--debugbar-icon-database);mask-image:var(--debugbar-icon-database)}.phpdebugbar-icon-file-code:before{-webkit-mask-image:var(--debugbar-icon-file-code);mask-image:var(--debugbar-icon-file-code)}.phpdebugbar-icon-flag:before{-webkit-mask-image:var(--debugbar-icon-flag);mask-image:var(--debugbar-icon-flag)}.phpdebugbar-icon-history:before{-webkit-mask-image:var(--debugbar-icon-history);mask-image:var(--debugbar-icon-history)}.phpdebugbar-icon-inbox:before{-webkit-mask-image:var(--debugbar-icon-inbox);mask-image:var(--debugbar-icon-inbox)}.phpdebugbar-icon-leaf:before{-webkit-mask-image:var(--debugbar-icon-leaf);mask-image:var(--debugbar-icon-leaf)}.phpdebugbar-icon-list:before{-webkit-mask-image:var(--debugbar-icon-list);mask-image:var(--debugbar-icon-list)}.phpdebugbar-icon-list-details:before{-webkit-mask-image:var(--debugbar-icon-list-details);mask-image:var(--debugbar-icon-list-details)}.phpdebugbar-icon-logs:before{-webkit-mask-image:var(--debugbar-icon-logs);mask-image:var(--debugbar-icon-logs)}.phpdebugbar-icon-mobiledata:before{-webkit-mask-image:var(--debugbar-icon-mobiledata);mask-image:var(--debugbar-icon-mobiledata)}.phpdebugbar-icon-search:before{-webkit-mask-image:var(--debugbar-icon-search);mask-image:var(--debugbar-icon-search)}.phpdebugbar-icon-server-cog:before{-webkit-mask-image:var(--debugbar-icon-server-cog);mask-image:var(--debugbar-icon-server-cog)}.phpdebugbar-icon-share-3:before{-webkit-mask-image:var(--debugbar-icon-share-3);mask-image:var(--debugbar-icon-share-3)}.phpdebugbar-icon-tags:before{-webkit-mask-image:var(--debugbar-icon-tags);mask-image:var(--debugbar-icon-tags)}.phpdebugbar-icon-x:before{-webkit-mask-image:var(--debugbar-icon-x);mask-image:var(--debugbar-icon-x)}.phpdebugbar-icon-arrows-maximize:before{-webkit-mask-image:var(--debugbar-icon-arrows-maximize);mask-image:var(--debugbar-icon-arrows-maximize)}.phpdebugbar-icon-arrows-minimize:before{-webkit-mask-image:var(--debugbar-icon-arrows-minimize);mask-image:var(--debugbar-icon-arrows-minimize)}.phpdebugbar-icon-chevron-down:before{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}.phpdebugbar-icon-chevron-up:before{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}.phpdebugbar-icon-folder-open:before{-webkit-mask-image:var(--debugbar-icon-folder-open);mask-image:var(--debugbar-icon-folder-open)}.phpdebugbar-icon-brand-php:before{-webkit-mask-image:var(--debugbar-icon-brand-php);mask-image:var(--debugbar-icon-brand-php)}.phpdebugbar-icon-refresh:before{-webkit-mask-image:var(--debugbar-icon-refresh);mask-image:var(--debugbar-icon-refresh)}.phpdebugbar-icon-cpu:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}.phpdebugbar-icon-table:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}.phpdebugbar-icon-link:before{-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link)}.phpdebugbar-icon-copy:before{-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy)}.phpdebugbar-icon-circle-check:before{-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}.phpdebugbar-icon-external-link:before{-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link)}@media print{div.phpdebugbar{display:none}}div.phpdebugbar,div.phpdebugbar-openhandler,div.phpdebugbar-widgets-datasets-panel{--debugbar-background: #F7F7F7;--debugbar-background-alt: #EFEFEF;--debugbar-surface-sunken: #FFFFFF;--debugbar-text: #222;--debugbar-text-muted: #888;--debugbar-border: #eee;--debugbar-header: #efefef;--debugbar-header-text: #555;--debugbar-header-border: #ddd;--debugbar-active: #ccc;--debugbar-active-text: #666;--debugbar-icons: #555;--debugbar-badge: #ccc;--debugbar-badge-text: #555;--debugbar-badge-active: #477e96;--debugbar-badge-active-text: #fff;--debugbar-link: #888;--debugbar-hover: #aaa;--debugbar-accent: #6BB7D8;--debugbar-accent-border: #477e96;--debugbar-font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--debugbar-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--debugbar-icon-brand: var(--debugbar-icon-brand-php)}div.phpdebugbar[data-theme=dark],div.phpdebugbar-openhandler[data-theme=dark],div.phpdebugbar-widgets-datasets-panel[data-theme=dark]{--debugbar-background: #2a2a2a;--debugbar-background-alt: #333333;--debugbar-surface-sunken: #1c1c1c;--debugbar-text: #e0e0e0;--debugbar-text-muted: #aaaaaa;--debugbar-border: #3a3a3a;--debugbar-header: #1e1e1e;--debugbar-header-text: #cccccc;--debugbar-header-border: #444;--debugbar-active: #444;--debugbar-active-text: #e0e0e0;--debugbar-icons: #cccccc;--debugbar-badge: #444;--debugbar-badge-text: #cccccc;--debugbar-badge-active: #4F8FB3;--debugbar-badge-active-text: #1e1e1e;--debugbar-accent: #4F8FB3;--debugbar-accent-border: #3F7A94;--debugbar-link: #aaaaaa;--debugbar-hover: #888888}div.phpdebugbar{position:fixed;bottom:0;left:0;width:100%;border-top:0;font-family:var(--debugbar-font-sans);background:var(--debugbar-background);z-index:100000000;font-size:13px;color:var(--debugbar-text);text-align:left;line-height:1.2em;letter-spacing:normal;direction:ltr}div.phpdebugbar.phpdebugbar-fullscreen,div.phpdebugbar.phpdebugbar-fullscreen[data-toolbarPosition=top]{top:0;bottom:0;display:flex;flex-direction:column}div.phpdebugbar.phpdebugbar-fullscreen .phpdebugbar-body{flex:1;height:calc(100% - 32px)!important}div.phpdebugbar.phpdebugbar-fullscreen .phpdebugbar-resize-handle{display:none}.phpdebugbar [hidden]{display:none!important}div.phpdebugbar[data-openBtnPosition=bottomRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=topRight].phpdebugbar-closed{left:auto;right:0}div.phpdebugbar[data-openBtnPosition=topRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=topLeft].phpdebugbar-closed{bottom:auto;top:0;border-bottom:1px solid var(--debugbar-header-border)}div.phpdebugbar[data-openBtnPosition=bottomRight].phpdebugbar-closed,div.phpdebugbar[data-openBtnPosition=bottomLeft].phpdebugbar-closed{border-top:1px solid var(--debugbar-header-border)}.phpdebugbar-closed[data-openBtnPosition=bottomLeft],.phpdebugbar-closed[data-openBtnPosition=topLeft]{border-right:1px solid var(--debugbar-header-border)}.phpdebugbar-closed[data-openBtnPosition=bottomRight],.phpdebugbar-closed[data-openBtnPosition=topRight]{border-left:1px solid var(--debugbar-header-border)}div.phpdebugbar a,div.phpdebugbar-openhandler{cursor:pointer}div.phpdebugbar-drag-capture{position:fixed;inset:0;z-index:100000001;background:none;display:none;cursor:row-resize}div.phpdebugbar-closed{width:auto}div.phpdebugbar *{margin:0;padding:0;border:0;font-weight:400;text-decoration:none;clear:initial;width:auto;direction:ltr;text-align:left;-moz-box-sizing:content-box;box-sizing:content-box}div.phpdebugbar select,div.phpdebugbar input{appearance:auto}div.phpdebugbar ol,div.phpdebugbar ul{list-style:none}div.phpdebugbar ul li,div.phpdebugbar ol li,div.phpdebugbar dl li{line-height:normal}div.phpdebugbar table,.phpdebugbar-openhandler table{border-collapse:collapse;border-spacing:0;color:inherit}div.phpdebugbar input[type=text],div.phpdebugbar input[type=password],div.phpdebugbar select{font-family:var(--debugbar-font-sans);background:var(--debugbar-background);font-size:14px;color:var(--debugbar-text);padding:0;border:1px solid var(--debugbar-border);border-radius:.25rem;margin:0}div.phpdebugbar code,div.phpdebugbar pre,div.phpdebugbar samp{background:none;font-family:var(--debugbar-font-mono);font-size:1em;border:0!important;padding:0;margin:0}div.phpdebugbar code,div.phpdebugbar pre{color:var(--debugbar-text)}div.phpdebugbar pre.sf-dump{background:none!important;z-index:0!important;display:block!important;color:#a0a000;outline:0}div.phpdebugbar pre.sf-dump .sf-dump-private{color:gray}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-public{color:#fc0}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-protected{color:#a0a000}div.phpdebugbar[data-theme=dark] pre.sf-dump .sf-dump-private{color:#9d9266}a.phpdebugbar-restore-btn{float:left;padding:4px;font-size:14px;color:var(--debugbar-icons);text-decoration:none;width:24px;height:24px}div.phpdebugbar-resize-handle{height:4px;margin-top:-4px;width:100%;background:none;border-bottom:1px solid var(--debugbar-header-border);cursor:row-resize}div.phpdebugbar-minimized div.phpdebugbar-resize-handle{cursor:auto}div.phpdebugbar-resize-handle.phpdebugbar-resize-handle-bottom{margin-top:4px}div.phpdebugbar-minimized{border-top:1px solid var(--debugbar-header-border)}div.phpdebugbar-minimized[data-toolbarPosition=top]{border-top:0;border-bottom:1px solid var(--debugbar-header-border)}div.phpdebugbar[data-toolbarPosition=top]{bottom:auto;top:0}div.phpdebugbar[data-toolbarPosition=top] div.phpdebugbar-resize-handle-top{height:0;display:none}div.phpdebugbar[data-toolbarPosition=top] div.phpdebugbar-resize-handle-bottom{margin-top:0}div.phpdebugbar[data-toolbarPosition=bottom] div.phpdebugbar-resize-handle-bottom{height:0;margin-top:0}a.phpdebugbar-restore-btn:after{-webkit-mask-image:var(--debugbar-icon-brand);mask-image:var(--debugbar-icon-brand);-webkit-mask-size:20px 20px;mask-size:20px 20px;background-color:var(--debugbar-icons)}div.phpdebugbar-header{background-color:var(--debugbar-header);min-height:32px;line-height:16px}div.phpdebugbar-header:before,div.phpdebugbar-header:after{display:table;line-height:0;content:""}div.phpdebugbar-header:after{clear:both}div.phpdebugbar-header-left{float:left}div.phpdebugbar-header-right{float:right}div.phpdebugbar-header>div>*{padding:5px;font-size:13px;height:22px;color:var(--debugbar-header-text);text-decoration:none}div.phpdebugbar-header-left>*,div.phpdebugbar-header-right>*{line-height:0;display:flex;align-items:center}div.phpdebugbar-header-left>*{float:left}div.phpdebugbar-header-right>*{float:right}div.phpdebugbar-header-right select{padding:0;line-height:1em;background-color:var(--debugbar-header);color:var(--debugbar-header-text)}span.phpdebugbar-indicator,a.phpdebugbar-indicator{border-right:1px solid var(--debugbar-header-border)}.phpdebugbar[data-hideEmptyTabs=true] .phpdebugbar-tab[data-empty=true]:not(.phpdebugbar-active){display:none}a.phpdebugbar-tab.phpdebugbar-active{background:var(--debugbar-active);color:var(--debugbar-active-text)}a.phpdebugbar-tab .phpdebugbar-text{font-size:14px}a.phpdebugbar-tab span.phpdebugbar-badge{display:none;margin-left:5px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge);border-radius:4px;color:var(--debugbar-badge-text);font-weight:400;text-shadow:none}a.phpdebugbar-tab.phpdebugbar-active span.phpdebugbar-badge{background:var(--debugbar-badge-active);color:var(--debugbar-badge-active-text)}a.phpdebugbar-tab i{display:none;vertical-align:middle}.phpdebugbar-icon,i.phpdebugbar-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.phpdebugbar-icon:before,i.phpdebugbar-icon:before{content:"";display:block;justify-content:center;flex-shrink:0;width:1.3em;height:1.3em;background-size:contain;background-repeat:no-repeat;background-position:center;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}.phpdebugbar-icon-brand:before{-webkit-mask-image:var(--debugbar-icon-brand);mask-image:var(--debugbar-icon-brand)}a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-visible{display:inline}a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-important{background:#ed6868;color:#fff}a.phpdebugbar-close-btn,a.phpdebugbar-open-btn,a.phpdebugbar-summary-btn,a.phpdebugbar-fullscreen-btn,a.phpdebugbar-minimize-btn,a.phpdebugbar-maximize-btn,a.phpdebugbar-tab.phpdebugbar-tab-history,a.phpdebugbar-tab.phpdebugbar-tab-settings{width:16px;height:22px;position:relative}a.phpdebugbar-close-btn:after,a.phpdebugbar-open-btn:after,a.phpdebugbar-summary-btn:after,a.phpdebugbar-restore-btn:after,a.phpdebugbar-fullscreen-btn:after,a.phpdebugbar-minimize-btn:after,a.phpdebugbar-maximize-btn:after{content:" ";display:block;left:0;position:absolute;top:0;width:100%;height:100%;background-color:var(--debugbar-icons);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:18px 18px;mask-size:18px 18px}a.phpdebugbar-restore-btn:after{-webkit-mask-size:24px 24px;mask-size:24px 24px;mask-repeat:no-repeat;mask-position:center;position:relative}a.phpdebugbar-minimize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}a.phpdebugbar-maximize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}div.phpdebugbar[data-toolbarPosition=top] a.phpdebugbar-minimize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-up);mask-image:var(--debugbar-icon-chevron-up)}div.phpdebugbar[data-toolbarPosition=top] a.phpdebugbar-maximize-btn:after{-webkit-mask-image:var(--debugbar-icon-chevron-down);mask-image:var(--debugbar-icon-chevron-down)}a.phpdebugbar-close-btn:after{-webkit-mask-image:var(--debugbar-icon-x);mask-image:var(--debugbar-icon-x)}a.phpdebugbar-fullscreen-btn:after{-webkit-mask-image:var(--debugbar-icon-arrows-maximize);mask-image:var(--debugbar-icon-arrows-maximize)}div.phpdebugbar.phpdebugbar-fullscreen a.phpdebugbar-fullscreen-btn:after{-webkit-mask-image:var(--debugbar-icon-arrows-minimize);mask-image:var(--debugbar-icon-arrows-minimize)}a.phpdebugbar-open-btn:after{-webkit-mask-image:var(--debugbar-icon-folder-open);mask-image:var(--debugbar-icon-folder-open)}a.phpdebugbar-summary-btn:after{-webkit-mask-image:var(--debugbar-icon-list-details);mask-image:var(--debugbar-icon-list-details)}a.phpdebugbar-summary-btn.phpdebugbar-summary-btn-active:after{background-color:var(--debugbar-text)}div.phpdebugbar-header-right>div.phpdebugbar-summary-float{position:relative}div.phpdebugbar-summary-float>div.phpdebugbar-summary-popover{position:absolute;bottom:100%;right:0;z-index:4;width:420px;max-width:min(420px,90vw);max-height:50vh;margin-bottom:4px;padding:8px;display:flex;flex-direction:column;gap:6px;line-height:normal;text-align:left;background-color:var(--debugbar-background);border:1px solid var(--debugbar-border);border-radius:4px;box-shadow:0 4px 12px #00000040}div.phpdebugbar[data-toolbarPosition=top] div.phpdebugbar-summary-float>div.phpdebugbar-summary-popover{bottom:auto;top:100%;margin-bottom:0;margin-top:4px}div.phpdebugbar-summary-float div.phpdebugbar-summary-scope{flex:1 1 auto;min-width:0;display:flex;gap:4px}div.phpdebugbar-summary-float button.phpdebugbar-summary-scope-btn{flex:0 1 auto;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 8px;font-size:11px;font-family:inherit;line-height:1.4;color:var(--debugbar-text-muted);background-color:transparent;border:1px solid transparent;border-radius:3px;cursor:pointer}div.phpdebugbar-summary-float button.phpdebugbar-summary-scope-btn:hover{color:var(--debugbar-text)}div.phpdebugbar-summary-float button.phpdebugbar-summary-scope-btn.phpdebugbar-summary-scope-active{color:var(--debugbar-text);background-color:var(--debugbar-background-alt);border-color:var(--debugbar-border);cursor:default}div.phpdebugbar-summary-float div.phpdebugbar-summary-content{flex:1 1 auto;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--debugbar-font-mono);font-size:11px;line-height:1.4;color:var(--debugbar-text);padding:8px;background-color:var(--debugbar-surface-sunken);border:1px solid var(--debugbar-header-border);border-radius:3px}div.phpdebugbar-summary-float div.phpdebugbar-summary-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px}div.phpdebugbar-summary-float button.phpdebugbar-summary-copy{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-family:inherit;color:var(--debugbar-text);background-color:var(--debugbar-background-alt);border:1px solid var(--debugbar-border);border-radius:3px;cursor:pointer;line-height:1.4}div.phpdebugbar-summary-float button.phpdebugbar-summary-copy:hover{background-color:var(--debugbar-header)}div.phpdebugbar-summary-float button.phpdebugbar-summary-copy:before{content:"";display:inline-block;width:11px;height:11px;-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;background-color:currentColor}div.phpdebugbar-summary-float button.phpdebugbar-summary-copy.phpdebugbar-summary-copied{color:var(--debugbar-success, #4caf50)}div.phpdebugbar-summary-float button.phpdebugbar-summary-copy.phpdebugbar-summary-copied:before{-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}.phpdebugbar-indicator{position:relative;cursor:pointer}.phpdebugbar-indicator span.phpdebugbar-text{margin-left:5px}.phpdebugbar-indicator span.phpdebugbar-tooltip{display:none;position:absolute;bottom:38px;background:var(--debugbar-header);border:1px solid var(--debugbar-header-border);color:var(--debugbar-header-text);font-size:11px;padding:2px 6px;z-index:100000001;text-align:center;white-space:nowrap;right:0;line-height:1.5;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.phpdebugbar-indicator:hover span.phpdebugbar-tooltip:not(.phpdebugbar-disabled){display:block}.phpdebugbar-indicator span.phpdebugbar-tooltip dl{display:grid;grid-gap:4px 10px;grid-template-columns:max-content}.phpdebugbar-indicator span.phpdebugbar-tooltip dl dt{font-weight:700;text-align:left}.phpdebugbar-indicator span.phpdebugbar-tooltip dl dd{margin:0;grid-column-start:2;text-align:left}.phpdebugbar .phpdebugbar-datasets-switcher{float:right}.phpdebugbar .phpdebugbar-datasets-switcher select{max-width:200px;height:22px;padding:4px 0;border:none}.phpdebugbar button,.phpdebugbar-openhandler button{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;margin:0 5px;padding:0 12px;height:20px;line-height:normal;cursor:pointer}div.phpdebugbar-body{border-top:1px solid var(--debugbar-header-border);position:relative;height:300px}div.phpdebugbar-panel{height:100%;overflow:auto;width:100%}div.phpdebugbar-panel.phpdebugbar-active{display:block}div.phpdebugbar-mini-design a.phpdebugbar-tab{position:relative;border-right:1px solid var(--debugbar-header-border)}div.phpdebugbar-mini-design a.phpdebugbar-tab span.phpdebugbar-text{display:none}div.phpdebugbar-mini-design a.phpdebugbar-tab:hover span.phpdebugbar-text{display:block;position:absolute;top:-30px;background:var(--debugbar-background);opacity:1;border:1px solid var(--debugbar-header-border);color:var(--debugbar-header-text);font-size:11px;padding:2px 6px;z-index:100000001;text-align:center;right:0;line-height:1.5;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}div.phpdebugbar-mini-design a.phpdebugbar-tab i{display:inline-block}a.phpdebugbar-tab.phpdebugbar-tab-history{width:auto;min-width:22px}a.phpdebugbar-tab.phpdebugbar-tab-history,a.phpdebugbar-tab.phpdebugbar-tab-settings{display:flex;justify-content:center;align-items:center}a.phpdebugbar-tab.phpdebugbar-tab-history .phpdebugbar-text,a.phpdebugbar-tab.phpdebugbar-tab-settings .phpdebugbar-text{display:none;white-space:nowrap}a.phpdebugbar-tab.phpdebugbar-tab-history i,a.phpdebugbar-tab.phpdebugbar-tab-settings i{display:inline-block}.phpdebugbar-widgets-dataset-history table{width:100%;table-layout:fixed}.phpdebugbar-widgets-dataset-history table th{font-weight:700}.phpdebugbar-widgets-dataset-history table td,.phpdebugbar-widgets-dataset-history table th{padding:6px 3px;border-bottom:1px solid var(--debugbar-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phpdebugbar-widgets-dataset-history table td a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phpdebugbar-widgets-dataset-history table tr.phpdebugbar-widgets-active{background:var(--debugbar-active);color:var(--debugbar-active-text)}.phpdebugbar-widgets-dataset-history span.phpdebugbar-badge{margin:0 5px 0 2px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge);border-radius:4px;color:var(--debugbar-badge-text);font-weight:400;text-shadow:none;vertical-align:middle}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions{text-align:center;padding:7px 0;position:sticky;top:0;background:var(--debugbar-background)}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions a{margin:0 10px}.phpdebugbar-widgets-dataset-history .phpdebugbar-widgets-dataset-actions input{margin:5px}.phpdebugbar-settings .phpdebugbar-form-row{display:block;border-top:1px solid var(--debugbar-border);min-height:17px;padding:5px 10px}.phpdebugbar-settings .phpdebugbar-form-label{width:200px;font-weight:700;display:inline-block;clear:none}.phpdebugbar-settings .phpdebugbar-form-input{font-weight:700;display:inline-block;clear:none}.phpdebugbar-settings input[type=text],.phpdebugbar-settings select{margin:0 5px;min-width:200px}.phpdebugbar-settings input[type=checkbox]{margin:0 5px}pre.phpdebugbar-widgets-code-block{white-space:pre;word-wrap:normal;overflow:hidden}pre.phpdebugbar-widgets-code-block code{display:block;overflow-x:auto;overflow-y:hidden}pre.phpdebugbar-widgets-code-block code.phpdebugbar-widgets-numbered-code{padding:5px;line-height:normal}pre.phpdebugbar-widgets-code-block ul li.phpdebugbar-widgets-highlighted-line{font-weight:bolder;text-decoration:underline}pre.phpdebugbar-widgets-code-block ul li.phpdebugbar-widgets-highlighted-line span{position:absolute;background:var(--debugbar-text);min-width:calc(100% - 85px);margin-left:10px;opacity:.15}pre.phpdebugbar-widgets-code-block ul{position:static;float:left;padding:5px;border-right:1px solid var(--debugbar-header-border);text-align:right}.phpdebugbar-widgets-kvlist span.phpdebugbar-widgets-filename,li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename,table.phpdebugbar-widgets-tablevar span.phpdebugbar-widgets-filename{display:block;font-style:italic;float:right;margin-left:8px;color:var(--debugbar-link)}a.phpdebugbar-widgets-editor-link,a.phpdebugbar-widgets-external-link{color:var(--debugbar-link)}.phpdebugbar-widgets-kvlist span.phpdebugbar-widgets-filename:hover,li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename:hover,a.phpdebugbar-widgets-editor-link:hover,a.phpdebugbar-widgets-external-link:hover{color:var(--debugbar-hover)}a.phpdebugbar-widgets-editor-link:before,a.phpdebugbar-widgets-copy-clipboard-check:before,a.phpdebugbar-widgets-external-link:after{content:"";display:inline-block;width:1em;height:1em;margin-left:4px;vertical-align:middle;-webkit-mask-image:var(--debugbar-icon-external-link);mask-image:var(--debugbar-icon-external-link);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}a.phpdebugbar-widgets-copy-clipboard-check:before{margin-left:0;margin-right:4px;-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}table.phpdebugbar-widgets-params{width:70%;margin:10px;border:1px solid var(--debugbar-border);font-family:var(--debugbar-font-mono);font-size:13px;border-collapse:collapse}table.phpdebugbar-widgets-params th{font-weight:700}table.phpdebugbar-widgets-params td{border:1px solid var(--debugbar-border);border-left:none;border-right:none;padding:0 5px}table.phpdebugbar-widgets-params .phpdebugbar-widgets-name{width:20%;font-weight:700;vertical-align:top}.phpdebugbar-widgets-truncated{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}ul.phpdebugbar-widgets-list{margin:0;padding:0;list-style:none;font-family:var(--debugbar-font-mono)}ul.phpdebugbar-widgets-list li.phpdebugbar-widgets-list-item{padding:7px 10px;border-bottom:1px solid var(--debugbar-border);position:relative;overflow:hidden}div.phpdebugbar-widgets-messages{position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column}div.phpdebugbar-widgets-messages ul.phpdebugbar-widgets-list{padding-bottom:45px;flex:1;overflow-y:auto}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value{display:flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value:before{margin-right:8px;font-family:system-ui,sans-serif;font-size:1.25em;line-height:1;display:inline-flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success{color:#28a745}.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success{color:#56db3a}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-success:before{content:"\2713"}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-alert:before{content:"\2139";color:#cbcf38}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-debug:before{color:#78d79a}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-warning:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-emergency:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-notice:before{content:"\26a0";color:#ecb03d}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-critical{color:red}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error:before,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-critical:before{content:"\2716"}.phpdebugbar-widgets-params .phpdebugbar-widgets-value pre.sf-dump,dl.phpdebugbar-widgets-kvlist dd.phpdebugbar-widgets-value pre.sf-dump,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item pre.sf-dump{display:inline-block!important;padding-top:0;padding-left:0;padding-bottom:0}dl.phpdebugbar-widgets-kvlist dd.phpdebugbar-widgets-value pre.sf-dump{max-width:calc(100% - 5px)}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector,div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-label{float:right;font-size:12px;padding:2px 4px;color:#888;margin:0 2px;text-decoration:none;text-shadow:none;background:none;font-weight:400}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-context-count{float:right;font-size:12px;padding:2px 4px;color:#888;margin:0 2px;text-decoration:none;text-shadow:none;background:none;font-weight:400;display:inline-flex;align-items:center}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-context-count:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector{color:#555;font-style:italic}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar{position:relative;flex-shrink:0;width:100%;background:var(--debugbar-header);color:var(--debugbar-text);border-top:1px solid var(--debugbar-border);border-bottom:0px;height:20px;padding:4px 0}div.phpdebugbar-widgets-messages li .phpdebugbar-widgets-label-called-from{float:right;color:var(--debugbar-text-muted);padding-left:5px;border-bottom:1px dotted var(--debugbar-border)}div.phpdebugbar-widgets-messages li .phpdebugbar-widgets-label-called-from:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input{border:0;margin:0 0 0 7px;width:30%;box-shadow:none;border-radius:3px;padding:2px 6px;height:15px}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input:focus{outline:none}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter{float:right;font-size:12px;padding:2px 4px;background:#7cacd5;margin:0 2px;border-radius:4px;color:var(--debugbar-background);text-decoration:none}div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded{background:var(--debugbar-active);color:var(--debugbar-text-muted)}dl.phpdebugbar-widgets-kvlist{margin:0;display:grid;grid-template-columns:minmax(160px,15%) minmax(0,1fr)}dl.phpdebugbar-widgets-kvlist dt{grid-column:1;min-width:0;padding:5px 10px;border-top:1px solid var(--debugbar-border);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}dl.phpdebugbar-widgets-kvlist dd{grid-column:2;margin:0;padding:5px 10px;border-top:1px solid var(--debugbar-border);cursor:pointer;min-height:17px;overflow-wrap:anywhere;overflow-x:auto}dl.phpdebugbar-widgets-varlist,dl.phpdebugbar-widgets-jsonvarlist,dl.phpdebugbar-widgets-htmlvarlist{font-family:var(--debugbar-font-mono)}dl.phpdebugbar-widgets-jsonvarlist dd,dl.phpdebugbar-widgets-htmlvarlist dd{cursor:initial}ul.phpdebugbar-widgets-timeline{margin:0;padding:0;list-style:none}ul.phpdebugbar-widgets-timeline .phpdebugbar-widgets-measure{height:20px;position:relative;border:none;display:block}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label,ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-collector{position:absolute;font-size:12px;font-family:var(--debugbar-font-mono);color:var(--debugbar-text);top:4px;left:5px;background:none;text-shadow:none;font-weight:400;white-space:pre}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-collector{left:initial;right:5px}ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-value{display:block;position:absolute;height:calc(100% - 4px);background-color:var(--debugbar-accent);border-bottom:2px solid var(--debugbar-accent-border);top:2px;border-radius:3px;min-width:2px}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item{cursor:pointer}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-message{display:block;color:red}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-type{display:block;position:absolute;right:4px;top:4px;font-weight:700}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-file{margin:10px;padding:5px;border:1px solid var(--debugbar-border);font-family:var(--debugbar-font-mono)}div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename{float:none}div.phpdebugbar[data-theme=dark] code.phpdebugbar-widgets-sql,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-name,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-key,div.phpdebugbar[data-theme=dark] .phpdebugbar-widgets-success>pre.sf-dump>.sf-dump-note{color:#fdfd96}table.phpdebugbar-widgets-tablevar{width:100%;table-layout:auto;font-size:1em}table.phpdebugbar-widgets-tablevar td:first-child{width:150px;white-space:nowrap;font-family:var(--debugbar-font-mono)}table.phpdebugbar-widgets-tablevar td.phpdebugbar-widgets-editor{width:5%;white-space:nowrap;text-align:right}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td{font-weight:700}table.phpdebugbar-widgets-tablevar td{padding:2px 4px;border-bottom:1px solid var(--debugbar-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td{position:sticky;inset-inline-start:0px;background:var(--debugbar-background);border-bottom:none;z-index:1;top:0;bottom:0}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-header td:after,table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:var(--debugbar-border)}table.phpdebugbar-widgets-tablevar tr.phpdebugbar-widgets-summary td:after{bottom:auto;top:0}div.phpdebugbar span.phpdebugbar-widgets-badge{margin:0 5px 0 8px;font-size:11px;line-height:14px;padding:0 6px;background:var(--debugbar-badge-active);border-radius:4px;color:var(--debugbar-badge-active-text);font-weight:400;text-shadow:none;vertical-align:middle}.phpdebugbar .phpdebugbar-widgets-datasets-switcher-widget{position:relative;float:right;display:flex;padding:0!important;margin:0!important;height:32px;align-items:center}.phpdebugbar .phpdebugbar-widgets-datasets-badge{position:relative;display:flex;align-items:center;gap:6px;padding:0 10px;height:32px;background:var(--debugbar-header);color:var(--debugbar-header-text);cursor:pointer;font-size:12px;line-height:normal;transition:background-color .15s;font-family:var(--debugbar-font-sans);border-right:1px solid var(--debugbar-header-border)}.phpdebugbar .phpdebugbar-widgets-datasets-badge:hover{background:var(--debugbar-active)}.phpdebugbar .phpdebugbar-widgets-datasets-badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:9px;font-weight:600;font-size:11px}.phpdebugbar .phpdebugbar-widgets-datasets-badge-count[hidden]{display:none}.phpdebugbar .phpdebugbar-widgets-datasets-badge-url{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-panel{position:fixed;width:600px;background:var(--debugbar-background);border:1px solid var(--debugbar-border);box-shadow:0 2px 8px #0000001a;overflow:hidden;z-index:100000001}.phpdebugbar-widgets-datasets-panel-toolbar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--debugbar-background-alt);border-bottom:1px solid var(--debugbar-border);font-size:12px;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-autoshow{display:flex;align-items:center;gap:4px;cursor:pointer;color:var(--debugbar-text);white-space:nowrap;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-autoshow input[type=checkbox]{cursor:pointer;margin:0}.phpdebugbar-widgets-datasets-clear-btn,.phpdebugbar-widgets-datasets-showall-btn{color:var(--debugbar-link);text-decoration:none;cursor:pointer;white-space:nowrap;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-clear-btn:hover,.phpdebugbar-widgets-datasets-showall-btn:hover{color:var(--debugbar-hover);text-decoration:underline}.phpdebugbar-widgets-datasets-refresh-btn{color:var(--debugbar-text-muted);text-decoration:none;cursor:pointer;white-space:nowrap;font-size:14px;display:inline-flex;align-items:center}.phpdebugbar-widgets-datasets-refresh-btn[hidden]{display:none}.phpdebugbar-widgets-datasets-refresh-btn:hover,.phpdebugbar-widgets-datasets-refresh-btn.phpdebugbar-widgets-active{color:var(--debugbar-text)}.phpdebugbar-widgets-datasets-refresh-btn.phpdebugbar-widgets-active i{animation:phpdebugbar-spin 2s linear infinite}@keyframes phpdebugbar-spin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.phpdebugbar-widgets-datasets-search{flex:1;padding:3px 8px;font-size:11px;min-width:120px;border:1px solid var(--debugbar-border);background:var(--debugbar-background);color:var(--debugbar-text);border-radius:2px;font-family:var(--debugbar-font-sans)}.phpdebugbar-widgets-datasets-list{max-height:300px;overflow-y:auto}.phpdebugbar-widgets-datasets-list-item{display:grid;grid-template-columns:45px 50px 1fr auto auto auto;gap:6px;padding:5px 10px;border-bottom:1px solid var(--debugbar-border);cursor:pointer;transition:background-color .1s;align-items:center;font-size:11px}.phpdebugbar-widgets-datasets-list-item[hidden]{display:none}.phpdebugbar-widgets-datasets-list-item:hover{background:var(--debugbar-background-alt)}.phpdebugbar-widgets-datasets-list-item.phpdebugbar-widgets-active{background:var(--debugbar-active);font-weight:500}.phpdebugbar-widgets-datasets-item-nb{color:var(--debugbar-text-muted);font-weight:600;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-copy-id{cursor:pointer;color:var(--debugbar-text-muted);display:inline-flex;align-items:center;margin-right:-4px;position:relative}.phpdebugbar-widgets-datasets-item-copy-id i{font-size:12px}.phpdebugbar-widgets-datasets-item-copy-id:hover{color:var(--debugbar-text)}.phpdebugbar-widgets-datasets-item-copy-id.phpdebugbar-widgets-copied{color:var(--debugbar-success, #28a745)}.phpdebugbar-widgets-datasets-item-time{color:var(--debugbar-text-muted);font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-request{display:flex;gap:6px;align-items:center;overflow:hidden}.phpdebugbar-widgets-datasets-item-method{padding:1px 5px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:2px;font-weight:600;font-family:var(--debugbar-font-mono);flex-shrink:0}.phpdebugbar-widgets-datasets-item-url{color:var(--debugbar-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--debugbar-font-mono)}.phpdebugbar-widgets-datasets-item-suffix{color:var(--debugbar-text-muted);font-family:var(--debugbar-font-mono);flex-shrink:0}.phpdebugbar-widgets-datasets-item-badges{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}.phpdebugbar-widgets-datasets-item-badge{display:inline-flex;align-items:center;gap:2px;padding:1px 4px;background:var(--debugbar-badge);color:var(--debugbar-badge-text);border-radius:2px;font-size:10px;font-weight:600;cursor:pointer;transition:background-color .1s}.phpdebugbar-widgets-datasets-item-badge:hover{background:var(--debugbar-badge-active);color:var(--debugbar-badge-active-text)}.phpdebugbar-widgets-datasets-item-badge i{width:12px;height:12px}div.phpdebugbar-openhandler-overlay{position:fixed;left:0;top:0;width:100%;height:100%;background:#000;opacity:.3;z-index:100000002}div.phpdebugbar-openhandler{position:fixed;margin:auto;inset:0;width:80%;height:70%;background:var(--debugbar-background);color:var(--debugbar-text);border:2px solid var(--debugbar-header-border);overflow:auto;z-index:100000003;font-family:var(--debugbar-font-sans);font-size:14px;padding:0}div.phpdebugbar-openhandler select,div.phpdebugbar-openhandler input{appearance:auto}div.phpdebugbar-openhandler input,div.phpdebugbar-openhandler select{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;height:20px;margin:0 5px;padding:0}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions input[name=uri]{width:200px}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions input[name=ip]{width:90px}div.phpdebugbar-openhandler a{color:var(--debugbar-header-text)}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header{background:var(--debugbar-header) no-repeat 5px 4px;color:var(--debugbar-header-text);margin-bottom:10px;display:flex;align-items:center;padding:5px 8px}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-closebtn,div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-brand{font-size:14px;color:var(--debugbar-header-text);text-decoration:none;padding-right:5px;line-height:1;align-items:center}div.phpdebugbar-openhandler .phpdebugbar-openhandler-header .phpdebugbar-openhandler-closebtn{margin-left:auto}div.phpdebugbar-openhandler table{width:100%;table-layout:fixed;font-size:14px}div.phpdebugbar-openhandler table td,div.phpdebugbar-openhandler table th{border:0px solid var(--debugbar-border);padding:2px 8px}div.phpdebugbar-openhandler table th,div.phpdebugbar-openhandler table tr:nth-child(2n){background-color:var(--debugbar-background-alt)}div.phpdebugbar-openhandler table th:nth-child(3),div.phpdebugbar-openhandler table td:nth-child(3),div.phpdebugbar-openhandler table th:nth-child(5),div.phpdebugbar-openhandler table td:nth-child(5),div.phpdebugbar-openhandler table th:nth-child(6),div.phpdebugbar-openhandler table td:nth-child(6){text-align:center}div.phpdebugbar-openhandler table td{padding:6px 3px;border-bottom:1px solid var(--debugbar-border)}div.phpdebugbar-openhandler table td a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phpdebugbar-openhandler-id-cell{display:flex;align-items:center;gap:4px}.phpdebugbar-openhandler-id-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55px;display:inline-block;font-family:var(--debugbar-font-mono);font-size:12px}.phpdebugbar-openhandler-copy-id{cursor:pointer;color:var(--debugbar-text-muted);display:inline-flex;align-items:center;position:relative;flex-shrink:0}.phpdebugbar-openhandler-copy-id i{font-size:12px}.phpdebugbar-openhandler-copy-id:hover{color:var(--debugbar-text)}.phpdebugbar-openhandler-copy-id.phpdebugbar-openhandler-copied{color:var(--debugbar-success, #28a745)}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions{text-align:center;padding:7px 0}div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions a{color:var(--debugbar-header-text);background-color:var(--debugbar-header);border:1px solid var(--debugbar-header-border);border-radius:.25rem;margin:5px;padding:4px 12px}div.phpdebugbar-widgets-mails span.phpdebugbar-widgets-subject{display:block}div.phpdebugbar-widgets-mails li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-headers{margin:10px;padding:5px;border:1px solid var(--debugbar-border)!important;font-family:var(--debugbar-font-mono)}div.phpdebugbar-widgets-sqlqueries{position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-status{font-family:var(--debugbar-font-mono);padding:6px;border-bottom:1px solid var(--debugbar-border);font-weight:700;color:var(--debugbar-text);background-color:var(--debugbar-background-alt);flex-shrink:0;order:1}div.phpdebugbar-widgets-sqlqueries ul.phpdebugbar-widgets-list{flex:1;overflow-y:auto;order:2}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-error{color:red}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id{float:right;margin-left:8px;color:var(--debugbar-text-muted)}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-database,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-duration,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-row-count,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-copy-clipboard,div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-stmt-id{color:var(--debugbar-text)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard-check:before,div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before{-webkit-mask-image:var(--debugbar-icon-database);mask-image:var(--debugbar-icon-database)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before{-webkit-mask-image:var(--debugbar-icon-link);mask-image:var(--debugbar-icon-link)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard:before{-webkit-mask-image:var(--debugbar-icon-copy);mask-image:var(--debugbar-icon-copy)}div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-copy-clipboard-check:before{-webkit-mask-image:var(--debugbar-icon-circle-check);mask-image:var(--debugbar-icon-circle-check)}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-error{display:block;font-weight:700}code.phpdebugbar-widgets-sql{white-space:pre-wrap;overflow-wrap:break-word;word-wrap:break-word}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-slow{background-color:#ffe4e4}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate{background-color:#fdfdcd}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-slow{background-color:#623100}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate{background-color:#565602}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar{position:relative;flex-shrink:0;width:100%;z-index:1;order:3}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter{float:right;font-size:12px;padding:2px 4px;background:#7cacd5;margin:0 2px;border-radius:4px;color:#fff;text-decoration:none}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded{background:var(--debugbar-background);color:var(--debugbar-text)}div.phpdebugbar-widgets-sqlqueries a.phpdebugbar-widgets-duplicates{font-weight:700;text-decoration:underline}div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item div.phpdebugbar-widgets-bg-measure{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-bg-measure div.phpdebugbar-widgets-value{position:absolute;bottom:0;height:1px;opacity:1;background:var(--debugbar-accent-border)}div.phpdebugbar-widgets-sqlqueries td.phpdebugbar-widgets-value li.phpdebugbar-widgets-table-list-item{text-align:left;padding-left:6px}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-text-muted{color:var(--debugbar-text-muted)}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction,div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-message,div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-info{font-weight:bolder}div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction{color:#d73a49}[data-theme=dark] div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-transaction{color:#ff7b72}div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status{font-family:var(--debugbar-font-mono);padding:6px;border-bottom:1px solid var(--debugbar-border);font-weight:700;color:var(--debugbar-text);background-color:var(--debugbar-background-alt)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type{float:right;margin-left:8px;color:var(--debugbar-text)}div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-render-time,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-param-count,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status a.phpdebugbar-widgets-editor-link,div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-type{color:var(--debugbar-text)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before,div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before{content:"";display:inline-block;width:1em;height:1em;margin-right:4px;vertical-align:middle;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-position:center;background-color:currentColor}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render-time:before{-webkit-mask-image:var(--debugbar-icon-clock);mask-image:var(--debugbar-icon-clock)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-memory:before{-webkit-mask-image:var(--debugbar-icon-cpu);mask-image:var(--debugbar-icon-cpu)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-param-count:before{-webkit-mask-image:var(--debugbar-icon-table);mask-image:var(--debugbar-icon-table)}div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-type:before{-webkit-mask-image:var(--debugbar-icon-code);mask-image:var(--debugbar-icon-code)}div.phpdebugbar[data-theme=dark] div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-callgraph>pre *{background-color:inherit!important}pre code.phpdebugbar-hljs{display:block;overflow-x:auto;padding:1em}code.phpdebugbar-hljs{padding:3px 5px}/*! Theme: GitHub Description: Light theme as seen on github.com Author: github.com diff --git a/resources/dist/debugbar.min.js b/resources/dist/debugbar.min.js index fa0329ad..d04030ba 100644 --- a/resources/dist/debugbar.min.js +++ b/resources/dist/debugbar.min.js @@ -9,7 +9,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),me=D,re=Y),te===void 0 `.repeat(this.cfg.linesBetweenQueries||1)),C(p)+l.value+v},N.prototype.addNewline=function(l){return l=C(l),l.endsWith(` `)||(l+=` `),l+this.indentation.getIndent()},N.prototype.previousToken=function(){return this.tokens[this.index-1]||{type:null,value:null}},N.prototype.formatCase=function(l){return this.cfg.reservedWordCase==="upper"?l.toUpperCase():this.cfg.reservedWordCase==="lower"?l.toLowerCase():l},N})();a.default=W}),i=d(a=>{"use strict";var m=a&&a.__importDefault||function(R){return R&&R.__esModule?R:{default:R}};a.__esModule=!0;var o=m(O()),y=m(t()),L=(function(){function R(r){this.cfg=r}return R.prototype.format=function(r){return new y.default(this.cfg,this.tokenizer(),this.tokenOverride).format(r)},R.prototype.tokenize=function(r){return this.tokenizer().tokenize(r)},R.prototype.tokenizer=function(){return new o.default(this.getTokenizerConfig())},R})();a.default=L}),E=d(a=>{"use strict";var m=a&&a.__extends||(function(){var N=function(l,p){return N=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,X){v.__proto__=X}||function(v,X){for(var A in X)Object.prototype.hasOwnProperty.call(X,A)&&(v[A]=X[A])},N(l,p)};return function(l,p){if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");N(l,p);function v(){this.constructor=l}l.prototype=p===null?Object.create(p):(v.prototype=p.prototype,new v)}})(),o=a&&a.__importDefault||function(N){return N&&N.__esModule?N:{default:N}};a.__esModule=!0;var y=o(i()),L=(function(N){m(l,N);function l(){return N!==null&&N.apply(this,arguments)||this}return l.prototype.getTokenizerConfig=function(){return{reservedWords:R,reservedTopLevelWords:r,reservedNewlineWords:W,reservedTopLevelWordsNoIndent:C,stringTypes:['""',"''","``","[]"],openParens:["("],closeParens:[")"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:[":"],lineCommentTypes:["--"],specialWordChars:["#","@"]}},l})(y.default);a.default=L;var R=["ABS","ACTIVATE","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","ANY","ARE","ARRAY","AS","ASC","ASENSITIVE","ASSOCIATE","ASUTIME","ASYMMETRIC","AT","ATOMIC","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","AVG","BEFORE","BEGIN","BETWEEN","BIGINT","BINARY","BLOB","BOOLEAN","BOTH","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CCSID","CEIL","CEILING","CHAR","CHARACTER","CHARACTER_LENGTH","CHAR_LENGTH","CHECK","CLOB","CLONE","CLOSE","CLUSTER","COALESCE","COLLATE","COLLECT","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","CONVERT","CORR","CORRESPONDING","COUNT","COUNT_BIG","COVAR_POP","COVAR_SAMP","CREATE","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DATE","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DEREF","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DOUBLE","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELEMENT","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPTION","EXCLUDING","EXCLUSIVE","EXEC","EXECUTE","EXISTS","EXIT","EXP","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FILTER","FINAL","FIRST","FLOAT","FLOOR","FOR","FOREIGN","FREE","FULL","FUNCTION","FUSION","GENERAL","GENERATED","GET","GLOBAL","GOTO","GRANT","GRAPHIC","GROUP","GROUPING","HANDLER","HASH","HASHED_VALUE","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INT","INTEGER","INTEGRITY","INTERSECTION","INTERVAL","INTO","IS","ISOBID","ISOLATION","ITERATE","JAR","JAVA","KEEP","KEY","LABEL","LANGUAGE","LARGE","LATERAL","LC_CTYPE","LEADING","LEAVE","LEFT","LIKE","LINKTYPE","LN","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LONG","LOOP","LOWER","MAINTAINED","MATCH","MATERIALIZED","MAX","MAXVALUE","MEMBER","MERGE","METHOD","MICROSECOND","MICROSECONDS","MIN","MINUTE","MINUTES","MINVALUE","MOD","MODE","MODIFIES","MODULE","MONTH","MONTHS","MULTISET","NAN","NATIONAL","NATURAL","NCHAR","NCLOB","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZE","NORMALIZED","NOT","NULL","NULLIF","NULLS","NUMERIC","NUMPARTS","OBID","OCTET_LENGTH","OF","OFFSET","OLD","OLD_TABLE","ON","ONLY","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","ORDER","OUT","OUTER","OVER","OVERLAPS","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","PIECESIZE","PLAN","POSITION","POWER","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","REAL","RECOVERY","RECURSIVE","REF","REFERENCES","REFERENCING","REFRESH","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROLLUP","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCOPE","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SIGNAL","SIMILAR","SIMPLE","SMALLINT","SNAN","SOME","SOURCE","SPECIFIC","SPECIFICTYPE","SQL","SQLEXCEPTION","SQLID","SQLSTATE","SQLWARNING","SQRT","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STDDEV_POP","STDDEV_SAMP","STOGROUP","STORES","STYLE","SUBMULTISET","SUBSTRING","SUM","SUMMARY","SYMMETRIC","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","TABLESPACE","THEN","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSACTION","TRANSLATE","TRANSLATION","TREAT","TRIGGER","TRIM","TRUE","TRUNCATE","TYPE","UESCAPE","UNDO","UNIQUE","UNKNOWN","UNNEST","UNTIL","UPPER","USAGE","USER","USING","VALIDPROC","VALUE","VARCHAR","VARIABLE","VARIANT","VARYING","VAR_POP","VAR_SAMP","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHILE","WIDTH_BUCKET","WINDOW","WITH","WITHIN","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],r=["ADD","AFTER","ALTER COLUMN","ALTER TABLE","DELETE FROM","EXCEPT","FETCH FIRST","FROM","GROUP BY","GO","HAVING","INSERT INTO","INTERSECT","LIMIT","ORDER BY","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UPDATE","VALUES","WHERE"],C=["INTERSECT","INTERSECT ALL","MINUS","UNION","UNION ALL"],W=["AND","CROSS JOIN","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN"]}),g=d(a=>{"use strict";var m=a&&a.__extends||(function(){var N=function(l,p){return N=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,X){v.__proto__=X}||function(v,X){for(var A in X)Object.prototype.hasOwnProperty.call(X,A)&&(v[A]=X[A])},N(l,p)};return function(l,p){if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");N(l,p);function v(){this.constructor=l}l.prototype=p===null?Object.create(p):(v.prototype=p.prototype,new v)}})(),o=a&&a.__importDefault||function(N){return N&&N.__esModule?N:{default:N}};a.__esModule=!0;var y=o(i()),L=(function(N){m(l,N);function l(){return N!==null&&N.apply(this,arguments)||this}return l.prototype.getTokenizerConfig=function(){return{reservedWords:R,reservedTopLevelWords:r,reservedNewlineWords:W,reservedTopLevelWordsNoIndent:C,stringTypes:['""',"''","``"],openParens:["(","[","{"],closeParens:[")","]","}"],namedPlaceholderTypes:["$"],lineCommentTypes:["#","--"],specialWordChars:[]}},l})(y.default);a.default=L;var R=["ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","CONNECT","CONTINUE","CORRELATE","COVER","CREATE","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FIRST","FLATTEN","FOR","FORCE","FROM","FUNCTION","GRANT","GROUP","GSI","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LAST","LEFT","LET","LETTING","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MISSING","NAMESPACE","NEST","NOT","NULL","NUMBER","OBJECT","OFFSET","ON","OPTION","OR","ORDER","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROCEDURE","PUBLIC","RAW","REALM","REDUCE","RENAME","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","SATISFIES","SCHEMA","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TO","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WITH","WITHIN","WORK","XOR"],r=["DELETE FROM","EXCEPT ALL","EXCEPT","EXPLAIN DELETE FROM","EXPLAIN UPDATE","EXPLAIN UPSERT","FROM","GROUP BY","HAVING","INFER","INSERT INTO","LET","LIMIT","MERGE","NEST","ORDER BY","PREPARE","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UNNEST","UPDATE","UPSERT","USE KEYS","VALUES","WHERE"],C=["INTERSECT","INTERSECT ALL","MINUS","UNION","UNION ALL"],W=["AND","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","XOR"]}),c=d(a=>{"use strict";var m=a&&a.__extends||(function(){var l=function(p,v){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(X,A){X.__proto__=A}||function(X,A){for(var M in A)Object.prototype.hasOwnProperty.call(A,M)&&(X[M]=A[M])},l(p,v)};return function(p,v){if(typeof v!="function"&&v!==null)throw new TypeError("Class extends value "+String(v)+" is not a constructor or null");l(p,v);function X(){this.constructor=p}p.prototype=v===null?Object.create(v):(X.prototype=v.prototype,new X)}})(),o=a&&a.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};a.__esModule=!0;var y=o(i()),L=_(),R=(function(l){m(p,l);function p(){var v=l!==null&&l.apply(this,arguments)||this;return v.tokenOverride=function(X,A){if(X.type===L.TokenTypes.RESERVED_TOP_LEVEL&&A.value&&X.value.toUpperCase()==="SET"&&A.value.toUpperCase()==="BY")return X.type=L.TokenTypes.RESERVED,X},v}return p.prototype.getTokenizerConfig=function(){return{reservedWords:r,reservedTopLevelWords:C,reservedNewlineWords:N,reservedTopLevelWordsNoIndent:W,stringTypes:['""',"N''","''","``"],openParens:["(","CASE"],closeParens:[")","END"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:[":"],lineCommentTypes:["--"],specialWordChars:["_","$","#",".","@"]}},p})(y.default);a.default=R;var r=["A","ACCESSIBLE","AGENT","AGGREGATE","ALL","ALTER","ANY","ARRAY","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BETWEEN","BFILE_BASE","BINARY_INTEGER","BINARY","BLOB_BASE","BLOCK","BODY","BOOLEAN","BOTH","BOUND","BREADTH","BULK","BY","BYTE","C","CALL","CALLING","CASCADE","CASE","CHAR_BASE","CHAR","CHARACTER","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOB_BASE","CLONE","CLOSE","CLUSTER","CLUSTERS","COALESCE","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONTINUE","CONVERT","COUNT","CRASH","CREATE","CREDENTIAL","CURRENT","CURRVAL","CURSOR","CUSTOMDATUM","DANGLING","DATA","DATE_BASE","DATE","DAY","DECIMAL","DEFAULT","DEFINE","DELETE","DEPTH","DESC","DETERMINISTIC","DIRECTORY","DISTINCT","DO","DOUBLE","DROP","DURATION","ELEMENT","ELSIF","EMPTY","END","ESCAPE","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTENDS","EXTERNAL","EXTRACT","FALSE","FETCH","FINAL","FIRST","FIXED","FLOAT","FOR","FORALL","FORCE","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSTANTIABLE","INT","INTEGER","INTERFACE","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMITED","LOCAL","LOCK","LONG","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUTE","MLSLABEL","MOD","MODE","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NATURAL","NATURALN","NCHAR","NEW","NEXTVAL","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","NULLIF","NUMBER_BASE","NUMBER","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","OLD","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","ORACLE","ORADATA","ORDER","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERLAPS","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARENT","PARTITION","PASCAL","PCTFREE","PIPE","PIPELINED","PLS_INTEGER","PLUGGABLE","POSITIVE","POSITIVEN","PRAGMA","PRECISION","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","RAW","READ","REAL","RECORD","REF","REFERENCE","RELEASE","RELIES_ON","REM","REMAINDER","RENAME","RESOURCE","RESULT_CACHE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","ROWID","ROWNUM","ROWTYPE","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SEARCH","SECOND","SEGMENT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SHARE","SHORT","SIZE_T","SIZE","SMALLINT","SOME","SPACE","SPARSE","SQL","SQLCODE","SQLDATA","SQLERRM","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUCCESSFUL","SUM","SYNONYM","SYSDATE","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMESTAMP","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSACTION","TRANSACTIONAL","TRIGGER","TRUE","TRUSTED","TYPE","UB1","UB2","UB4","UID","UNDER","UNIQUE","UNPLUG","UNSIGNED","UNTRUSTED","USE","USER","USING","VALIDATE","VALIST","VALUE","VARCHAR","VARCHAR2","VARIABLE","VARIANCE","VARRAY","VARYING","VIEW","VIEWS","VOID","WHENEVER","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],C=["ADD","ALTER COLUMN","ALTER TABLE","BEGIN","CONNECT BY","DECLARE","DELETE FROM","DELETE","END","EXCEPT","EXCEPTION","FETCH FIRST","FROM","GROUP BY","HAVING","INSERT INTO","INSERT","LIMIT","LOOP","MODIFY","ORDER BY","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","START WITH","UPDATE","VALUES","WHERE"],W=["INTERSECT","INTERSECT ALL","MINUS","UNION","UNION ALL"],N=["AND","CROSS APPLY","CROSS JOIN","ELSE","END","INNER JOIN","JOIN","LEFT JOIN","LEFT OUTER JOIN","OR","OUTER APPLY","OUTER JOIN","RIGHT JOIN","RIGHT OUTER JOIN","WHEN","XOR"]}),u=d(a=>{"use strict";var m=a&&a.__extends||(function(){var N=function(l,p){return N=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,X){v.__proto__=X}||function(v,X){for(var A in X)Object.prototype.hasOwnProperty.call(X,A)&&(v[A]=X[A])},N(l,p)};return function(l,p){if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");N(l,p);function v(){this.constructor=l}l.prototype=p===null?Object.create(p):(v.prototype=p.prototype,new v)}})(),o=a&&a.__importDefault||function(N){return N&&N.__esModule?N:{default:N}};a.__esModule=!0;var y=o(i()),L=(function(N){m(l,N);function l(){return N!==null&&N.apply(this,arguments)||this}return l.prototype.getTokenizerConfig=function(){return{reservedWords:R,reservedTopLevelWords:r,reservedNewlineWords:W,reservedTopLevelWordsNoIndent:C,stringTypes:['""',"N''","''","``","[]","E''"],openParens:["(","CASE"],closeParens:[")","END"],indexedPlaceholderTypes:["?"],namedPlaceholderTypes:["@",":","%","$"],lineCommentTypes:["#","--"],specialWordChars:[]}},l})(y.default);a.default=L;var R=["ACCESSIBLE","ACTION","AGAINST","AGGREGATE","ALGORITHM","ALL","ALTER","ANALYSE","ANALYZE","AS","ASC","AUTOCOMMIT","AUTO_INCREMENT","BACKUP","BEGIN","BETWEEN","BINLOG","BOTH","CASCADE","CASE","CHANGE","CHANGED","CHARACTER SET","CHARSET","CHECK","CHECKSUM","COLLATE","COLLATION","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPRESSED","CONCURRENT","CONSTRAINT","CONTAINS","CONVERT","COUNT","CREATE","CROSS","CURRENT_TIMESTAMP","DATABASE","DATABASES","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DAY","DEFAULT","DEFINER","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO","DROP","DUMPFILE","DUPLICATE","DYNAMIC","ELSE","ENCLOSED","END","ENGINE","ENGINES","ENGINE_TYPE","ESCAPE","ESCAPED","EVENTS","EXEC","EXECUTE","EXISTS","EXPLAIN","EXTENDED","FAST","FETCH","FIELDS","FILE","FIRST","FIXED","FLUSH","FOR","FORCE","FOREIGN","FULL","FULLTEXT","FUNCTION","GLOBAL","GRANTS","GROUP_CONCAT","HEAP","HIGH_PRIORITY","HOSTS","HOUR","HOUR_MINUTE","HOUR_SECOND","IDENTIFIED","IF","IFNULL","IGNORE","IN","INDEX","INDEXES","INFILE","INSERT","INSERT_ID","INSERT_METHOD","INTERVAL","INTO","INVOKER","IS","ISOLATION","KEY","KEYS","KILL","LAST_INSERT_ID","LEADING","LEVEL","LIKE","LINEAR","LINES","LOAD","LOCAL","LOCK","LOCKS","LOGS","LOW_PRIORITY","MARIA","MASTER","MASTER_CONNECT_RETRY","MASTER_HOST","MASTER_LOG_FILE","MATCH","MAX_CONNECTIONS_PER_HOUR","MAX_QUERIES_PER_HOUR","MAX_ROWS","MAX_UPDATES_PER_HOUR","MAX_USER_CONNECTIONS","MEDIUM","MERGE","MINUTE","MINUTE_SECOND","MIN_ROWS","MODE","MONTH","MRG_MYISAM","MYISAM","NAMES","NATURAL","NOT","NOW()","NULL","OFFSET","ON DELETE","ON UPDATE","ON","ONLY","OPEN","OPTIMIZE","OPTION","OPTIONALLY","OUTFILE","PACK_KEYS","PAGE","PARTIAL","PARTITION","PARTITIONS","PASSWORD","PRIMARY","PRIVILEGES","PROCEDURE","PROCESS","PROCESSLIST","PURGE","QUICK","RAID0","RAID_CHUNKS","RAID_CHUNKSIZE","RAID_TYPE","RANGE","READ","READ_ONLY","READ_WRITE","REFERENCES","REGEXP","RELOAD","RENAME","REPAIR","REPEATABLE","REPLACE","REPLICATION","RESET","RESTORE","RESTRICT","RETURN","RETURNS","REVOKE","RLIKE","ROLLBACK","ROW","ROWS","ROW_FORMAT","SECOND","SECURITY","SEPARATOR","SERIALIZABLE","SESSION","SHARE","SHOW","SHUTDOWN","SLAVE","SONAME","SOUNDS","SQL","SQL_AUTO_IS_NULL","SQL_BIG_RESULT","SQL_BIG_SELECTS","SQL_BIG_TABLES","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQL_LOG_BIN","SQL_LOG_OFF","SQL_LOG_UPDATE","SQL_LOW_PRIORITY_UPDATES","SQL_MAX_JOIN_SIZE","SQL_NO_CACHE","SQL_QUOTE_SHOW_CREATE","SQL_SAFE_UPDATES","SQL_SELECT_LIMIT","SQL_SLAVE_SKIP_COUNTER","SQL_SMALL_RESULT","SQL_WARNINGS","START","STARTING","STATUS","STOP","STORAGE","STRAIGHT_JOIN","STRING","STRIPED","SUPER","TABLE","TABLES","TEMPORARY","TERMINATED","THEN","TO","TRAILING","TRANSACTIONAL","TRIGGER","TRUE","TRUNCATE","TYPE","TYPES","UNCOMMITTED","UNIQUE","UNLOCK","UNSIGNED","USAGE","USE","USING","VARIABLES","VIEW","WHEN","WITH","WORK","WRITE","YEAR_MONTH"],r=["ADD","AFTER","ALTER COLUMN","ALTER TABLE","CREATE OR REPLACE","DECLARE","DELETE FROM","EXCEPT","FETCH FIRST","FROM","GO","GRANT","GROUP BY","HAVING","INSERT INTO","INSERT","LIMIT","MODIFY","ORDER BY","RETURNING","SELECT","SET CURRENT SCHEMA","SET SCHEMA","SET","UPDATE","VALUES","WHERE"],C=["INTERSECT ALL","INTERSECT","MINUS","UNION ALL","UNION"],W=["AND","CROSS APPLY","CROSS JOIN","ELSE","INNER JOIN","FULL JOIN","FULL OUTER JOIN","LEFT JOIN","LEFT OUTER JOIN","NATURAL JOIN","OR","OUTER APPLY","OUTER JOIN","RENAME","RIGHT JOIN","RIGHT OUTER JOIN","JOIN","WHEN","XOR"]}),b=d(a=>{"use strict";var m=a&&a.__importDefault||function(W){return W&&W.__esModule?W:{default:W}};a.__esModule=!0,a.tokenize=a.format=void 0;var o=m(E()),y=m(g()),L=m(c()),R=m(u()),r=function(W,N){switch(N===void 0&&(N={}),N.language){case"db2":return new o.default(N).format(W);case"n1ql":return new y.default(N).format(W);case"pl/sql":return new L.default(N).format(W);default:return new R.default(N).format(W)}};a.format=r;var C=function(W,N){return N===void 0&&(N={}),new R.default(N).tokenize(W)};a.tokenize=C,a.default={format:a.format,tokenize:a.tokenize}}),f=P(b(),1);globalThis.phpdebugbar_sqlformatter=f.default.default})();window.PhpDebugBar=window.PhpDebugBar||{};(function(){const s=window.PhpDebugBar;s.utils=s.utils||{};const H=s.utils.getDictValue=function(w,e,t){if(w==null)return t;const i=String(e).split(".");let E=w;for(const g of i)if(E==null||(E=E[g],E===void 0))return t;return E};s.utils.csscls=function(w,e){const t=String(w).trim();return t.includes(" ")?t.split(/\s+/).filter(Boolean).map(i=>s.utils.csscls(i,e)).join(" "):t.startsWith(".")?`.${e}${t.slice(1)}`:e+t},s.utils.makecsscls=function(w){return e=>s.utils.csscls(e,w)};const T=s.utils.makecsscls("phpdebugbar-");s.utils.sfDump=function(w){typeof window.Sfdump=="function"&&w.querySelectorAll("pre.sf-dump[id]").forEach(e=>{window.Sfdump(e.id,{maxDepth:0})})};const S=s.utils.formatSummary=function(w,e=""){const t=g=>g==null?"null":String(g);if(w==null||typeof w!="object")return e+t(w);const i=[],E=Array.isArray(w);for(const[g,c]of Object.entries(w)){const u=c!==null&&typeof c=="object";if(E){if(!u){i.push(`${e}- ${t(c)}`);continue}const b=S(c,`${e} `);i.push(`${b.slice(0,e.length)}- ${b.slice(e.length+2)}`);continue}if(u){i.push(`${e}${g}:`),i.push(S(c,`${e} `));continue}i.push(`${e}${g} = ${t(c)}`)}return i.join(` -`)},h=s.utils.summaryText=function(w){return w==null?"":typeof w=="string"?w:S(w)},k=s.utils.titleize=function(w){const e=String(w).replace(/[_-]/g," ");return e.charAt(0).toUpperCase()+e.slice(1)};s.utils.copyToClipboard=function(w){var i;if(!w)return Promise.reject(new Error("Nothing to copy"));if((i=navigator.clipboard)!=null&&i.writeText)return navigator.clipboard.writeText(w);const e=document.createElement("textarea");e.value=w,e.style.position="fixed",e.style.opacity="0",document.body.append(e),e.select();let t=!1;try{t=document.execCommand("copy")}catch(E){t=!1}return e.remove(),t?Promise.resolve():Promise.reject(new Error("Copy failed"))},s.utils.schedule=function(w){return window.requestIdleCallback?window.requestIdleCallback(w,{timeout:1e3}):setTimeout(w,0)};class d{get tagName(){return"div"}constructor(e={}){this._attributes=et({},this.defaults),this._boundAttributes={},this.el=document.createElement(this.tagName),this.className&&this.el.classList.add(...this.className.split(" ")),this.initialize(e),this.render()}initialize(e){this.set(e)}render(){}set(e,t){const i=typeof e=="string"?{[e]:t}:e,E=[];for(const g in i)if(t=i[g],this._attributes[g]=t,this._boundAttributes[g])for(const c of this._boundAttributes[g])E.includes(c)||(c.call(this,t),E.push(c))}has(e){return this._attributes[e]!==void 0&&this._attributes[e]!==null}get(e){return this._attributes[e]}bindAttr(e,t){if(Array.isArray(e)){for(const i of e)this.bindAttr(i,t);return}if(this._boundAttributes[e]||(this._boundAttributes[e]=[]),t instanceof HTMLElement){const i=t;t=E=>i.textContent=E||""}this._boundAttributes[e].push(t),this.has(e)&&t.call(this,this._attributes[e])}static extend(e){const t=this;class i extends t{}for(const E in e){const g=Object.getOwnPropertyDescriptor(e,E);g&&Object.defineProperty(i.prototype,E,g)}return Object.assign(i,t),i.__super__=t.prototype,i}}d.prototype.defaults={},s.Widget=d;class U{constructor(e={}){this.section=null,this.el=document.createElement("div"),this.el.classList.add(T("summary-float")),this.el.hidden=!0,this.btn=document.createElement("a"),this.btn.classList.add(T("summary-btn")),this.btn.setAttribute("title","Show summary"),this.btn.setAttribute("aria-haspopup","dialog"),this.btn.setAttribute("aria-expanded","false"),this.btn.addEventListener("click",i=>{i.stopPropagation(),this.toggle()}),this.el.append(this.btn),this.popover=document.createElement("div"),this.popover.classList.add(T("summary-popover")),this.popover.setAttribute("role","dialog"),this.popover.hidden=!0,this.popover.addEventListener("click",i=>i.stopPropagation()),this.content=document.createElement("div"),this.content.classList.add(T("summary-content")),this.popover.append(this.content),this.preferAll=localStorage.getItem("phpdebugbar-summary-all")==="1",this.scope=document.createElement("div"),this.scope.classList.add(T("summary-scope")),this.sectionBtn=this.createScopeButton("",!1),this.allBtn=this.createScopeButton("All",!0),this.scope.append(this.sectionBtn,this.allBtn),this.copyBtn=this.createCopyButton("Copy",()=>this.shownText);const t=document.createElement("div");t.classList.add(T("summary-actions")),t.append(this.scope,this.copyBtn),this.popover.append(t),this.el.append(this.popover),this.getSection=e.getSection||(()=>null),this.getAll=e.getAll||(()=>""),this.onDocumentClick=()=>this.close(),this.onKeyDown=i=>{i.key==="Escape"&&this.close()}}createScopeButton(e,t){const i=document.createElement("button");return i.type="button",i.classList.add(T("summary-scope-btn")),i.textContent=e,i.addEventListener("click",()=>{this.preferAll!==t&&(this.preferAll=t,localStorage.setItem("phpdebugbar-summary-all",t?"1":"0"),this.refresh())}),i}createCopyButton(e,t){const i=document.createElement("button");return i.type="button",i.classList.add(T("summary-copy")),this.copyLabel=document.createElement("span"),this.copyLabel.textContent=e,this.copyLabelText=e,i.append(this.copyLabel),i.addEventListener("click",()=>{s.utils.copyToClipboard(t()).then(()=>{this.resetCopied(),i.classList.add(T("summary-copied")),this.copyLabel.textContent="Copied!",this.copyTimer=setTimeout(()=>this.resetCopied(),1500)},()=>{})}),i}resetCopied(){clearTimeout(this.copyTimer),this.copyTimer=null,this.copyLabel.textContent=this.copyLabelText,this.copyBtn.classList.remove(T("summary-copied"))}setAvailable(e){this.el.hidden=!e,e||this.close()}refresh(){this.resetCopied(),this.section=this.getSection(),this.all=this.getAll(),this.showAll=this.preferAll||!this.section,this.sectionBtn.hidden=!this.section,this.sectionBtn.textContent=this.section?this.section.title:"",this.sectionBtn.classList.toggle(T("summary-scope-active"),!this.showAll),this.allBtn.classList.toggle(T("summary-scope-active"),this.showAll),this.content.textContent=this.shownText,this.content.scrollTop=0}get shownText(){var e,t;return this.showAll?this.all:(t=(e=this.section)==null?void 0:e.text)!=null?t:""}open(){this.refresh(),this.popover.hidden=!1,this.btn.setAttribute("aria-expanded","true"),this.btn.classList.add(T("summary-btn-active")),document.addEventListener("click",this.onDocumentClick),document.addEventListener("keydown",this.onKeyDown)}close(){this.popover.hidden=!0,this.btn.setAttribute("aria-expanded","false"),this.btn.classList.remove(T("summary-btn-active")),document.removeEventListener("click",this.onDocumentClick),document.removeEventListener("keydown",this.onKeyDown)}toggle(){this.popover.hidden?this.open():this.close()}get isOpen(){return!this.popover.hidden}}s.SummaryPopover=U;class P extends d{get className(){return T("panel")}render(){this.active=!1,this.tab=document.createElement("a"),this.tab.classList.add(T("tab")),this.icon=document.createElement("i"),this.tab.append(this.icon),this.bindAttr("icon",function(t){t?this.icon.className=`phpdebugbar-icon phpdebugbar-icon-${t}`:this.icon.className=""});const e=document.createElement("span");e.classList.add(T("text")),this.tab.append(e),this.bindAttr("title",e),this.badge=document.createElement("span"),this.badge.classList.add(T("badge")),this.tab.append(this.badge),this.bindAttr("badge",function(t){t!==null?(this.badge.textContent=t,this.badge.classList.add(T("visible"))):this.badge.classList.remove(T("visible"))}),this.bindAttr("widget",function(t){this.el.replaceChildren(t.el)}),this.summaryText="",this.bindAttr("summary",function(t){this.summaryText=h(t)}),this.widgetRendered=!1,this.bindAttr("data",function(t){this.has("widget")&&(this.tab.setAttribute("data-empty",Object.keys(t).length===0||t.count===0),!this.widgetRendered&&this.active&&t!=null?this.renderWidgetData():this.widgetRendered=!1)})}renderWidgetData(){const e=this.get("data"),t=this.get("widget");e==null||!t||(t.set("data",e),s.utils.schedule(()=>{s.utils.sfDump(t.el)}),this.widgetRendered=!0)}show(){const e=T("active");this.tab.classList.add(e),this.tab.hidden=!1,this.el.classList.add(e),this.el.hidden=!1,this.active=!0,this.widgetRendered||this.renderWidgetData()}hide(){const e=T("active");this.tab.classList.remove(e),this.el.classList.remove(e),this.el.hidden=!0,this.active=!1}}class B extends d{get tagName(){return"span"}get className(){return T("indicator")}render(){this.icon=document.createElement("i"),this.el.append(this.icon),this.bindAttr("icon",function(t){t?this.icon.className=`phpdebugbar-icon phpdebugbar-icon-${t}`:this.icon.className=""}),this.bindAttr("link",function(t){t?(this.el.addEventListener("click",()=>{this.get("debugbar").showTab(t)}),this.el.style.cursor="pointer"):this.el.style.cursor=""});const e=document.createElement("span");e.classList.add(T("text")),this.el.append(e),this.bindAttr(["title","data"],e),this.tooltip=document.createElement("span"),this.tooltip.classList.add(T("tooltip"),T("disabled")),this.el.append(this.tooltip),this.bindAttr("tooltip",function(t){if(t)if(Array.isArray(t)||typeof t=="object"){const i=document.createElement("dl");for(const[E,g]of Object.entries(t)){const c=document.createElement("dt");c.textContent=E,i.append(c);const u=document.createElement("dd");u.textContent=g,i.append(u)}this.tooltip.innerHTML="",this.tooltip.append(i),this.tooltip.classList.remove(T("disabled"))}else this.tooltip.textContent=t,this.tooltip.classList.remove(T("disabled"));else this.tooltip.classList.add(T("disabled"))})}}class _ extends d{get tagName(){return"form"}get className(){return T("settings")}initialize(e){this.set(e);const t=this.get("debugbar");this.settings=JSON.parse(localStorage.getItem("phpdebugbar-settings"))||{};for(const i in t.options)i in this.settings&&(t.options[i]=this.settings[i]),i==="theme"?t.setTheme(t.options[i]):t.el.setAttribute(`data-${i}`,t.options[i])}clearSettings(){const e=this.get("debugbar");if(localStorage.removeItem("phpdebugbar-settings"),localStorage.removeItem("phpdebugbar-ajaxhandler-autoshow"),this.settings={},e.options=et({},e.defaultOptions),e.ajaxHandler){const t=e.ajaxHandler.defaultAutoShow;e.ajaxHandler.setAutoShow(t),this.set("autoshow",t),e.controls.__datasets&&e.controls.__datasets.get("widget").set("autoshow",this.autoshow.checked)}this.initialize(e.options)}storeSetting(e,t){this.settings[e]=t;const i=this.get("debugbar");i.options[e]=t,e!=="theme"&&i.el.setAttribute(`data-${e}`,t),localStorage.setItem("phpdebugbar-settings",JSON.stringify(this.settings))}render(){this.el.innerHTML="";const e=this.get("debugbar"),t=this,i={},E=document.createElement("select");E.innerHTML='',E.value=e.options.theme,E.addEventListener("change",function(){t.storeSetting("theme",this.value),e.setTheme(this.value)}),i.Theme=E;const g=document.createElement("select");g.innerHTML='',g.value=e.options.openBtnPosition,g.addEventListener("change",function(){t.storeSetting("openBtnPosition",this.value),this.value==="topLeft"||this.value==="topRight"?t.storeSetting("toolbarPosition","top"):t.storeSetting("toolbarPosition","bottom"),t.get("debugbar").recomputeBottomOffset()}),i["Toolbar Position"]=g,this.hideEmptyTabs=document.createElement("input"),this.hideEmptyTabs.type="checkbox",this.hideEmptyTabs.checked=e.options.hideEmptyTabs,this.hideEmptyTabs.addEventListener("click",function(){t.storeSetting("hideEmptyTabs",this.checked),t.get("debugbar").respCSSSize=0,t.get("debugbar").resize()});const c=document.createElement("label");c.append(this.hideEmptyTabs,"Hide empty tabs until they have data"),i["Hide Empty Tabs"]=c;const u=document.createElement("input");u.type="checkbox",u.checked=e.options.showFullscreenBtn,u.addEventListener("click",function(){t.storeSetting("showFullscreenBtn",this.checked),e.toggleFullscreenBtn(this.checked)});const b=document.createElement("label");b.append(u,"Show fullscreen button in toolbar"),i.Fullscreen=b,this.autoshow=document.createElement("input"),this.autoshow.type="checkbox",this.autoshow.checked=e.ajaxHandler&&e.ajaxHandler.autoShow,this.autoshow.addEventListener("click",function(){e.ajaxHandler&&e.ajaxHandler.setAutoShow(this.checked),e.controls.__datasets&&e.controls.__datasets.get("widget").set("autoshow",this.checked),e.datasetSwitcherWidget&&e.datasetSwitcherWidget.set("autoshow",this.checked)}),this.bindAttr("autoshow",function(){this.autoshow.checked=this.get("autoshow");const m=this.autoshow.closest(`.${T("form-row")}`);m&&(m.style.display="")});const f=document.createElement("label");f.append(this.autoshow,"Automatically show new incoming Ajax requests"),i.Autoshow=f;const a=document.createElement("button");a.textContent="Reset settings",a.addEventListener("click",m=>{m.preventDefault(),t.clearSettings(),t.render()}),i["Reset to defaults"]=a;for(const[m,o]of Object.entries(i)){const y=document.createElement("div");y.classList.add(T("form-row"));const L=document.createElement("div");L.classList.add(T("form-label")),L.textContent=m,y.append(L);const R=document.createElement("div");R.classList.add(T("form-input")),o instanceof HTMLElement?R.append(o):R.innerHTML=o,y.append(R),t.el.append(y)}e.ajaxHandler||(this.autoshow.closest(`.${T("form-row")}`).style.display="none")}}class O{constructor(e){this.debugbar=e}format(e,t,i,E){if(i=i?` ${i}`:"",E=E||Object.keys(this.debugbar.datasets).length,t.__meta===void 0)return`#${E}${i}`;const g=t.__meta.uri.split("/");let c=g.pop();c||(c=`${g.pop()||""}/`),g.length&&!Number.isNaN(c)&&(c=`${g.pop()}/${c}`);const u=150;return c.length>u&&(c=`${c.substr(0,u)}...`),`#${E} ${c}${i} (${t.__meta.datetime.split(" ")[1]})`}}s.DatasetTitleFormater=O;class I extends d{get className(){return"phpdebugbar"}initialize(e={}){this.options=Object.assign({bodyBottomInset:!0,theme:"auto",toolbarPosition:"bottom",openBtnPosition:"bottomLeft",hideEmptyTabs:!1,showFullscreenBtn:!1,spaNavigationEvents:[]},e),this.defaultOptions=et({},this.options),this.controls={},this.dataMap={},this.datasets={},this.firstTabName=null,this.activePanelName=null,this.activeDatasetId=null,this.pendingDataSetId=null,this.datesetTitleFormater=new O(this);const t=window.getComputedStyle(document.body);this.bodyPaddingBottomHeight=Number.parseInt(t.paddingBottom),this.bodyPaddingTopHeight=Number.parseInt(t.paddingTop);try{this.isIframe=window.self!==window.top&&window.top.PhpDebugBar&&window.top.PhpDebugBar}catch(i){this.isIframe=!1}this.registerResizeHandler(),this.registerMediaListener(),this.registerNavigationListener(),this.settingsControl=new s.DebugBar.Tab({icon:"adjustments-horizontal",title:"Settings",widget:new _({debugbar:this})})}registerResizeHandler(){if(this.resize.bind===void 0||this.isIframe)return;const e=this.resize.bind(this);this.respCSSSize=0,window.addEventListener("resize",e),setTimeout(e,20)}registerMediaListener(){window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.options.theme==="auto"&&this.setTheme("auto")})}registerNavigationListener(){const e=this.options.spaNavigationEvents;if(!(!e||!e.length))for(const t of e)document.addEventListener(t,()=>{this.recalculateBodyPadding()})}recalculateBodyPadding(){if(!this.options.bodyBottomInset)return;document.body.style.paddingTop="",document.body.style.paddingBottom="";const e=window.getComputedStyle(document.body);this.bodyPaddingTopHeight=Number.parseFloat(e.paddingTop),this.bodyPaddingBottomHeight=Number.parseFloat(e.paddingBottom),this.recomputeBottomOffset()}setTheme(e){this.options.theme=e,e==="auto"&&(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),this.el.setAttribute("data-theme",e),this.openHandler&&this.openHandler.el.setAttribute("data-theme",e),this.datasetSwitcherWidget&&this.datasetSwitcherWidget.panel&&this.datasetSwitcherWidget.panel.setAttribute("data-theme",e)}resize(){if(this.isIframe)return;let e=this.respCSSSize;if(this.respCSSSize===0){const c=Array.from(this.header.children).filter(u=>u.offsetParent!==null);for(const u of c){const b=window.getComputedStyle(u);e+=u.offsetWidth+Number.parseFloat(b.marginLeft)+Number.parseFloat(b.marginRight)}}const t=this.header.offsetWidth,i=T("mini-design"),E=this.header.classList.contains(i);t<=e&&!E?(this.respCSSSize=e,this.header.classList.add(i)):e{e.close()}),this.headerLeft=document.createElement("div"),this.headerLeft.classList.add(T("header-left")),this.header.append(this.headerLeft),this.headerRight=document.createElement("div"),this.headerRight.classList.add(T("header-right")),this.header.append(this.headerRight),this.body=document.createElement("div"),this.body.classList.add(T("body")),this.el.append(this.body),this.recomputeBottomOffset(),this.resizeHandleBottom=document.createElement("div"),this.resizeHandleBottom.classList.add(T("resize-handle")),this.resizeHandleBottom.classList.add(T("resize-handle-bottom")),this.el.append(this.resizeHandleBottom);let t,i;const E=u=>{const b=i+(t-u.pageY);e.setHeight(b)},g=u=>{const b=i-(t-u.pageY);e.setHeight(b)},c=()=>{document.removeEventListener("mousemove",E),document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",c),e.dragCapture.style.display="none"};this.resizeHandle.addEventListener("mousedown",u=>{i=e.body.offsetHeight,t=u.pageY,document.addEventListener("mousemove",E),document.addEventListener("mouseup",c),e.dragCapture.style.display="",u.preventDefault()}),this.resizeHandleBottom.addEventListener("mousedown",u=>{i=e.body.offsetHeight,t=u.pageY,document.addEventListener("mousemove",g),document.addEventListener("mouseup",c),e.dragCapture.style.display="",u.preventDefault()}),this.closebtn=document.createElement("a"),this.closebtn.classList.add(T("close-btn")),this.headerRight.append(this.closebtn),this.closebtn.addEventListener("click",()=>{e.close()}),this.fullscreenbtn=document.createElement("a"),this.fullscreenbtn.classList.add(T("fullscreen-btn")),this.fullscreenbtn.hidden=!this.options.showFullscreenBtn,this.headerRight.append(this.fullscreenbtn),this.fullscreenbtn.addEventListener("click",()=>{e.toggleFullscreen()}),this.minimizebtn=document.createElement("a"),this.minimizebtn.classList.add(T("minimize-btn")),this.minimizebtn.hidden=!this.isMinimized(),this.headerRight.append(this.minimizebtn),this.minimizebtn.addEventListener("click",()=>{e.minimize()}),this.maximizebtn=document.createElement("a"),this.maximizebtn.classList.add(T("maximize-btn")),this.maximizebtn.hidden=this.isMinimized(),this.headerRight.append(this.maximizebtn),this.maximizebtn.addEventListener("click",()=>{e.restore()}),this.restorebtn=document.createElement("a"),this.restorebtn.classList.add(T("restore-btn")),this.restorebtn.hidden=!0,this.el.append(this.restorebtn),this.restorebtn.addEventListener("click",()=>{e.restore()}),this.summaryControl=new U({getSection:()=>e.getSummarySection(e.activePanelName),getAll:()=>e.getSummary()}),this.headerRight.append(this.summaryControl.el),this.openbtn=document.createElement("a"),this.openbtn.classList.add(T("open-btn")),this.openbtn.hidden=!0,this.headerRight.append(this.openbtn),this.openbtn.addEventListener("click",()=>{e.openHandler.show((u,b)=>{e.addDataSet(b,u,"(opened)")})}),this.datasetsSelectSpan=document.createElement("span"),this.datasetsSelectSpan.classList.add(T("datasets-switcher")),this.datasetsSelectSpan.setAttribute("name","datasets-switcher"),this.datasetsSelect=document.createElement("select"),this.datasetsSelect.hidden=!0,this.datasetsSelectSpan.append(this.datasetsSelect),this.headerRight.append(this.datasetsSelectSpan),this.datasetsSelect.addEventListener("change",function(){e.showDataSet(this.value)}),this.controls.__settings=this.settingsControl,this.settingsControl.tab.classList.add(T("tab-settings")),this.settingsControl.tab.setAttribute("data-collector","__settings"),this.settingsControl.el.setAttribute("data-collector","__settings"),this.settingsControl.el.hidden=!0,this.maximizebtn.after(this.settingsControl.tab),this.settingsControl.tab.hidden=!1,this.settingsControl.tab.addEventListener("click",()=>{!this.isMinimized()&&this.activePanelName==="__settings"&&!this.isFullscreen()?this.minimize():(this.showTab("__settings"),this.settingsControl.get("widget").render())}),this.body.append(this.settingsControl.el)}setHeight(e){if(this.isFullscreen())return;const t=40,i=window.innerHeight-this.header.offsetHeight-10;e=Math.min(e,i),e=Math.max(e,t),this.body.style.height=`${e}px`,localStorage.setItem("phpdebugbar-height",e),this.recomputeBottomOffset()}restoreState(){if(this.isIframe)return;const e=localStorage.getItem("phpdebugbar-height");this.setHeight(Number.parseInt(e)||this.body.offsetHeight);const t=localStorage.getItem("phpdebugbar-open");if(t&&t==="0")this.close();else{const i=localStorage.getItem("phpdebugbar-visible");if(i&&i==="1"){const E=localStorage.getItem("phpdebugbar-tab");this.isTab(E)?this.showTab(E):this.showTab()}else this.minimize()}this.options.showFullscreenBtn&&sessionStorage.getItem("phpdebugbar-fullscreen")==="1"&&this.toggleFullscreen()}createTab(e,t,i){const E=new P({title:i||e.replace(/[_-]/g," ").charAt(0).toUpperCase()+e.slice(1),widget:t});return this.addTab(e,E)}addTab(e,t){if(this.isControl(e))throw new Error(`${e} already exists`);const i=this;return this.headerLeft.append(t.tab),t.tab.addEventListener("click",()=>{!i.isMinimized()&&i.activePanelName===e&&!i.isFullscreen()?i.minimize():(i.restore(),i.showTab(e))}),t.tab.setAttribute("data-empty",!0),t.tab.setAttribute("data-collector",e),t.el.setAttribute("data-collector",e),this.body.append(t.el),this.controls[e]=t,this.firstTabName===null&&(this.firstTabName=e),t}createIndicator(e,t,i,E){const g=new B({icon:t,tooltip:i});return this.addIndicator(e,g,E)}addIndicator(e,t,i){if(this.isControl(e))throw new Error(`${e} already exists`);return t.set("debugbar",this),i==="left"?this.headerLeft.prepend(t.el):this.headerRight.append(t.el),this.controls[e]=t,t}getControl(e){if(this.isControl(e))return this.controls[e]}isControl(e){return this.controls[e]!==void 0}isTab(e){return this.isControl(e)&&this.controls[e]instanceof P}isIndicator(e){return this.isControl(e)&&this.controls[e]instanceof B}reset(){this.minimize();for(const[e,t]of Object.entries(this.controls))this.isTab(e)&&t.tab.remove(),t.el.remove();this.controls={}}showTab(e){var t;if(e||(this.activePanelName?e=this.activePanelName:e=this.firstTabName),!this.isTab(e))throw new Error(`Unknown tab '${e}'`);this.body.hidden=!1,this.recomputeBottomOffset();for(const[i,E]of Object.entries(this.controls))E instanceof P&&(i===e?E.show():E.hide());this.activePanelName=e,(t=this.summaryControl)!=null&&t.isOpen&&this.summaryControl.refresh(),this.el.classList.remove(T("minimized")),localStorage.setItem("phpdebugbar-visible","1"),localStorage.setItem("phpdebugbar-tab",e),this.maximize()}minimize(){this.exitFullscreen();const e=T("active"),t=this.header.querySelectorAll(`:scope > div > .${e}`);for(const i of t)i.classList.remove(e);this.body.hidden=!0,this.minimizebtn.hidden=!0,this.maximizebtn.hidden=!1,this.recomputeBottomOffset(),localStorage.setItem("phpdebugbar-visible","0"),this.el.classList.add(T("minimized")),this.resize()}maximize(){this.header.hidden=!1,this.restorebtn.hidden=!0,this.body.hidden=!1,this.minimizebtn.hidden=!1,this.maximizebtn.hidden=!0,this.recomputeBottomOffset(),localStorage.setItem("phpdebugbar-visible","1"),localStorage.setItem("phpdebugbar-open","1"),this.el.classList.remove(T("minimized")),this.el.classList.remove(T("closed")),this.resize()}isMinimized(){return this.el.classList.contains(T("minimized"))}toggleFullscreen(){this.isFullscreen()?this.exitFullscreen():(this._preFullscreenHeight=this.body.offsetHeight,this.el.classList.add(T("fullscreen")),this.body.style.height="",sessionStorage.setItem("phpdebugbar-fullscreen","1"),this.recomputeBottomOffset())}exitFullscreen(){this.isFullscreen()&&(this.el.classList.remove(T("fullscreen")),this._preFullscreenHeight&&(this.body.style.height=`${this._preFullscreenHeight}px`),sessionStorage.removeItem("phpdebugbar-fullscreen"),this.recomputeBottomOffset())}isFullscreen(){return this.el.classList.contains(T("fullscreen"))}toggleFullscreenBtn(e){this.fullscreenbtn.hidden=!e,e||this.exitFullscreen()}close(){this.exitFullscreen(),this.header.hidden=!0,this.body.hidden=!0,this.restorebtn.hidden=!1,localStorage.setItem("phpdebugbar-open","0"),this.el.classList.add(T("closed")),this.recomputeBottomOffset()}isClosed(){return this.el.classList.contains(T("closed"))}restore(){const e=localStorage.getItem("phpdebugbar-tab");this.pendingDataSetId&&(this.dataChangeHandler(this.datasets[this.pendingDataSetId]),this.pendingDataSetId=null),this.isTab(e)?this.showTab(e):this.showTab()}recomputeBottomOffset(){if(this.options.bodyBottomInset){if(this.isClosed()){document.body.style.paddingBottom=this.bodyPaddingBottomHeight?`${this.bodyPaddingBottomHeight}px`:"",document.body.style.paddingTop=this.bodyPaddingTopHeight?`${this.bodyPaddingTopHeight}px`:"";return}if(this.options.toolbarPosition==="top"){const e=this.el.offsetHeight+(this.bodyPaddingTopHeight||0);document.body.style.paddingTop=`${e}px`,document.body.style.paddingBottom=this.bodyPaddingBottomHeight?`${this.bodyPaddingBottomHeight}px`:""}else{const e=this.el.offsetHeight+(this.bodyPaddingBottomHeight||0);document.body.style.paddingBottom=`${e}px`,document.body.style.paddingTop=this.bodyPaddingTopHeight?`${this.bodyPaddingTopHeight}px`:""}}}setDataMap(e){this.dataMap=e}addDataMap(e){Object.assign(this.dataMap,e)}setData(e){return this.datasets={},this.addDataSet(e)}addDataSet(e,t,i,E){if(!e||!e.__meta)return;if(this.isIframe&&window.top.PhpDebugBar&&window.top.PhpDebugBar.instance){window.top.PhpDebugBar.instance.addDataSet(e,t,`(iframe)${i||""}`,E);return}const g=Object.keys(this.datasets).length+1;t=t||g,e.__meta.nb=g,e.__meta.suffix=i,this.datasets[t]=e;const c=this.datesetTitleFormater.format(t,this.datasets[t],i,g);if(this.datasetSwitcherWidget)this.datasetSwitcherWidget.set("data",this.datasets);else{const u=document.createElement("option");u.value=t,u.textContent=c,this.datasetsSelect.append(u),this.datasetsSelect.hidden=!1}return(E===void 0||E)&&this.showDataSet(t),this.resize(),t}loadDataSet(e,t,i,E){if(!this.openHandler)throw new Error("loadDataSet() needs an open handler");const g=this;this.openHandler.load(e,c=>{g.addDataSet(c,e,t,E),g.resize(),i&&i(c)})}getDataSet(e){return this.datasets[e]}showDataSet(e){this.activeDatasetId=e,this.isClosed()?this.pendingDataSetId=e:(this.dataChangeHandler(this.datasets[e]),this.pendingDataSetId=null),this.datasetSwitcherWidget?this.datasetSwitcherWidget.set("activeId",e):this.datasetsSelect.value=e}dataChangeHandler(e){for(const[t,i]of Object.entries(this.dataMap)){const E=H(e,i[0],i[1]);if(t.includes(":")){const g=t.split(":");this.getControl(g[0]).set(g[1],E)}else this.getControl(t).set("data",E)}this.summaryControl&&(this.summaryControl.setAvailable(this.getSummary()!==""),this.summaryControl.isOpen&&this.summaryControl.refresh()),this.isMinimized()||this.showTab(),this.resize()}getSummarySection(e,t){const i=e?this.getControl(e):void 0;let E=(i==null?void 0:i.summaryText)||"";if(!E){const g=this.dataMap[`${e}:summary`],c=this.datasets[t!=null?t:this.activeDatasetId];E=g?h(H(c,g[0],null)):""}return E.trim()?{name:e,title:(i==null?void 0:i.get("title"))||k(e),text:E}:null}getSummarySections(e){if(!this.datasets[e!=null?e:this.activeDatasetId])return[];const t=":summary",i=Object.keys(this.dataMap).filter(E=>E.endsWith(t)).map(E=>E.slice(0,-t.length));for(const[E,g]of Object.entries(this.controls))g.summaryText&&!i.includes(E)&&i.push(E);return i.map(E=>this.getSummarySection(E,e)).filter(Boolean)}getSummary(e){const t=this.getSummarySections(e);if(!t.length)return"";const i=["# PHP DebugBar summary"],E=this.datasets[e!=null?e:this.activeDatasetId].__meta||{},g={};for(const c of["id","datetime","ip"])E[c]&&(g[c]=E[c]);Object.keys(g).length&&i.push(S(g));for(const c of t)i.push(`## ${c.title} +`)},h=s.utils.summaryText=function(w){return w==null?"":typeof w=="string"?w:S(w)},k=s.utils.titleize=function(w){const e=String(w).replace(/[_-]/g," ");return e.charAt(0).toUpperCase()+e.slice(1)};s.utils.copyToClipboard=function(w){var i;if(!w)return Promise.reject(new Error("Nothing to copy"));if((i=navigator.clipboard)!=null&&i.writeText)return navigator.clipboard.writeText(w);const e=document.createElement("textarea");e.value=w,e.style.position="fixed",e.style.opacity="0",document.body.append(e),e.select();let t=!1;try{t=document.execCommand("copy")}catch(E){t=!1}return e.remove(),t?Promise.resolve():Promise.reject(new Error("Copy failed"))},s.utils.schedule=function(w){return window.requestIdleCallback?window.requestIdleCallback(w,{timeout:1e3}):setTimeout(w,0)};class d{get tagName(){return"div"}constructor(e={}){this._attributes=et({},this.defaults),this._boundAttributes={},this.el=document.createElement(this.tagName),this.className&&this.el.classList.add(...this.className.split(" ")),this.initialize(e),this.render()}initialize(e){this.set(e)}render(){}set(e,t){const i=typeof e=="string"?{[e]:t}:e,E=[];for(const g in i)if(t=i[g],this._attributes[g]=t,this._boundAttributes[g])for(const c of this._boundAttributes[g])E.includes(c)||(c.call(this,t),E.push(c))}has(e){return this._attributes[e]!==void 0&&this._attributes[e]!==null}get(e){return this._attributes[e]}bindAttr(e,t){if(Array.isArray(e)){for(const i of e)this.bindAttr(i,t);return}if(this._boundAttributes[e]||(this._boundAttributes[e]=[]),t instanceof HTMLElement){const i=t;t=E=>i.textContent=E||""}this._boundAttributes[e].push(t),this.has(e)&&t.call(this,this._attributes[e])}static extend(e){const t=this;class i extends t{}for(const E in e){const g=Object.getOwnPropertyDescriptor(e,E);g&&Object.defineProperty(i.prototype,E,g)}return Object.assign(i,t),i.__super__=t.prototype,i}}d.prototype.defaults={},s.Widget=d;class U{constructor(e={}){this.section=null,this.el=document.createElement("div"),this.el.classList.add(T("summary-float")),this.el.hidden=!0,this.btn=document.createElement("a"),this.btn.classList.add(T("summary-btn")),this.btn.setAttribute("title","Show summary"),this.btn.setAttribute("aria-haspopup","dialog"),this.btn.setAttribute("aria-expanded","false"),this.btn.addEventListener("click",i=>{i.stopPropagation(),this.toggle()}),this.el.append(this.btn),this.popover=document.createElement("div"),this.popover.classList.add(T("summary-popover")),this.popover.setAttribute("role","dialog"),this.popover.hidden=!0,this.popover.addEventListener("click",i=>i.stopPropagation()),this.content=document.createElement("div"),this.content.classList.add(T("summary-content")),this.popover.append(this.content),this.preferAll=localStorage.getItem("phpdebugbar-summary-all")==="1",this.scope=document.createElement("div"),this.scope.classList.add(T("summary-scope")),this.sectionBtn=this.createScopeButton("",!1),this.allBtn=this.createScopeButton("All",!0),this.scope.append(this.sectionBtn,this.allBtn),this.copyBtn=this.createCopyButton("Copy",()=>this.shownText);const t=document.createElement("div");t.classList.add(T("summary-actions")),t.append(this.scope,this.copyBtn),this.popover.append(t),this.el.append(this.popover),this.getSection=e.getSection||(()=>null),this.getAll=e.getAll||(()=>""),this.onDocumentClick=()=>this.close(),this.onKeyDown=i=>{i.key==="Escape"&&this.close()}}createScopeButton(e,t){const i=document.createElement("button");return i.type="button",i.classList.add(T("summary-scope-btn")),i.textContent=e,i.addEventListener("click",()=>{this.preferAll!==t&&(this.preferAll=t,localStorage.setItem("phpdebugbar-summary-all",t?"1":"0"),this.refresh())}),i}createCopyButton(e,t){const i=document.createElement("button");return i.type="button",i.classList.add(T("summary-copy")),this.copyLabel=document.createElement("span"),this.copyLabel.textContent=e,this.copyLabelText=e,i.append(this.copyLabel),i.addEventListener("click",()=>{s.utils.copyToClipboard(t()).then(()=>{this.resetCopied(),i.classList.add(T("summary-copied")),this.copyLabel.textContent="Copied!",this.copyTimer=setTimeout(()=>this.resetCopied(),1500)},()=>{})}),i}resetCopied(){clearTimeout(this.copyTimer),this.copyTimer=null,this.copyLabel.textContent=this.copyLabelText,this.copyBtn.classList.remove(T("summary-copied"))}setAvailable(e){this.el.hidden=!e,e||this.close()}refresh(){this.resetCopied(),this.section=this.getSection(),this.all=this.getAll(),this.showAll=this.preferAll||!this.section,this.sectionBtn.hidden=!this.section,this.sectionBtn.textContent=this.section?this.section.title:"",this.sectionBtn.classList.toggle(T("summary-scope-active"),!this.showAll),this.allBtn.classList.toggle(T("summary-scope-active"),this.showAll),this.content.textContent=this.shownText,this.content.scrollTop=0}get shownText(){var e,t;return this.showAll?this.all:(t=(e=this.section)==null?void 0:e.text)!=null?t:""}open(){this.refresh(),this.popover.hidden=!1,this.btn.setAttribute("aria-expanded","true"),this.btn.classList.add(T("summary-btn-active")),document.addEventListener("click",this.onDocumentClick),document.addEventListener("keydown",this.onKeyDown)}close(){this.popover.hidden=!0,this.btn.setAttribute("aria-expanded","false"),this.btn.classList.remove(T("summary-btn-active")),document.removeEventListener("click",this.onDocumentClick),document.removeEventListener("keydown",this.onKeyDown)}toggle(){this.popover.hidden?this.open():this.close()}get isOpen(){return!this.popover.hidden}}s.SummaryPopover=U;class P extends d{get className(){return T("panel")}render(){this.active=!1,this.tab=document.createElement("a"),this.tab.classList.add(T("tab")),this.icon=document.createElement("i"),this.tab.append(this.icon),this.bindAttr("icon",function(t){t?this.icon.className=`phpdebugbar-icon phpdebugbar-icon-${t}`:this.icon.className=""});const e=document.createElement("span");e.classList.add(T("text")),this.tab.append(e),this.bindAttr("title",e),this.badge=document.createElement("span"),this.badge.classList.add(T("badge")),this.tab.append(this.badge),this.bindAttr("badge",function(t){t!==null?(this.badge.textContent=t,this.badge.classList.add(T("visible"))):this.badge.classList.remove(T("visible"))}),this.bindAttr("widget",function(t){this.el.replaceChildren(t.el)}),this.summaryText="",this.bindAttr("summary",function(t){this.summaryText=h(t)}),this.widgetRendered=!1,this.bindAttr("data",function(t){this.has("widget")&&(this.tab.setAttribute("data-empty",Object.keys(t).length===0||t.count===0),!this.widgetRendered&&this.active&&t!=null?this.renderWidgetData():this.widgetRendered=!1)})}renderWidgetData(){const e=this.get("data"),t=this.get("widget");e==null||!t||(t.set("data",e),s.utils.schedule(()=>{s.utils.sfDump(t.el)}),this.widgetRendered=!0)}show(){const e=T("active");this.tab.classList.add(e),this.tab.hidden=!1,this.el.classList.add(e),this.el.hidden=!1,this.active=!0,this.widgetRendered||this.renderWidgetData()}hide(){const e=T("active");this.tab.classList.remove(e),this.el.classList.remove(e),this.el.hidden=!0,this.active=!1}}class B extends d{get tagName(){return"span"}get className(){return T("indicator")}render(){this.icon=document.createElement("i"),this.el.append(this.icon),this.bindAttr("icon",function(t){t?this.icon.className=`phpdebugbar-icon phpdebugbar-icon-${t}`:this.icon.className=""}),this.bindAttr("link",function(t){t?(this.el.addEventListener("click",()=>{this.get("debugbar").showTab(t)}),this.el.style.cursor="pointer"):this.el.style.cursor=""});const e=document.createElement("span");e.classList.add(T("text")),this.el.append(e),this.bindAttr(["title","data"],e),this.tooltip=document.createElement("span"),this.tooltip.classList.add(T("tooltip"),T("disabled")),this.el.append(this.tooltip),this.bindAttr("tooltip",function(t){if(t)if(Array.isArray(t)||typeof t=="object"){const i=document.createElement("dl");for(const[E,g]of Object.entries(t)){const c=document.createElement("dt");c.textContent=E,i.append(c);const u=document.createElement("dd");u.textContent=g,i.append(u)}this.tooltip.innerHTML="",this.tooltip.append(i),this.tooltip.classList.remove(T("disabled"))}else this.tooltip.textContent=t,this.tooltip.classList.remove(T("disabled"));else this.tooltip.classList.add(T("disabled"))})}}class _ extends d{get tagName(){return"form"}get className(){return T("settings")}initialize(e){this.set(e);const t=this.get("debugbar");this.settings=JSON.parse(localStorage.getItem("phpdebugbar-settings"))||{};for(const i in t.options)i in this.settings&&(t.options[i]=this.settings[i]),i==="theme"?t.setTheme(t.options[i]):t.el.setAttribute(`data-${i}`,t.options[i])}clearSettings(){const e=this.get("debugbar");if(localStorage.removeItem("phpdebugbar-settings"),localStorage.removeItem("phpdebugbar-ajaxhandler-autoshow"),this.settings={},e.options=et({},e.defaultOptions),e.ajaxHandler){const t=e.ajaxHandler.defaultAutoShow;e.ajaxHandler.setAutoShow(t),this.set("autoshow",t),e.controls.__datasets&&e.controls.__datasets.get("widget").set("autoshow",this.autoshow.checked)}this.initialize(e.options)}storeSetting(e,t){this.settings[e]=t;const i=this.get("debugbar");i.options[e]=t,e!=="theme"&&i.el.setAttribute(`data-${e}`,t),localStorage.setItem("phpdebugbar-settings",JSON.stringify(this.settings))}render(){this.el.innerHTML="";const e=this.get("debugbar"),t=this,i={},E=document.createElement("select");E.innerHTML='',E.value=e.options.theme,E.addEventListener("change",function(){t.storeSetting("theme",this.value),e.setTheme(this.value)}),i.Theme=E;const g=document.createElement("select");g.innerHTML='',g.value=e.options.openBtnPosition,g.addEventListener("change",function(){t.storeSetting("openBtnPosition",this.value),this.value==="topLeft"||this.value==="topRight"?t.storeSetting("toolbarPosition","top"):t.storeSetting("toolbarPosition","bottom"),t.get("debugbar").recomputeBottomOffset()}),i["Toolbar Position"]=g,this.hideEmptyTabs=document.createElement("input"),this.hideEmptyTabs.type="checkbox",this.hideEmptyTabs.checked=e.options.hideEmptyTabs,this.hideEmptyTabs.addEventListener("click",function(){t.storeSetting("hideEmptyTabs",this.checked),t.get("debugbar").respCSSSize=0,t.get("debugbar").resize()});const c=document.createElement("label");c.append(this.hideEmptyTabs,"Hide empty tabs until they have data"),i["Hide Empty Tabs"]=c;const u=document.createElement("input");u.type="checkbox",u.checked=e.options.showFullscreenBtn,u.addEventListener("click",function(){t.storeSetting("showFullscreenBtn",this.checked),e.toggleFullscreenBtn(this.checked)});const b=document.createElement("label");b.append(u,"Show fullscreen button in toolbar"),i.Fullscreen=b,this.autoshow=document.createElement("input"),this.autoshow.type="checkbox",this.autoshow.checked=e.ajaxHandler&&e.ajaxHandler.autoShow,this.autoshow.addEventListener("click",function(){e.ajaxHandler&&e.ajaxHandler.setAutoShow(this.checked),e.controls.__datasets&&e.controls.__datasets.get("widget").set("autoshow",this.checked),e.datasetSwitcherWidget&&e.datasetSwitcherWidget.set("autoshow",this.checked)}),this.bindAttr("autoshow",function(){this.autoshow.checked=this.get("autoshow");const m=this.autoshow.closest(`.${T("form-row")}`);m&&(m.style.display="")});const f=document.createElement("label");f.append(this.autoshow,"Automatically show new incoming Ajax requests"),i.Autoshow=f;const a=document.createElement("button");a.textContent="Reset settings",a.addEventListener("click",m=>{m.preventDefault(),t.clearSettings(),t.render()}),i["Reset to defaults"]=a;for(const[m,o]of Object.entries(i)){const y=document.createElement("div");y.classList.add(T("form-row"));const L=document.createElement("div");L.classList.add(T("form-label")),L.textContent=m,y.append(L);const R=document.createElement("div");R.classList.add(T("form-input")),o instanceof HTMLElement?R.append(o):R.innerHTML=o,y.append(R),t.el.append(y)}e.ajaxHandler||(this.autoshow.closest(`.${T("form-row")}`).style.display="none")}}class O{constructor(e){this.debugbar=e}format(e,t,i,E){if(i=i?` ${i}`:"",E=E||Object.keys(this.debugbar.datasets).length,t.__meta===void 0)return`#${E}${i}`;const g=t.__meta.uri.split("/");let c=g.pop();c||(c=`${g.pop()||""}/`),g.length&&!Number.isNaN(c)&&(c=`${g.pop()}/${c}`);const u=150;return c.length>u&&(c=`${c.substr(0,u)}...`),`#${E} ${c}${i} (${t.__meta.datetime.split(" ")[1]})`}}s.DatasetTitleFormater=O;class I extends d{get className(){return"phpdebugbar"}initialize(e={}){this.options=Object.assign({bodyBottomInset:!0,theme:"auto",toolbarPosition:"bottom",openBtnPosition:"bottomLeft",hideEmptyTabs:!1,showFullscreenBtn:!1,spaNavigationEvents:[]},e),this.defaultOptions=et({},this.options),this.controls={},this.dataMap={},this.datasets={},this.firstTabName=null,this.activePanelName=null,this.activeDatasetId=null,this.pendingDataSetId=null,this.datesetTitleFormater=new O(this);const t=window.getComputedStyle(document.body);this.bodyPaddingBottomHeight=Number.parseInt(t.paddingBottom),this.bodyPaddingTopHeight=Number.parseInt(t.paddingTop);try{this.isIframe=window.self!==window.top&&window.top.PhpDebugBar&&window.top.PhpDebugBar}catch(i){this.isIframe=!1}this.registerResizeHandler(),this.registerMediaListener(),this.registerNavigationListener(),this.settingsControl=new s.DebugBar.Tab({icon:"adjustments-horizontal",title:"Settings",widget:new _({debugbar:this})})}registerResizeHandler(){if(this.resize.bind===void 0||this.isIframe)return;const e=this.resize.bind(this);this.respCSSSize=0,window.addEventListener("resize",e),setTimeout(e,20)}registerMediaListener(){window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.options.theme==="auto"&&this.setTheme("auto")})}registerNavigationListener(){const e=this.options.spaNavigationEvents;if(!(!e||!e.length))for(const t of e)document.addEventListener(t,()=>{this.recalculateBodyPadding()})}recalculateBodyPadding(){if(!this.options.bodyBottomInset)return;document.body.style.paddingTop="",document.body.style.paddingBottom="";const e=window.getComputedStyle(document.body);this.bodyPaddingTopHeight=Number.parseFloat(e.paddingTop),this.bodyPaddingBottomHeight=Number.parseFloat(e.paddingBottom),this.recomputeBottomOffset()}setTheme(e){this.options.theme=e,e==="auto"&&(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),this.el.setAttribute("data-theme",e),this.openHandler&&this.openHandler.el.setAttribute("data-theme",e),this.datasetSwitcherWidget&&this.datasetSwitcherWidget.panel&&this.datasetSwitcherWidget.panel.setAttribute("data-theme",e)}resize(){if(this.isIframe)return;let e=this.respCSSSize;if(this.respCSSSize===0){const c=Array.from(this.header.children).filter(u=>u.offsetParent!==null);for(const u of c){const b=window.getComputedStyle(u);e+=u.offsetWidth+Number.parseFloat(b.marginLeft)+Number.parseFloat(b.marginRight)}}const t=this.header.offsetWidth,i=T("mini-design"),E=this.header.classList.contains(i);t<=e&&!E?(this.respCSSSize=e,this.header.classList.add(i)):e{e.close()}),this.headerLeft=document.createElement("div"),this.headerLeft.classList.add(T("header-left")),this.header.append(this.headerLeft),this.headerRight=document.createElement("div"),this.headerRight.classList.add(T("header-right")),this.header.append(this.headerRight),this.body=document.createElement("div"),this.body.classList.add(T("body")),this.el.append(this.body),this.recomputeBottomOffset(),this.resizeHandleBottom=document.createElement("div"),this.resizeHandleBottom.classList.add(T("resize-handle")),this.resizeHandleBottom.classList.add(T("resize-handle-bottom")),this.el.append(this.resizeHandleBottom);let t,i;const E=u=>{const b=i+(t-u.pageY);e.setHeight(b)},g=u=>{const b=i-(t-u.pageY);e.setHeight(b)},c=()=>{document.removeEventListener("mousemove",E),document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",c),e.dragCapture.style.display="none"};this.resizeHandle.addEventListener("mousedown",u=>{i=e.body.offsetHeight,t=u.pageY,document.addEventListener("mousemove",E),document.addEventListener("mouseup",c),e.dragCapture.style.display="",u.preventDefault()}),this.resizeHandleBottom.addEventListener("mousedown",u=>{i=e.body.offsetHeight,t=u.pageY,document.addEventListener("mousemove",g),document.addEventListener("mouseup",c),e.dragCapture.style.display="",u.preventDefault()}),this.closebtn=document.createElement("a"),this.closebtn.classList.add(T("close-btn")),this.headerRight.append(this.closebtn),this.closebtn.addEventListener("click",()=>{e.close()}),this.fullscreenbtn=document.createElement("a"),this.fullscreenbtn.classList.add(T("fullscreen-btn")),this.fullscreenbtn.hidden=!this.options.showFullscreenBtn,this.headerRight.append(this.fullscreenbtn),this.fullscreenbtn.addEventListener("click",()=>{e.toggleFullscreen()}),this.minimizebtn=document.createElement("a"),this.minimizebtn.classList.add(T("minimize-btn")),this.minimizebtn.hidden=!this.isMinimized(),this.headerRight.append(this.minimizebtn),this.minimizebtn.addEventListener("click",()=>{e.minimize()}),this.maximizebtn=document.createElement("a"),this.maximizebtn.classList.add(T("maximize-btn")),this.maximizebtn.hidden=this.isMinimized(),this.headerRight.append(this.maximizebtn),this.maximizebtn.addEventListener("click",()=>{e.restore()}),this.restorebtn=document.createElement("a"),this.restorebtn.classList.add(T("restore-btn")),this.restorebtn.hidden=!0,this.el.append(this.restorebtn),this.restorebtn.addEventListener("click",()=>{e.restore()}),this.summaryControl=new U({getSection:()=>e.getSummarySection(e.activePanelName),getAll:()=>e.getSummary()}),this.headerRight.append(this.summaryControl.el),this.openbtn=document.createElement("a"),this.openbtn.classList.add(T("open-btn")),this.openbtn.hidden=!0,this.headerRight.append(this.openbtn),this.openbtn.addEventListener("click",()=>{e.openHandler.show((u,b)=>{e.addDataSet(b,u,"(opened)")})}),this.datasetsSelectSpan=document.createElement("span"),this.datasetsSelectSpan.classList.add(T("datasets-switcher")),this.datasetsSelectSpan.setAttribute("name","datasets-switcher"),this.datasetsSelect=document.createElement("select"),this.datasetsSelect.hidden=!0,this.datasetsSelectSpan.append(this.datasetsSelect),this.headerRight.append(this.datasetsSelectSpan),this.datasetsSelect.addEventListener("change",function(){e.showDataSet(this.value)}),this.controls.__settings=this.settingsControl,this.settingsControl.tab.classList.add(T("tab-settings")),this.settingsControl.tab.setAttribute("data-collector","__settings"),this.settingsControl.el.setAttribute("data-collector","__settings"),this.settingsControl.el.hidden=!0,this.maximizebtn.after(this.settingsControl.tab),this.settingsControl.tab.hidden=!1,this.settingsControl.tab.addEventListener("click",()=>{!this.isMinimized()&&this.activePanelName==="__settings"&&!this.isFullscreen()?this.minimize():(this.showTab("__settings"),this.settingsControl.get("widget").render())}),this.body.append(this.settingsControl.el)}setHeight(e){if(this.isFullscreen())return;const t=40,i=window.innerHeight-this.header.offsetHeight-10;e=Math.min(e,i),e=Math.max(e,t),this.body.style.height=`${e}px`,localStorage.setItem("phpdebugbar-height",e),this.recomputeBottomOffset()}restoreState(){if(this.isIframe)return;const e=localStorage.getItem("phpdebugbar-height");this.setHeight(Number.parseInt(e)||this.body.offsetHeight);const t=localStorage.getItem("phpdebugbar-open");if(t&&t==="0")this.close();else{const i=localStorage.getItem("phpdebugbar-visible");if(i&&i==="1"){const E=localStorage.getItem("phpdebugbar-tab");this.isTab(E)?this.showTab(E):this.showTab()}else this.minimize()}this.options.showFullscreenBtn&&sessionStorage.getItem("phpdebugbar-fullscreen")==="1"&&this.toggleFullscreen()}createTab(e,t,i){const E=new P({title:i||e.replace(/[_-]/g," ").charAt(0).toUpperCase()+e.slice(1),widget:t});return this.addTab(e,E)}addTab(e,t){if(this.isControl(e))throw new Error(`${e} already exists`);const i=this;return this.headerLeft.append(t.tab),t.tab.addEventListener("click",()=>{!i.isMinimized()&&i.activePanelName===e&&!i.isFullscreen()?i.minimize():(i.restore(),i.showTab(e))}),t.tab.setAttribute("data-empty",!0),t.tab.setAttribute("data-collector",e),t.el.setAttribute("data-collector",e),this.body.append(t.el),this.controls[e]=t,this.firstTabName===null&&(this.firstTabName=e),t}createIndicator(e,t,i,E){const g=new B({icon:t,tooltip:i});return this.addIndicator(e,g,E)}addIndicator(e,t,i){if(this.isControl(e))throw new Error(`${e} already exists`);return t.set("debugbar",this),i==="left"?this.headerLeft.prepend(t.el):this.headerRight.append(t.el),this.controls[e]=t,t}getControl(e){if(this.isControl(e))return this.controls[e]}isControl(e){return this.controls[e]!==void 0}isTab(e){return this.isControl(e)&&this.controls[e]instanceof P}isIndicator(e){return this.isControl(e)&&this.controls[e]instanceof B}reset(){this.minimize();for(const[e,t]of Object.entries(this.controls))this.isTab(e)&&t.tab.remove(),t.el.remove();this.controls={}}showTab(e){var t;if(e||(this.activePanelName?e=this.activePanelName:e=this.firstTabName),!this.isTab(e))throw new Error(`Unknown tab '${e}'`);this.body.hidden=!1,this.recomputeBottomOffset();for(const[i,E]of Object.entries(this.controls))E instanceof P&&(i===e?E.show():E.hide());this.activePanelName=e,(t=this.summaryControl)!=null&&t.isOpen&&this.summaryControl.refresh(),this.el.classList.remove(T("minimized")),localStorage.setItem("phpdebugbar-visible","1"),localStorage.setItem("phpdebugbar-tab",e),this.maximize()}minimize(){this.exitFullscreen();const e=T("active"),t=this.header.querySelectorAll(`:scope > div > .${e}`);for(const i of t)i.classList.remove(e);this.body.hidden=!0,this.minimizebtn.hidden=!0,this.maximizebtn.hidden=!1,this.recomputeBottomOffset(),localStorage.setItem("phpdebugbar-visible","0"),this.el.classList.add(T("minimized")),this.resize()}maximize(){this.header.hidden=!1,this.restorebtn.hidden=!0,this.body.hidden=!1,this.minimizebtn.hidden=!1,this.maximizebtn.hidden=!0,this.recomputeBottomOffset(),localStorage.setItem("phpdebugbar-visible","1"),localStorage.setItem("phpdebugbar-open","1"),this.el.classList.remove(T("minimized")),this.el.classList.remove(T("closed")),this.resize()}isMinimized(){return this.el.classList.contains(T("minimized"))}toggleFullscreen(){this.isFullscreen()?this.exitFullscreen():(this._preFullscreenHeight=this.body.offsetHeight,this.el.classList.add(T("fullscreen")),this.body.style.height="",sessionStorage.setItem("phpdebugbar-fullscreen","1"),this.recomputeBottomOffset())}exitFullscreen(){this.isFullscreen()&&(this.el.classList.remove(T("fullscreen")),this._preFullscreenHeight&&(this.body.style.height=`${this._preFullscreenHeight}px`),sessionStorage.removeItem("phpdebugbar-fullscreen"),this.recomputeBottomOffset())}isFullscreen(){return this.el.classList.contains(T("fullscreen"))}toggleFullscreenBtn(e){this.fullscreenbtn.hidden=!e,e||this.exitFullscreen()}close(){this.exitFullscreen(),this.header.hidden=!0,this.body.hidden=!0,this.restorebtn.hidden=!1,localStorage.setItem("phpdebugbar-open","0"),this.el.classList.add(T("closed")),this.recomputeBottomOffset()}isClosed(){return this.el.classList.contains(T("closed"))}restore(){const e=localStorage.getItem("phpdebugbar-tab");this.pendingDataSetId&&(this.dataChangeHandler(this.datasets[this.pendingDataSetId]),this.pendingDataSetId=null),this.isTab(e)?this.showTab(e):this.showTab()}recomputeBottomOffset(){if(this.options.bodyBottomInset){if(this.isClosed()){document.body.style.paddingBottom=this.bodyPaddingBottomHeight?`${this.bodyPaddingBottomHeight}px`:"",document.body.style.paddingTop=this.bodyPaddingTopHeight?`${this.bodyPaddingTopHeight}px`:"";return}if(this.options.toolbarPosition==="top"){const e=this.el.offsetHeight+(this.bodyPaddingTopHeight||0);document.body.style.paddingTop=`${e}px`,document.body.style.paddingBottom=this.bodyPaddingBottomHeight?`${this.bodyPaddingBottomHeight}px`:""}else{const e=this.el.offsetHeight+(this.bodyPaddingBottomHeight||0);document.body.style.paddingBottom=`${e}px`,document.body.style.paddingTop=this.bodyPaddingTopHeight?`${this.bodyPaddingTopHeight}px`:""}}}setDataMap(e){this.dataMap=e}addDataMap(e){Object.assign(this.dataMap,e)}setData(e){return this.datasets={},this.addDataSet(e)}addDataSet(e,t,i,E){if(!e||!e.__meta)return;if(this.isIframe&&window.top.PhpDebugBar&&window.top.PhpDebugBar.instance){window.top.PhpDebugBar.instance.addDataSet(e,t,`(iframe)${i||""}`,E);return}const g=Object.keys(this.datasets).length+1;t=t||g,e.__meta.nb=g,e.__meta.suffix=i,this.datasets[t]=e;const c=this.datesetTitleFormater.format(t,this.datasets[t],i,g);if(this.datasetSwitcherWidget)this.datasetSwitcherWidget.set("data",this.datasets);else{const u=document.createElement("option");u.value=t,u.textContent=c,this.datasetsSelect.append(u),this.datasetsSelect.hidden=!1}return(E===void 0||E)&&this.showDataSet(t),this.resize(),t}loadDataSet(e,t,i,E){if(!this.openHandler)throw new Error("loadDataSet() needs an open handler");const g=this;this.openHandler.load(e,c=>{g.addDataSet(c,e,t,E),g.resize(),i&&i(c)})}getDataSet(e){return this.datasets[e]}showDataSet(e){this.activeDatasetId=e,this.isClosed()?this.pendingDataSetId=e:(this.dataChangeHandler(this.datasets[e]),this.pendingDataSetId=null),this.datasetSwitcherWidget?this.datasetSwitcherWidget.set("activeId",e):this.datasetsSelect.value=e}dataChangeHandler(e){for(const[t,i]of Object.entries(this.dataMap)){const E=H(e,i[0],i[1]);if(t.includes(":")){const g=t.split(":");this.getControl(g[0]).set(g[1],E)}else this.getControl(t).set("data",E)}this.summaryControl&&(this.summaryControl.setAvailable(this.getSummary()!==""),this.summaryControl.isOpen&&this.summaryControl.refresh()),this.isMinimized()||this.showTab(),this.resize()}getSummarySection(e,t){const i=e?this.getControl(e):void 0;let E=(i==null?void 0:i.summaryText)||"";if(!E){const g=this.dataMap[`${e}:summary`],c=this.datasets[t!=null?t:this.activeDatasetId];E=g?h(H(c,g[0],null)):""}return E.trim()?{name:e,title:(i==null?void 0:i.get("title"))||k(e),text:E}:null}getSummarySections(e){if(!this.datasets[e!=null?e:this.activeDatasetId])return[];const t=":summary",i=Object.keys(this.dataMap).filter(E=>E.endsWith(t)).map(E=>E.slice(0,-t.length));for(const[E,g]of Object.entries(this.controls))g.summaryText&&!i.includes(E)&&i.push(E);return i.map(E=>this.getSummarySection(E,e)).filter(Boolean)}getSummary(e){const t=this.getSummarySections(e);if(!t.length)return"";const i=["# PHP DebugBar summary"],E=this.datasets[e!=null?e:this.activeDatasetId].__meta||{},g={};for(const c of["id","datetime","method"])E[c]&&(g[c]=E[c]);Object.keys(g).length&&i.push(S(g));for(const c of t)i.push(`## ${c.title} ${c.text}`);return i.join(` `)}setOpenHandler(e){this.openHandler=e,this.openHandler.el.setAttribute("data-theme",this.el.getAttribute("data-theme")),this.openbtn.hidden=e==null}getOpenHandler(){return this.openHandler}enableAjaxHandlerTab(){this.datasetsSelectSpan&&(this.datasetsSelectSpan.hidden=!0),this.datasetSwitcherWidget=new s.Widgets.DatasetWidget({debugbar:this}),this.openbtn.after(this.datasetSwitcherWidget.el)}}s.DebugBar=I,I.Tab=P,I.Indicator=B;class G{constructor(e,t,i){this.debugbar=e,this.headerName=t||"phpdebugbar",this.captureStreamed=!1,this.streamedContentTypes=["text/event-stream"],this.autoShow=i===void 0?!0:i,this.defaultAutoShow=this.autoShow,localStorage.getItem("phpdebugbar-ajaxhandler-autoshow")!==null&&(this.autoShow=localStorage.getItem("phpdebugbar-ajaxhandler-autoshow")==="1"),e.controls.__settings&&e.controls.__settings.get("widget").set("autoshow",this.autoShow)}handle(e,t){const i=this.getHeader(e,`${this.headerName}-stack`);return i&&JSON.parse(i).forEach(g=>{this.debugbar.loadDataSet(g," (stacked)",null,!1)}),this.loadFromId(e)||this.loadFromData(e)?!0:t&&this.debugbar.openHandler&&this.isStreamedResponse(e)?(this.loadFromRequestId(t),!0):!1}isStreamedResponse(e){const t=this.streamedContentTypes;if(!t||!t.length)return!0;const i=(this.getHeader(e,"content-type")||"").split(";")[0].trim().toLowerCase();return t.some(E=>E.trim().toLowerCase()===i)}sameOrigin(e){try{return new URL(e,location.href).origin===location.origin}catch(t){return!1}}canInjectRequestId(e){const t=this.debugbar.openHandler;if(t&&typeof t.get=="function")try{const i=t.get("url");if(i&&new URL(e,location.href).pathname===new URL(i,location.href).pathname)return!1}catch(i){}return!0}newRequestId(){return globalThis.crypto&&typeof globalThis.crypto.randomUUID=="function"&&globalThis.crypto.randomUUID()||String(Date.now())+Math.random().toString(16).slice(2)}loadFromRequestId(e,t=5){this.debugbar.openHandler.find({rid:e},0,i=>{const E=Array.isArray(i)?i.find(g=>g&&g.rid===e&&g.id):null;E?this.debugbar.loadDataSet(E.id,"(ajax)",void 0,this.autoShow):t>0&&setTimeout(()=>this.loadFromRequestId(e,t-1),150)})}getHeader(e,t){return e instanceof Response?e.headers.get(t):e instanceof XMLHttpRequest?e.getResponseHeader(t):null}setAutoShow(e){this.autoShow=e,localStorage.setItem("phpdebugbar-ajaxhandler-autoshow",e?"1":"0")}loadFromId(e){const t=this.extractIdFromHeaders(e);return t&&this.debugbar.openHandler?(this.debugbar.loadDataSet(t,"(ajax)",void 0,this.autoShow),!0):!1}extractIdFromHeaders(e){return this.getHeader(e,`${this.headerName}-id`)}loadFromData(e){const t=this.extractDataFromHeaders(e);if(!t)return!1;const i=this.parseHeaders(t);if(i.error)throw new Error(`Error loading debugbar data: ${i.error}`);return i.data&&this.debugbar.addDataSet(i.data,i.id,"(ajax)",this.autoShow),!0}extractDataFromHeaders(e){let t=this.getHeader(e,this.headerName);if(t){for(let i=1;;i++){const E=this.getHeader(e,`${this.headerName}-${i}`);if(!E)break;t+=E}return decodeURIComponent(t)}}parseHeaders(e){return JSON.parse(e)}bindToFetch(){const e=this,t=window.fetch.__debugbar_original||window.fetch,i=t.bind(window);function E(g,c){var a;let u=null;const b=g instanceof Request?g.url:g;if(e.captureStreamed&&e.sameOrigin(b)&&e.canInjectRequestId(b)){u=e.newRequestId();const m=`${e.headerName}-request-id`;if(g instanceof Request){c=et({},c||{});const o=new Headers(g.headers);new Headers(c.headers||{}).forEach((y,L)=>o.set(L,y)),o.set(m,u),g=new Request(g,Ht(et({},c),{headers:o})),c=void 0}else{c=et({},c||{});const o=new Headers(c.headers||{});o.set(m,u),c.headers=o}}const f=i(g,c);return(a=f==null?void 0:f.then)==null||a.call(f,m=>e.handle(m,u)).catch(()=>{}),f}E.__debugbar_wrapped=!0,E.__debugbar_original=t,window.fetch=E}bindToXHR(){const e=this,t=XMLHttpRequest.prototype,i=(t.open||{}).__debugbar_original||t.open;if(typeof i!="function")return;function E(g,c,u=!0,b=null,f=null){this.__debugbar_listener_attached||(this.__debugbar_listener_attached=!0,this.addEventListener("readystatechange",()=>{this.readyState===4&&e.handle(this,this.__debugbar_rid)}));const a=i.call(this,g,c,u,b,f);if(e.captureStreamed&&e.sameOrigin(c)&&e.canInjectRequestId(c)){this.__debugbar_rid=e.newRequestId();try{this.setRequestHeader(`${e.headerName}-request-id`,this.__debugbar_rid)}catch(m){}}return a}E.__debugbar_wrapped=!0,E.__debugbar_original=i,t.open=E}}s.AjaxHandler=G})();(function(){PhpDebugBar.Widgets={};const s=PhpDebugBar.utils.makecsscls("phpdebugbar-widgets-"),H=PhpDebugBar.Widgets.htmlize=function(g){return g.replace(/\n/g,"
").replace(/\s/g," ")};let T;const S=PhpDebugBar.Widgets.renderValue=function(g,c){return g&&typeof g=="object"?(T||(T=new PhpDebugBar.Widgets.VarDumpRenderer),T.render(g)):typeof g!="string"?c?H(JSON.stringify(g,void 0,2)):JSON.stringify(g):g};PhpDebugBar.Widgets.renderValueInto=function(g,c,u){const b=S(c,u);b instanceof Node?g.append(b):g.insertAdjacentHTML("beforeend",b)};const h=PhpDebugBar.Widgets.editorLink=function(g){const c=document.createElement("span"),u=g.line?`#${g.line}`:"";if(c.classList.add(s("filename")),c.textContent=g.filename+u,g.path&&(c.setAttribute("title",g.path+u),c.addEventListener("click",b=>{if(b.stopPropagation(),b.preventDefault(),window.getSelection().type==="Range")return"";k(g.path).then(f=>{if(!f)return;const a=document.createElement("a");a.classList.add(s("copy-clipboard-check")),c.prepend(a),setTimeout(()=>{c.removeChild(a)},2e3)})})),g.url){const b=document.createElement("a");b.classList.add(s("editor-link")),b.setAttribute(b.ajax?"title":"href",g.url),b.addEventListener("click",f=>{f.stopPropagation(),g.ajax&&(fetch(stmt.xdebug_link.url),f.preventDefault())}),c.append(b)}return c},k=PhpDebugBar.Widgets.copyToClipboard=function(g){return Wt(this,null,function*(){const c=g instanceof Element?g.innerText:g;if(navigator.clipboard&&window.isSecureContext)try{return yield navigator.clipboard.writeText(c),!0}catch(f){}let u=!1;const b=document.createElement("textarea");b.value=c,b.style.position="fixed",b.style.left="-9999px",b.style.top="-9999px",document.body.appendChild(b);try{b.focus(),b.select(),b.setSelectionRange(0,99999),u=document.execCommand("copy")}catch(f){}return document.body.removeChild(b),u})},d=PhpDebugBar.Widgets.highlight=function(g,c){if(typeof phpdebugbar_hljs=="undefined")return H(g);const u=phpdebugbar_hljs;return c&&u.getLanguage(c)?u.highlight(g,{language:c}).value:u.highlightAuto(g).value},U=PhpDebugBar.Widgets.createCodeBlock=function(g,c,u,b){const f=document.createElement("pre");f.classList.add(s("code-block"));const a=document.createElement("code");if(a.innerHTML=d(`${g} diff --git a/src/DataCollector/MessagesCollector.php b/src/DataCollector/MessagesCollector.php index c4bb3254..613cf1bb 100644 --- a/src/DataCollector/MessagesCollector.php +++ b/src/DataCollector/MessagesCollector.php @@ -308,7 +308,7 @@ public function clear(): void } /** Levels whose message text is worth quoting verbatim in a summary. */ - public static array $IMPORTANT_LABELS = ['emergency', 'alert', 'critical', 'error', 'warning']; + protected const IMPORTANT_LABELS = ['emergency', 'alert', 'critical', 'error', 'warning']; public function collect(): array { @@ -344,7 +344,7 @@ protected function buildSummary(array $messages, int $max = 10): array $label = (string) ($message['label'] ?? 'info'); $counts[$label] = ($counts[$label] ?? 0) + 1; - if (!in_array(strtolower($label), static::$IMPORTANT_LABELS, true)) { + if (!in_array(strtolower($label), static::IMPORTANT_LABELS, true)) { continue; } diff --git a/src/DataCollector/PDO/PDOCollector.php b/src/DataCollector/PDO/PDOCollector.php index 5a504d6c..6d0cd90f 100644 --- a/src/DataCollector/PDO/PDOCollector.php +++ b/src/DataCollector/PDO/PDOCollector.php @@ -185,20 +185,23 @@ protected function buildSummary(array $data, int $slowest = 3, int $maxErrors = } $statements = $data['statements']; - usort($statements, fn($a, $b) => $b['duration'] <=> $a['duration']); + usort($statements, fn($a, $b) => ($b['duration'] ?? 0) <=> ($a['duration'] ?? 0)); $lines = []; foreach (array_slice($statements, 0, $slowest) as $statement) { - $lines[] = $this->summarizeText($statement['sql'], 120) . ' = ' . $statement['duration_str']; + $lines[] = $this->summarizeText($statement['sql'] ?? '', 120) + . ' = ' . ($statement['duration_str'] ?? '?'); } if ($lines) { $summary['slowest'] = $lines; } + // Failed statements are the likeliest to be missing fields, so nothing is assumed. $errors = []; foreach ($data['statements'] as $statement) { - if (!$statement['is_success']) { - $errors[] = $this->summarizeText($statement['sql'], 120) . ' -> ' . $statement['error_message']; + if (!($statement['is_success'] ?? true)) { + $errors[] = $this->summarizeText($statement['sql'] ?? '', 120) + . ' -> ' . ($statement['error_message'] ?? 'unknown error'); } } if ($errors) { @@ -211,7 +214,6 @@ protected function buildSummary(array $data, int $slowest = 3, int $maxErrors = return $summary; } - /** * Collects data from a single TraceablePDO instance */ diff --git a/src/SummaryFormatter.php b/src/SummaryFormatter.php index ca7026fe..b198ae7b 100644 --- a/src/SummaryFormatter.php +++ b/src/SummaryFormatter.php @@ -47,11 +47,12 @@ public function format(array $data, int $maxLength = self::MAX_LENGTH): string $blocks = ['# PHP DebugBar summary']; // The raw URI in __meta is unmasked, so it is deliberately not repeated here; - // the request collector contributes a masked one. + // the request collector contributes a masked one. The client IP is left out for + // the same reason: summaries are meant to be pasted into issues, chats and prompts. $header = array_filter([ 'id' => $meta['id'] ?? null, 'datetime' => $meta['datetime'] ?? null, - 'ip' => $meta['ip'] ?? null, + 'method' => $meta['method'] ?? null, ], fn($value) => $value !== null && $value !== ''); if ($header) { @@ -170,6 +171,9 @@ public static function formatValue(mixed $value, string $indent = ''): string } // Hoist the first line of the nested block onto the bullet, YAML style. $block = self::formatValue($item, $indent . ' '); + if (trim($block) === '') { + continue; + } $lines[] = substr_replace($block, '- ', strlen($indent), 2); continue; } diff --git a/tests/Tests/SummaryFormatterTest.php b/tests/Tests/SummaryFormatterTest.php index 28aa4445..e2ac35e6 100644 --- a/tests/Tests/SummaryFormatterTest.php +++ b/tests/Tests/SummaryFormatterTest.php @@ -130,4 +130,29 @@ public function testTruncatesOverlongSummaries(): void $this->assertStringEndsWith("\n\n(summary truncated)", $summary); } + + public function testHeaderCarriesMethodButNeverTheClientIp(): void + { + $summary = $this->debugbar->getSummary([ + '__meta' => [ + 'id' => 'abc', + 'datetime' => '2026-08-20 14:34:29', + 'method' => 'POST', + 'uri' => '/checkout?token=secret', + 'ip' => '203.0.113.4', + ], + ]); + + $this->assertStringContainsString('method = POST', $summary); + $this->assertStringNotContainsString('203.0.113.4', $summary); + $this->assertStringNotContainsString('token=secret', $summary); + } + + public function testNestedEmptyListItemDoesNotProduceABareBullet(): void + { + $formatted = SummaryFormatter::formatValue(['a', [], ['k' => 'v']]); + + $this->assertStringNotContainsString("-\n", $formatted); + $this->assertSame("- a\n- k = v", $formatted); + } }