From 02bf866645e1b6a62ab7a90ee93db901ba66bd82 Mon Sep 17 00:00:00 2001 From: Mark Perry <124626043+markpadbe@users.noreply.github.com> Date: Mon, 9 Dec 2024 01:18:59 -0800 Subject: [PATCH 01/86] MWPW-161015 Adds new segment-timeline classes (#3328) * Initial updates to handle new UX requirements * Add segment udpates * Fix class * Fix center text * rtl updates for segments * Remove rtl test * Add back padding * Fix padding and columns * Add fix for bad class * Remove comment * Update tests * Fix test * Update libs/blocks/timeline/timeline.js --------- Co-authored-by: Vivian A Goodrich <101133187+vgoodric@users.noreply.github.com> --- libs/blocks/timeline/timeline.css | 127 ++++++++++++++++-- libs/blocks/timeline/timeline.js | 30 ++++- .../timeline/mocks/brokensegmentclass.html | 22 +++ .../blocks/timeline/mocks/segmentclasses.html | 22 +++ test/blocks/timeline/timeline.test.js | 37 ++++- 5 files changed, 220 insertions(+), 18 deletions(-) create mode 100644 test/blocks/timeline/mocks/brokensegmentclass.html create mode 100644 test/blocks/timeline/mocks/segmentclasses.html diff --git a/libs/blocks/timeline/timeline.css b/libs/blocks/timeline/timeline.css index ebf0842787e..58635b9bc86 100644 --- a/libs/blocks/timeline/timeline.css +++ b/libs/blocks/timeline/timeline.css @@ -4,6 +4,7 @@ width: 100%; margin: 0 auto; } + .dialog-modal .timeline { padding: 0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl); } @@ -12,6 +13,22 @@ display: grid; } +.timeline.segment-timeline-3-9 .row, +.timeline.segment-timeline-4-8 .row, +.timeline.segment-timeline-5-7 .row { + grid-template-columns: 1fr 58.3%; +} + +.timeline.segment-timeline-6-6 .row { + grid-template-columns: 50% 50%; +} + +.timeline.segment-timeline-7-5 .row, +.timeline.segment-timeline-8-4 .row, +.timeline.segment-timeline-9-3 .row { + grid-template-columns: 1fr 41.7%; +} + .timeline h1, .timeline h2, .timeline h3, @@ -40,7 +57,6 @@ .timeline .row:nth-of-type(1)>.left>div>* { max-width: 100px; - padding-right: var(--spacing-m); } .dark .timeline .row:nth-child(3)>div *, @@ -59,7 +75,68 @@ } .timeline .row:nth-of-type(1)>.right { - grid-template-columns: minmax(110px, 1fr) 1fr; + grid-template-columns: 1.5fr 1fr; + grid-gap: 8px; +} + +[dir="rtl"] .timeline .row:nth-of-type(1)>.right { + grid-template-columns: 1fr 1fr; +} + +.timeline.segment-timeline-3-9 .left-center, +.timeline.segment-timeline-4-8 .left-center, +.timeline.segment-timeline-5-7 .left-center, +.timeline.segment-timeline-6-6 .left-center { + display: none; +} +@media screen and (max-width: 599.99px) { + .timeline.segment-timeline-7-5 .row:nth-of-type(1)>.right, + .timeline.segment-timeline-8-4 .row:nth-of-type(1)>.right, + .timeline.segment-timeline-9-3 .row:nth-of-type(1)>.right { + grid-template-columns: 1fr; + } + + .timeline.segment-timeline-7-5 .row:nth-of-type(1)>.left, + .timeline.segment-timeline-8-4 .row:nth-of-type(1)>.left, + .timeline.segment-timeline-9-3 .row:nth-of-type(1)>.left { + grid-template-columns: 1fr 1.5fr; + display: grid; + justify-content: space-between; + grid-gap: 8px; + } + + .timeline.segment-timeline-7-5 .right-center, + .timeline.segment-timeline-8-4 .right-center, + .timeline.segment-timeline-9-3 .right-center { + display: none; + } + + .timeline.segment-timeline-7-5 .left-center, + .timeline.segment-timeline-8-4 .left-center, + .timeline.segment-timeline-9-3 .left-center { + text-align: right; + display: flex; + flex-direction: column; + align-items: flex-end; + } + + [dir="rtl"] .timeline.segment-timeline-7-5 .left-center, + [dir="rtl"] .timeline.segment-timeline-8-4 .left-center, + [dir="rtl"] .timeline.segment-timeline-9-3 .left-center { + text-align: left; + } + + .timeline .row:nth-of-type(1)>.left .left-center>* { + padding-right: 0; + } +} + +@media screen and (min-width: 600px) { + .timeline.segment-timeline-7-5 .left-center, + .timeline.segment-timeline-8-4 .left-center, + .timeline.segment-timeline-9-3 .left-center { + display: none; + } } .timeline .row:nth-of-type(2)>.right { @@ -68,7 +145,7 @@ .timeline .row:nth-of-type(1)>.right>div:nth-of-type(1) { max-width: 135px; - padding-right: var(--spacing-xxs); + /* padding-right: var(--spacing-xxs); */ } .timeline .bar { @@ -103,10 +180,18 @@ } [dir="rtl"] .timeline .row:nth-of-type(1)>.left>div>* { - padding: 0 0 0 var(--spacing-m); + /* padding: 0 0 0 var(--spacing-m); */ + padding: 0; text-align: right; } +[dir="rtl"] .timeline.timeline.segment-timeline-7-5 .row:nth-of-type(1)>.left>.left-center>*, +[dir="rtl"] .timeline.timeline.segment-timeline-8-4 .row:nth-of-type(1)>.left>.left-center>*, +[dir="rtl"] .timeline.timeline.segment-timeline-9-3 .row:nth-of-type(1)>.left>.left-center>* { + padding: 0; + text-align: left; +} + [dir="rtl"] .timeline .row:nth-of-type(1)>.right>div+div { padding: 0 0 var(--spacing-xxs) 0; text-align: left; @@ -120,15 +205,40 @@ margin: 0 3px 0 0; } -[dir="rtl"] .timeline .row:nth-of-type(1)>.right>div:nth-of-type(1) { - padding: 0 0 0 var(--spacing-xxs); -} - @media screen and (min-width: 600px) { .dialog-modal .timeline { padding: 0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl); } } +@media screen and (min-width: 1200px) { + .timeline.segment-timeline-3-9 .row { + grid-template-columns: 1fr 75% + } + + .timeline.segment-timeline-4-8 .row { + grid-template-columns: 1fr 66.69%; + } + + .timeline.segment-timeline-5-7 .row { + grid-template-columns: 1fr 58.3%; + } + + .timeline.segment-timeline-6-6 .row { + grid-template-columns: 1fr 50%; + } + + .timeline.segment-timeline-7-5 .row { + grid-template-columns: 1fr 41.7%; + } + + .timeline.segment-timeline-8-4 .row { + grid-template-columns: 1fr 33.3%; + } + + .timeline.segment-timeline-9-3 .row { + grid-template-columns: 1fr 25%; + } +} @media screen and (min-width:1120px) { .timeline { @@ -140,4 +250,3 @@ padding: 0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl); } } - diff --git a/libs/blocks/timeline/timeline.js b/libs/blocks/timeline/timeline.js index ba2ea4aacfa..035ef739ac4 100644 --- a/libs/blocks/timeline/timeline.js +++ b/libs/blocks/timeline/timeline.js @@ -14,7 +14,20 @@ function isColorOrGradient(str) { return isColor(str) || isGradient(str); } -function getColWidth(text, colWidths) { +function hasSegmentClass(el) { + const segmentClassRegex = /^segment-timeline-(3-9|4-8|5-7|6-6|7-5|8-4|9-3)$/; + const startsWithSegmentTimelineRegex = /^segment-timeline-/; + let hasValidSegmentClass = Array.from(el.classList).some((cls) => segmentClassRegex.test(cls)); + if (!hasValidSegmentClass + && Array.from(el.classList).some((cls) => startsWithSegmentTimelineRegex.test(cls))) { + el.classList.add('segment-timeline-6-6'); + hasValidSegmentClass = true; + } + return hasValidSegmentClass; +} + +function getColWidth(text, colWidths, hasSegment) { + if (hasSegment || colWidths.length === 2) return; const numRegex = /\b\d{1,3}\b/; colWidths.push((text.match(numRegex) || [])[0]); } @@ -109,8 +122,8 @@ function setColors(colors, fragment, el) { function colWidthsNotValid(colWidths) { return (colWidths.length !== 2 || colWidths.some((value) => Number.isNaN(value))); } -function updateColWidths(colWidths, fragment) { - if (colWidthsNotValid(colWidths)) return; +function updateColWidths(colWidths, fragment, hasSegment) { + if (colWidthsNotValid(colWidths) || hasSegment) return; const total = Number(colWidths[0]) + Number(colWidths[1]); const right = Math.floor((Number(colWidths[1]) / total) * 10000) / 100; const colString = `1fr minmax(${String(right)}%, 150px)`; @@ -123,6 +136,7 @@ export default function init(el) { const [textRow, left, right] = createRow(); const rows = el.querySelectorAll(':scope > div > div'); const colors = []; const periodText = []; const colWidths = []; + const hasSegment = hasSegmentClass(el); rows.forEach((row, index) => { const side = index === 0 ? left : right; const color = row.firstElementChild?.textContent?.trim(); @@ -131,7 +145,7 @@ export default function init(el) { const [text, period] = p.textContent.trim().split('|'); if (period) { periodText.push(period.trim()); - getColWidth(period, colWidths); + getColWidth(period, colWidths, hasSegment); } if (text) { p.textContent = text.trim(); @@ -143,11 +157,17 @@ export default function init(el) { row.firstElementChild.remove(); } row.parentElement.remove(); + if (index === 1 && hasSegment) { + const mobileCenterLeft = row.cloneNode(true); + mobileCenterLeft.classList.add('left-center'); + left.append(mobileCenterLeft); + row.classList.add('right-center'); + } side.append(row); }); textRow.append(left, right); [textRow, addBarRow(), addBottomRow(periodText)].forEach((row) => fragment.append(row)); - updateColWidths(colWidths, fragment, el); + updateColWidths(colWidths, fragment, hasSegment); setColors(colors, fragment, el); el.append(fragment); } diff --git a/test/blocks/timeline/mocks/brokensegmentclass.html b/test/blocks/timeline/mocks/brokensegmentclass.html new file mode 100644 index 00000000000..acba31bd95a --- /dev/null +++ b/test/blocks/timeline/mocks/brokensegmentclass.html @@ -0,0 +1,22 @@ +
+
+
+

linear-gradient(to right, #E63888 0, #E9740A 100%)

+

Day 1

+

If you start your free trial today | 14 -day free trial

+
+
+
+
+

#FFCE2E

+

Day 8

+

Your subscription starts and billing begins | 7 -day full refund period

+
+
+
+
+

Day 21

+

Full refund period ends

+
+
+
diff --git a/test/blocks/timeline/mocks/segmentclasses.html b/test/blocks/timeline/mocks/segmentclasses.html new file mode 100644 index 00000000000..f00d2e3dd38 --- /dev/null +++ b/test/blocks/timeline/mocks/segmentclasses.html @@ -0,0 +1,22 @@ +
+
+
+

linear-gradient(to right, #E63888 0, #E9740A 100%)

+

Day 1

+

If you start your free trial today | 14 -day free trial

+
+
+
+
+

#FFCE2E

+

Day 8

+

Your subscription starts and billing begins | 7 -day full refund period

+
+
+
+
+

Day 21

+

Full refund period ends

+
+
+
diff --git a/test/blocks/timeline/timeline.test.js b/test/blocks/timeline/timeline.test.js index 204f3719a6b..17478d3794b 100644 --- a/test/blocks/timeline/timeline.test.js +++ b/test/blocks/timeline/timeline.test.js @@ -41,7 +41,7 @@ describe('Timeline', () => { expect(trialPeriod.textContent).to.equal('7-day free trial'); expect(refundPeriod.textContent).to.equal('14-day full refund period'); - expect(trialPeriod.style.background.includes('to right')).to.true; + expect(trialPeriod.style.background.includes('to right')).to.be.true; }); it('it sets bar background colors based on colors in free trial and refund period section', async () => { const timelineEl = document.querySelector('.timeline'); @@ -59,19 +59,48 @@ describe('Timeline', () => { const trialPeriod = timelineEl.querySelector('.row .left .period'); expect(trialPeriod.style.background.includes('to left')).to.be.true; }); - describe('Timeline', () => { + describe('rtl ', () => { beforeEach(async () => { document.body.innerHTML = await readFile({ path: './mocks/switchcolors.html' }); }); afterEach(() => { document.body.innerHTML = ''; }); - it('handles linear-gradient for either side', async () => { + it('updates linear-gradient for rtl', async () => { const timelineEl = document.querySelector('.timeline'); init(timelineEl); const refundPeriod = timelineEl.querySelector('.row .right .period'); expect(refundPeriod.textContent).to.equal('14-day full refund period'); - expect(refundPeriod.style.background.includes('to left')).to.true; + expect(refundPeriod.style.background.includes('to left')).to.be.true; + }); + }); + describe('segment classes', () => { + beforeEach(async () => { + document.body.innerHTML = await readFile({ path: './mocks/segmentclasses.html' }); + }); + afterEach(() => { + document.body.innerHTML = ''; + }); + it('adds classes to handle center text alignment', async () => { + const timelineEl = document.querySelector('.timeline'); + init(timelineEl); + const leftCenter = timelineEl.querySelector('.row .left-center'); + const rightCenter = timelineEl.querySelector('.row .right-center'); + expect(rightCenter).to.exist; + expect(leftCenter).to.exist; + }); + }); + describe('broken segment classes', () => { + beforeEach(async () => { + document.body.innerHTML = await readFile({ path: './mocks/brokensegmentclass.html' }); + }); + afterEach(() => { + document.body.innerHTML = ''; + }); + it('replaces broken segment class width segment-timeline-6-6', async () => { + const timelineEl = document.querySelector('.timeline'); + init(timelineEl); + expect(timelineEl.classList.contains('segment-timeline-6-6')).to.be.true; }); }); }); From e9f0bf268301092d5174a6c0bf377c9506f58e4c Mon Sep 17 00:00:00 2001 From: Bandana Laishram Date: Mon, 9 Dec 2024 14:49:06 +0530 Subject: [PATCH 02/86] Adding Standalone gnav's default allowed origins (#3329) * Fix: Setting allowedOrigins for standalone gnav * Fix: Default handling --- libs/navigation/navigation.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/navigation/navigation.js b/libs/navigation/navigation.js index 3c26aabb6d6..9b3fc5ed671 100644 --- a/libs/navigation/navigation.js +++ b/libs/navigation/navigation.js @@ -65,7 +65,7 @@ export default async function loadBlock(configs, customLib) { env = 'prod', locale = '', theme, - allowedOrigins, + allowedOrigins = [], stageDomainsMap = {}, } = configs || {}; if (!header && !footer) { @@ -112,7 +112,7 @@ export default async function loadBlock(configs, customLib) { theme, ...paramConfigs, prodDomains, - allowedOrigins, + allowedOrigins: [...allowedOrigins, `https://main--federal--adobecom.aem.${env === 'prod' ? 'live' : 'page'}`], standaloneGnav: true, stageDomainsMap: getStageDomainsMap(stageDomainsMap), }; From 81a5770cecc2a17f07efe5229c65b71d2dbb9bb4 Mon Sep 17 00:00:00 2001 From: Ryan Parrish Date: Mon, 9 Dec 2024 02:19:13 -0700 Subject: [PATCH 03/86] MWPW-140452 - Icon authoring in milo using the federal repo and individual SVG assets (#3259) * updated features/icons to pull from federal and allow the icons set to be sharepoint authorable * bettter icon-spacing handling * preload federated.js instead of non used icons.svg on util decorateIcon() * Updated preload federated as script type not fetch * Minor clean up based on pr feedback * remove console * addressed some issues found w/ icons not rending in tables due to race condition w/ decorateIcon() * lana instead of console * no 100% height * coverage * full coverage * minor cleanup * minor cleanup * preload first section icons, spread syntax * no cons * Performace refactor - loadIcons to hold most related functionallity. Preloaded inView icons and defered others till postSectionLoad. * async decTooltips and refactor to not chain func calls * fix: icon alignment in georouting modal's button * move render blocking code to utils * fix import of test method * remove condition that causes error when no icon is in view * remove redundant link load * remove extra federated.js import * small change to push branch * Fed Icons - Table icon decoration and collapse icon wrapping (#3202) * reselect icons after area is decorated * fix inline margin issue in table collapse titles --------- Co-authored-by: Saugat Malla Co-authored-by: Saugat Malla Co-authored-by: Sartxi --- libs/blocks/table/table.css | 1 + libs/blocks/text/text.css | 7 +- libs/features/georoutingv2/georoutingv2.css | 1 + libs/features/georoutingv2/georoutingv2.js | 2 +- libs/features/icons/icons.css | 2 +- libs/features/icons/icons.js | 118 ++++++++++++++++---- libs/styles/styles.css | 30 +++-- libs/utils/utils.js | 43 ++++--- test/features/icons/icons.test.js | 61 +++++----- test/features/icons/mocks/body.html | 4 +- 10 files changed, 188 insertions(+), 81 deletions(-) diff --git a/libs/blocks/table/table.css b/libs/blocks/table/table.css index 19eb5beed91..d2476a42ce1 100644 --- a/libs/blocks/table/table.css +++ b/libs/blocks/table/table.css @@ -360,6 +360,7 @@ width: 15px; height: 15px; cursor: pointer; + margin-inline: unset; } .table .section-head-title:hover .icon.expand { diff --git a/libs/blocks/text/text.css b/libs/blocks/text/text.css index 6242f50132f..f8cbefd3652 100644 --- a/libs/blocks/text/text.css +++ b/libs/blocks/text/text.css @@ -100,7 +100,7 @@ position: relative; } -.text-block .icon-list-item .icon.margin-right:not(.margin-left) { /* target first node only */ +.text-block .icon-list-item .icon.node-index-first { position: absolute; inset: 0 100% auto auto; } @@ -122,7 +122,6 @@ .text-block .icon-area { display: flex; - column-gap: var(--spacing-xs); } .text-block p.icon-area { /* NOT tags with icons in them */ @@ -218,10 +217,6 @@ max-width: unset; } -.text-block .icon-area.con-button { - column-gap: unset; -} - .text-block .icon-area picture { line-height: 0em; height: inherit; /* Safari + FF bug fix */ diff --git a/libs/features/georoutingv2/georoutingv2.css b/libs/features/georoutingv2/georoutingv2.css index 255ba3f3013..09df2cba8b3 100644 --- a/libs/features/georoutingv2/georoutingv2.css +++ b/libs/features/georoutingv2/georoutingv2.css @@ -83,6 +83,7 @@ } .dialog-modal.locale-modal-v2 span.icon { + display: inline; vertical-align: middle; } diff --git a/libs/features/georoutingv2/georoutingv2.js b/libs/features/georoutingv2/georoutingv2.js index 7213696f63a..236e9b685a4 100644 --- a/libs/features/georoutingv2/georoutingv2.js +++ b/libs/features/georoutingv2/georoutingv2.js @@ -194,7 +194,7 @@ function buildContent(currentPage, locale, geoData, locales) { { once: true }, ); img.src = `${config.miloLibs || config.codeRoot}/img/georouting/${flagFile}`; - const span = createTag('span', { class: 'icon margin-inline-end' }, img); + const span = createTag('span', { class: 'icon node-index-first' }, img); const mainAction = createTag('a', { class: 'con-button blue button-l', lang, role: 'button', 'aria-haspopup': !!locales, 'aria-expanded': false, href: '#', }, span); diff --git a/libs/features/icons/icons.css b/libs/features/icons/icons.css index f1a8ce53f9d..1b095e97dc6 100644 --- a/libs/features/icons/icons.css +++ b/libs/features/icons/icons.css @@ -4,7 +4,7 @@ border-bottom: none; } -.milo-tooltip::before { +.milo-tooltip::before { content: attr(data-tooltip); position: absolute; top: 50%; diff --git a/libs/features/icons/icons.js b/libs/features/icons/icons.js index 975c0625dc9..a39ff61e065 100644 --- a/libs/features/icons/icons.js +++ b/libs/features/icons/icons.js @@ -1,5 +1,9 @@ +import { getFederatedContentRoot } from '../../utils/federated.js'; +import { loadLink, loadStyle } from '../../utils/utils.js'; + let fetchedIcons; let fetched = false; +const federalIcons = {}; async function getSVGsfromFile(path) { /* c8 ignore next */ @@ -22,6 +26,7 @@ async function getSVGsfromFile(path) { return miloIcons; } +// TODO: remove after all consumers have stopped calling this method // eslint-disable-next-line no-async-promise-executor export const fetchIcons = (config) => new Promise(async (resolve) => { /* c8 ignore next */ @@ -34,10 +39,10 @@ export const fetchIcons = (config) => new Promise(async (resolve) => { resolve(fetchedIcons); }); -function decorateToolTip(icon) { +async function decorateToolTip(icon) { const wrapper = icon.closest('em'); - wrapper.className = 'tooltip-wrapper'; if (!wrapper) return; + wrapper.className = 'tooltip-wrapper'; const conf = wrapper.textContent.split('|'); // Text is the last part of a tooltip const content = conf.pop().trim(); @@ -45,30 +50,101 @@ function decorateToolTip(icon) { icon.dataset.tooltip = content; // Position is the next to last part of a tooltip const place = conf.pop()?.trim().toLowerCase() || 'right'; - icon.className = `icon icon-info milo-tooltip ${place}`; + const defaultIcon = 'info-outline'; + icon.className = `icon icon-${defaultIcon} milo-tooltip ${place}`; + icon.dataset.name = defaultIcon; wrapper.parentElement.replaceChild(icon, wrapper); } -export default async function loadIcons(icons, config) { - const iconSVGs = await fetchIcons(config); - if (!iconSVGs) return; +export function getIconData(icon) { + const fedRoot = getFederatedContentRoot(); + const name = [...icon.classList].find((c) => c.startsWith('icon-'))?.substring(5); + const path = `${fedRoot}/federal/assets/icons/svgs/${name}.svg`; + return { path, name }; +} + +function preloadInViewIconResources(config) { + const { base } = config; + loadStyle(`${base}/features/icons/icons.css`); +} + +const preloadInViewIcons = async (icons = []) => icons.forEach((icon) => { + const { path } = getIconData(icon); + loadLink(path, { rel: 'preload', as: 'fetch', crossorigin: 'anonymous' }); +}); + +function filterDuplicatedIcons(icons) { + if (!icons.length) return []; + const uniqueIconKeys = new Set(); + const uniqueIcons = []; + for (const icon of icons) { + const key = [...icon.classList].find((c) => c.startsWith('icon-'))?.substring(5); + if (!uniqueIconKeys.has(key)) { + uniqueIconKeys.add(key); + uniqueIcons.push(icon); + } + } + return uniqueIcons; +} + +export async function decorateIcons(area, icons, config) { + if (!icons.length) return; + const uniqueIcons = filterDuplicatedIcons(icons); + if (!uniqueIcons.length) return; + preloadInViewIcons(uniqueIcons); + preloadInViewIconResources(config); + icons.forEach((icon) => { + const iconName = [...icon.classList].find((c) => c.startsWith('icon-'))?.substring(5); + if (!iconName) return; + icon.dataset.name = iconName; + }); +} + +export default async function loadIcons(icons) { + const fedRoot = getFederatedContentRoot(); + const iconRequests = []; + const iconsToFetch = new Map(); + icons.forEach(async (icon) => { - const { classList } = icon; - if (classList.contains('icon-tooltip')) decorateToolTip(icon); - const iconName = icon.classList[1].replace('icon-', ''); - const existingIcon = icon.querySelector('svg'); - if (!iconSVGs[iconName] || existingIcon) return; + const isToolTip = icon.classList.contains('icon-tooltip'); + if (isToolTip) decorateToolTip(icon); + const iconName = icon.dataset.name; + if (icon.dataset.svgInjected || !iconName) return; + if (!federalIcons[iconName] && !iconsToFetch.has(iconName)) { + const url = `${fedRoot}/federal/assets/icons/svgs/${iconName}.svg`; + iconsToFetch.set(iconName, fetch(url) + .then(async (res) => { + if (!res.ok) throw new Error(`Failed to fetch SVG for ${iconName}: ${res.statusText}`); + const text = await res.text(); + const parser = new DOMParser(); + const svgDoc = parser.parseFromString(text, 'image/svg+xml'); + const svgElement = svgDoc.querySelector('svg'); + if (!svgElement) { + window.lana?.log(`No SVG element found in fetched content for ${iconName}`); + return; + } + const svgClone = svgElement.cloneNode(true); + svgClone.classList.add('icon-milo', `icon-milo-${iconName}`); + federalIcons[iconName] = svgClone; + }) + /* c8 ignore next 3 */ + .catch((error) => { + window.lana?.log(`Error fetching SVG for ${iconName}:`, error); + })); + } + iconRequests.push(iconsToFetch.get(iconName)); const parent = icon.parentElement; - if (parent.childNodes.length > 1) { - if (parent.lastChild === icon) { - icon.classList.add('margin-inline-start'); - } else if (parent.firstChild === icon) { - icon.classList.add('margin-inline-end'); - if (parent.parentElement.tagName === 'LI') parent.parentElement.classList.add('icon-list-item'); - } else { - icon.classList.add('margin-inline-start', 'margin-inline-end'); - } + if (parent && parent.parentElement.tagName === 'LI') parent.parentElement.classList.add('icon-list-item'); + }); + + await Promise.all(iconRequests); + + icons.forEach((icon) => { + const iconName = icon.dataset.name; + if (iconName && federalIcons[iconName] && !icon.dataset.svgInjected) { + const svgClone = federalIcons[iconName].cloneNode(true); + icon.appendChild(svgClone); + icon.dataset.svgInjected = 'true'; } - icon.insertAdjacentHTML('afterbegin', iconSVGs[iconName].outerHTML); }); } diff --git a/libs/styles/styles.css b/libs/styles/styles.css index 839966a67e7..66893a7c18e 100644 --- a/libs/styles/styles.css +++ b/libs/styles/styles.css @@ -128,6 +128,7 @@ --icon-size-s: 32px; --icon-size-xs: 24px; --icon-size-xxs: 16px; + --icon-spacing: 8px; /* z-index */ --above-all: 9000; /* Used for page tools that overlay page content */ @@ -349,6 +350,7 @@ line-height: 20px; min-height: 21px; padding: 7px 18px 8px; + --icon-spacing: 12px; } .xl-button .con-button, @@ -358,6 +360,7 @@ line-height: 24px; min-height: 28px; padding: 10px 24px 8px; + --icon-spacing: 14px; } .xxl-button .con-button, @@ -367,6 +370,7 @@ line-height: 27px; min-height: 27px; padding: 14px 30px 15px; + --icon-spacing: 14px; } .con-button.button-justified { @@ -559,19 +563,23 @@ div[data-failed="true"]::before { color: var(--color-gray-300); } -span.icon.margin-right { margin-right: 8px; } - -span.icon.margin-left { margin-left: 8px; } - -span.icon.margin-inline-end { margin-inline-end: 8px; } - -span.icon.margin-inline-start { margin-inline-start: 8px; } +span.icon { + width: 1em; + display: inline-block; + margin-inline: var(--icon-spacing); +} -.button-l .con-button span.icon.margin-left, -.con-button.button-l span.icon.margin-left { margin-left: 12px; } +span.icon.node-index-first { margin-inline-start: unset; } +span.icon.node-index-middle { margin-inline: var(--icon-spacing); } +span.icon.node-index-last { margin-inline-end: unset; } +span.icon.node-index-only { margin-inline: unset; } -.button-xl .con-button span.icon.margin-left, -.con-button.button-xl span.icon.margin-left { margin-left: 14px; } +span.icon svg { + height: 1em; + position: relative; + top: .1em; + width: auto; +} /* Con Block Utils */ .con-block.xs-spacing { padding: var(--spacing-xs) 0; } diff --git a/libs/utils/utils.js b/libs/utils/utils.js index c96169a3deb..1b8ab85f836 100644 --- a/libs/utils/utils.js +++ b/libs/utils/utils.js @@ -789,16 +789,6 @@ function decorateHeader() { if (promo?.length) header.classList.add('has-promo'); } -async function decorateIcons(area, config) { - const icons = area.querySelectorAll('span.icon'); - if (icons.length === 0) return; - const { base } = config; - loadStyle(`${base}/features/icons/icons.css`); - loadLink(`${base}/img/icons/icons.svg`, { rel: 'preload', as: 'fetch', crossorigin: 'anonymous' }); - const { default: loadIcons } = await import('../features/icons/icons.js'); - await loadIcons(icons, config); -} - export async function customFetch({ resource, withCacheRules }) { const options = {}; if (withCacheRules) { @@ -1275,9 +1265,8 @@ function decorateDocumentExtras() { decorateHeader(); } -async function documentPostSectionLoading(config) { +async function documentPostSectionLoading(area, config) { decorateFooterPromo(); - const appendage = getMetadata('title-append'); if (appendage) { import('../features/title-append/title-append.js').then((module) => module.default(appendage)); @@ -1341,6 +1330,18 @@ async function resolveInlineFrags(section) { section.preloadLinks = newlyDecoratedSection.preloadLinks; } +export function setIconsIndexClass(icons) { + [...icons].forEach((icon) => { + const parent = icon.parentNode; + const children = parent.childNodes; + const nodeIndex = [...children].indexOf.call(children, icon); + let indexClass = (nodeIndex === children.length - 1) ? 'last' : 'middle'; + if (nodeIndex === 0) indexClass = 'first'; + if (children.length === 1) indexClass = 'only'; + icon.classList.add(`node-index-${indexClass}`); + }); +} + async function processSection(section, config, isDoc) { await resolveInlineFrags(section); const firstSection = section.el.dataset.idx === '0'; @@ -1348,7 +1349,6 @@ async function processSection(section, config, isDoc) { preloadBlockResources(section.preloadLinks); await Promise.all([ decoratePlaceholders(section.el, config), - decorateIcons(section.el, config), ]); const loadBlocks = [...stylePromises]; if (section.preloadLinks.length) { @@ -1381,6 +1381,11 @@ export async function loadArea(area = document) { decorateDocumentExtras(); } + const allIcons = area.querySelectorAll('span.icon'); + if (allIcons.length) { + setIconsIndexClass(allIcons); + } + const sections = decorateSections(area, isDoc); const areaBlocks = []; @@ -1393,13 +1398,21 @@ export async function loadArea(area = document) { }); } + if (allIcons.length) { + const { default: loadIcons, decorateIcons } = await import('../features/icons/icons.js'); + const areaIcons = area.querySelectorAll('span.icon'); + await decorateIcons(area, areaIcons, config); + await loadIcons(areaIcons); + } + const currentHash = window.location.hash; if (currentHash) { scrollToHashedElement(currentHash); } - if (isDoc) await documentPostSectionLoading(config); - + if (isDoc) { + await documentPostSectionLoading(area, config); + } await loadDeferred(area, areaBlocks, config); } diff --git a/test/features/icons/icons.test.js b/test/features/icons/icons.test.js index cd355a0affe..cb3cb994db1 100644 --- a/test/features/icons/icons.test.js +++ b/test/features/icons/icons.test.js @@ -1,45 +1,56 @@ import { readFile } from '@web/test-runner-commands'; import { expect } from '@esm-bundle/chai'; -import { stub } from 'sinon'; -import { setConfig, getConfig, createTag } from '../../../libs/utils/utils.js'; +import sinon, { stub } from 'sinon'; +import { waitForElement } from '../../helpers/waitfor.js'; -const { default: loadIcons } = await import('../../../libs/features/icons/icons.js'); - -const codeRoot = '/libs'; -const conf = { codeRoot }; -setConfig(conf); -const config = getConfig(); +const { default: loadIcons, getIconData } = await import('../../../libs/features/icons/icons.js'); +const { setIconsIndexClass } = await import('../../../libs/utils/utils.js'); +const mockRes = ({ payload, status = 200, ok = true } = {}) => new Promise((resolve) => { + resolve({ + status, + ok, + json: () => payload, + text: () => payload, + }); +}); document.body.innerHTML = await readFile({ path: './mocks/body.html' }); let icons; +const svgEx = ` + + +`; describe('Icon Suppprt', () => { - let paramsGetStub; - - before(() => { - paramsGetStub = stub(URLSearchParams.prototype, 'get'); - paramsGetStub.withArgs('cache').returns('off'); + beforeEach(() => { + stub(window, 'fetch').callsFake(() => mockRes({})); }); - after(() => { - paramsGetStub.restore(); + afterEach(() => { + sinon.restore(); }); - before(async () => { + it('Replaces span.icon', async () => { + const payload = svgEx; + window.fetch.returns(mockRes({ payload })); + icons = document.querySelectorAll('span.icon'); - await loadIcons(icons, config); - await loadIcons(icons, config); // Test duplicate icon not created if run twice - }); + icons.forEach((icon) => { + const { name } = getIconData(icon); + icon.dataset.name = name; + }); + await loadIcons(icons); - it('Fetches successfully with cache control enabled', async () => { - const otherIcons = [createTag('span', { class: 'icon icon-play' })]; - await loadIcons(otherIcons, config); + const selector = await waitForElement('span.icon svg'); + expect(selector).to.exist; }); - it('Replaces span.icon', async () => { - const selector = icons[0].querySelector(':scope svg'); - expect(selector).to.exist; + it('Sets icon index class', async () => { + icons = document.querySelectorAll('span.icon'); + setIconsIndexClass(icons); + const secondIconHasIndexClass = icons[2].classList.contains('node-index-last'); + expect(secondIconHasIndexClass).to.be.true; }); it('No duplicate icon', async () => { diff --git a/test/features/icons/mocks/body.html b/test/features/icons/mocks/body.html index 586013bf4f0..2d908a81cab 100644 --- a/test/features/icons/mocks/body.html +++ b/test/features/icons/mocks/body.html @@ -1,4 +1,6 @@ -
+
+ +
From 93b846c43fccb8e0817c978c85b6d68991f4685e Mon Sep 17 00:00:00 2001 From: Rares Munteanu Date: Mon, 9 Dec 2024 10:58:31 +0100 Subject: [PATCH 04/86] [MWPW-163539] Update RCP workflow (#3296) --- .github/workflows/helpers.js | 11 +++++++++-- .github/workflows/merge-to-main.js | 3 ++- .github/workflows/merge-to-main.yaml | 1 + .github/workflows/merge-to-stage.js | 2 +- .github/workflows/rcp-notifier.js | 12 ++++++++---- 5 files changed, 21 insertions(+), 8 deletions(-) diff --git a/.github/workflows/helpers.js b/.github/workflows/helpers.js index dcc7b0025d2..b8b733eb0c2 100644 --- a/.github/workflows/helpers.js +++ b/.github/workflows/helpers.js @@ -43,7 +43,11 @@ const RCPDates = [ }, ]; -const isWithinRCP = (offset = 0) => { +const isShortRCP = (start, end) => { + return ((end - start) / (1000 * 60 * 60)) < 24; +}; + +const isWithinRCP = ({ offset = 0, excludeShortRCP = false } = {}) => { const now = new Date(); if (now.getFullYear() !== CURRENT_YEAR) { console.log(`ADD NEW RCPs for ${CURRENT_YEAR + 1}`); @@ -53,7 +57,9 @@ const isWithinRCP = (offset = 0) => { if (RCPDates.some(({ start, end }) => { const adjustedStart = new Date(start); adjustedStart.setDate(adjustedStart.getDate() - offset); - return start <= now && now <= end + const match = adjustedStart <= now && now <= end; + if (!match || (excludeShortRCP && isShortRCP(start, end))) return false; + return true; })) { console.log( 'Current date is within a RCP (2 days earlier for stage, to keep stage clean & make CSO contributions during an RCP easier). Stopping execution.' @@ -148,6 +154,7 @@ module.exports = { getLocalConfigs, slackNotification, pulls: { addLabels, addFiles, getChecks, getReviews }, + isShortRCP, isWithinRCP, RCPDates, }; diff --git a/.github/workflows/merge-to-main.js b/.github/workflows/merge-to-main.js index efbc9e55bc1..286ddaff196 100644 --- a/.github/workflows/merge-to-main.js +++ b/.github/workflows/merge-to-main.js @@ -9,6 +9,7 @@ const { const PR_TITLE = '[Release] Stage to Main'; const STAGE = 'stage'; const PROD = 'main'; +const MIN_SOT_APPROVALS = process.env.MIN_SOT_APPROVALS ? Number(process.env.MIN_SOT_APPROVALS) : 4; let github, owner, repo; @@ -40,7 +41,7 @@ const main = async (params) => { const stageToMainPR = await getStageToMainPR(); const signOffs = stageToMainPR?.labels.filter((l) => l.includes('SOT')); console.log(`${signOffs.length} SOT labels on PR ${stageToMainPR.number}`); - if (signOffs.length >= 4) { + if (signOffs.length >= MIN_SOT_APPROVALS) { console.log('Stage to Main PR has all required labels. Merging...'); await github.rest.pulls.merge({ owner, diff --git a/.github/workflows/merge-to-main.yaml b/.github/workflows/merge-to-main.yaml index ada833d19fa..9800b0435a7 100644 --- a/.github/workflows/merge-to-main.yaml +++ b/.github/workflows/merge-to-main.yaml @@ -9,6 +9,7 @@ on: env: MILO_RELEASE_SLACK_WH: ${{ secrets.MILO_RELEASE_SLACK_WH }} + MIN_SOT_APPROVALS: ${{ secrets.MIN_SOT_APPROVALS }} jobs: merge-to-main: diff --git a/.github/workflows/merge-to-stage.js b/.github/workflows/merge-to-stage.js index 7c85415da1d..c48c4789334 100644 --- a/.github/workflows/merge-to-stage.js +++ b/.github/workflows/merge-to-stage.js @@ -231,7 +231,7 @@ const main = async (params) => { github = params.github; owner = params.context.repo.owner; repo = params.context.repo.repo; - if (isWithinRCP(process.env.STAGE_RCP_OFFSET_DAYS || 2)) return console.log('Stopped, within RCP period.'); + if (isWithinRCP({ offset: process.env.STAGE_RCP_OFFSET_DAYS || 2, excludeShortRCP: true })) return console.log('Stopped, within RCP period.'); try { const stageToMainPR = await getStageToMainPR(); diff --git a/.github/workflows/rcp-notifier.js b/.github/workflows/rcp-notifier.js index ad5bdd2cde2..11793238a60 100644 --- a/.github/workflows/rcp-notifier.js +++ b/.github/workflows/rcp-notifier.js @@ -2,10 +2,13 @@ const { slackNotification, getLocalConfigs, RCPDates, + isShortRCP, } = require('./helpers.js'); -const isWithin24Hours = (targetDate) => - Math.abs(new Date() - targetDate) <= 24 * 60 * 60 * 1000; +const isWithin24Hours = (targetDate) => { + const now = new Date(); + return now < targetDate && new Date(now.getTime() + 24 * 60 * 60 * 1000) > targetDate; +}; const calculateDateOffset = (date, offset) => { const newDate = new Date(date); @@ -19,17 +22,18 @@ const main = async () => { for (const rcp of RCPDates) { const start = new Date(rcp.start); const end = new Date(rcp.end); + const isShort = isShortRCP(start, end); const tenDaysBefore = calculateDateOffset(start, 10); const fourDaysBefore = calculateDateOffset(start, 4); const stageOffset = Number(process.env.STAGE_RCP_OFFSET_DAYS) || 2; const slackText = (days) => `Reminder RCP starts in ${days} days: from ${start.toUTCString()} to ${end.toUTCString()}. Merges to stage will be disabled beginning ${calculateDateOffset(start, stageOffset).toUTCString()}.`; - if (isWithin24Hours(tenDaysBefore)) { + if (isWithin24Hours(tenDaysBefore) && !isShort) { console.log('Is within 24 hours of 10 days before RCP'); await slackNotification(slackText(10), process.env.MILO_DEV_HOOK); } - if (isWithin24Hours(fourDaysBefore)) { + if (isWithin24Hours(fourDaysBefore) && !isShort) { console.log('Is within 24 hours of 4 days before RCP'); await slackNotification(slackText(4), process.env.MILO_DEV_HOOK); } From 7483f29e5a54a55219bc9c7efe519038c2788289 Mon Sep 17 00:00:00 2001 From: Nicolas Peltier <1032754+npeltier@users.noreply.github.com> Date: Mon, 9 Dec 2024 13:09:50 +0100 Subject: [PATCH 05/86] MWPW-156157 use OST v1.19.1 (#3290) will use www.adobe.com cached calls of WCS --- libs/blocks/ost/ost.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/blocks/ost/ost.js b/libs/blocks/ost/ost.js index 9e115ab2eec..c397a4172a7 100644 --- a/libs/blocks/ost/ost.js +++ b/libs/blocks/ost/ost.js @@ -8,7 +8,7 @@ const IMS_COMMERCE_CLIENT_ID = 'aos_milo_commerce'; const IMS_SCOPE = 'AdobeID,openid'; const IMS_ENV = 'prod'; const IMS_PROD_URL = 'https://auth.services.adobe.com/imslib/imslib.min.js'; -const OST_VERSION = '1.18.4'; +const OST_VERSION = '1.19.1'; const OST_BASE = `https://www.stage.adobe.com/special/tacocat/ost/lib/${OST_VERSION}`; const OST_SCRIPT_URL = `${OST_BASE}/index.js`; const OST_STYLE_URL = `${OST_BASE}/index.css`; From 57d66cf3446564dc57be8c9b61b3f0de89f35ee5 Mon Sep 17 00:00:00 2001 From: Santoshkumar Nateekar Date: Mon, 9 Dec 2024 04:11:41 -0800 Subject: [PATCH 06/86] [MWPW-163723] [NALA] Update Nala CircleCI Job to Manual Trigger (#3317) updating the job to manual trigger Co-authored-by: Santoshkumar Sharanappa Nateekar --- .github/workflows/run-nala-circleci.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/run-nala-circleci.yml b/.github/workflows/run-nala-circleci.yml index a2a7e963bff..d7b115959d0 100644 --- a/.github/workflows/run-nala-circleci.yml +++ b/.github/workflows/run-nala-circleci.yml @@ -1,9 +1,7 @@ name: Nala Tests on CircleCI on: - push: - branches: - - stage + workflow_dispatch: jobs: trigger-circleci: @@ -15,4 +13,4 @@ jobs: curl -X POST 'https://circle.ci.adobe.com/api/v2/project/gh/wcms/nala/pipeline' \ -H 'Circle-Token: ${{ secrets.CCI_TOKEN }}' \ -H 'content-type: application/json' \ - -d "{\"branch\":\"main\"}" \ No newline at end of file + -d "{\"branch\":\"main\"}" From 988468198cdcbad58064f8303abfb14d02f7ed6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sonja=20Popovi=C4=87?= <32739655+SonjaPopovic@users.noreply.github.com> Date: Mon, 9 Dec 2024 17:14:45 +0100 Subject: [PATCH 07/86] MWPW-154147: add spectrum switch component (#3264) * MWPW-154147-spectrum switch * MWPW-154147-spectrum switch * MWPW-154147-spectrum switch test * MWPW-154147-spectrum switch test --------- Co-authored-by: Sonja Popovic --- .../spectrum-web-components/dist/checkbox.js | 18 ++++----- .../spectrum-web-components/dist/switch.js | 12 ++++++ .../spectrum-web-components/package.json | 1 + .../spectrum-web-components/src/checkbox.js | 1 + .../spectrum-web-components/src/switch.js | 3 ++ .../spectrum-web-components/switch.test.html | 39 +++++++++++++++++++ 6 files changed, 65 insertions(+), 9 deletions(-) create mode 100644 libs/features/spectrum-web-components/dist/switch.js create mode 100644 libs/features/spectrum-web-components/src/switch.js create mode 100644 test/features/spectrum-web-components/switch.test.html diff --git a/libs/features/spectrum-web-components/dist/checkbox.js b/libs/features/spectrum-web-components/dist/checkbox.js index aa3bf04a86d..7bc9bcc9579 100644 --- a/libs/features/spectrum-web-components/dist/checkbox.js +++ b/libs/features/spectrum-web-components/dist/checkbox.js @@ -1,18 +1,18 @@ /* eslint-disable */ /* Generated by Milo */ -import{html as r,SizedMixin as C,SpectrumElement as p}from"./base.js";import{property as l}from"./base.js";import{html as x}from"./base.js";import{property as b,query as f}from"./base.js";import{ifDefined as g}from"./base.js";var v=Object.defineProperty,k=Object.getOwnPropertyDescriptor,d=(a,o,i,c)=>{for(var e=c>1?void 0:c?k(o,i):o,h=a.length-1,s;h>=0;h--)(s=a[h])&&(e=(c?s(o,i,e):s(e))||e);return c&&e&&v(o,i,e),e};function u(a){class o extends a{constructor(){super(...arguments),this.checked=!1,this.readonly=!1}handleChange(){if(this.readonly){this.inputElement.checked=this.checked;return}this.checked=this.inputElement.checked;let c=new CustomEvent("change",{bubbles:!0,cancelable:!0,composed:!0});this.dispatchEvent(c)||(this.checked=!this.inputElement.checked,this.inputElement.checked=this.checked)}render(){return x` +import{html as r,SizedMixin as E,SpectrumElement as p}from"./base.js";import{property as l}from"./base.js";import{html as f}from"./base.js";import{property as u,query as g}from"./base.js";import{ifDefined as z}from"./base.js";var k=Object.defineProperty,x=Object.getOwnPropertyDescriptor,d=(a,o,i,c)=>{for(var e=c>1?void 0:c?x(o,i):o,h=a.length-1,s;h>=0;h--)(s=a[h])&&(e=(c?s(o,i,e):s(e))||e);return c&&e&&k(o,i,e),e};function b(a){class o extends a{constructor(){super(...arguments),this.checked=!1,this.readonly=!1}handleChange(){if(this.readonly){this.inputElement.checked=this.checked;return}this.checked=this.inputElement.checked;let c=new CustomEvent("change",{bubbles:!0,cancelable:!0,composed:!0});this.dispatchEvent(c)||(this.checked=!this.inputElement.checked,this.inputElement.checked=this.checked)}render(){return f` - `}}return d([b({type:Boolean,reflect:!0})],o.prototype,"checked",2),d([b({type:String,reflect:!0})],o.prototype,"name",2),d([b({type:Boolean,reflect:!0})],o.prototype,"readonly",2),d([f("#input")],o.prototype,"inputElement",2),o}import{css as z}from"./base.js";var y=z` + `}}return d([u({type:Boolean,reflect:!0})],o.prototype,"checked",2),d([u({type:String,reflect:!0})],o.prototype,"name",2),d([u({type:Boolean,reflect:!0})],o.prototype,"readonly",2),d([g("#input")],o.prototype,"inputElement",2),o}import{css as y}from"./base.js";var w=y` :host{--spectrum-checkbox-content-color-default:var(--spectrum-neutral-content-color-default);--spectrum-checkbox-content-color-hover:var(--spectrum-neutral-content-color-hover);--spectrum-checkbox-content-color-down:var(--spectrum-neutral-content-color-down);--spectrum-checkbox-content-color-focus:var(--spectrum-neutral-content-color-key-focus);--spectrum-checkbox-focus-indicator-color:var(--spectrum-focus-indicator-color);--spectrum-checkbox-content-color-disabled:var(--spectrum-disabled-content-color);--spectrum-checkbox-control-color-disabled:var(--spectrum-disabled-content-color);--spectrum-checkbox-checkmark-color:var(--spectrum-gray-75);--spectrum-checkbox-invalid-color-default:var(--spectrum-negative-color-900);--spectrum-checkbox-invalid-color-hover:var(--spectrum-negative-color-1000);--spectrum-checkbox-invalid-color-down:var(--spectrum-negative-color-1100);--spectrum-checkbox-invalid-color-focus:var(--spectrum-negative-color-1000);--spectrum-checkbox-emphasized-color-default:var(--spectrum-accent-color-900);--spectrum-checkbox-emphasized-color-hover:var(--spectrum-accent-color-1000);--spectrum-checkbox-emphasized-color-down:var(--spectrum-accent-color-1100);--spectrum-checkbox-emphasized-color-focus:var(--spectrum-accent-color-1000);--spectrum-checkbox-control-selected-color-default:var(--spectrum-neutral-background-color-selected-default);--spectrum-checkbox-control-selected-color-hover:var(--spectrum-neutral-background-color-selected-hover);--spectrum-checkbox-control-selected-color-down:var(--spectrum-neutral-background-color-selected-down);--spectrum-checkbox-control-selected-color-focus:var(--spectrum-neutral-background-color-selected-key-focus);--spectrum-checkbox-font-size:var(--spectrum-font-size-100);--spectrum-checkbox-line-height:var(--spectrum-line-height-100);--spectrum-checkbox-line-height-cjk:var(--spectrum-cjk-line-height-100);--spectrum-checkbox-height:var(--spectrum-component-height-100);--spectrum-checkbox-control-size:var(--spectrum-checkbox-control-size-medium);--spectrum-checkbox-control-corner-radius:var(--spectrum-corner-radius-75);--spectrum-checkbox-focus-indicator-gap:var(--spectrum-focus-indicator-gap);--spectrum-checkbox-focus-indicator-thickness:var(--spectrum-focus-indicator-thickness);--spectrum-checkbox-border-width:var(--spectrum-border-width-200);--spectrum-checkbox-selected-border-width:calc(var(--spectrum-checkbox-control-size)/2);--spectrum-checkbox-top-to-text:var(--spectrum-component-top-to-text-100);--spectrum-checkbox-text-to-control:var(--spectrum-text-to-control-100);--spectrum-checkbox-animation-duration:var(--spectrum-animation-duration-100)}:host([size=s]){--spectrum-checkbox-font-size:var(--spectrum-font-size-75);--spectrum-checkbox-height:var(--spectrum-component-height-75);--spectrum-checkbox-control-size:var(--spectrum-checkbox-control-size-small);--spectrum-checkbox-top-to-text:var(--spectrum-component-top-to-text-75);--spectrum-checkbox-text-to-control:var(--spectrum-text-to-control-75)}:host{--spectrum-checkbox-font-size:var(--spectrum-font-size-100);--spectrum-checkbox-height:var(--spectrum-component-height-100);--spectrum-checkbox-control-size:var(--spectrum-checkbox-control-size-medium);--spectrum-checkbox-top-to-text:var(--spectrum-component-top-to-text-100);--spectrum-checkbox-text-to-control:var(--spectrum-text-to-control-100)}:host([size=l]){--spectrum-checkbox-font-size:var(--spectrum-font-size-200);--spectrum-checkbox-height:var(--spectrum-component-height-200);--spectrum-checkbox-control-size:var(--spectrum-checkbox-control-size-large);--spectrum-checkbox-top-to-text:var(--spectrum-component-top-to-text-200);--spectrum-checkbox-text-to-control:var(--spectrum-text-to-control-200)}:host([size=xl]){--spectrum-checkbox-font-size:var(--spectrum-font-size-300);--spectrum-checkbox-height:var(--spectrum-component-height-300);--spectrum-checkbox-control-size:var(--spectrum-checkbox-control-size-extra-large);--spectrum-checkbox-top-to-text:var(--spectrum-component-top-to-text-300);--spectrum-checkbox-text-to-control:var(--spectrum-text-to-control-300)}:host{color:var(--highcontrast-checkbox-content-color-default,var(--mod-checkbox-content-color-default,var(--spectrum-checkbox-content-color-default)));min-block-size:var(--mod-checkbox-height,var(--spectrum-checkbox-height));max-inline-size:100%;vertical-align:top;align-items:flex-start;display:inline-flex;position:relative}:host(:is(:active,[active])) #box:before{border-color:var(--highcontrast-checkbox-highlight-color-down,var(--mod-checkbox-control-color-down,var(--spectrum-checkbox-control-color-down)))}:host(:is(:active,[active])) #input:checked+#box:before{border-color:var(--highcontrast-checkbox-highlight-color-down,var(--mod-checkbox-control-selected-color-down,var(--spectrum-checkbox-control-selected-color-down)))}:host(:is(:active,[active])) #label{color:var(--highcontrast-checkbox-content-color-down,var(--mod-checkbox-content-color-down,var(--spectrum-checkbox-content-color-down)))}:host([invalid][invalid]) #box:before,:host([invalid][invalid]) #input:checked+#box:before{border-color:var(--highcontrast-checkbox-color-default,var(--mod-checkbox-invalid-color-default,var(--spectrum-checkbox-invalid-color-default)))}:host([invalid][invalid]) #input:focus-visible+#box:before,:host([invalid][invalid][indeterminate]) #input:focus-visible+#box:before{border-color:var(--highcontrast-checkbox-color-hover,var(--mod-checkbox-invalid-color-hover,var(--spectrum-checkbox-invalid-color-hover)))}:host([readonly]){border-color:var(--highcontrast-checkbox-color-default,var(--mod-checkbox-control-selected-color-default,var(--spectrum-checkbox-control-selected-color-default)))}:host([readonly]:is(:active,[active])) #box:before{border-color:var(--highcontrast-checkbox-selected-color-default,var(--mod-checkbox-control-selected-color-default,var(--spectrum-checkbox-control-selected-color-default)))}:host([readonly]) #input:checked:disabled+#box:before,:host([readonly]) #input:disabled+#box:before{border-color:var(--highcontrast-checkbox-color-default,var(--mod-checkbox-control-selected-color-default,var(--spectrum-checkbox-control-selected-color-default)));background-color:var(--highcontrast-checkbox-background-color-default,var(--mod-checkbox-checkmark-color,var(--spectrum-checkbox-checkmark-color)))}:host([readonly]) #input:checked:disabled~#label,:host([readonly]) #input:disabled~#label{forced-color-adjust:none;color:var(--highcontrast-checkbox-color-default,var(--mod-checkbox-content-color-default,var(--spectrum-checkbox-content-color-default)))}:host([indeterminate]) #box:before,:host([indeterminate]) #input:checked+#box:before{border-color:var(--highcontrast-checkbox-highlight-color-default,var(--mod-checkbox-control-selected-color-default,var(--spectrum-checkbox-control-selected-color-default)));border-width:var(--mod-checkbox-selected-border-width,var(--spectrum-checkbox-selected-border-width))}:host([indeterminate]) #box #checkmark,:host([indeterminate]) #input:checked+#box #checkmark{display:none}:host([indeterminate]) #box #partialCheckmark,:host([indeterminate]) #input:checked+#box #partialCheckmark{opacity:1;display:block;transform:scale(1)}:host([indeterminate]) #input:focus-visible+#box:before{border-color:var(--highcontrast-checkbox-highlight-color-focus,var(--mod-checkbox-control-selected-color-focus,var(--spectrum-checkbox-control-selected-color-focus)))}:host([invalid][invalid][indeterminate]) #box:before,:host([invalid][invalid][indeterminate]) #input:checked+#box:before{border-color:var(--highcontrast-checkbox-color-default,var(--mod-checkbox-invalid-color-default,var(--spectrum-checkbox-invalid-color-default)));border-width:var(--mod-checkbox-selected-border-width,var(--spectrum-checkbox-selected-border-width))}:host([emphasized]) #input:checked+#box:before,:host([emphasized][indeterminate]) #box:before,:host([emphasized][indeterminate]) #input:checked+#box:before{border-color:var(--highcontrast-checkbox-highlight-color-default,var(--mod-checkbox-emphasized-color-default,var(--spectrum-checkbox-emphasized-color-default)))}:host([emphasized]) #input:focus-visible:checked+#box:before,:host([emphasized][indeterminate]) #input:focus-visible+#box:before{border-color:var(--highcontrast-checkbox-highlight-color-focus,var(--mod-checkbox-emphasized-color-focus,var(--spectrum-checkbox-emphasized-color-focus)))}:host([emphasized][invalid][invalid]) #input:focus-visible:checked+#box:before{border-color:var(--highcontrast-checkbox-color-default,var(--mod-checkbox-invalid-color-focus,var(--spectrum-checkbox-invalid-color-focus)))}@media (hover:hover){:host(:hover) #box:before{border-color:var(--highcontrast-checkbox-highlight-color-hover,var(--mod-checkbox-control-color-hover,var(--spectrum-checkbox-control-color-hover)))}:host(:hover) #input:checked+#box:before{border-color:var(--highcontrast-checkbox-highlight-color-hover,var(--mod-checkbox-control-selected-color-hover,var(--spectrum-checkbox-control-selected-color-hover)))}:host(:hover) #label{color:var(--highcontrast-checkbox-content-color-hover,var(--mod-checkbox-content-color-hover,var(--spectrum-checkbox-content-color-hover)))}:host([invalid][invalid]:hover) #box:before,:host([invalid][invalid]:hover) #input:checked+#box:before{border-color:var(--highcontrast-checkbox-color-hover,var(--mod-checkbox-invalid-color-hover,var(--spectrum-checkbox-invalid-color-hover)))}:host([readonly]:hover) #box:before{border-color:var(--highcontrast-checkbox-color-default,var(--mod-checkbox-control-selected-color-default,var(--spectrum-checkbox-control-selected-color-default)))}:host([indeterminate]:hover) #box:before,:host([indeterminate]:hover) #input:checked+#box:before{border-color:var(--highcontrast-checkbox-highlight-color-hover,var(--mod-checkbox-control-selected-color-hover,var(--spectrum-checkbox-control-selected-color-hover)))}:host([invalid][invalid][indeterminate]:hover) #box:before,:host([invalid][invalid][indeterminate]:hover) #input:checked+#box:before{border-color:var(--highcontrast-checkbox-color-default,var(--mod-checkbox-invalid-color-hover,var(--spectrum-checkbox-invalid-color-hover)))}:host([invalid][invalid][indeterminate]:hover) #label{color:var(--highcontrast-checkbox-content-color-hover,var(--mod-checkbox-content-color-hover,var(--spectrum-checkbox-content-color-hover)))}:host([emphasized][indeterminate]:hover) #box:before,:host([emphasized][indeterminate]:hover) #input:checked+#box:before,:host([emphasized]:hover) #input:checked+#box:before{border-color:var(--highcontrast-checkbox-color-hover,var(--mod-checkbox-emphasized-color-hover,var(--spectrum-checkbox-emphasized-color-hover)))}:host([emphasized][invalid][invalid][indeterminate]:hover) #box:before,:host([emphasized][invalid][invalid][indeterminate]:hover) #input:checked+#box:before,:host([emphasized][invalid][invalid]:hover) #input:checked+#box:before{border-color:var(--highcontrast-checkbox-color-hover,var(--mod-checkbox-invalid-color-hover,var(--spectrum-checkbox-invalid-color-hover)))}:host([emphasized][indeterminate]:hover) #box:before,:host([emphasized][indeterminate]:hover) #input:checked+#box:before,:host([emphasized]:hover) #input:checked+#box:before{border-color:var(--highcontrast-checkbox-highlight-color-hover,var(--mod-checkbox-emphasized-color-hover,var(--spectrum-checkbox-emphasized-color-hover)))}}:host([emphasized][indeterminate]:is(:active,[active])) #box:before,:host([emphasized][indeterminate]:is(:active,[active])) #input:checked+#box:before,:host([emphasized]:is(:active,[active])) #input:checked+#box:before{border-color:var(--highcontrast-checkbox-highlight-color-default,var(--mod-checkbox-emphasized-color-down,var(--spectrum-checkbox-emphasized-color-down)))}:host([emphasized][invalid][invalid]:is(:active,[active])) #box:before,:host([emphasized][invalid][invalid]:is(:active,[active])) #input:checked+#box:before{border-color:var(--highcontrast-checkbox-highlight-color-default,var(--mod-checkbox-control-invalid-color-down,var(--spectrum-checkbox-invalid-color-down)))}:host([emphasized]:focus-visible) #box:before,:host([emphasized]:focus-visible) #input:checked+#box:before{border-color:var(--highcontrast-checkbox-color-focus,var(--mod-checkbox-control-color-focus,var(--spectrum-checkbox-control-color-focus)))}#label{text-align:start;font-size:var(--mod-checkbox-font-size,var(--spectrum-checkbox-font-size));transition:color var(--mod-checkbox-animation-duration,var(--spectrum-checkbox-animation-duration))ease-in-out;line-height:var(--mod-checkbox-line-height,var(--spectrum-checkbox-line-height));margin-block-start:var(--mod-checkbox-top-to-text,var(--spectrum-checkbox-top-to-text));margin-inline-start:var(--mod-checkbox-text-to-control,var(--spectrum-checkbox-text-to-control))}#label:lang(ja),#label:lang(ko),#label:lang(zh){line-height:var(--mod-checkbox-line-height-cjk,var(--spectrum-checkbox-line-height-cjk))}#input{color:var(--mod-checkbox-control-color-default,var(--spectrum-checkbox-control-color-default));box-sizing:border-box;inline-size:100%;block-size:100%;opacity:.0001;z-index:1;cursor:pointer;margin:0;padding:0;font-family:inherit;font-size:100%;line-height:1.15;position:absolute;overflow:visible}#input:disabled{cursor:default}#input:checked+#box:before{border-color:var(--highcontrast-checkbox-highlight-color-default,var(--mod-checkbox-control-selected-color-default,var(--spectrum-checkbox-control-selected-color-default)));background-color:var(--mod-checkbox-checkmark-color,var(--spectrum-checkbox-checkmark-color));border-width:var(--mod-checkbox-selected-border-width,var(--spectrum-checkbox-selected-border-width))}#input:checked+#box #checkmark{opacity:1;transform:scale(1)}#input:focus-visible+#box:before{border-color:var(--highcontrast-checkbox-color-focus,var(--mod-checkbox-control-color-focus,var(--spectrum-checkbox-control-color-focus)))}#input:focus-visible+#box:after{forced-color-adjust:none;box-shadow:0 0 0 var(--mod-checkbox-focus-indicator-thinkness,var(--spectrum-checkbox-focus-indicator-thickness))var(--highcontrast-checkbox-focus-indicator-color,var(--mod-checkbox-focus-indicator-color,var(--spectrum-checkbox-focus-indicator-color)));margin:calc(var(--mod-checkbox-focus-indicator-gap,var(--spectrum-checkbox-focus-indicator-gap))*-1)}#input:focus-visible+#label{color:var(--highcontrast-checkbox-content-color-focus,var(--mod-checkbox-content-color-focus,var(--spectrum-checkbox-content-color-focus)))}#input:focus-visible:checked+#box:before{border-color:var(--highcontrast-checkbox-highlight-color-focus,var(--mod-checkbox-control-selected-color-focus,var(--spectrum-checkbox-control-selected-color-focus)))}#box{--spectrum-checkbox-spacing:calc(var(--mod-checkbox-height,var(--spectrum-checkbox-height)) - var(--mod-checkbox-control-size,var(--spectrum-checkbox-control-size)));margin:calc(var(--mod-checkbox-spacing,var(--spectrum-checkbox-spacing))/2)0;flex-grow:0;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}#box,#box:before{box-sizing:border-box;inline-size:var(--mod-checkbox-control-size,var(--spectrum-checkbox-control-size));block-size:var(--mod-checkbox-control-size,var(--spectrum-checkbox-control-size))}#box:before{forced-color-adjust:none;border-color:var(--highcontrast-checkbox-color-default,var(--mod-checkbox-control-color-default,var(--spectrum-checkbox-control-color-default)));z-index:0;content:"";border-radius:var(--mod-checkbox-control-corner-radius,var(--spectrum-checkbox-control-corner-radius));border-width:var(--mod-checkbox-border-width,var(--spectrum-checkbox-border-width));transition:border var(--mod-checkbox-animation-duration,var(--spectrum-checkbox-animation-duration))ease-in-out,box-shadow var(--mod-checkbox-animation-duration,var(--spectrum-checkbox-animation-duration))ease-in-out;border-style:solid;display:block;position:absolute}#box:after{border-radius:calc(var(--mod-checkbox-control-corner-radius,var(--spectrum-checkbox-control-corner-radius)) + var(--mod-checkbox-focus-indicator-gap,var(--spectrum-checkbox-focus-indicator-gap)));content:"";margin:var(--mod-checkbox-focus-indicator-gap,var(--spectrum-checkbox-focus-indicator-gap));transition:box-shadow var(--mod-checkbox-animation-duration,var(--spectrum-checkbox-animation-duration))ease-out,margin var(--mod-checkbox-animation-duration,var(--spectrum-checkbox-animation-duration))ease-out;display:block;position:absolute;inset-block:0;inset-inline:0;transform:translate(0)}#checkmark,#partialCheckmark{color:var(--highcontrast-checkbox-background-color-default,var(--mod-checkbox-checkmark-color,var(--spectrum-checkbox-checkmark-color)));opacity:0;transition:opacity var(--mod-checkbox-animation-duration,var(--spectrum-checkbox-animation-duration))ease-in-out,transform var(--mod-checkbox-animation-duration,var(--spectrum-checkbox-animation-duration))ease-in-out;transform:scale(0)}#partialCheckmark{display:none}#input:checked:disabled+#box:before,#input:disabled+#box:before{border-color:var(--highcontrast-checkbox-disabled-color-default,var(--mod-checkbox-control-color-disabled,var(--spectrum-checkbox-control-color-disabled)));background-color:var(--highcontrast-checkbox-background-color-default,var(--mod-checkbox-checkmark-color,var(--spectrum-checkbox-checkmark-color)))}#input:checked:disabled~#label,#input:disabled~#label{forced-color-adjust:none;color:var(--highcontrast-checkbox-disabled-color-default,var(--mod-checkbox-content-color-disabled,var(--spectrum-checkbox-content-color-disabled)))}@media (forced-colors:active){#input:focus-visible+#box{forced-color-adjust:none;outline-color:var(--highcontrast-checkbox-focus-indicator-color,var(--mod-checkbox-focus-indicator-color,var(--spectrum-checkbox-focus-indicator-color)));outline-offset:var(--highcontrast-checkbox-focus-indicator-gap,var(--mod-checkbox-focus-indicator-gap,var(--spectrum-checkbox-focus-indicator-gap)));outline-style:auto;outline-width:var(--mod-focus-indicator-thickness,var(--spectrum-focus-indicator-thickness))}#input:focus-visible+#box:after{box-shadow:0 0 0 0 var(--highcontrast-checkbox-focus-indicator-color,var(--mod-checkbox-focus-indicator-color,var(--spectrum-checkbox-focus-indicator-color)))}:host{--highcontrast-checkbox-content-color-default:CanvasText;--highcontrast-checkbox-content-color-hover:CanvasText;--highcontrast-checkbox-content-color-down:CanvasText;--highcontrast-checkbox-content-color-focus:CanvasText;--highcontrast-checkbox-background-color-default:Canvas;--highcontrast-checkbox-color-default:ButtonText;--highcontrast-checkbox-color-hover:ButtonText;--highcontrast-checkbox-color-focus:Highlight;--highcontrast-checkbox-highlight-color-default:Highlight;--highcontrast-checkbox-highlight-color-hover:Highlight;--highcontrast-checkbox-highlight-color-down:Highlight;--highcontrast-checkbox-highlight-color-focus:Highlight;--highcontrast-checkbox-disabled-color-default:GrayText;--highcontrast-checkbox-focus-indicator-color:CanvasText}}:host{--spectrum-checkbox-control-color-default:var(--system-spectrum-checkbox-control-color-default);--spectrum-checkbox-control-color-hover:var(--system-spectrum-checkbox-control-color-hover);--spectrum-checkbox-control-color-down:var(--system-spectrum-checkbox-control-color-down);--spectrum-checkbox-control-color-focus:var(--system-spectrum-checkbox-control-color-focus)}:host{vertical-align:top;display:inline-flex}:host(:focus){outline:none}:host([disabled]){pointer-events:none}:host(:empty) label{display:none} -`,m=y;import"./icons-ui.js";import"./icons-ui.js";import"./icons-ui.js";import"./icons-ui.js";import"./icons-ui.js";import"./icons-ui.js";import"./icons-ui.js";import"./icons-ui.js";import E from"./icons/checkmark.js";import j from"./icons/dash.js";var w=Object.defineProperty,I=Object.getOwnPropertyDescriptor,n=(a,o,i,c)=>{for(var e=c>1?void 0:c?I(o,i):o,h=a.length-1,s;h>=0;h--)(s=a[h])&&(e=(c?s(o,i,e):s(e))||e);return c&&e&&w(o,i,e),e},B={s:()=>r` +`,m=w;import"./icons-ui.js";import"./icons-ui.js";import"./icons-ui.js";import"./icons-ui.js";import"./icons-ui.js";import"./icons-ui.js";import"./icons-ui.js";import"./icons-ui.js";import j from"./icons/checkmark.js";import D from"./icons/dash.js";var I=Object.defineProperty,C=Object.getOwnPropertyDescriptor,n=(a,o,i,c)=>{for(var e=c>1?void 0:c?C(o,i):o,h=a.length-1,s;h>=0;h--)(s=a[h])&&(e=(c?s(o,i,e):s(e))||e);return c&&e&&I(o,i,e),e},O={s:()=>r` - `},D={s:()=>r` + `},T={s:()=>r` - `},t=class extends C(u(p),{noDefaultSize:!0}){constructor(){super(...arguments),this.disabled=!1,this.indeterminate=!1,this.invalid=!1,this.emphasized=!1,this.tabIndex=0}connectedCallback(){super.connectedCallback(),this.hasAttribute("autofocus")&&this.updateComplete.then(()=>{this.focus()})}static get styles(){return[m,E,j]}click(){var o;this.disabled||(o=this.inputElement)==null||o.click()}handleChange(){this.indeterminate=!1,super.handleChange()}render(){return r` + `},t=class extends E(b(p),{noDefaultSize:!0}){constructor(){super(...arguments),this.disabled=!1,this.indeterminate=!1,this.invalid=!1,this.emphasized=!1,this.tabIndex=0}connectedCallback(){super.connectedCallback(),this.hasAttribute("autofocus")&&this.updateComplete.then(()=>{this.focus()})}static get styles(){return[m,j,D]}click(){var o;this.disabled||(o=this.inputElement)==null||o.click()}handleChange(){this.indeterminate=!1,super.handleChange()}render(){return r` ${super.render()} - ${this.checked?B[this.size]():r``} - ${this.indeterminate?D[this.size]():r``} + ${this.checked?O[this.size]():r``} + ${this.indeterminate?T[this.size]():r``} - `}updated(o){super.updated(o),o.has("disabled")&&(typeof o.get("disabled")<"u"||this.disabled)&&(this.disabled?(this.inputElement.tabIndex=this.tabIndex,this.tabIndex=-1):(this.tabIndex=this.inputElement.tabIndex,this.inputElement.removeAttribute("tabindex")),this.inputElement.disabled=this.disabled),o.has("indeterminate")&&(this.inputElement.indeterminate=this.indeterminate),o.has("invalid")&&(this.invalid?this.inputElement.setAttribute("aria-invalid","true"):this.inputElement.removeAttribute("aria-invalid"))}};t.shadowRootOptions={...p.shadowRootOptions,delegatesFocus:!0},n([l({type:Boolean,reflect:!0})],t.prototype,"disabled",2),n([l({type:Boolean,reflect:!0})],t.prototype,"indeterminate",2),n([l({type:Boolean,reflect:!0})],t.prototype,"invalid",2),n([l({type:Boolean,reflect:!0})],t.prototype,"emphasized",2),n([l({reflect:!0,type:Number,attribute:"tabindex"})],t.prototype,"tabIndex",2);import{defineElement as O}from"./base.js";O("sp-checkbox",t); + `}updated(o){super.updated(o),o.has("disabled")&&(typeof o.get("disabled")<"u"||this.disabled)&&(this.disabled?(this.inputElement.tabIndex=this.tabIndex,this.tabIndex=-1):(this.tabIndex=this.inputElement.tabIndex,this.inputElement.removeAttribute("tabindex")),this.inputElement.disabled=this.disabled),o.has("indeterminate")&&(this.inputElement.indeterminate=this.indeterminate),o.has("invalid")&&(this.invalid?this.inputElement.setAttribute("aria-invalid","true"):this.inputElement.removeAttribute("aria-invalid"))}};t.shadowRootOptions={...p.shadowRootOptions,delegatesFocus:!0},n([l({type:Boolean,reflect:!0})],t.prototype,"disabled",2),n([l({type:Boolean,reflect:!0})],t.prototype,"indeterminate",2),n([l({type:Boolean,reflect:!0})],t.prototype,"invalid",2),n([l({type:Boolean,reflect:!0})],t.prototype,"emphasized",2),n([l({reflect:!0,type:Number,attribute:"tabindex"})],t.prototype,"tabIndex",2);import{defineElement as U}from"./base.js";U("sp-checkbox",t);import{Focusable as B}from"./shared.js";var v=class extends b(B){get focusElement(){return this.inputElement}};export{v as CheckboxBase}; diff --git a/libs/features/spectrum-web-components/dist/switch.js b/libs/features/spectrum-web-components/dist/switch.js new file mode 100644 index 00000000000..a9191914b76 --- /dev/null +++ b/libs/features/spectrum-web-components/dist/switch.js @@ -0,0 +1,12 @@ +/* eslint-disable */ +/* Generated by Milo */ + +import{html as v,SizedMixin as g}from"./base.js";import{property as f}from"./base.js";import{CheckboxBase as k}from"./checkbox.js";import{css as d}from"./base.js";var n=d` + :host{--spectrum-switch-label-color-default:var(--spectrum-neutral-content-color-default);--spectrum-switch-label-color-hover:var(--spectrum-neutral-content-color-hover);--spectrum-switch-label-color-down:var(--spectrum-neutral-content-color-down);--spectrum-switch-label-color-focus:var(--spectrum-neutral-content-color-key-focus);--spectrum-switch-label-color-disabled:var(--spectrum-disabled-content-color);--spectrum-switch-background-color:var(--spectrum-gray-300);--spectrum-switch-background-color-disabled:var(--spectrum-gray-300);--spectrum-switch-background-color-selected-disabled:var(--spectrum-disabled-content-color);--spectrum-switch-background-color-selected-default:var(--spectrum-neutral-background-color-selected-default);--spectrum-switch-background-color-selected-hover:var(--spectrum-neutral-background-color-selected-hover);--spectrum-switch-background-color-selected-down:var(--spectrum-neutral-background-color-selected-down);--spectrum-switch-background-color-selected-focus:var(--spectrum-neutral-background-color-selected-key-focus);--spectrum-switch-focus-indicator-thickness:var(--mod-focus-indicator-thickness,var(--spectrum-focus-indicator-thickness));--spectrum-switch-focus-indicator-color:var(--spectrum-focus-indicator-color);--spectrum-switch-handle-background-color:var(--spectrum-gray-75);--spectrum-switch-handle-border-color-disabled:var(--spectrum-disabled-content-color)}:host([disabled]){--spectrum-switch-label-color-default:var(--spectrum-disabled-content-color)}:host([emphasized]){--spectrum-switch-background-color-selected-default:var(--spectrum-accent-color-900);--spectrum-switch-background-color-selected-hover:var(--spectrum-accent-color-1000);--spectrum-switch-background-color-selected-down:var(--spectrum-accent-color-1100);--spectrum-switch-background-color-selected-focus:var(--spectrum-accent-color-1000);--spectrum-switch-handle-border-color-selected-default:var(--spectrum-accent-color-900);--spectrum-switch-handle-border-color-selected-hover:var(--spectrum-accent-color-1000);--spectrum-switch-handle-border-color-selected-down:var(--spectrum-accent-color-1100);--spectrum-switch-handle-border-color-selected-focus:var(--spectrum-accent-color-1000)}:host([size=s]){--spectrum-switch-min-height:var(--spectrum-component-height-75);--spectrum-switch-control-width:var(--spectrum-switch-control-width-small);--spectrum-switch-control-height:var(--spectrum-switch-control-height-small);--spectrum-switch-control-label-spacing:var(--spectrum-text-to-control-75);--spectrum-switch-spacing-top-to-control:var(--spectrum-switch-top-to-control-small);--spectrum-switch-spacing-top-to-label:var(--spectrum-component-top-to-text-75);--spectrum-switch-font-size:var(--spectrum-font-size-75)}:host{--spectrum-switch-min-height:var(--spectrum-component-height-100);--spectrum-switch-control-width:var(--spectrum-switch-control-width-medium);--spectrum-switch-control-height:var(--spectrum-switch-control-height-medium);--spectrum-switch-control-label-spacing:var(--spectrum-text-to-control-100);--spectrum-switch-spacing-top-to-control:var(--spectrum-switch-top-to-control-medium);--spectrum-switch-spacing-top-to-label:var(--spectrum-component-top-to-text-100);--spectrum-switch-font-size:var(--spectrum-font-size-100)}:host([size=l]){--spectrum-switch-min-height:var(--spectrum-component-height-200);--spectrum-switch-control-width:var(--spectrum-switch-control-width-large);--spectrum-switch-control-height:var(--spectrum-switch-control-height-large);--spectrum-switch-control-label-spacing:var(--spectrum-text-to-control-200);--spectrum-switch-spacing-top-to-control:var(--spectrum-switch-top-to-control-large);--spectrum-switch-spacing-top-to-label:var(--spectrum-component-top-to-text-200);--spectrum-switch-font-size:var(--spectrum-font-size-200)}:host([size=xl]){--spectrum-switch-min-height:var(--spectrum-component-height-300);--spectrum-switch-control-width:var(--spectrum-switch-control-width-extra-large);--spectrum-switch-control-height:var(--spectrum-switch-control-height-extra-large);--spectrum-switch-control-label-spacing:var(--spectrum-text-to-control-300);--spectrum-switch-spacing-top-to-control:var(--spectrum-switch-top-to-control-extra-large);--spectrum-switch-spacing-top-to-label:var(--spectrum-component-top-to-text-300);--spectrum-switch-font-size:var(--spectrum-font-size-300)}:host{min-block-size:var(--mod-switch-height,var(--spectrum-switch-min-height));max-inline-size:100%;vertical-align:top;align-items:flex-start;display:inline-flex;position:relative}#input{box-sizing:border-box;inline-size:100%;block-size:100%;opacity:0;z-index:1;cursor:pointer;margin:0;padding:0;position:absolute;inset-block-start:0;inset-inline-start:0}:host([checked]) #input+#switch:before{transform:translateX(calc(var(--mod-switch-control-width,var(--spectrum-switch-control-width)) - 100%))}:host([checked]) #input+#switch:dir(rtl):before,:host([dir=rtl][checked]) #input+#switch:before{transform:translateX(calc(( var(--mod-switch-control-width,var(--spectrum-switch-control-width)) - 100% )*-1))}:host([disabled]) #input,:host([disabled]) #input{cursor:default}#input:focus-visible+#switch:after{margin:calc(var(--mod-focus-indicator-gap,var(--spectrum-focus-indicator-gap))*-1)}#label{color:var(--highcontrast-switch-label-color-default,var(--mod-switch-label-color-default,var(--spectrum-switch-label-color-default)));margin-inline:var(--mod-switch-control-label-spacing,var(--spectrum-switch-control-label-spacing));font-size:var(--mod-switch-font-size,var(--spectrum-switch-font-size));line-height:var(--mod-line-height-100,var(--spectrum-line-height-100));transition:color var(--mod-animation-duration-200,var(--spectrum-animation-duration-200))ease-in-out;margin-block-start:var(--mod-switch-spacing-top-to-label,var(--spectrum-switch-spacing-top-to-label));margin-block-end:0}#switch{box-sizing:border-box;inline-size:var(--mod-switch-control-width,var(--spectrum-switch-control-width));margin-block:calc(var(--mod-switch-height,var(--spectrum-switch-min-height)) - var(--mod-switch-control-height,var(--spectrum-switch-control-height)) - var(--mod-switch-spacing-top-to-control,var(--spectrum-switch-spacing-top-to-control)));vertical-align:middle;transition:background var(--mod-animation-duration-100,var(--spectrum-animation-duration-100))ease-in-out,border var(--mod-animation-duration-100,var(--spectrum-animation-duration-100))ease-in-out;block-size:var(--mod-switch-control-height,var(--spectrum-switch-control-height));border-radius:calc(var(--mod-switch-control-height,var(--spectrum-switch-control-height))/2);flex-grow:0;flex-shrink:0;margin-inline:0;display:inline-block;position:relative;inset-inline:0}#switch:before{box-sizing:border-box;transition:background var(--mod-animation-duration-100,var(--spectrum-animation-duration-100))ease-in-out,border var(--mod-animation-duration-100,var(--spectrum-animation-duration-100))ease-in-out,transform var(--mod-animation-duration-100,var(--spectrum-animation-duration-100))ease-in-out,box-shadow var(--mod-animation-duration-100,var(--spectrum-animation-duration-100))ease-in-out;inline-size:var(--mod-switch-control-height,var(--spectrum-switch-control-height));block-size:var(--mod-switch-control-height,var(--spectrum-switch-control-height));border-width:var(--mod-border-width-200,var(--spectrum-border-width-200));border-radius:calc(var(--mod-switch-control-height,var(--spectrum-switch-control-height))/2);border-style:solid}#switch:after,#switch:before{content:"";display:block;position:absolute;inset-block-start:0;inset-inline-start:0}#switch:after{border-radius:calc(var(--mod-switch-control-height,var(--spectrum-switch-control-height))/2 + var(--mod-focus-indicator-gap,var(--spectrum-focus-indicator-gap))*2);transition:opacity var(--mod-animation-duration-100,var(--spectrum-animation-duration-100))ease-out,margin var(--spectrum-animation-duration-100,var(--spectrum-animation-duration-100))ease-out;margin:0;inset-block-end:0;inset-inline-end:0}#switch{background-color:var(--highcontrast-switch-background-color,var(--mod-switch-background-color,var(--spectrum-switch-background-color)))}#switch:before{background-color:var(--highcontrast-switch-handle-background-color,var(--mod-switch-handle-background-color,var(--spectrum-switch-handle-background-color)));border-color:var(--highcontrast-switch-handle-border-color-default,var(--mod-switch-handle-border-color-default,var(--spectrum-switch-handle-border-color-default)))}:host(:active) #input+#switch:before{border-color:var(--highcontrast-switch-handle-border-color-down,var(--mod-switch-handle-border-color-down,var(--spectrum-switch-handle-border-color-down)))}:host(:active) #input~#label{color:var(--highcontrast-switch-label-color-down,var(--mod-switch-label-color-down,var(--spectrum-switch-label-color-down)))}:host(:active[checked]) #input:enabled+#switch{background-color:var(--highcontrast-switch-background-color-selected-down,var(--mod-switch-background-color-selected-down,var(--spectrum-switch-background-color-selected-down)))}:host(:active[checked]) #input:enabled+#switch:before{border-color:var(--highcontrast-switch-handle-border-color-selected-down,var(--mod-switch-handle-border-color-selected-down,var(--spectrum-switch-handle-border-color-selected-down)))}#input:focus-visible+#switch:after{box-shadow:0 0 0 var(--mod-switch-focus-indicator-thickness,var(--spectrum-switch-focus-indicator-thickness))var(--highcontrast-switch-focus-indicator-color,var(--mod-switch-focus-indicator-color,var(--spectrum-switch-focus-indicator-color)))}#input:focus-visible+#switch:before{border-color:var(--highcontrast-switch-handle-border-color-focus,var(--mod-switch-handle-border-color-focus,var(--spectrum-switch-handle-border-color-focus)))}:host([checked]) #input:focus-visible+#switch{background-color:var(--highcontrast-switch-background-color-selected-focus,var(--mod-switch-background-color-selected-focus,var(--spectrum-switch-background-color-selected-focus)))}:host([checked]) #input:focus-visible+#switch:before{border-color:var(--highcontrast-switch-handle-border-color-selected-focus,var(--mod-switch-handle-border-color-selected-focus,var(--spectrum-switch-handle-border-color-selected-focus)))}#input:focus-visible~#label{color:var(--highcontrast-switch-label-color-focus,var(--mod-switch-label-color-focus,var(--spectrum-switch-label-color-focus)))}@media (hover:hover){:host(:hover) #input+#switch:before{border-color:var(--highcontrast-switch-handle-border-color-hover,var(--mod-switch-handle-border-color-hover,var(--spectrum-switch-handle-border-color-hover)));box-shadow:none}:host(:hover) #input~#label{color:var(--highcontrast-switch-label-color-hover,var(--mod-switch-label-color-hover,var(--spectrum-switch-label-color-hover)))}:host([checked]:hover) #input:enabled+#switch{background-color:var(--highcontrast-switch-background-color-selected-hover,var(--mod-switch-background-color-selected-hover,var(--spectrum-switch-background-color-selected-hover)))}:host([checked]:hover) #input:enabled+#switch:before{border-color:var(--highcontrast-switch-handle-border-color-selected-hover,var(--mod-switch-handle-border-color-selected-hover,var(--spectrum-switch-handle-border-color-selected-hover)))}:host([disabled]:hover) #input+#switch,:host([disabled]:hover) #input+#switch{background-color:var(--highcontrast-switch-background-color-disabled,var(--mod-switch-background-color-disabled,var(--spectrum-switch-background-color-disabled)))}:host([disabled]:hover) #input+#switch:before,:host([disabled]:hover) #input+#switch:before{border-color:var(--highcontrast-switch-handle-border-color-disabled,var(--mod-switch-handle-border-color-disabled,var(--spectrum-switch-handle-border-color-disabled)))}:host([disabled]:hover) #input~#label,:host([disabled]:hover) #input~#label{color:var(--highcontrast-switch-label-color-disabled,var(--mod-switch-label-color-disabled,var(--spectrum-switch-label-color-disabled)))}:host([disabled][checked]:hover) #input+#switch,:host([disabled][checked]:hover) #input+#switch{background-color:var(--highcontrast-switch-background-color-selected-disabled,var(--mod-switch-background-color-selected-disabled,var(--spectrum-switch-background-color-selected-disabled)))}:host([disabled][checked]:hover) #input+#switch:before,:host([disabled][checked]:hover) #input+#switch:before{border-color:var(--highcontrast-switch-handle-border-color-disabled,var(--mod-switch-handle-border-color-disabled,var(--spectrum-switch-handle-border-color-disabled)))}:host([disabled][checked]:hover) #input~#label,:host([disabled][checked]:hover) #input~#label{color:var(--highcontrast-switch-label-color-disabled,var(--mod-switch-label-color-disabled,var(--spectrum-switch-label-color-disabled)))}:host(:hover) #input:focus-visible+#switch:after{box-shadow:0 0 0 var(--mod-switch-focus-indicator-thickness,var(--spectrum-switch-focus-indicator-thickness))var(--highcontrast-switch-focus-indicator-color,var(--mod-switch-focus-indicator-color,var(--spectrum-switch-focus-indicator-color)))}:host(:hover) #input:focus-visible+#switch:before{border-color:var(--highcontrast-switch-handle-border-color-focus,var(--mod-switch-handle-border-color-focus,var(--spectrum-switch-handle-border-color-focus)))}:host([checked]:hover) #input:focus-visible+#switch{background-color:var(--highcontrast-switch-background-color-selected-focus,var(--mod-switch-background-color-selected-focus,var(--spectrum-switch-background-color-selected-focus)))}:host([checked]:hover) #input:focus-visible+#switch:before{border-color:var(--highcontrast-switch-handle-border-color-selected-focus,var(--mod-switch-handle-border-color-selected-focus,var(--spectrum-switch-handle-border-color-selected-focus)))}:host(:hover) #input:focus-visible~#label{color:var(--highcontrast-switch-label-color-focus,var(--mod-switch-label-color-focus,var(--spectrum-switch-label-color-focus)))}}:host([checked]) #input+#switch{background-color:var(--highcontrast-switch-background-color-selected-default,var(--mod-switch-background-color-selected-default,var(--spectrum-switch-background-color-selected-default)))}:host([checked]) #input+#switch:before{border-color:var(--highcontrast-switch-handle-border-color-selected-default,var(--mod-switch-handle-border-color-selected-default,var(--spectrum-switch-handle-border-color-selected-default)))}:host([disabled]) #input+#switch,:host([disabled]) #input+#switch{background-color:var(--highcontrast-switch-background-color-disabled,var(--mod-switch-background-color-disabled,var(--spectrum-switch-background-color-disabled)))}:host([disabled]) #input+#switch:before,:host([disabled]) #input+#switch:before{border-color:var(--highcontrast-switch-handle-border-color-disabled,var(--mod-switch-handle-border-color-disabled,var(--spectrum-switch-handle-border-color-disabled)))}:host([disabled][checked]) #input+#switch,:host([disabled][checked]) #input+#switch{background-color:var(--highcontrast-switch-background-color-selected-disabled,var(--mod-switch-background-color-selected-disabled,var(--spectrum-switch-background-color-selected-disabled)))}:host([disabled][checked]) #input+#switch:before,:host([disabled][checked]) #input+#switch:before{border-color:var(--highcontrast-switch-handle-border-color-disabled,var(--mod-switch-handle-border-color-disabled,var(--spectrum-switch-handle-border-color-disabled)))}:host([disabled]) #input~#label,:host([disabled]) #input~#label{color:var(--highcontrast-switch-label-color-disabled,var(--mod-switch-label-color-disabled,var(--spectrum-switch-label-color-disabled)))}@media (forced-colors:active){:host{forced-color-adjust:none;--highcontrast-switch-label-color-default:ButtonText;--highcontrast-switch-label-color-hover:ButtonText;--highcontrast-switch-label-color-down:ButtonText;--highcontrast-switch-label-color-focus:ButtonText;--highcontrast-switch-label-color-disabled:GrayText;--highcontrast-switch-handle-background-color:ButtonFace;--highcontrast-switch-handle-border-color-default:ButtonText;--highcontrast-switch-handle-border-color-hover:Highlight;--highcontrast-switch-handle-border-color-down:Highlight;--highcontrast-switch-handle-border-color-focus:Highlight;--highcontrast-switch-handle-border-color-disabled:Highlight;--highcontrast-switch-handle-border-color-selected-default:Highlight;--highcontrast-switch-handle-border-color-selected-hover:Highlight;--highcontrast-switch-handle-border-color-selected-down:Highlight;--highcontrast-switch-handle-border-color-selected-focus:Highlight;--highcontrast-switch-background-color:ButtonFace;--highcontrast-switch-background-color-selected-default:Highlight;--highcontrast-switch-background-color-selected-hover:Highlight;--highcontrast-switch-background-color-selected-down:Highlight;--highcontrast-switch-background-color-selected-focus:Highlight;--highcontrast-switch-background-color-selected-disabled:Highlight;--highcontrast-switch-focus-indicator-color:ButtonText}#input:not(:checked)+#switch{box-shadow:inset 0 0 0 1px ButtonText}@media (hover:hover){:host(:hover) #input:not(:checked)+#switch{box-shadow:inset 0 0 0 1px Highlight}:host([disabled][checked]:hover) #input+#switch,:host([disabled][checked]:hover) #input+#switch{box-shadow:inset 0 0 0 1px GrayText;background-color:GrayText}:host([disabled][checked]:hover) #input+#switch:before,:host([disabled][checked]:hover) #input+#switch:before{border-color:GrayText;background-color:ButtonFace}}:host([disabled]) #input:not(:checked)+#switch,:host([disabled]) #input:not(:checked)+#switch{box-shadow:inset 0 0 0 1px GrayText;background-color:ButtonFace}:host([disabled]) #input:not(:checked)+#switch:before,:host([disabled]) #input:not(:checked)+#switch:before{border-color:GrayText;background-color:ButtonFace}:host([disabled][checked]) #input+#switch,:host([disabled][checked]) #input+#switch{box-shadow:inset 0 0 0 1px GrayText;background-color:GrayText}:host([disabled][checked]) #input+#switch:before,:host([disabled][checked]) #input+#switch:before{border-color:GrayText;background-color:ButtonFace}:host([disabled]) #input~#label,:host([disabled]) #input~#label{color:GrayText}}:host{--spectrum-switch-handle-border-color-default:var(--system-spectrum-switch-handle-border-color-default);--spectrum-switch-handle-border-color-hover:var(--system-spectrum-switch-handle-border-color-hover);--spectrum-switch-handle-border-color-down:var(--system-spectrum-switch-handle-border-color-down);--spectrum-switch-handle-border-color-focus:var(--system-spectrum-switch-handle-border-color-focus);--spectrum-switch-handle-border-color-selected-default:var(--system-spectrum-switch-handle-border-color-selected-default);--spectrum-switch-handle-border-color-selected-hover:var(--system-spectrum-switch-handle-border-color-selected-hover);--spectrum-switch-handle-border-color-selected-down:var(--system-spectrum-switch-handle-border-color-selected-down);--spectrum-switch-handle-border-color-selected-focus:var(--system-spectrum-switch-handle-border-color-selected-focus)}:host([disabled]){pointer-events:none} +`,h=n;import{css as u}from"./base.js";var b=u` + #switch:before{transition:background var(--spectrum-global-animation-duration-100,.13s)ease-in-out,border var(--spectrum-global-animation-duration-100,.13s)ease-in-out,box-shadow var(--spectrum-global-animation-duration-100,.13s)ease-in-out} +`,l=b;var p=Object.defineProperty,w=Object.getOwnPropertyDescriptor,m=(c,o,s,e)=>{for(var t=e>1?void 0:e?w(o,s):o,i=c.length-1,a;i>=0;i--)(a=c[i])&&(t=(e?a(o,s,t):a(t))||t);return e&&t&&p(o,s,t),t},r=class extends g(k){constructor(){super(...arguments),this.emphasized=!1}static get styles(){return window.hasOwnProperty("ShadyDOM")?[h,l]:[h]}render(){return v` + ${super.render()} + + + `}firstUpdated(o){super.firstUpdated(o),this.inputElement.setAttribute("role","switch")}updated(o){o.has("checked")&&this.inputElement.setAttribute("aria-checked",this.checked?"true":"false")}};m([f({type:Boolean,reflect:!0})],r.prototype,"emphasized",2);import{defineElement as x}from"./base.js";x("sp-switch",r); diff --git a/libs/features/spectrum-web-components/package.json b/libs/features/spectrum-web-components/package.json index d8e48d0b676..e3fc8dcf9a7 100644 --- a/libs/features/spectrum-web-components/package.json +++ b/libs/features/spectrum-web-components/package.json @@ -38,6 +38,7 @@ "@spectrum-web-components/search": "^0.47.2", "@spectrum-web-components/shared": "^0.47.2", "@spectrum-web-components/sidenav": "^0.47.2", + "@spectrum-web-components/switch": "^0.47.2", "@spectrum-web-components/tabs": "^0.47.2", "@spectrum-web-components/textfield": "^0.47.2", "@spectrum-web-components/theme": "^0.47.2", diff --git a/libs/features/spectrum-web-components/src/checkbox.js b/libs/features/spectrum-web-components/src/checkbox.js index e9b091ad043..1fd0f865131 100644 --- a/libs/features/spectrum-web-components/src/checkbox.js +++ b/libs/features/spectrum-web-components/src/checkbox.js @@ -1 +1,2 @@ import '@spectrum-web-components/checkbox/sp-checkbox.js'; +export * from '@spectrum-web-components/checkbox/src/CheckboxBase.js'; diff --git a/libs/features/spectrum-web-components/src/switch.js b/libs/features/spectrum-web-components/src/switch.js new file mode 100644 index 00000000000..80a6e2f13a4 --- /dev/null +++ b/libs/features/spectrum-web-components/src/switch.js @@ -0,0 +1,3 @@ +/* eslint-disable no-unused-vars */ +/* eslint-disable import/no-unresolved */ +import '@spectrum-web-components/switch/sp-switch.js'; diff --git a/test/features/spectrum-web-components/switch.test.html b/test/features/spectrum-web-components/switch.test.html new file mode 100644 index 00000000000..bd077b123a4 --- /dev/null +++ b/test/features/spectrum-web-components/switch.test.html @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + From 39eafc824fd4d1500bedaa8a65debec23b14f8e5 Mon Sep 17 00:00:00 2001 From: Santoshkumar Nateekar Date: Mon, 9 Dec 2024 09:48:07 -0800 Subject: [PATCH 08/86] [NALA][Table-Tooltip] Update tooltip locator (#3335) update tooltip locator Co-authored-by: Santoshkumar Sharanappa Nateekar --- nala/blocks/table/table.page.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nala/blocks/table/table.page.js b/nala/blocks/table/table.page.js index eaa03d9f286..93e38544089 100644 --- a/nala/blocks/table/table.page.js +++ b/nala/blocks/table/table.page.js @@ -63,7 +63,7 @@ export default class Table { // verify tooltip information if (tooltip) { const headerColumnTooltip = await headerColumn.locator('.milo-tooltip'); - await expect(await headerColumnTooltip.locator('.icon-milo-info')).toBeVisible(); + await expect(await headerColumnTooltip.locator('.icon-milo')).toBeVisible(); await expect(await headerColumnTooltip).toHaveAttribute('data-tooltip', tooltip.tooltipText); await headerColumnTooltip.hover(); } @@ -94,7 +94,7 @@ export default class Table { } if (column.tooltip) { const tooltip = await sectionRowColumn.locator('.milo-tooltip'); - await expect(await tooltip.locator('.icon-milo-info')).toBeVisible(); + await expect(await tooltip.locator('.icon-milo')).toBeVisible(); await expect(await tooltip).toHaveAttribute('data-tooltip', column.tooltipText); await tooltip.hover(); } From cdd773ac5e6214886eddb054dc96d805f52645d7 Mon Sep 17 00:00:00 2001 From: Swati Mukherjee Date: Tue, 10 Dec 2024 14:48:16 +0530 Subject: [PATCH 09/86] [ENB-7566] Change domain names for stage, remove personalization logic for not signed in (#3324) * remobe personalization for signed out, change domain names for stage and prod * dummy-pr * remove hlx and aem check for getting url * A&T property check on default production * Fix decode URI at the base * Fix amcv cookie name post decode * Add Amcv encoding during setting cookie --- libs/martech/helpers.js | 64 ++++++++++++++++++++++++++--------------- libs/utils/utils.js | 2 +- 2 files changed, 42 insertions(+), 24 deletions(-) diff --git a/libs/martech/helpers.js b/libs/martech/helpers.js index 8ac87e40c67..366375c234d 100644 --- a/libs/martech/helpers.js +++ b/libs/martech/helpers.js @@ -1,3 +1,5 @@ +const AMCV_COOKIE = 'AMCV_9E1005A551ED61CA0A490D45@AdobeOrg'; + /** * Generates a random UUIDv4 using cryptographically secure random values. * This implementation follows the RFC 4122 specification for UUIDv4. @@ -68,7 +70,7 @@ function getTargetPropertyBasedOnPageRegion(env) { return 'ba5bc9e8-8fb4-037a-12c8-682384720007'; } - return 'bc8dfa27-29cc-625c-22ea-f7ccebfc6231'; // Default + return '4db35ee5-63ad-59f6-cec6-82ef8863b22d'; // Default } /** @@ -92,14 +94,11 @@ function getDeviceInfo() { * @param {string} key - The cookie key. * @returns {string|null} The cookie value, or null if the cookie doesn't exist. */ -function getCookie(key, sendFullCookie) { +function getCookie(key) { const cookie = document.cookie.split(';') - .map((x) => x.trim().split('=')) + .map((x) => decodeURIComponent(x.trim()).split(/=(.*)/s)) .find(([k]) => k === key); - if (sendFullCookie) { - return cookie; - } return cookie ? cookie[1] : null; } @@ -133,11 +132,10 @@ function setCookie(key, value, options = {}) { * { FPID: [{ id: string, authenticatedState: string, primary: boolean }] } */ function getOrGenerateUserId() { - const experienceCloudCookieName = 'AMCV_9E1005A551ED61CA0A490D45%40AdobeOrg'; - const amcvCookieValue = getCookie(experienceCloudCookieName); + const amcvCookieValue = getCookie(AMCV_COOKIE); // If ECID is not found, generate and return FPID - if (!amcvCookieValue) { + if (!amcvCookieValue || (amcvCookieValue.indexOf('MCMID|') === -1)) { const fpidValue = generateUUIDv4(); return { FPID: [{ @@ -148,11 +146,9 @@ function getOrGenerateUserId() { }; } - // ECID found, return structured ECID object - const extractedEcid = amcvCookieValue.substring(6); // Extract the ECID value from the cookie return { ECID: [{ - id: extractedEcid, + id: amcvCookieValue.match(/MCMID\|([^|]+)/)?.[1], authenticatedState: 'ambiguous', primary: true, }], @@ -318,7 +314,7 @@ function createRequestPayload({ updatedContext, pageName, locale, env }) { * @param {Object} data - The response data from the API. * @returns {string|null} The ECID value, or null if not found. */ -function extractECID(data) { +function extractECIDFromResp(data) { return data.handle .flatMap((item) => item.payload) .find((p) => p.namespace?.code === 'ECID')?.id || null; @@ -330,12 +326,36 @@ function extractECID(data) { * @param {string} ECID - The Experience Cloud ID (ECID). */ function updateAMCVCookie(ECID) { - const cookieName = 'AMCV_9E1005A551ED61CA0A490D45%40AdobeOrg'; - const cookieValue = `MCMID|${ECID}`; + const cookieValue = getCookie(AMCV_COOKIE); + + if (!cookieValue) { + setCookie(encodeURIComponent(AMCV_COOKIE), `MCMID|${ECID}`); + } else if (cookieValue.indexOf('MCMID|') === -1) { + setCookie(encodeURIComponent(AMCV_COOKIE), `${cookieValue}|MCMID|${ECID}`); + } +} + +function getUrl() { + const PAGE_URL = new URL(window.location.href); + const { host } = window.location; + const query = PAGE_URL.searchParams.get('env'); + const url = 'https://edge.adobedc.net/ee/v2/interact'; - if (getCookie(cookieName) !== cookieValue) { - setCookie(cookieName, `MCMID|${ECID}`); + /* c8 ignore start */ + if (query || host.includes('localhost') || host.includes('.page') + || host.includes('.live')) { + return url; } + + /* c8 ignore start */ + if (host.includes('stage.adobe') + || host.includes('corp.adobe') + || host.includes('graybox.adobe')) { + return 'https://www.stage.adobe.com/experienceedge/ee/v2/interact'; + } + + const { origin } = window.location; + return `${origin}/experienceedge/ee/v2/interact`; } /** @@ -351,17 +371,15 @@ function updateAMCVCookie(ECID) { * personalization propositions fetched from Adobe Target. */ export const loadAnalyticsAndInteractionData = async ({ locale, env, calculatedTimeout }) => { - const value = getCookie('kndctr_9E1005A551ED61CA0A490D45_AdobeOrg_consent', true); - const isRejectedDecodedURI = value?.[2] === undefined && decodeURIComponent(value?.[1]) === 'general=out'; - const isRejectedURI = value?.[1] === 'general' && value?.[2] === 'out'; + const value = getCookie('kndctr_9E1005A551ED61CA0A490D45_AdobeOrg_consent'); - if (isRejectedDecodedURI || isRejectedURI) { + if (value === 'general=out') { return Promise.reject(new Error('Consent Cookie doesnt allow interact')); } // Define constants based on environment const DATA_STREAM_ID = env === 'prod' ? '5856abb0-95d8-4f9a-bb92-37f99d2bd492' : '87f9b644-5fd3-4015-81d5-f68ad81c3561'; - const TARGET_API_URL = 'https://edge.adobedc.net/ee/v2/interact'; + const TARGET_API_URL = getUrl(); // Device and viewport information const { @@ -407,7 +425,7 @@ export const loadAnalyticsAndInteractionData = async ({ locale, env, calculatedT throw new Error('Failed to fetch interact call'); } const targetRespJson = await targetResp.json(); - const ECID = extractECID(targetRespJson); + const ECID = extractECIDFromResp(targetRespJson); // Update the AMCV cookie with ECID updateAMCVCookie(ECID); diff --git a/libs/utils/utils.js b/libs/utils/utils.js index 1b8ab85f836..c0c6ddefbbd 100644 --- a/libs/utils/utils.js +++ b/libs/utils/utils.js @@ -1075,7 +1075,7 @@ async function checkForPageMods() { || mepHighlight || mepButton || mepParam === '' || xlg)) return; const enablePersV2 = enablePersonalizationV2(); - if (martech !== 'off' && (target || xlg || pzn) && enablePersV2) { + if ((target || xlg) && enablePersV2) { const params = new URL(window.location.href).searchParams; const calculatedTimeout = parseInt(params.get('target-timeout'), 10) || parseInt(getMetadata('target-timeout'), 10) From 57c5490bff16276975cdcc0b701ec7807eff0ad1 Mon Sep 17 00:00:00 2001 From: Bandana Laishram Date: Tue, 10 Dec 2024 14:48:24 +0530 Subject: [PATCH 10/86] Adding helpx and stock url to prodDomains for standalone gnav (#3333) --- libs/navigation/navigation.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libs/navigation/navigation.js b/libs/navigation/navigation.js index 9b3fc5ed671..efe77fd6cae 100644 --- a/libs/navigation/navigation.js +++ b/libs/navigation/navigation.js @@ -42,7 +42,14 @@ const getStageDomainsMap = (stageDomainsMap) => ( ); // Production Domain -const prodDomains = ['milo.adobe.com', 'business.adobe.com', 'www.adobe.com', 'adobecom.github.io']; +const prodDomains = [ + 'milo.adobe.com', + 'business.adobe.com', + 'www.adobe.com', + 'helpx.adobe.com', + 'stock.adobe.com', + 'adobecom.github.io', +]; function getParamsConfigs(configs) { return blockConfig.reduce((acc, block) => { From cc05e055d4145fc26d4bb1427bc31f14371447e9 Mon Sep 17 00:00:00 2001 From: Sean Choi Date: Tue, 10 Dec 2024 02:18:31 -0700 Subject: [PATCH 11/86] [MWPW-161870] Fixing the issue that sidenav can't be collapsed. (#3201) * Fixing the issue that sidenav can't be collapsed. * Unit test update. * Move string to a const * results announce * trying to fix the unit test * role status > aria-live polite * aria-live polite test update --- libs/blocks/merch-card-collection/merch-card-collection.js | 3 +++ libs/deps/mas/merch-sidenav.js | 4 ++-- .../mas/web-components/src/sidenav/merch-sidenav-list.js | 7 ++++--- .../test/sidenav/catalog-sidenav.test.html.js | 4 +++- .../merch-card-collection/mocks/merch-card-collection.html | 2 +- 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/libs/blocks/merch-card-collection/merch-card-collection.js b/libs/blocks/merch-card-collection/merch-card-collection.js index b6d7f901635..7cb8c24a457 100644 --- a/libs/blocks/merch-card-collection/merch-card-collection.js +++ b/libs/blocks/merch-card-collection/merch-card-collection.js @@ -293,6 +293,9 @@ export default async function init(el) { literalEl.remove(); if (slot) { slot.setAttribute('slot', LITERAL_SLOTS[index]); + if (LITERAL_SLOTS[index].toLowerCase().includes('result')) { + slot.setAttribute('aria-live', 'polite'); + } index += 1; } literalSlots.push(slot); diff --git a/libs/deps/mas/merch-sidenav.js b/libs/deps/mas/merch-sidenav.js index 20b64476e49..5fb1d81cce3 100644 --- a/libs/deps/mas/merch-sidenav.js +++ b/libs/deps/mas/merch-sidenav.js @@ -9,7 +9,7 @@ import{html as k,css as H,LitElement as P}from"/libs/deps/lit-all.min.js";var r= line-height: 32px; color: #747474; } -`;import{html as R,LitElement as N}from"/libs/deps/lit-all.min.js";function d(s,e){let t;return function(){let o=this,i=arguments;clearTimeout(t),t=setTimeout(()=>s.apply(o,i),e)}}var x="merch-search:change";var v="merch-sidenav:select";var g="hashchange";function n(s=window.location.hash){let e=[],t=s.replace(/^#/,"").split("&");for(let o of t){let[i,l=""]=o.split("=");i&&e.push([i,decodeURIComponent(l.replace(/\+/g," "))])}return Object.fromEntries(e)}function a(s,e){if(s.deeplink){let t={};t[s.deeplink]=e,L(t)}}function L(s){let e=new URLSearchParams(window.location.hash.slice(1));Object.entries(s).forEach(([i,l])=>{l?e.set(i,l):e.delete(i)}),e.sort();let t=e.toString();if(t===window.location.hash)return;let o=window.scrollY||document.documentElement.scrollTop;window.location.hash=t,window.scrollTo(0,o)}function b(s){let e=()=>{if(window.location.hash&&!window.location.hash.includes("="))return;let t=n(window.location.hash);s(t)};return e(),window.addEventListener(g,e),()=>{window.removeEventListener(g,e)}}var p=class extends N{static properties={deeplink:{type:String}};get search(){return this.querySelector("sp-search")}constructor(){super(),this.handleInput=()=>{a(this,this.search.value),this.search.value&&this.dispatchEvent(new CustomEvent(x,{bubbles:!0,composed:!0,detail:{type:"search",value:this.search.value}}))},this.handleInputDebounced=d(this.handleInput.bind(this))}connectedCallback(){super.connectedCallback(),this.search&&(this.search.addEventListener("input",this.handleInputDebounced),this.search.addEventListener("submit",this.handleInputSubmit),this.updateComplete.then(()=>{this.setStateFromURL()}),this.startDeeplink())}disconnectedCallback(){super.disconnectedCallback(),this.search.removeEventListener("input",this.handleInputDebounced),this.search.removeEventListener("submit",this.handleInputSubmit),this.stopDeeplink?.()}setStateFromURL(){let t=n()[this.deeplink];t&&(this.search.value=t)}startDeeplink(){this.stopDeeplink=b(({search:e})=>{this.search.value=e??""})}handleInputSubmit(e){e.preventDefault()}render(){return R``}};customElements.define("merch-search",p);import{html as C,LitElement as D,css as M}from"/libs/deps/lit-all.min.js";var m=class extends D{static properties={sidenavListTitle:{type:String},label:{type:String},deeplink:{type:String,attribute:"deeplink"},selectedText:{type:String,reflect:!0,attribute:"selected-text"},selectedValue:{type:String,reflect:!0,attribute:"selected-value"}};static styles=[M` +`;import{html as N,LitElement as R}from"/libs/deps/lit-all.min.js";function d(s,e){let t;return function(){let o=this,i=arguments;clearTimeout(t),t=setTimeout(()=>s.apply(o,i),e)}}var x="merch-search:change";var v="merch-sidenav:select";var g="hashchange";function n(s=window.location.hash){let e=[],t=s.replace(/^#/,"").split("&");for(let o of t){let[i,l=""]=o.split("=");i&&e.push([i,decodeURIComponent(l.replace(/\+/g," "))])}return Object.fromEntries(e)}function a(s,e){if(s.deeplink){let t={};t[s.deeplink]=e,L(t)}}function L(s){let e=new URLSearchParams(window.location.hash.slice(1));Object.entries(s).forEach(([i,l])=>{l?e.set(i,l):e.delete(i)}),e.sort();let t=e.toString();if(t===window.location.hash)return;let o=window.scrollY||document.documentElement.scrollTop;window.location.hash=t,window.scrollTo(0,o)}function b(s){let e=()=>{if(window.location.hash&&!window.location.hash.includes("="))return;let t=n(window.location.hash);s(t)};return e(),window.addEventListener(g,e),()=>{window.removeEventListener(g,e)}}var p=class extends R{static properties={deeplink:{type:String}};get search(){return this.querySelector("sp-search")}constructor(){super(),this.handleInput=()=>{a(this,this.search.value),this.search.value&&this.dispatchEvent(new CustomEvent(x,{bubbles:!0,composed:!0,detail:{type:"search",value:this.search.value}}))},this.handleInputDebounced=d(this.handleInput.bind(this))}connectedCallback(){super.connectedCallback(),this.search&&(this.search.addEventListener("input",this.handleInputDebounced),this.search.addEventListener("submit",this.handleInputSubmit),this.updateComplete.then(()=>{this.setStateFromURL()}),this.startDeeplink())}disconnectedCallback(){super.disconnectedCallback(),this.search.removeEventListener("input",this.handleInputDebounced),this.search.removeEventListener("submit",this.handleInputSubmit),this.stopDeeplink?.()}setStateFromURL(){let t=n()[this.deeplink];t&&(this.search.value=t)}startDeeplink(){this.stopDeeplink=b(({search:e})=>{this.search.value=e??""})}handleInputSubmit(e){e.preventDefault()}render(){return N``}};customElements.define("merch-search",p);import{html as C,LitElement as D,css as M}from"/libs/deps/lit-all.min.js";var m=class extends D{static properties={sidenavListTitle:{type:String},label:{type:String},deeplink:{type:String,attribute:"deeplink"},selectedText:{type:String,reflect:!0,attribute:"selected-text"},selectedValue:{type:String,reflect:!0,attribute:"selected-value"}};static styles=[M` :host { display: block; contain: content; @@ -30,7 +30,7 @@ import{html as k,css as H,LitElement as P}from"/libs/deps/lit-all.min.js";var r= ) ); } - `,c];constructor(){super(),this.handleClickDebounced=d(this.handleClick.bind(this))}selectElement(e,t=!0){e.parentNode.tagName==="SP-SIDENAV-ITEM"&&this.selectElement(e.parentNode,!1),e.firstElementChild?.tagName==="SP-SIDENAV-ITEM"&&(e.expanded=!0),t&&(this.selectedElement=e,this.selectedText=e.label,this.selectedValue=e.value,setTimeout(()=>{e.selected=!0},1),this.dispatchEvent(new CustomEvent(v,{bubbles:!0,composed:!0,detail:{type:"sidenav",value:this.selectedValue,elt:this.selectedElement}})))}setStateFromURL(){let t=n()[this.deeplink]??"all";if(t){let o=this.querySelector(`sp-sidenav-item[value="${t}"]`);if(!o)return;this.updateComplete.then(()=>{this.selectElement(o)})}}handleClick({target:e}){let{value:t,parentNode:o}=e;this.selectElement(e),o&&o.tagName==="SP-SIDENAV"&&(a(this,t),e.selected=!0,o.querySelectorAll("sp-sidenav-item[expanded],sp-sidenav-item[selected]").forEach(i=>{i.value!==t&&(i.expanded=!1,i.selected=!1)}))}selectionChanged({target:{value:e,parentNode:t}}){this.selectElement(this.querySelector(`sp-sidenav-item[value="${e}"]`)),a(this,e)}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this.handleClickDebounced),this.updateComplete.then(()=>{this.setStateFromURL()})}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.handleClickDebounced)}render(){return C`
{e.selected=!0},1),this.dispatchEvent(new CustomEvent(v,{bubbles:!0,composed:!0,detail:{type:"sidenav",value:this.selectedValue,elt:this.selectedElement}})))}setStateFromURL(){let t=n()[this.deeplink]??"all";if(t){let o=this.querySelector(`sp-sidenav-item[value="${t}"]`);if(!o)return;this.updateComplete.then(()=>{let i="SP-SIDENAV-ITEM";o.firstElementChild?.tagName===i&&(o.expanded=!0),this.selectElement(o)})}}handleClick({target:e}){let{value:t,parentNode:o}=e;this.selectElement(e),o&&o.tagName==="SP-SIDENAV"&&(a(this,t),e.selected=!0,o.querySelectorAll("sp-sidenav-item[expanded],sp-sidenav-item[selected]").forEach(i=>{i.value!==t&&(i.expanded=!1,i.selected=!1)}))}selectionChanged({target:{value:e,parentNode:t}}){this.selectElement(this.querySelector(`sp-sidenav-item[value="${e}"]`)),a(this,e)}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this.handleClickDebounced),this.updateComplete.then(()=>{this.setStateFromURL()})}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.handleClickDebounced)}render(){return C`
diff --git a/libs/features/mas/web-components/src/sidenav/merch-sidenav-list.js b/libs/features/mas/web-components/src/sidenav/merch-sidenav-list.js index e0bc96a22e4..b0bf1068c82 100644 --- a/libs/features/mas/web-components/src/sidenav/merch-sidenav-list.js +++ b/libs/features/mas/web-components/src/sidenav/merch-sidenav-list.js @@ -55,9 +55,6 @@ export class MerchSidenavList extends LitElement { if (element.parentNode.tagName === 'SP-SIDENAV-ITEM') { this.selectElement(element.parentNode, false); } - if (element.firstElementChild?.tagName === 'SP-SIDENAV-ITEM') { - element.expanded = true; - } if (selected) { this.selectedElement = element; this.selectedText = element.label; @@ -91,6 +88,10 @@ export class MerchSidenavList extends LitElement { ); if (!element) return; this.updateComplete.then(() => { + const sideNavItemTagName = 'SP-SIDENAV-ITEM'; + if (element.firstElementChild?.tagName === sideNavItemTagName) { + element.expanded = true; + } this.selectElement(element); }); } diff --git a/libs/features/mas/web-components/test/sidenav/catalog-sidenav.test.html.js b/libs/features/mas/web-components/test/sidenav/catalog-sidenav.test.html.js index 6dfa30a6a02..2ceedb5d7c6 100644 --- a/libs/features/mas/web-components/test/sidenav/catalog-sidenav.test.html.js +++ b/libs/features/mas/web-components/test/sidenav/catalog-sidenav.test.html.js @@ -196,12 +196,14 @@ runTests(async () => { it('does refresh from url state', async () => { const search = document.querySelector('sp-search'); + const sidenavItemCD = document.querySelector('sp-sidenav-item[label="Creativity And Design"]'); search.value = ''; - pushState({ search: 'photoshop' }); + pushState({ search: 'photoshop', filter: 'creativitydesign' }); await refreshElement( document.querySelector('merch-search').parentElement, ); expect(search.value).to.equal('photoshop'); + expect(sidenavItemCD.expanded).to.be.true; }); }); }); diff --git a/test/blocks/merch-card-collection/mocks/merch-card-collection.html b/test/blocks/merch-card-collection/mocks/merch-card-collection.html index 084be8d9cf0..659df59a77c 100644 --- a/test/blocks/merch-card-collection/mocks/merch-card-collection.html +++ b/test/blocks/merch-card-collection/mocks/merch-card-collection.html @@ -188,7 +188,7 @@
-

Search all products

Filters

Sort

Popularity

Alphabetical

0 results

1 result in

results in

1 result for

results for

1 result for:

results for:

Your search for did not yield any results

Your search for did not yield any results. Try a different search term.

Suggestions:

diff --git a/libs/features/mas/docs/checkout-link.html b/libs/features/mas/docs/checkout-link.html index d174349c690..a3df1d62740 100644 --- a/libs/features/mas/docs/checkout-link.html +++ b/libs/features/mas/docs/checkout-link.html @@ -6,6 +6,7 @@ M@S Web Components + - - - + + + + - - @@ -63,6 +64,7 @@

Attributes Attributes workflow step to land on the unified checkout page email false +mas.js data-extra-options additional query params to append to the url, see: Table of public query params {} false +mas.js data-ims-country the ims country to code of the user if signed in, overrides the locale country in the generated checkout url false +mas.js or consumer code data-perpetual whether this is a perpetual offer true|false false +mas.js data-promotion-code Flex promotion code, if applicable false +mas.js data-quantity Quantity of the offer to purchase 1 false +mas.js or consumer code data-entitlement entitlement flag for client side interpretation false false +mas.js data-upgrade upgrade flag for client side interpretation false false +mas.js data-modal modal flag for client side interpretation false false +mas.js + + +data-analytics-id +human-readable, non-translatable link id for analytics. Authored in Studio in Link Editor. +false +false +mas.js + + +daa-ll +martech-compatible link id for analytics. Format: ‘${data-analytics-id}-${#}’, where # is the position of the link within a card. E.g. : see-terms-1, buy-now-2 +false +false +mas.js @@ -277,29 +304,47 @@

Events

For each event except click, the following css classes are toggled on the element: placeholder-pending, placeholder-resolved, placeholder-failed.

Example #

-
<a
-    id="co2"
-    href="#"
-    is="checkout-link"
-    data-wcs-osi="A1xn6EL4pK93bWjM8flffQpfEL-bnvtoQKQAvkx574M"
-    >Buy now (click me)</a
->
+
<div id="eventsDemo">
+    <a
+        is="checkout-link"
+        data-wcs-osi="A1xn6EL4pK93bWjM8flffQpfEL-bnvtoQKQAvkx574M"
+        >Buy now (click me)</a
+    >
+    <br />
+    <a
+        is="checkout-link"
+        data-wcs-osi="A1xn6EL4pK93bWjM8flffQpfEL-bnvtoQKQAvkx574M"
+        ><span>Span + <strong>Strong + Buy now</strong></span></a
+    >
+</div>
 <button id="btnRefresh">Refresh</button>
 <script type="module">
     const log = document.getElementById('log');
     const logger = (...messages) =>
         (log.innerHTML = `${messages.join(' ')}<br>${log.innerHTML}`);
-    const a = document.getElementById('co2');
-    a.addEventListener('mas:pending', () => logger('checkout-link pending'));
-    a.addEventListener('mas:resolved', () => logger('checkout-link resolved'));
-    a.addEventListener('mas:failed', () => logger('checkout-link failed'));
-    a.addEventListener('click', (e) => {
+    const eventsDemo = document.getElementById('eventsDemo');
+    eventsDemo.addEventListener('mas:pending', () =>
+        logger('checkout-link pending'),
+    );
+    eventsDemo.addEventListener('mas:resolved', (e) =>
+        logger('checkout-link resolved'),
+    );
+    eventsDemo.addEventListener('mas:failed', () =>
+        logger('checkout-link failed'),
+    );
+    eventsDemo.addEventListener('click', (e) => {
         e.preventDefault();
         e.stopPropagation();
-        logger('checkout link is clicked: ', e.target.href);
+        if (e.target.isCheckoutLink) {
+            logger('checkout link is clicked: ', e.target.href);
+        } else {
+            logger('element clicked: ', e.target);
+        }
     });
     document.getElementById('btnRefresh').addEventListener('click', () => {
-        a.requestUpdate(true);
+        [...eventsDemo.querySelectorAll('a')].forEach((a) =>
+            a.requestUpdate(true),
+        );
     });
 </script>
 
diff --git a/libs/features/mas/docs/inline-price.html b/libs/features/mas/docs/inline-price.html index c8418b109da..3bdce480d4b 100644 --- a/libs/features/mas/docs/inline-price.html +++ b/libs/features/mas/docs/inline-price.html @@ -6,6 +6,7 @@ M@S Web Components + - - - + + + + - - diff --git a/libs/features/mas/docs/mas.html b/libs/features/mas/docs/mas.html index 7b72528cae2..475f9dc8756 100644 --- a/libs/features/mas/docs/mas.html +++ b/libs/features/mas/docs/mas.html @@ -6,6 +6,7 @@ M@S Web Components + - - - + + + + - - @@ -75,7 +76,7 @@

Components mas.js documentation

+

mas.js: A JavaScript library to enable “4” on any page. mas.js documentation

Terminology #

@@ -93,6 +94,16 @@

How It Works Analytics #

+

For analytics purposes, every <merch-card> tag can be tagged with ‘PRODUCT_CODE’ tag in Studio. When PRODUCT_CODE tag is present on the card, <merch-card> will reflect the tag value in the ‘daa-lh’ attribute. It is a non-translatable, human-readable card id. +To set a non-translatable, human-readable id on link - open Link editor in Studio and select the value from the dropdown. +Once value is set, every link will have 2 attributes:

+
    +
  • data-analytics-id - the value set in studio, without changes e.g. ‘buy-now’
  • +
  • daa-ll - the value set in studio + position of the link within the card, e.g. ‘free-trial-1’, ‘buy-now-2’
  • +
+

Example: if you have 5 cards with buy-now cta on your page, you can take a combination of merch-card daa-lh and link daa-ll: +${daa-lh}–${daa-ll}: will result in ‘phlt–buy-now-2’.

diff --git a/libs/features/mas/docs/mas.js.html b/libs/features/mas/docs/mas.js.html index 03458ec2a9b..01e969015e5 100644 --- a/libs/features/mas/docs/mas.js.html +++ b/libs/features/mas/docs/mas.js.html @@ -6,6 +6,7 @@ M@S Web Components + - - - + + + + - - @@ -47,11 +48,13 @@

Introduction inline-price
  • checkout-link
  • merch-card
  • -
  • CCD Gallery
  • Enablement mas-commerce-service #

    You do need to have mas.js on your page / application, including it can be done like the following

    -
    <script src="/libs/deps/mas/mas.js" type="module"></script>
    +
    <script
    +    src="https://www.adobe.com/libs/features/mas/mas/dist/mas.js"
    +    type="module"
    +></script>
     

    Attributes #

    @@ -95,6 +98,12 @@

    Attributes Attributes ^1 with the given tags. e.g:ccd. +

    + + + + + + + +
    false
    lana-sample-rateSets the sampling rate, see ^1 for details.1false

    Methods #

    @@ -162,6 +189,12 @@

    Examples <!-- or with a country and language --> <mas-commerce-service country="JP" language="en"></mas-commerce-service> + +<!-- with custom api key & checkout clientid --> +<mas-commerce-service + wcs-api-key="custom-api-key" + checkout-client-id="custom-client-id" +></mas-commerce-service>

    you can play around with below price, either adding locale, language or env as parameters that will be injected to mas-commerce-service as attributes, and then it will be activated.

    diff --git a/libs/features/mas/docs/merch-card.html b/libs/features/mas/docs/merch-card.html index 02ec494560b..96c54904ea6 100644 --- a/libs/features/mas/docs/merch-card.html +++ b/libs/features/mas/docs/merch-card.html @@ -6,6 +6,7 @@ M@S Web Components + - - - + + + + - - @@ -46,6 +47,8 @@

    Introduction https://www.figma.com/design/tiEUQLJ1hVlosqwzAATVXZ/Cards-(Merch)?node-id=1086-17994&t=LeMR0vbaBoEKaKln-1

    CCD: https://www.figma.com/proto/7tUtNgFelfMjgPoJ5QcE1k/Merch%40Scale-Frameworks?node-id=2077-63597&t=cWfdzWlga79eyjyI-1

    +

    CCD Gallery: /libs/features/mas/docs/ccd.html +CCD Gallery provides a comprehensive list of all supported card variants in CCD.

    Examples #

    With an Odin/AEM Fragment (VPN required) #

    <merch-card id="card1">
    @@ -120,6 +123,7 @@ 

    Attributes Attributes Active variants: #

    • catalog
    • -
    • ccd-action
    • image
    • inline-heading
    • mini-compare-chart
    • @@ -156,6 +169,7 @@

      Active variants: Properties #

      @@ -168,11 +182,13 @@

      Properties Events #

      +

      We recommend to listen to events on the container, so that listener is attached before the merch card is appended to DOM. +The reason is that some merch cards are resolved very quickly and event could dispatch before event listener is attached by consumer code.

      @@ -239,10 +255,12 @@

      mas:ready & log(target, `${e.target.nodeName}: ${e.detail}`), ); - card.addEventListener('mas:ready', () => - card.classList.add('ready'), - ); + card.addEventListener('mas:ready', () => { + card.classList.add('ready'); + card.classList.remove('error'); + }); card.addEventListener('mas:error', (e) => { + card.classList.remove('ready'); card.classList.add('error'); log(target, `${e.target.nodeName}: ${e.detail}`); }); @@ -269,6 +287,7 @@

      Attributes Attributes Events log(target, 'merch-card is ready: ', e.target.variant); }); const aemFragment = psCard.querySelector('aem-fragment'); - aemFragment.addEventListener('aem:load', (e) => log(target, e.detail)); + aemFragment.addEventListener('aem:load', (e) => { + log(target, JSON.stringify(e.detail)); + log(target, 'aem-fragment has loaded'); + }); document.getElementById('btnRefresh').addEventListener('click', () => { aemFragment.refresh(); }); @@ -369,6 +394,40 @@

      Events
      
       
      +

      Extending merch-card #

      +

      The merch-card custom element renders content in its default slot, allowing consumers to seamlessly extend it with additional UI capabilities.

      +

      Example #

      +

      In the demo below, the aem-fragment custom element is headless and does not render any content. +The sp-action-button custom element renders into the default slot as no explicit slot is provided.

      +
      <style>
      +    merch-card sp-action-button {
      +        position: absolute;
      +        display: none;
      +        top: 4px;
      +        right: 4px;
      +    }
      +
      +    merch-card:hover sp-action-button {
      +        display: block;
      +    }
      +</style>
      +<merch-card>
      +    <aem-fragment
      +        fragment="d8008cac-010f-4607-bacc-a7a327da1312"
      +    ></aem-fragment>
      +    <sp-action-button id="ctxBtn"> ... </sp-action-button>
      +</merch-card>
      +<script type="module">
      +    document
      +        .getElementById('ctxBtn')
      +        .addEventListener(
      +            'click',
      +            (e) =>
      +                (e.target.parentElement.style.backgroundColor =
      +                    'var(--spectrum-blue-300)'),
      +        );
      +</script>
      +
      diff --git a/libs/features/mas/docs/plans.html b/libs/features/mas/docs/plans.html deleted file mode 100644 index 38eccc08308..00000000000 --- a/libs/features/mas/docs/plans.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - Plans merch cards - - - - - - - - - -
      -
      -
      -
      -
      -
      M@S2 Components
      -
      -
      - - -
      -
      -
      -

      <<Merch cards>>

      -
      -
      -
      -
      -
      - -
      -
      -
      - - diff --git a/libs/features/mas/build-docs.mjs b/libs/features/mas/docs/src/build-docs.mjs similarity index 87% rename from libs/features/mas/build-docs.mjs rename to libs/features/mas/docs/src/build-docs.mjs index a35e1341234..d196f1979c9 100644 --- a/libs/features/mas/build-docs.mjs +++ b/libs/features/mas/docs/src/build-docs.mjs @@ -25,8 +25,6 @@ if (!targetFile) { process.exit(1); } -const skipMas = process.argv.includes('--skip-mas'); - // Initialize markdown-it with desired plugins const md = markdownIt({ html: true, @@ -65,6 +63,7 @@ const htmlTemplate = ` M@S Web Components + - - - + + + + - - diff --git a/libs/features/mas/docs/src/build-docs.sh b/libs/features/mas/docs/src/build-docs.sh new file mode 100755 index 00000000000..fd1fb2f5932 --- /dev/null +++ b/libs/features/mas/docs/src/build-docs.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +node ./build-docs.mjs inline-price.md ../inline-price.html +node ./build-docs.mjs checkout-link.md ../checkout-link.html +node ./build-docs.mjs mas.md ../mas.html +node ./build-docs.mjs mas.js.md ../mas.js.html +node ./build-docs.mjs merch-card.md ../merch-card.html diff --git a/libs/features/mas/commerce/checkout-link.md b/libs/features/mas/docs/src/checkout-link.md similarity index 77% rename from libs/features/mas/commerce/checkout-link.md rename to libs/features/mas/docs/src/checkout-link.md index 36605122bae..390f14d588b 100644 --- a/libs/features/mas/commerce/checkout-link.md +++ b/libs/features/mas/docs/src/checkout-link.md @@ -25,19 +25,21 @@ See [MAS](mas.html#terminology) to learn more. ## Attributes {#attributes} -| Attribute | Description | Default Value | Required | -| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | -------- | -| `data-wcs-osi` | Offer Selector ID, can be multiple, separeted by comma | | `true` | -| `data-checkout-workflow` | Target checkout workflow for the generation of checkout urls | UCv3 | `false` | -| `data-checkout-workflow-step` | [workflow step](https://wiki.corp.adobe.com/pages/viewpage.action?spaceKey=businessservices&title=UCv3+Link+Creation+Guide#UCv3LinkCreationGuide-RegularWorkflow) to land on the unified checkout page | email | `false` | -| `data-extra-options` | additional query params to append to the url, see: [Table of public query params](https://wiki.corp.adobe.com/pages/viewpage.action?spaceKey=businessservices&title=UCv3+Link+Creation+Guide#UCv3LinkCreationGuide-Tableofpublicqueryparams) | {} | `false` | -| `data-ims-country` | the ims country to code of the user if signed in, overrides the locale country in the generated checkout url | | `false` | -| `data-perpetual` | whether this is a perpetual offer `true\|false` | | `false` | -| `data-promotion-code` | Flex promotion code, if applicable | | `false` | -| `data-quantity` | Quantity of the offer to purchase | 1 | `false` | -| `data-entitlement` | `entitlement` flag for client side interpretation | `false` | `false` | -| `data-upgrade` | `upgrade` flag for client side interpretation | `false` | `false` | -| `data-modal` | `modal` flag for client side interpretation | `false` | `false` | +| Attribute | Description | Default Value | Required | Provider | +| ----------------------------- | ------------------------------------------------------- | ------------- | -------- | -------- | +| `data-wcs-osi` | Offer Selector ID, can be multiple, separeted by comma | | `true` | mas.js or consumer code | +| `data-checkout-workflow` | Target checkout workflow for the generation of checkout urls | UCv3 | `false` | mas.js | +| `data-checkout-workflow-step` | [workflow step](https://wiki.corp.adobe.com/pages/viewpage.action?spaceKey=businessservices&title=UCv3+Link+Creation+Guide#UCv3LinkCreationGuide-RegularWorkflow) to land on the unified checkout page | email | `false` | mas.js | +| `data-extra-options` | additional query params to append to the url, see: [Table of public query params](https://wiki.corp.adobe.com/pages/viewpage.action?spaceKey=businessservices&title=UCv3+Link+Creation+Guide#UCv3LinkCreationGuide-Tableofpublicqueryparams) | {} | `false` | mas.js | +| `data-ims-country` | the ims country to code of the user if signed in, overrides the locale country in the generated checkout url | | `false` | mas.js or consumer code | +| `data-perpetual` | whether this is a perpetual offer `true\|false` | | `false` | mas.js | +| `data-promotion-code` | Flex promotion code, if applicable | | `false` | mas.js | +| `data-quantity` | Quantity of the offer to purchase | 1 | `false` | mas.js or consumer code | +| `data-entitlement` | `entitlement` flag for client side interpretation | `false` | `false` | mas.js | +| `data-upgrade` | `upgrade` flag for client side interpretation | `false` | `false` | mas.js | +| `data-modal` | `modal` flag for client side interpretation | `false` | `false` | mas.js | +| `data-analytics-id` | human-readable, non-translatable link id for analytics. Authored in Studio in Link Editor. | `false` | `false` | mas.js | +| `daa-ll` | martech-compatible link id for analytics. Format: '${data-analytics-id}-${#}', where # is the position of the link within a card. E.g. : see-terms-1, buy-now-2 | `false` | `false` | mas.js | ### Examples {#examples} @@ -164,29 +166,47 @@ For each event except `click`, the following css classes are toggled on the elem ### Example ```html {.demo} -Buy now (click me) + ``` diff --git a/libs/features/mas/commerce/inline-price.md b/libs/features/mas/docs/src/inline-price.md similarity index 100% rename from libs/features/mas/commerce/inline-price.md rename to libs/features/mas/docs/src/inline-price.md diff --git a/libs/features/mas/mas/mas.js.md b/libs/features/mas/docs/src/mas.js.md similarity index 88% rename from libs/features/mas/mas/mas.js.md rename to libs/features/mas/docs/src/mas.js.md index 08a2073393b..b6ccf69bf79 100644 --- a/libs/features/mas/mas/mas.js.md +++ b/libs/features/mas/docs/src/mas.js.md @@ -9,28 +9,38 @@ mas.js includes the followings custom elements: - [inline-price](/libs/features/mas/docs/inline-price.html) - [checkout-link](/libs/features/mas/docs/checkout-link.html) - [merch-card](/libs/features/mas/docs/merch-card.html) -- [CCD Gallery](/libs/features/mas/docs/ccd.html) ## Enablement `mas-commerce-service` You do need to have mas.js on your page / application, including it can be done like the following ```html - + ``` ### Attributes -| Name | Description | Default Value | Required | -| ------------------------ | --------------------------------------------------------------------------------------------------- | ---------------------------- | -------- | -| `allow-override` | enables override of commerce env/landscape via query parameters(commerce.env/commerce.landscape) |  `false` |  `false` | -| `checkout-client-id` | checkout client id |  `false` |  `false` | -| `checkout-workflow-step` | default checkout workflow step | `CheckoutWorkflowStep.EMAIL` | `false` | -| `country` | country of the offers to retrieve from WCS, determines the currency, price format, etc. | US or locale country if set | `false` | -|  `env` | commerce environment you want this page to use, either `stage` or `prod` |  `prod` |  `false` | -|  `force-tax-exclusive` | force all price display to be tax exclusive |  `false` |  `false` | -| `locale` | currency & price locale you need, must belong to one of the [supported locales](#supported-locales) | `en_US` | `false` | -| `language` | language of the price literal, e.g: per license | en or locale langauge if set | `false` | +| Name | Description | Default Value | Required | +| ------------------------ | --------------------------------------------------------------------------------------------------- | -------------------------------- | -------- | +| `allow-override` | enables override of commerce env/landscape via query parameters(commerce.env/commerce.landscape) |  `false` |  `false` | +| `checkout-client-id` | checkout client id |  `false` |  `false` | +| `checkout-workflow-step` | default checkout workflow step | `CheckoutWorkflowStep.EMAIL` | `false` | +| `country` | country of the offers to retrieve from WCS, determines the currency, price format, etc. | US or locale country if set | `false` | +|  `env` | commerce environment you want this page to use, either `stage` or `prod` |  `prod` |  `false` | +|  `host-env` | host environment, either `stage` or `prod` |  `prod` |  `false` | +|  `force-tax-exclusive` | force all price display to be tax exclusive |  `false` |  `false` | +| `locale` | currency & price locale you need, must belong to one of the [supported locales](#supported-locales) | `en_US` | `false` | +| `language` | language of the price literal, e.g: per license | en or locale langauge if set | `false` | +| `wcs-api-key` | api key used for making WCS calls | `wcms-commerce-ims-ro-user-milo` | `false` | +| `lana-tags` | Enables logging via lana[^1][^2] with the given tags. e.g:`ccd`. | | `false` | +| `lana-sample-rate` | Sets the sampling rate, see [^1] for details. | 1 | `false` | + +[^1]: https://wiki.corp.adobe.com/pages/viewpage.action?spaceKey=WCMSOps&title=LANA+-+Log+Always+Never+Assume + +[^2]: https://github.com/adobecom/milo/blob/stage/libs/utils/lana.js ### Methods @@ -64,6 +74,12 @@ You do need to have mas.js on your page / application, including it can be done + + + ``` you can play around with below price, either adding locale, language or env as parameters that will be injected to `mas-commerce-service` as attributes, and then it will be activated. diff --git a/libs/features/mas/mas.md b/libs/features/mas/docs/src/mas.md similarity index 72% rename from libs/features/mas/mas.md rename to libs/features/mas/docs/src/mas.md index 40378f339a7..df9b311161f 100644 --- a/libs/features/mas/mas.md +++ b/libs/features/mas/docs/src/mas.md @@ -32,7 +32,7 @@ MAS includes the following key components: - Core commerce for basic functionality - UI components for user interface elements -5. **mas.js**: A JavaScript library to enable "4" on any page. [mas.js documentation](/libs/features/mas/docs/mas.js.html){.con-button .blue} +5. **mas.js**: A JavaScript library to enable "4" on any page. [mas.js documentation](/libs/features/mas/docs/mas.js.html){.con-button .primary-link} ## Terminology @@ -56,3 +56,13 @@ MAS integrates its components to provide a seamless commerce experience: 2. The Offer Selector Tool helps in selecting appropriate offers. 3. Web Components and mas.js are used to implement the commerce functionality. 4. WCS provides the necessary commerce data through its APIs. + +## Analytics +For analytics purposes, every `` tag can be tagged with 'PRODUCT_CODE' tag in Studio. When `PRODUCT_CODE` tag is present on the card, `` will reflect the tag value in the 'daa-lh' attribute. It is a non-translatable, human-readable card id. +To set a non-translatable, human-readable id on link - open Link editor in Studio and select the value from the dropdown. +Once value is set, every link will have 2 attributes: +* data-analytics-id - the value set in studio, without changes e.g. 'buy-now' +* daa-ll - the value set in studio + position of the link within the card, e.g. 'free-trial-1', 'buy-now-2' + +Example: if you have 5 cards with buy-now cta on your page, you can take a combination of merch-card daa-lh and link daa-ll: +${daa-lh}--${daa-ll}: will result in 'phlt--buy-now-2'. diff --git a/libs/features/mas/web-components/merch-card.md b/libs/features/mas/docs/src/merch-card.md similarity index 76% rename from libs/features/mas/web-components/merch-card.md rename to libs/features/mas/docs/src/merch-card.md index 93dda22c986..fce008a6cc6 100644 --- a/libs/features/mas/web-components/merch-card.md +++ b/libs/features/mas/docs/src/merch-card.md @@ -12,6 +12,9 @@ Designs: **CCD**: https://www.figma.com/proto/7tUtNgFelfMjgPoJ5QcE1k/Merch%40Scale-Frameworks?node-id=2077-63597&t=cWfdzWlga79eyjyI-1 +**CCD Gallery**: [/libs/features/mas/docs/ccd.html](/libs/features/mas/docs/ccd.html) +CCD Gallery provides a comprehensive list of all supported card variants in CCD. + ## Examples ### With an Odin/AEM Fragment (VPN required) @@ -90,16 +93,16 @@ Designs: ### Attributes -| Name | Description | Default Value | Required | -| ----------- | ----------------------------------------------------------------------------------------- | ------------------------------------ | -------- | -| `variant` | Variant in terms design. Not required when used with an `aem-fragment` | | `false` | -| `consonant` | Whether to use consonant styles without sp-button decorator around the footer CTAs. | `true` if `aem-fragment` is not used | `false` | -| `size` | card width; a card can span over 2 columns or entire row on a css grid `wide\|super-wide` | | `false` | +| Name | Description | Default Value | Required | Provider | +| ----------- | ----------------------------------------------------------------------------------------- | ------------------------------------ | -------- | -------- | +| `variant` | Variant in terms design. Not required when used with an `aem-fragment` | | `false` | mas.js | +| `consonant` | Whether to use consonant styles without sp-button decorator around the footer CTAs. | `true` if `aem-fragment` is not used | `false` | mas.js | +| `size` | card width; a card can span over 2 columns or entire row on a css grid `wide\|super-wide` | | `false` | mas.js | +| `daa-lh` | Analytics identifier of a card. Value is coming from the 'PRODUCT_CODE' tag set on the card (for now manual authoring required, later will be tagged automatically). Sample values: 'ccsn' or 'phlt'. | | `false` | mas.js | #### Active variants: - `catalog` -- `ccd-action` - `image` - `inline-heading` - `mini-compare-chart` @@ -109,15 +112,19 @@ Designs: - `special-offers` - `twp` - `ccd-slice` +- `ccd-suggested` ### Properties -| Name | Description | -| ---------------- | ---------------------------------------------------------------- | -| `updateComplete` | a promise that resolves when the `merch-card` finishes to execute render method. Doesn't mean that card is ready, for that use 'mas:ready' or 'mas:error' event. method. Doesn’t mean that card is ready, for that use ‘mas:ready’ or ‘mas:error’ event. | +| Name | Description | +| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `updateComplete` | a promise that resolves when the `merch-card` finishes to execute render method. Doesn't mean that card is ready, for that use 'mas:ready' or 'mas:error' event. | ### Events +We recommend to listen to events on the container, so that listener is attached before the merch card is appended to DOM. +The reason is that some merch cards are resolved very quickly and event could dispatch before event listener is attached by consumer code. + | Name | Description | | ----------- | ---------------------------------------------------------------------------- | | `mas:ready` | fires when all the prices & checkout links are resolved & renderered | @@ -173,10 +180,12 @@ Designs: log(target, `${e.target.nodeName}: ${e.detail}`), ); - card.addEventListener('mas:ready', () => - card.classList.add('ready'), - ); + card.addEventListener('mas:ready', () => { + card.classList.add('ready'); + card.classList.remove('error'); + }); card.addEventListener('mas:error', (e) => { + card.classList.remove('ready'); card.classList.add('error'); log(target, `${e.target.nodeName}: ${e.detail}`); }); @@ -201,11 +210,11 @@ Designs: ### Attributes -| Name | Description | Default Value | Required | -| ---------- | ---------------------------------------------------------------------------------------- | ------------- | -------- | -| `fragment` | Fragment id. The copy/use feature in M@S Studio will copy the id/markup to the clipboard | | `true` | -| `title` | Informative title | | `false` | -| `ims` | attempts to use an IMS access token via `window.adobeid.authorize()` to fetch a fragment | | `false` | +| Name | Description | Default Value | Required | Provider | +| ---------- | ---------------------------------------------------------------------------------------- | ------------- | -------- | -------- | +| `fragment` | Fragment id. The copy/use feature in M@S Studio will copy the id/markup to the clipboard | | `true` | consumer code | +| `title` | Informative title | | `false` | consumer code | +| `ims` | attempts to use an IMS access token via `window.adobeid.authorize()` to fetch a fragment | | `false` | mas.js | ### Properties @@ -243,7 +252,10 @@ Designs: log(target, 'merch-card is ready: ', e.target.variant); }); const aemFragment = psCard.querySelector('aem-fragment'); - aemFragment.addEventListener('aem:load', (e) => log(target, e.detail)); + aemFragment.addEventListener('aem:load', (e) => { + log(target, JSON.stringify(e.detail)); + log(target, 'aem-fragment has loaded'); + }); document.getElementById('btnRefresh').addEventListener('click', () => { aemFragment.refresh(); }); @@ -254,3 +266,42 @@ Designs: ```html {#log3} ``` + +## Extending merch-card + +The `merch-card` custom element renders content in its default slot, allowing consumers to seamlessly extend it with additional UI capabilities. + +### Example +In the demo below, the `aem-fragment` custom element is headless and does not render any content. +The `sp-action-button` custom element renders into the default slot as no explicit slot is provided. + +```html {.demo .light} + + + + ... + + +``` diff --git a/libs/features/mas/docs/styles.css b/libs/features/mas/docs/styles.css index 896087e7792..70331d05bcf 100644 --- a/libs/features/mas/docs/styles.css +++ b/libs/features/mas/docs/styles.css @@ -122,18 +122,28 @@ button { padding: 30px; } -.gallery-grid-3 { +.gallery-grid-3, +.gallery-grid-2 { display: grid; - grid-template-columns: repeat(3, 1fr); /* 3 cards per row */ gap: 20px; margin: 0 auto; } +.gallery-grid-3 { + grid-template-columns: repeat(3, 1fr); +} + .gallery-grid-2 { - display: grid; - grid-template-columns: repeat(2, 1fr); /* 3 cards per row */ - gap: 20px; - margin: 0 auto; + grid-template-columns: repeat(2, 1fr); +} + +/* Media query for mobile and tablet devices */ +@media (max-width: 1199px) { + .gallery-grid-3, + .gallery-grid-2 { + grid-template-columns: 1fr; /* Single column */ + justify-items: center; /* Center items horizontally */ + } } .gallery-grid-1 { @@ -141,3 +151,7 @@ button { grid-template-columns: 1fr; gap: 20px; } + +merch-card:has(+ merch-card) { + margin-bottom: 20px; +} diff --git a/libs/features/mas/commerce/internal/commerce-checkout-url-builder-1.6.0.tgz b/libs/features/mas/internal/commerce-checkout-url-builder-1.6.0.tgz similarity index 100% rename from libs/features/mas/commerce/internal/commerce-checkout-url-builder-1.6.0.tgz rename to libs/features/mas/internal/commerce-checkout-url-builder-1.6.0.tgz diff --git a/libs/features/mas/commerce/internal/data-models-odm-0.5.4.tgz b/libs/features/mas/internal/data-models-odm-0.5.4.tgz similarity index 100% rename from libs/features/mas/commerce/internal/data-models-odm-0.5.4.tgz rename to libs/features/mas/internal/data-models-odm-0.5.4.tgz diff --git a/libs/features/mas/commerce/internal/data-source-utils-0.3.1.tgz b/libs/features/mas/internal/data-source-utils-0.3.1.tgz similarity index 100% rename from libs/features/mas/commerce/internal/data-source-utils-0.3.1.tgz rename to libs/features/mas/internal/data-source-utils-0.3.1.tgz diff --git a/libs/features/mas/commerce/internal/fetch-1.3.4.tgz b/libs/features/mas/internal/fetch-1.3.4.tgz similarity index 100% rename from libs/features/mas/commerce/internal/fetch-1.3.4.tgz rename to libs/features/mas/internal/fetch-1.3.4.tgz diff --git a/libs/features/mas/commerce/internal/logger-1.3.0.tgz b/libs/features/mas/internal/logger-1.3.0.tgz similarity index 100% rename from libs/features/mas/commerce/internal/logger-1.3.0.tgz rename to libs/features/mas/internal/logger-1.3.0.tgz diff --git a/libs/features/mas/commerce/internal/tacocat-core-1.13.0.tgz b/libs/features/mas/internal/tacocat-core-1.13.0.tgz similarity index 100% rename from libs/features/mas/commerce/internal/tacocat-core-1.13.0.tgz rename to libs/features/mas/internal/tacocat-core-1.13.0.tgz diff --git a/libs/features/mas/mas/.gitignore b/libs/features/mas/mas/.gitignore deleted file mode 100644 index 2a61e8973e4..00000000000 --- a/libs/features/mas/mas/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -mas.json -stats.json -*.tgz - diff --git a/libs/features/mas/mas/build.mjs b/libs/features/mas/mas/build.mjs deleted file mode 100644 index 0e29b2ad1f7..00000000000 --- a/libs/features/mas/mas/build.mjs +++ /dev/null @@ -1,30 +0,0 @@ -import { build } from 'esbuild'; -import fs from 'node:fs'; - -const defaults = { - alias: { - react: '../mocks/react.js', - }, - bundle: true, - format: 'esm', - metafile: true, - minify: true, - platform: 'browser', - target: ['es2020'], - external: [], - sourcemap: false, -}; - -let { metafile } = await build({ - ...defaults, - entryPoints: ['./src/mas.js'], - outfile: '../../../deps/mas/mas.js', -}); - -await build({ - ...defaults, - entryPoints: ['./src/mas.js'], - outfile: './dist/mas.js', -}); - -fs.writeFileSync('mas.json', JSON.stringify(metafile)); diff --git a/libs/features/mas/mas/dist/mas.js b/libs/features/mas/mas/dist/mas.js deleted file mode 100644 index 884431c55f4..00000000000 --- a/libs/features/mas/mas/dist/mas.js +++ /dev/null @@ -1,2114 +0,0 @@ -var us=Object.create;var Yt=Object.defineProperty;var ms=Object.getOwnPropertyDescriptor;var ps=Object.getOwnPropertyNames;var fs=Object.getPrototypeOf,gs=Object.prototype.hasOwnProperty;var Vi=e=>{throw TypeError(e)};var xs=(e,t,r)=>t in e?Yt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var vs=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),bs=(e,t)=>{for(var r in t)Yt(e,r,{get:t[r],enumerable:!0})},As=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ps(t))!gs.call(e,i)&&i!==r&&Yt(e,i,{get:()=>t[i],enumerable:!(n=ms(t,i))||n.enumerable});return e};var Es=(e,t,r)=>(r=e!=null?us(fs(e)):{},As(t||!e||!e.__esModule?Yt(r,"default",{value:e,enumerable:!0}):r,e));var p=(e,t,r)=>xs(e,typeof t!="symbol"?t+"":t,r),Mr=(e,t,r)=>t.has(e)||Vi("Cannot "+r);var M=(e,t,r)=>(Mr(e,t,"read from private field"),r?r.call(e):t.get(e)),j=(e,t,r)=>t.has(e)?Vi("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),fe=(e,t,r,n)=>(Mr(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),ze=(e,t,r)=>(Mr(e,t,"access private method"),r);var Yo=vs((pu,ml)=>{ml.exports={total:38,offset:0,limit:38,data:[{lang:"ar",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u0627\u0644\u0634\u0647\u0631} YEAR {/\u0627\u0644\u0639\u0627\u0645} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0643\u0644 \u0634\u0647\u0631} YEAR {\u0643\u0644 \u0639\u0627\u0645} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0644\u0643\u0644 \u062A\u0631\u062E\u064A\u0635} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0644\u0643\u0644 \u062A\u0631\u062E\u064A\u0635} other {}}",freeLabel:"\u0645\u062C\u0627\u0646\u064B\u0627",freeAriaLabel:"\u0645\u062C\u0627\u0646\u064B\u0627",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u0623\u0648 \u0628\u062F\u0644\u0627\u064B \u0645\u0646 \u0630\u0644\u0643 \u0628\u0642\u064A\u0645\u0629 {alternativePrice}",strikethroughAriaLabel:"\u0628\u0634\u0643\u0644 \u0645\u0646\u062A\u0638\u0645 \u0628\u0642\u064A\u0645\u0629 {strikethroughPrice}"},{lang:"bg",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0435\u0441.} YEAR {/\u0433\u043E\u0434.} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u043D\u0430 \u043C\u0435\u0441\u0435\u0446} YEAR {\u043D\u0430 \u0433\u043E\u0434\u0438\u043D\u0430} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437} other {}}",freeLabel:"\u0411\u0435\u0437\u043F\u043B\u0430\u0442\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0437\u043F\u043B\u0430\u0442\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u0410\u043B\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u043E \u043D\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0420\u0435\u0434\u043E\u0432\u043D\u043E \u043D\u0430 {strikethroughPrice}"},{lang:"cs",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\u011Bs\xEDc} YEAR {/rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {za m\u011Bs\xEDc} YEAR {za rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licenci} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licenci} other {}}",freeLabel:"Zdarma",freeAriaLabel:"Zdarma",taxExclusiveLabel:"{taxTerm, select, GST {bez dan\u011B ze zbo\u017E\xED a slu\u017Eeb} VAT {bez DPH} TAX {bez dan\u011B} IVA {bez IVA} SST {bez SST} KDV {bez KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {v\u010Detn\u011B dan\u011B ze zbo\u017E\xED a slu\u017Eeb} VAT {v\u010Detn\u011B DPH} TAX {v\u010Detn\u011B dan\u011B} IVA {v\u010Detn\u011B IVA} SST {v\u010Detn\u011B SST} KDV {v\u010Detn\u011B KDV} other {}}",alternativePriceAriaLabel:"P\u0159\xEDpadn\u011B za {alternativePrice}",strikethroughAriaLabel:"Pravideln\u011B za {strikethroughPrice}"},{lang:"da",recurrenceLabel:"{recurrenceTerm, select, MONTH {/md} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pr. m\xE5ned} YEAR {pr. \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pr. licens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pr. licens} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {ekskl. GST} VAT {ekskl. moms} TAX {ekskl. skat} IVA {ekskl. IVA} SST {ekskl. SST} KDV {ekskl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. skat} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt til {alternativePrice}",strikethroughAriaLabel:"Normalpris {strikethroughPrice}"},{lang:"de",recurrenceLabel:"{recurrenceTerm, select, MONTH {/Monat} YEAR {/Jahr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pro Monat} YEAR {pro Jahr} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pro Lizenz} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pro Lizenz} other {}}",freeLabel:"Kostenlos",freeAriaLabel:"Kostenlos",taxExclusiveLabel:"{taxTerm, select, GST {zzgl. GST} VAT {zzgl. MwSt.} TAX {zzgl. Steuern} IVA {zzgl. IVA} SST {zzgl. SST} KDV {zzgl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. MwSt.} TAX {inkl. Steuern} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativ: {alternativePrice}",strikethroughAriaLabel:"Regul\xE4r: {strikethroughPrice}"},{lang:"en",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mo} YEAR {/yr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per month} YEAR {per year} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per license} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per license} other {}}",freeLabel:"Free",freeAriaLabel:"Free",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternatively at {alternativePrice}",strikethroughAriaLabel:"Regularly at {strikethroughPrice}"},{lang:"et",recurrenceLabel:"{recurrenceTerm, select, MONTH {kuus} YEAR {aastas} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {kuus} YEAR {aastas} other {}}",perUnitLabel:"{perUnit, select, LICENSE {litsentsi kohta} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {litsentsi kohta} other {}}",freeLabel:"Tasuta",freeAriaLabel:"Tasuta",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Teise v\xF5imalusena hinnaga {alternativePrice}",strikethroughAriaLabel:"Tavahind {strikethroughPrice}"},{lang:"fi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/kk} YEAR {/v} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {kuukausittain} YEAR {vuosittain} other {}}",perUnitLabel:"{perUnit, select, LICENSE {k\xE4ytt\xF6oikeutta kohti} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {k\xE4ytt\xF6oikeutta kohti} other {}}",freeLabel:"Maksuton",freeAriaLabel:"Maksuton",taxExclusiveLabel:"{taxTerm, select, GST {ilman GST:t\xE4} VAT {ilman ALV:t\xE4} TAX {ilman veroja} IVA {ilman IVA:ta} SST {ilman SST:t\xE4} KDV {ilman KDV:t\xE4} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {sis. GST:n} VAT {sis. ALV:n} TAX {sis. verot} IVA {sis. IVA:n} SST {sis. SST:n} KDV {sis. KDV:n} other {}}",alternativePriceAriaLabel:"Vaihtoehtoisesti hintaan {alternativePrice}",strikethroughAriaLabel:"S\xE4\xE4nn\xF6llisesti hintaan {strikethroughPrice}"},{lang:"fr",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mois} YEAR {/an} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {par mois} YEAR {par an} other {}}",perUnitLabel:"{perUnit, select, LICENSE {par licence} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {par licence} other {}}",freeLabel:"Gratuit",freeAriaLabel:"Gratuit",taxExclusiveLabel:"{taxTerm, select, GST {hors TPS} VAT {hors TVA} TAX {hors taxes} IVA {hors IVA} SST {hors SST} KDV {hors KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {TPS comprise} VAT {TVA comprise} TAX {taxes comprises} IVA {IVA comprise} SST {SST comprise} KDV {KDV comprise} other {}}",alternativePriceAriaLabel:"Autre prix {alternativePrice}",strikethroughAriaLabel:"Prix habituel {strikethroughPrice}"},{lang:"he",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u05D7\u05D5\u05D3\u05E9} YEAR {/\u05E9\u05E0\u05D4} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u05DC\u05D7\u05D5\u05D3\u05E9} YEAR {\u05DC\u05E9\u05E0\u05D4} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",freeLabel:"\u05D7\u05D9\u05E0\u05DD",freeAriaLabel:"\u05D7\u05D9\u05E0\u05DD",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u05DC\u05D7\u05DC\u05D5\u05E4\u05D9\u05DF \u05D1-{alternativePrice}",strikethroughAriaLabel:"\u05D1\u05D0\u05D5\u05E4\u05DF \u05E7\u05D1\u05D5\u05E2 \u05D1-{strikethroughPrice}"},{lang:"hu",recurrenceLabel:"{recurrenceTerm, select, MONTH {/h\xF3} YEAR {/\xE9v} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {havonta} YEAR {\xE9vente} other {}}",perUnitLabel:"{perUnit, select, LICENSE {licencenk\xE9nt} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {licencenk\xE9nt} other {}}",freeLabel:"Ingyenes",freeAriaLabel:"Ingyenes",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"M\xE1sik lehet\u0151s\xE9g: {alternativePrice}",strikethroughAriaLabel:"\xC1ltal\xE1ban {strikethroughPrice} \xE1ron"},{lang:"it",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mese} YEAR {/anno} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {al mese} YEAR {all'anno} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licenza} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licenza} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {escl. GST} VAT {escl. IVA.} TAX {escl. imposte} IVA {escl. IVA} SST {escl. SST} KDV {escl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. IVA} TAX {incl. imposte} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"In alternativa a {alternativePrice}",strikethroughAriaLabel:"Regolarmente a {strikethroughPrice}"},{lang:"ja",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCE\u6708} YEAR {\u6BCE\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u30E9\u30A4\u30BB\u30F3\u30B9\u3054\u3068} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u30E9\u30A4\u30BB\u30F3\u30B9\u3054\u3068} other {}}",freeLabel:"\u7121\u6599",freeAriaLabel:"\u7121\u6599",taxExclusiveLabel:"{taxTerm, select, GST {GST \u5225} VAT {VAT \u5225} TAX {\u7A0E\u5225} IVA {IVA \u5225} SST {SST \u5225} KDV {KDV \u5225} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \u8FBC} VAT {VAT \u8FBC} TAX {\u7A0E\u8FBC} IVA {IVA \u8FBC} SST {SST \u8FBC} KDV {KDV \u8FBC} other {}}",alternativePriceAriaLabel:"\u7279\u5225\u4FA1\u683C : {alternativePrice}",strikethroughAriaLabel:"\u901A\u5E38\u4FA1\u683C : {strikethroughPrice}"},{lang:"ko",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\uC6D4} YEAR {/\uB144} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\uC6D4\uAC04} YEAR {\uC5F0\uAC04} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\uB77C\uC774\uC120\uC2A4\uB2F9} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\uB77C\uC774\uC120\uC2A4\uB2F9} other {}}",freeLabel:"\uBB34\uB8CC",freeAriaLabel:"\uBB34\uB8CC",taxExclusiveLabel:"{taxTerm, select, GST {GST \uC81C\uC678} VAT {VAT \uC81C\uC678} TAX {\uC138\uAE08 \uC81C\uC678} IVA {IVA \uC81C\uC678} SST {SST \uC81C\uC678} KDV {KDV \uC81C\uC678} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \uD3EC\uD568} VAT {VAT \uD3EC\uD568} TAX {\uC138\uAE08 \uD3EC\uD568} IVA {IVA \uD3EC\uD568} SST {SST \uD3EC\uD568} KDV {KDV \uD3EC\uD568} other {}}",alternativePriceAriaLabel:"\uB610\uB294 {alternativePrice}\uC5D0",strikethroughAriaLabel:"\uB610\uB294 {alternativePrice}\uC5D0"},{lang:"lt",recurrenceLabel:"{recurrenceTerm, select, MONTH { per m\u0117n.} YEAR { per metus} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\u0117n.} YEAR {per metus} other {}}",perUnitLabel:"{perUnit, select, LICENSE {u\u017E licencij\u0105} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {u\u017E licencij\u0105} other {}}",freeLabel:"Nemokamai",freeAriaLabel:"Nemokamai",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Arba u\u017E {alternativePrice}",strikethroughAriaLabel:"Normaliai u\u017E {strikethroughPrice}"},{lang:"lv",recurrenceLabel:"{recurrenceTerm, select, MONTH {m\u0113nes\u012B} YEAR {gad\u0101} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {m\u0113nes\u012B} YEAR {gad\u0101} other {}}",perUnitLabel:"{perUnit, select, LICENSE {vienai licencei} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {vienai licencei} other {}}",freeLabel:"Bezmaksas",freeAriaLabel:"Bezmaksas",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternat\u012Bvi par {alternativePrice}",strikethroughAriaLabel:"Regul\u0101ri par {strikethroughPrice}"},{lang:"nb",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mnd.} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\xE5ned} YEAR {per \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per lisens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per lisens} other {}}",freeLabel:"Fri",freeAriaLabel:"Fri",taxExclusiveLabel:"{taxTerm, select, GST {ekskl. GST} VAT {ekskl. moms} TAX {ekskl. avgift} IVA {ekskl. IVA} SST {ekskl. SST} KDV {ekskl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. avgift} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt til {alternativePrice}",strikethroughAriaLabel:"Regelmessig til {strikethroughPrice}"},{lang:"nl",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mnd} YEAR {/jr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per maand} YEAR {per jaar} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licentie} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licentie} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. btw} TAX {excl. belasting} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. btw} TAX {incl. belasting} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Nu {alternativePrice}",strikethroughAriaLabel:"Normaal {strikethroughPrice}"},{lang:"pl",recurrenceLabel:"{recurrenceTerm, select, MONTH { / mies.} YEAR { / rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH { / miesi\u0105c} YEAR { / rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licencj\u0119} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licencj\u0119} other {}}",freeLabel:"Bezp\u0142atne",freeAriaLabel:"Bezp\u0142atne",taxExclusiveLabel:"{taxTerm, select, GST {bez GST} VAT {bez VAT} TAX {netto} IVA {bez IVA} SST {bez SST} KDV {bez KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {z GST} VAT {z VAT} TAX {brutto} IVA {z IVA} SST {z SST} KDV {z KDV} other {}}",alternativePriceAriaLabel:"Lub za {alternativePrice}",strikethroughAriaLabel:"Cena zwyk\u0142a: {strikethroughPrice}"},{lang:"pt",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\xEAs} YEAR {/ano} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {por m\xEAs} YEAR {por ano} other {}}",perUnitLabel:"{perUnit, select, LICENSE {por licen\xE7a} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {por licen\xE7a} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {ICMS n\xE3o incluso} VAT {IVA n\xE3o incluso} TAX {impostos n\xE3o inclusos} IVA {IVA n\xE3o incluso} SST { SST n\xE3o incluso} KDV {KDV n\xE3o incluso} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {ICMS incluso} VAT {IVA incluso} TAX {impostos inclusos} IVA {IVA incluso} SST {SST incluso} KDV {KDV incluso} other {}}",alternativePriceAriaLabel:"Ou a {alternativePrice}",strikethroughAriaLabel:"Pre\xE7o normal: {strikethroughPrice}"},{lang:"ro",recurrenceLabel:"{recurrenceTerm, select, MONTH {/lun\u0103} YEAR {/an} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pe lun\u0103} YEAR {pe an} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pe licen\u021B\u0103} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pe licen\u021B\u0103} other {}}",freeLabel:"Gratuit",freeAriaLabel:"Gratuit",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternativ, la {alternativePrice}",strikethroughAriaLabel:"\xCEn mod normal, la {strikethroughPrice}"},{lang:"ru",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0435\u0441.} YEAR {/\u0433.} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0432 \u043C\u0435\u0441\u044F\u0446} YEAR {\u0432 \u0433\u043E\u0434} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E} other {}}",freeLabel:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {\u0438\u0441\u043A\u043B. \u043D\u0430\u043B\u043E\u0433 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438} VAT {\u0438\u0441\u043A\u043B. \u041D\u0414\u0421} TAX {\u0438\u0441\u043A\u043B. \u043D\u0430\u043B\u043E\u0433} IVA {\u0438\u0441\u043A\u043B. \u0418\u0412\u0410} SST {\u0438\u0441\u043A\u043B. SST} KDV {\u0438\u0441\u043A\u043B. \u041A\u0414\u0412} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0432\u043A\u043B. \u043D\u0430\u043B\u043E\u0433 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438} VAT {\u0432\u043A\u043B. \u041D\u0414\u0421} TAX {\u0432\u043A\u043B. \u043D\u0430\u043B\u043E\u0433} IVA {\u0432\u043A\u043B. \u0418\u0412\u0410} SST {\u0432\u043A\u043B. SST} KDV {\u0432\u043A\u043B. \u041A\u0414\u0412} other {}}",alternativePriceAriaLabel:"\u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442 \u0437\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0420\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u043E \u043F\u043E \u0446\u0435\u043D\u0435 {strikethroughPrice}"},{lang:"sk",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mesiac} YEAR {/rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {za mesiac} YEAR {za rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licenciu} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licenciu} other {}}",freeLabel:"Zadarmo",freeAriaLabel:"Zadarmo",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Pr\xEDpadne za {alternativePrice}",strikethroughAriaLabel:"Pravidelne za {strikethroughPrice}"},{lang:"sl",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mesec} YEAR {/leto} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {na mesec} YEAR {na leto} other {}}",perUnitLabel:"{perUnit, select, LICENSE {na licenco} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {na licenco} other {}}",freeLabel:"Brezpla\u010Dno",freeAriaLabel:"Brezpla\u010Dno",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Druga mo\u017Enost je: {alternativePrice}",strikethroughAriaLabel:"Redno po {strikethroughPrice}"},{lang:"sv",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\xE5n} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\xE5nad} YEAR {per \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licens} other {}}",freeLabel:"Kostnadsfritt",freeAriaLabel:"Kostnadsfritt",taxExclusiveLabel:"{taxTerm, select, GST {exkl. GST} VAT {exkl. moms} TAX {exkl. skatt} IVA {exkl. IVA} SST {exkl. SST} KDV {exkl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. skatt} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt f\xF6r {alternativePrice}",strikethroughAriaLabel:"Normalpris {strikethroughPrice}"},{lang:"tr",recurrenceLabel:"{recurrenceTerm, select, MONTH {/ay} YEAR {/y\u0131l} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {(ayl\u0131k)} YEAR {(y\u0131ll\u0131k)} other {}}",perUnitLabel:"{perUnit, select, LICENSE {(lisans ba\u015F\u0131na)} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {(lisans ba\u015F\u0131na)} other {}}",freeLabel:"\xDCcretsiz",freeAriaLabel:"\xDCcretsiz",taxExclusiveLabel:"{taxTerm, select, GST {GST hari\xE7} VAT {KDV hari\xE7} TAX {vergi hari\xE7} IVA {IVA hari\xE7} SST {SST hari\xE7} KDV {KDV hari\xE7} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST dahil} VAT {KDV dahil} TAX {vergi dahil} IVA {IVA dahil} SST {SST dahil} KDV {KDV dahil} other {}}",alternativePriceAriaLabel:"Ya da {alternativePrice}",strikethroughAriaLabel:"Standart fiyat: {strikethroughPrice}"},{lang:"uk",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0456\u0441.} YEAR {/\u0440\u0456\u043A} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u043D\u0430 \u043C\u0456\u0441\u044F\u0446\u044C} YEAR {\u043D\u0430 \u0440\u0456\u043A} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E} other {}}",freeLabel:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {\u0431\u0435\u0437 GST} VAT {\u0431\u0435\u0437 \u041F\u0414\u0412} TAX {\u0431\u0435\u0437 \u043F\u043E\u0434\u0430\u0442\u043A\u0443} IVA {\u0431\u0435\u0437 IVA} SST {\u0431\u0435\u0437 SST} KDV {\u0431\u0435\u0437 KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 GST} VAT {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 \u041F\u0414\u0412} TAX {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 \u043F\u043E\u0434\u0430\u0442\u043A\u043E\u043C} IVA {\u0440\u0430\u0437\u043E\u043C \u0437 IVA} SST {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 SST} KDV {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 KDV} other {}}",alternativePriceAriaLabel:"\u0410\u0431\u043E \u0437\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0417\u0432\u0438\u0447\u0430\u0439\u043D\u0430 \u0446\u0456\u043D\u0430 {strikethroughPrice}"},{lang:"zh-hans",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCF\u6708} YEAR {\u6BCF\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u6BCF\u4E2A\u8BB8\u53EF\u8BC1} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u6BCF\u4E2A\u8BB8\u53EF\u8BC1} other {}}",freeLabel:"\u514D\u8D39",freeAriaLabel:"\u514D\u8D39",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u6216\u5B9A\u4EF7 {alternativePrice}",strikethroughAriaLabel:"\u6B63\u5E38\u4EF7 {strikethroughPrice}"},{lang:"zh-hant",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCF\u6708} YEAR {\u6BCF\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u6BCF\u500B\u6388\u6B0A} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u6BCF\u500B\u6388\u6B0A} other {}}",freeLabel:"\u514D\u8CBB",freeAriaLabel:"\u514D\u8CBB",taxExclusiveLabel:"{taxTerm, select, GST {\u4E0D\u542B GST} VAT {\u4E0D\u542B VAT} TAX {\u4E0D\u542B\u7A05} IVA {\u4E0D\u542B IVA} SST {\u4E0D\u542B SST} KDV {\u4E0D\u542B KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u542B GST} VAT {\u542B VAT} TAX {\u542B\u7A05} IVA {\u542B IVA} SST {\u542B SST} KDV {\u542B KDV} other {}}",alternativePriceAriaLabel:"\u6216\u8005\u5728 {alternativePrice}",strikethroughAriaLabel:"\u6A19\u6E96\u50F9\u683C\u70BA {strikethroughPrice}"},{lang:"es",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mes} YEAR {/a\xF1o} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {al mes} YEAR {al a\xF1o} other {}}",perUnitLabel:"{perUnit, select, LICENSE {por licencia} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {por licencia} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {GST no incluido} VAT {IVA no incluido} TAX {Impuestos no incluidos} IVA {IVA no incluido} SST {SST no incluido} KDV {KDV no incluido} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST incluido} VAT {IVA incluido} TAX {Impuestos incluidos} IVA {IVA incluido} SST {SST incluido} KDV {KDV incluido} other {}}",alternativePriceAriaLabel:"Alternativamente por {alternativePrice}",strikethroughAriaLabel:"Normalmente a {strikethroughPrice}"},{lang:"in",recurrenceLabel:"{recurrenceTerm, select, MONTH {/bulan} YEAR {/tahun} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per bulan} YEAR {per tahun} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per lisensi} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per lisensi} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {tidak termasuk PBJ} VAT {tidak termasuk PPN} TAX {tidak termasuk pajak} IVA {tidak termasuk IVA} SST {tidak termasuk SST} KDV {tidak termasuk KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {termasuk PBJ} VAT {termasuk PPN} TAX {termasuk pajak} IVA {termasuk IVA} SST {termasuk SST} KDV {termasuk KDV} other {}}",alternativePriceAriaLabel:"Atau seharga {alternativePrice}",strikethroughAriaLabel:"Normalnya seharga {strikethroughPrice}"},{lang:"vi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/th\xE1ng} YEAR {/n\u0103m} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {m\u1ED7i th\xE1ng} YEAR {m\u1ED7i n\u0103m} other {}}",perUnitLabel:"{perUnit, select, LICENSE {m\u1ED7i gi\u1EA5y ph\xE9p} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {m\u1ED7i gi\u1EA5y ph\xE9p} other {}}",freeLabel:"Mi\u1EC5n ph\xED",freeAriaLabel:"Mi\u1EC5n ph\xED",taxExclusiveLabel:"{taxTerm, select, GST {ch\u01B0a bao g\u1ED3m thu\u1EBF h\xE0ng h\xF3a v\xE0 d\u1ECBch v\u1EE5} VAT {ch\u01B0a bao g\u1ED3m thu\u1EBF GTGT} TAX {ch\u01B0a bao g\u1ED3m thu\u1EBF} IVA {ch\u01B0a bao g\u1ED3m IVA} SST {ch\u01B0a bao g\u1ED3m SST} KDV {ch\u01B0a bao g\u1ED3m KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {(\u0111\xE3 bao g\u1ED3m thu\u1EBF h\xE0ng h\xF3a v\xE0 d\u1ECBch v\u1EE5)} VAT {(\u0111\xE3 bao g\u1ED3m thu\u1EBF GTGT)} TAX {(\u0111\xE3 bao g\u1ED3m thu\u1EBF)} IVA {(\u0111\xE3 bao g\u1ED3m IVA)} SST {(\u0111\xE3 bao g\u1ED3m SST)} KDV {(\u0111\xE3 bao g\u1ED3m KDV)} other {}}",alternativePriceAriaLabel:"Gi\xE1 \u01B0u \u0111\xE3i {alternativePrice}",strikethroughAriaLabel:"Gi\xE1 th\xF4ng th\u01B0\u1EDDng {strikethroughPrice}"},{lang:"th",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u0E40\u0E14\u0E37\u0E2D\u0E19} YEAR {/\u0E1B\u0E35} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0E15\u0E48\u0E2D\u0E40\u0E14\u0E37\u0E2D\u0E19} YEAR {\u0E15\u0E48\u0E2D\u0E1B\u0E35} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0E15\u0E48\u0E2D\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0E15\u0E48\u0E2D\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19} other {}}",freeLabel:"\u0E1F\u0E23\u0E35",freeAriaLabel:"\u0E1F\u0E23\u0E35",taxExclusiveLabel:"{taxTerm, select, GST {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35 GST} VAT {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 VAT} TAX {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35} IVA {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 IVA} SST {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 SST} KDV {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35 GST} VAT {\u0E23\u0E27\u0E21 VAT} TAX {\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35} IVA {\u0E23\u0E27\u0E21 IVA} SST {\u0E23\u0E27\u0E21 SST} KDV {\u0E23\u0E27\u0E21 KDV} other {}}",alternativePriceAriaLabel:"\u0E23\u0E32\u0E04\u0E32\u0E1E\u0E34\u0E40\u0E28\u0E29 {alternativePrice}",strikethroughAriaLabel:"\u0E23\u0E32\u0E04\u0E32\u0E1B\u0E01\u0E15\u0E34 {strikethroughPrice}"},{lang:"el",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u03BC\u03AE\u03BD\u03B1} YEAR {/\u03AD\u03C4\u03BF\u03C2} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u03BA\u03AC\u03B8\u03B5 \u03BC\u03AE\u03BD\u03B1} YEAR {\u03B1\u03BD\u03AC \u03AD\u03C4\u03BF\u03C2} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u03B1\u03BD\u03AC \u03AC\u03B4\u03B5\u03B9\u03B1 \u03C7\u03C1\u03AE\u03C3\u03B7\u03C2} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u03B1\u03BD\u03AC \u03AC\u03B4\u03B5\u03B9\u03B1 \u03C7\u03C1\u03AE\u03C3\u03B7\u03C2} other {}}",freeLabel:"\u0394\u03C9\u03C1\u03B5\u03AC\u03BD",freeAriaLabel:"\u0394\u03C9\u03C1\u03B5\u03AC\u03BD",taxExclusiveLabel:"{taxTerm, select, GST {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 GST)} VAT {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03A6\u03A0\u0391)} TAX {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C6\u03CC\u03C1\u03BF)} IVA {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 IVA)} SST {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 SST)} KDV {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 KDV)} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 GST)} VAT {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03A6\u03A0\u0391)} TAX {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 \u03C6\u03CC\u03C1\u03BF\u03C5)} IVA {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 IVA)} SST {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 SST)} KDV {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 KDV)} other {}}",alternativePriceAriaLabel:"\u0394\u03B9\u03B1\u03C6\u03BF\u03C1\u03B5\u03C4\u03B9\u03BA\u03AC, {alternativePrice}",strikethroughAriaLabel:"\u039A\u03B1\u03BD\u03BF\u03BD\u03B9\u03BA\u03AE \u03C4\u03B9\u03BC\u03AE {strikethroughPrice}"},{lang:"fil",recurrenceLabel:"{recurrenceTerm, select, MONTH {/buwan} YEAR {/taon} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per buwan} YEAR {per taon} other {}}",perUnitLabel:"{perUnit, select, LICENSE {kada lisensya} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {kada lisensya} other {}}",freeLabel:"Libre",freeAriaLabel:"Libre",taxExclusiveLabel:"{taxTerm, select, GST {hindi kasama ang GST} VAT {hindi kasama ang VAT} TAX {hindi kasama ang Buwis} IVA {hindi kasama ang IVA} SST {hindi kasama ang SST} KDV {hindi kasama ang KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {kasama ang GST} VAT {kasama ang VAT} TAX {kasama ang Buwis} IVA {kasama ang IVA} SST {kasama ang SST} KDV {kasama ang KDV} other {}}",alternativePriceAriaLabel:"Alternatibong nasa halagang {alternativePrice}",strikethroughAriaLabel:"Regular na nasa halagang {strikethroughPrice}"},{lang:"ms",recurrenceLabel:"{recurrenceTerm, select, MONTH {/bulan} YEAR {/tahun} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per bulan} YEAR {per tahun} other {}}",perUnitLabel:"{perUnit, select, LICENSE {setiap lesen} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {setiap lesen} other {}}",freeLabel:"Percuma",freeAriaLabel:"Percuma",taxExclusiveLabel:"{taxTerm, select, GST {kecuali GST} VAT {kecuali VAT} TAX {kecuali Cukai} IVA {kecuali IVA} SST {kecuali SST} KDV {kecuali KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {termasuk GST} VAT {termasuk VAT} TAX {termasuk Cukai} IVA {termasuk IVA} SST {termasuk SST} KDV {termasuk KDV} other {}}",alternativePriceAriaLabel:"Secara alternatif pada {alternativePrice}",strikethroughAriaLabel:"Biasanya pada {strikethroughPrice}"},{lang:"hi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u092E\u093E\u0939} YEAR {/\u0935\u0930\u094D\u0937} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per \u092E\u093E\u0939} YEAR {per \u0935\u0930\u094D\u0937} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u092A\u094D\u0930\u0924\u093F \u0932\u093E\u0907\u0938\u0947\u0902\u0938} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u092A\u094D\u0930\u0924\u093F \u0932\u093E\u0907\u0938\u0947\u0902\u0938} other {}}",freeLabel:"\u092B\u093C\u094D\u0930\u0940",freeAriaLabel:"\u092B\u093C\u094D\u0930\u0940",taxExclusiveLabel:"{taxTerm, select, GST {GST \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} VAT {VAT \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} TAX {\u0915\u0930 \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} IVA {IVA \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} SST {SST \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} KDV {KDV \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \u0938\u0939\u093F\u0924} VAT {VAT \u0938\u0939\u093F\u0924} TAX {\u0915\u0930 \u0938\u0939\u093F\u0924} IVA {IVA \u0938\u0939\u093F\u0924} SST {SST \u0938\u0939\u093F\u0924} KDV {KDV \u0938\u0939\u093F\u0924} other {}}",alternativePriceAriaLabel:"\u0935\u0948\u0915\u0932\u094D\u092A\u093F\u0915 \u0930\u0942\u092A \u0938\u0947 \u0907\u0938 \u092A\u0930 {alternativePrice}",strikethroughAriaLabel:"\u0928\u093F\u092F\u092E\u093F\u0924 \u0930\u0942\u092A \u0938\u0947 \u0907\u0938 \u092A\u0930 {strikethroughPrice}"},{lang:"iw",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u05D7\u05D5\u05D3\u05E9} YEAR {/\u05E9\u05E0\u05D4} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u05DC\u05D7\u05D5\u05D3\u05E9} YEAR {\u05DC\u05E9\u05E0\u05D4} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",freeLabel:"\u05D7\u05D9\u05E0\u05DD",freeAriaLabel:"\u05D7\u05D9\u05E0\u05DD",taxExclusiveLabel:'{taxTerm, select, GST {\u05DC\u05DC\u05D0 GST} VAT {\u05DC\u05DC\u05D0 \u05DE\u05E2"\u05DE} TAX {\u05DC\u05DC\u05D0 \u05DE\u05E1} IVA {\u05DC\u05DC\u05D0 IVA} SST {\u05DC\u05DC\u05D0 SST} KDV {\u05DC\u05DC\u05D0 KDV} other {}}',taxInclusiveLabel:'{taxTerm, select, GST {\u05DB\u05D5\u05DC\u05DC GST} VAT {\u05DB\u05D5\u05DC\u05DC \u05DE\u05E2"\u05DE} TAX {\u05DB\u05D5\u05DC\u05DC \u05DE\u05E1} IVA {\u05DB\u05D5\u05DC\u05DC IVA} SST {\u05DB\u05D5\u05DC\u05DC SST} KDV {\u05DB\u05D5\u05DC\u05DC KDV} other {}}',alternativePriceAriaLabel:"\u05DC\u05D7\u05DC\u05D5\u05E4\u05D9\u05DF \u05D1-{alternativePrice}",strikethroughAriaLabel:"\u05D1\u05D0\u05D5\u05E4\u05DF \u05E7\u05D1\u05D5\u05E2 \u05D1-{strikethroughPrice}"}],":type":"sheet"}});var xt;(function(e){e.STAGE="STAGE",e.PRODUCTION="PRODUCTION",e.LOCAL="LOCAL"})(xt||(xt={}));var Ur;(function(e){e.STAGE="STAGE",e.PRODUCTION="PROD",e.LOCAL="LOCAL"})(Ur||(Ur={}));var vt;(function(e){e.DRAFT="DRAFT",e.PUBLISHED="PUBLISHED"})(vt||(vt={}));var Te;(function(e){e.V2="UCv2",e.V3="UCv3"})(Te||(Te={}));var q;(function(e){e.CHECKOUT="checkout",e.CHECKOUT_EMAIL="checkout/email",e.SEGMENTATION="segmentation",e.BUNDLE="bundle",e.COMMITMENT="commitment",e.RECOMMENDATION="recommendation",e.EMAIL="email",e.PAYMENT="payment",e.CHANGE_PLAN_TEAM_PLANS="change-plan/team-upgrade/plans",e.CHANGE_PLAN_TEAM_PAYMENT="change-plan/team-upgrade/payment"})(q||(q={}));var Dr=function(e){var t;return(t=Ss.get(e))!==null&&t!==void 0?t:e},Ss=new Map([["countrySpecific","cs"],["quantity","q"],["authCode","code"],["checkoutPromoCode","apc"],["rurl","rUrl"],["curl","cUrl"],["ctxrturl","ctxRtUrl"],["country","co"],["language","lang"],["clientId","cli"],["context","ctx"],["productArrangementCode","pa"],["offerType","ot"],["marketSegment","ms"]]);var $i=function(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Mi=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,o=[],a;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return o};function Fe(e,t,r){var n,i;try{for(var o=$i(Object.entries(e)),a=o.next();!a.done;a=o.next()){var s=Mi(a.value,2),c=s[0],l=s[1],h=Dr(c);l!=null&&r.has(h)&&t.set(h,l)}}catch(d){n={error:d}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}}function Xt(e){switch(e){case xt.PRODUCTION:return"https://commerce.adobe.com";default:return"https://commerce-stg.adobe.com"}}function Wt(e,t){var r,n;for(var i in e){var o=e[i];try{for(var a=(r=void 0,$i(Object.entries(o))),s=a.next();!s.done;s=a.next()){var c=Mi(s.value,2),l=c[0],h=c[1];if(h!=null){var d=Dr(l);t.set("items["+i+"]["+d+"]",h)}}}catch(u){r={error:u}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}}}var ys=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};function Ui(e){ws(e);var t=e.env,r=e.items,n=e.workflowStep,i=ys(e,["env","items","workflowStep"]),o=new URL(Xt(t));return o.pathname=n+"/",Wt(r,o.searchParams),Fe(i,o.searchParams,Ls),o.toString()}var Ls=new Set(["cli","co","lang","ctx","cUrl","mv","nglwfdata","otac","promoid","rUrl","sdid","spint","trackingid","code","campaignid","appctxid"]),_s=["env","workflowStep","clientId","country","items"];function ws(e){var t,r;try{for(var n=Ts(_s),i=n.next();!i.done;i=n.next()){var o=i.value;if(!e[o])throw new Error('Argument "checkoutData" is not valid, missing: '+o)}}catch(a){t={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}return!0}var Ps=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Ns="p_draft_landscape",Is="/store/";function Hr(e){Os(e);var t=e.env,r=e.items,n=e.workflowStep,i=e.ms,o=e.marketSegment,a=e.ot,s=e.offerType,c=e.pa,l=e.productArrangementCode,h=e.landscape,d=Ps(e,["env","items","workflowStep","ms","marketSegment","ot","offerType","pa","productArrangementCode","landscape"]),u={marketSegment:o??i,offerType:s??a,productArrangementCode:l??c},m=new URL(Xt(t));return m.pathname=""+Is+n,n!==q.SEGMENTATION&&n!==q.CHANGE_PLAN_TEAM_PLANS&&Wt(r,m.searchParams),n===q.SEGMENTATION&&Fe(u,m.searchParams,Gr),Fe(d,m.searchParams,Gr),h===vt.DRAFT&&Fe({af:Ns},m.searchParams,Gr),m.toString()}var Gr=new Set(["af","ai","apc","appctxid","cli","co","csm","ctx","ctxRtUrl","DCWATC","dp","fr","gsp","ijt","lang","lo","mal","ms","mv","mv2","nglwfdata","ot","otac","pa","pcid","promoid","q","rf","sc","scl","sdid","sid","spint","svar","th","thm","trackingid","usid","workflowid","context.guid","so.ca","so.su","so.tr","so.va"]),ks=["env","workflowStep","clientId","country"];function Os(e){var t,r;try{for(var n=Cs(ks),i=n.next();!i.done;i=n.next()){var o=i.value;if(!e[o])throw new Error('Argument "checkoutData" is not valid, missing: '+o)}}catch(a){t={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}if(e.workflowStep!==q.SEGMENTATION&&e.workflowStep!==q.CHANGE_PLAN_TEAM_PLANS&&!e.items)throw new Error('Argument "checkoutData" is not valid, missing: items');return!0}function zr(e,t){switch(e){case Te.V2:return Ui(t);case Te.V3:return Hr(t);default:return console.warn("Unsupported CheckoutType, will use UCv3 as default. Given type: "+e),Hr(t)}}var Fr;(function(e){e.BASE="BASE",e.TRIAL="TRIAL",e.PROMOTION="PROMOTION"})(Fr||(Fr={}));var $;(function(e){e.MONTH="MONTH",e.YEAR="YEAR",e.TWO_YEARS="TWO_YEARS",e.THREE_YEARS="THREE_YEARS",e.PERPETUAL="PERPETUAL",e.TERM_LICENSE="TERM_LICENSE",e.ACCESS_PASS="ACCESS_PASS",e.THREE_MONTHS="THREE_MONTHS",e.SIX_MONTHS="SIX_MONTHS"})($||($={}));var k;(function(e){e.ANNUAL="ANNUAL",e.MONTHLY="MONTHLY",e.TWO_YEARS="TWO_YEARS",e.THREE_YEARS="THREE_YEARS",e.P1D="P1D",e.P1Y="P1Y",e.P3Y="P3Y",e.P10Y="P10Y",e.P15Y="P15Y",e.P3D="P3D",e.P7D="P7D",e.P30D="P30D",e.HALF_YEARLY="HALF_YEARLY",e.QUARTERLY="QUARTERLY"})(k||(k={}));var Kr;(function(e){e.INDIVIDUAL="INDIVIDUAL",e.TEAM="TEAM",e.ENTERPRISE="ENTERPRISE"})(Kr||(Kr={}));var Br;(function(e){e.COM="COM",e.EDU="EDU",e.GOV="GOV"})(Br||(Br={}));var jr;(function(e){e.DIRECT="DIRECT",e.INDIRECT="INDIRECT"})(jr||(jr={}));var Yr;(function(e){e.ENTERPRISE_PRODUCT="ENTERPRISE_PRODUCT",e.ETLA="ETLA",e.RETAIL="RETAIL",e.VIP="VIP",e.VIPMP="VIPMP",e.FREE="FREE"})(Yr||(Yr={}));var Di="tacocat.js";var qt=(e,t)=>String(e??"").toLowerCase()==String(t??"").toLowerCase(),Gi=e=>`${e??""}`.replace(/[&<>'"]/g,t=>({"&":"&","<":"<",">":">","'":"'",'"':"""})[t]??t)??"";function O(e,t={},{metadata:r=!0,search:n=!0,storage:i=!0}={}){let o;if(n&&o==null){let a=new URLSearchParams(window.location.search),s=Ke(n)?n:e;o=a.get(s)}if(i&&o==null){let a=Ke(i)?i:e;o=window.sessionStorage.getItem(a)??window.localStorage.getItem(a)}if(r&&o==null){let a=Rs(Ke(r)?r:e);o=document.documentElement.querySelector(`meta[name="${a}"]`)?.content}return o??t[e]}var Be=()=>{};var Hi=e=>typeof e=="boolean",bt=e=>typeof e=="function",Zt=e=>typeof e=="number",zi=e=>e!=null&&typeof e=="object";var Ke=e=>typeof e=="string",Xr=e=>Ke(e)&&e,je=e=>Zt(e)&&Number.isFinite(e)&&e>0;function Ye(e,t=r=>r==null||r===""){return e!=null&&Object.entries(e).forEach(([r,n])=>{t(n)&&delete e[r]}),e}function E(e,t){if(Hi(e))return e;let r=String(e);return r==="1"||r==="true"?!0:r==="0"||r==="false"?!1:t}function ge(e,t,r){let n=Object.values(t);return n.find(i=>qt(i,e))??r??n[0]}function Rs(e=""){return String(e).replace(/(\p{Lowercase_Letter})(\p{Uppercase_Letter})/gu,(t,r,n)=>`${r}-${n}`).replace(/\W+/gu,"-").toLowerCase()}function Xe(e,t=1){return Zt(e)||(e=Number.parseInt(e,10)),!Number.isNaN(e)&&e>0&&Number.isFinite(e)?e:t}var Vs=Date.now(),Wr=()=>`(+${Date.now()-Vs}ms)`,Jt=new Set,$s=E(O("tacocat.debug",{},{metadata:!1}),typeof process<"u"&&process.env?.DEBUG);function Fi(e){let t=`[${Di}/${e}]`,r=(a,s,...c)=>a?!0:(i(s,...c),!1),n=$s?(a,...s)=>{console.debug(`${t} ${a}`,...s,Wr())}:()=>{},i=(a,...s)=>{let c=`${t} ${a}`;Jt.forEach(([l])=>l(c,...s))};return{assert:r,debug:n,error:i,warn:(a,...s)=>{let c=`${t} ${a}`;Jt.forEach(([,l])=>l(c,...s))}}}function Ms(e,t){let r=[e,t];return Jt.add(r),()=>{Jt.delete(r)}}Ms((e,...t)=>{console.error(e,...t,Wr())},(e,...t)=>{console.warn(e,...t,Wr())});var Us="no promo",Ki="promo-tag",Ds="yellow",Gs="neutral",Hs=(e,t,r)=>{let n=o=>o||Us,i=r?` (was "${n(t)}")`:"";return`${n(e)}${i}`},zs="cancel-context",At=(e,t)=>{let r=e===zs,n=!r&&e?.length>0,i=(n||r)&&(t&&t!=e||!t&&!r),o=i&&n||!i&&!!t,a=o?e||t:void 0;return{effectivePromoCode:a,overridenPromoCode:e,className:o?Ki:`${Ki} no-promo`,text:Hs(a,t,i),variant:o?Ds:Gs,isOverriden:i}};var qr="ABM",Zr="PUF",Jr="M2M",Qr="PERPETUAL",en="P3Y",Fs="TAX_INCLUSIVE_DETAILS",Ks="TAX_EXCLUSIVE",Bi={ABM:qr,PUF:Zr,M2M:Jr,PERPETUAL:Qr,P3Y:en},_h={[qr]:{commitment:$.YEAR,term:k.MONTHLY},[Zr]:{commitment:$.YEAR,term:k.ANNUAL},[Jr]:{commitment:$.MONTH,term:k.MONTHLY},[Qr]:{commitment:$.PERPETUAL,term:void 0},[en]:{commitment:$.THREE_MONTHS,term:k.P3Y}},ji="Value is not an offer",Qt=e=>{if(typeof e!="object")return ji;let{commitment:t,term:r}=e,n=Bs(t,r);return{...e,planType:n}};var Bs=(e,t)=>{switch(e){case void 0:return ji;case"":return"";case $.YEAR:return t===k.MONTHLY?qr:t===k.ANNUAL?Zr:"";case $.MONTH:return t===k.MONTHLY?Jr:"";case $.PERPETUAL:return Qr;case $.TERM_LICENSE:return t===k.P3Y?en:"";default:return""}};function tn(e){let{priceDetails:t}=e,{price:r,priceWithoutDiscount:n,priceWithoutTax:i,priceWithoutDiscountAndTax:o,taxDisplay:a}=t;if(a!==Fs)return e;let s={...e,priceDetails:{...t,price:i??r,priceWithoutDiscount:o??n,taxDisplay:Ks}};return s.offerType==="TRIAL"&&s.priceDetails.price===0&&(s.priceDetails.price=s.priceDetails.priceWithoutDiscount),s}var rn=function(e,t){return rn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[i]=n[i])},rn(e,t)};function Et(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");rn(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}var S=function(){return S=Object.assign||function(t){for(var r,n=1,i=arguments.length;n0}),r=[],n=0,i=t;n1)throw new RangeError("integer-width stems only accept a single optional option");i.options[0].replace(Xs,function(s,c,l,h,d,u){if(c)t.minimumIntegerDigits=l.length;else{if(h&&d)throw new Error("We currently do not support maximum integer digits");if(u)throw new Error("We currently do not support exact integer digits")}return""});continue}if(ro.test(i.stem)){t.minimumIntegerDigits=i.stem.length;continue}if(Zi.test(i.stem)){if(i.options.length>1)throw new RangeError("Fraction-precision stems only accept a single optional option");i.stem.replace(Zi,function(s,c,l,h,d,u){return l==="*"?t.minimumFractionDigits=c.length:h&&h[0]==="#"?t.maximumFractionDigits=h.length:d&&u?(t.minimumFractionDigits=d.length,t.maximumFractionDigits=d.length+u.length):(t.minimumFractionDigits=c.length,t.maximumFractionDigits=c.length),""}),i.options.length&&(t=S(S({},t),Ji(i.options[0])));continue}if(to.test(i.stem)){t=S(S({},t),Ji(i.stem));continue}var o=no(i.stem);o&&(t=S(S({},t),o));var a=Ws(i.stem);a&&(t=S(S({},t),a))}return t}var an,qs=new RegExp("^"+on.source+"*"),Zs=new RegExp(on.source+"*$");function b(e,t){return{start:e,end:t}}var Js=!!String.prototype.startsWith,Qs=!!String.fromCodePoint,ec=!!Object.fromEntries,tc=!!String.prototype.codePointAt,rc=!!String.prototype.trimStart,nc=!!String.prototype.trimEnd,ic=!!Number.isSafeInteger,oc=ic?Number.isSafeInteger:function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e&&Math.abs(e)<=9007199254740991},cn=!0;try{oo=lo("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu"),cn=((an=oo.exec("a"))===null||an===void 0?void 0:an[0])==="a"}catch{cn=!1}var oo,ao=Js?function(t,r,n){return t.startsWith(r,n)}:function(t,r,n){return t.slice(n,n+r.length)===r},ln=Qs?String.fromCodePoint:function(){for(var t=[],r=0;ro;){if(a=t[o++],a>1114111)throw RangeError(a+" is not a valid code point");n+=a<65536?String.fromCharCode(a):String.fromCharCode(((a-=65536)>>10)+55296,a%1024+56320)}return n},so=ec?Object.fromEntries:function(t){for(var r={},n=0,i=t;n=n)){var i=t.charCodeAt(r),o;return i<55296||i>56319||r+1===n||(o=t.charCodeAt(r+1))<56320||o>57343?i:(i-55296<<10)+(o-56320)+65536}},ac=rc?function(t){return t.trimStart()}:function(t){return t.replace(qs,"")},sc=nc?function(t){return t.trimEnd()}:function(t){return t.replace(Zs,"")};function lo(e,t){return new RegExp(e,t)}var hn;cn?(sn=lo("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu"),hn=function(t,r){var n;sn.lastIndex=r;var i=sn.exec(t);return(n=i[1])!==null&&n!==void 0?n:""}):hn=function(t,r){for(var n=[];;){var i=co(t,r);if(i===void 0||uo(i)||hc(i))break;n.push(i),r+=i>=65536?2:1}return ln.apply(void 0,n)};var sn,ho=function(){function e(t,r){r===void 0&&(r={}),this.message=t,this.position={offset:0,line:1,column:1},this.ignoreTag=!!r.ignoreTag,this.requiresOtherClause=!!r.requiresOtherClause,this.shouldParseSkeletons=!!r.shouldParseSkeletons}return e.prototype.parse=function(){if(this.offset()!==0)throw Error("parser can only be used once");return this.parseMessage(0,"",!1)},e.prototype.parseMessage=function(t,r,n){for(var i=[];!this.isEOF();){var o=this.char();if(o===123){var a=this.parseArgument(t,n);if(a.err)return a;i.push(a.val)}else{if(o===125&&t>0)break;if(o===35&&(r==="plural"||r==="selectordinal")){var s=this.clonePosition();this.bump(),i.push({type:C.pound,location:b(s,this.clonePosition())})}else if(o===60&&!this.ignoreTag&&this.peek()===47){if(n)break;return this.error(v.UNMATCHED_CLOSING_TAG,b(this.clonePosition(),this.clonePosition()))}else if(o===60&&!this.ignoreTag&&dn(this.peek()||0)){var a=this.parseTag(t,r);if(a.err)return a;i.push(a.val)}else{var a=this.parseLiteral(t,r);if(a.err)return a;i.push(a.val)}}}return{val:i,err:null}},e.prototype.parseTag=function(t,r){var n=this.clonePosition();this.bump();var i=this.parseTagName();if(this.bumpSpace(),this.bumpIf("/>"))return{val:{type:C.literal,value:"<"+i+"/>",location:b(n,this.clonePosition())},err:null};if(this.bumpIf(">")){var o=this.parseMessage(t+1,r,!0);if(o.err)return o;var a=o.val,s=this.clonePosition();if(this.bumpIf("")?{val:{type:C.tag,value:i,children:a,location:b(n,this.clonePosition())},err:null}:this.error(v.INVALID_TAG,b(s,this.clonePosition())))}else return this.error(v.UNCLOSED_TAG,b(n,this.clonePosition()))}else return this.error(v.INVALID_TAG,b(n,this.clonePosition()))},e.prototype.parseTagName=function(){var t=this.offset();for(this.bump();!this.isEOF()&&lc(this.char());)this.bump();return this.message.slice(t,this.offset())},e.prototype.parseLiteral=function(t,r){for(var n=this.clonePosition(),i="";;){var o=this.tryParseQuote(r);if(o){i+=o;continue}var a=this.tryParseUnquoted(t,r);if(a){i+=a;continue}var s=this.tryParseLeftAngleBracket();if(s){i+=s;continue}break}var c=b(n,this.clonePosition());return{val:{type:C.literal,value:i,location:c},err:null}},e.prototype.tryParseLeftAngleBracket=function(){return!this.isEOF()&&this.char()===60&&(this.ignoreTag||!cc(this.peek()||0))?(this.bump(),"<"):null},e.prototype.tryParseQuote=function(t){if(this.isEOF()||this.char()!==39)return null;switch(this.peek()){case 39:return this.bump(),this.bump(),"'";case 123:case 60:case 62:case 125:break;case 35:if(t==="plural"||t==="selectordinal")break;return null;default:return null}this.bump();var r=[this.char()];for(this.bump();!this.isEOF();){var n=this.char();if(n===39)if(this.peek()===39)r.push(39),this.bump();else{this.bump();break}else r.push(n);this.bump()}return ln.apply(void 0,r)},e.prototype.tryParseUnquoted=function(t,r){if(this.isEOF())return null;var n=this.char();return n===60||n===123||n===35&&(r==="plural"||r==="selectordinal")||n===125&&t>0?null:(this.bump(),ln(n))},e.prototype.parseArgument=function(t,r){var n=this.clonePosition();if(this.bump(),this.bumpSpace(),this.isEOF())return this.error(v.EXPECT_ARGUMENT_CLOSING_BRACE,b(n,this.clonePosition()));if(this.char()===125)return this.bump(),this.error(v.EMPTY_ARGUMENT,b(n,this.clonePosition()));var i=this.parseIdentifierIfPossible().value;if(!i)return this.error(v.MALFORMED_ARGUMENT,b(n,this.clonePosition()));if(this.bumpSpace(),this.isEOF())return this.error(v.EXPECT_ARGUMENT_CLOSING_BRACE,b(n,this.clonePosition()));switch(this.char()){case 125:return this.bump(),{val:{type:C.argument,value:i,location:b(n,this.clonePosition())},err:null};case 44:return this.bump(),this.bumpSpace(),this.isEOF()?this.error(v.EXPECT_ARGUMENT_CLOSING_BRACE,b(n,this.clonePosition())):this.parseArgumentOptions(t,r,i,n);default:return this.error(v.MALFORMED_ARGUMENT,b(n,this.clonePosition()))}},e.prototype.parseIdentifierIfPossible=function(){var t=this.clonePosition(),r=this.offset(),n=hn(this.message,r),i=r+n.length;this.bumpTo(i);var o=this.clonePosition(),a=b(t,o);return{value:n,location:a}},e.prototype.parseArgumentOptions=function(t,r,n,i){var o,a=this.clonePosition(),s=this.parseIdentifierIfPossible().value,c=this.clonePosition();switch(s){case"":return this.error(v.EXPECT_ARGUMENT_TYPE,b(a,c));case"number":case"date":case"time":{this.bumpSpace();var l=null;if(this.bumpIf(",")){this.bumpSpace();var h=this.clonePosition(),d=this.parseSimpleArgStyleIfPossible();if(d.err)return d;var u=sc(d.val);if(u.length===0)return this.error(v.EXPECT_ARGUMENT_STYLE,b(this.clonePosition(),this.clonePosition()));var m=b(h,this.clonePosition());l={style:u,styleLocation:m}}var x=this.tryParseArgumentClose(i);if(x.err)return x;var f=b(i,this.clonePosition());if(l&&ao(l?.style,"::",0)){var _=ac(l.style.slice(2));if(s==="number"){var d=this.parseNumberSkeletonFromString(_,l.styleLocation);return d.err?d:{val:{type:C.number,value:n,location:f,style:d.val},err:null}}else{if(_.length===0)return this.error(v.EXPECT_DATE_TIME_SKELETON,f);var u={type:Le.dateTime,pattern:_,location:l.styleLocation,parsedOptions:this.shouldParseSkeletons?Wi(_):{}},N=s==="date"?C.date:C.time;return{val:{type:N,value:n,location:f,style:u},err:null}}}return{val:{type:s==="number"?C.number:s==="date"?C.date:C.time,value:n,location:f,style:(o=l?.style)!==null&&o!==void 0?o:null},err:null}}case"plural":case"selectordinal":case"select":{var A=this.clonePosition();if(this.bumpSpace(),!this.bumpIf(","))return this.error(v.EXPECT_SELECT_ARGUMENT_OPTIONS,b(A,S({},A)));this.bumpSpace();var T=this.parseIdentifierIfPossible(),V=0;if(s!=="select"&&T.value==="offset"){if(!this.bumpIf(":"))return this.error(v.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,b(this.clonePosition(),this.clonePosition()));this.bumpSpace();var d=this.tryParseDecimalInteger(v.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,v.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);if(d.err)return d;this.bumpSpace(),T=this.parseIdentifierIfPossible(),V=d.val}var L=this.tryParsePluralOrSelectOptions(t,s,r,T);if(L.err)return L;var x=this.tryParseArgumentClose(i);if(x.err)return x;var K=b(i,this.clonePosition());return s==="select"?{val:{type:C.select,value:n,options:so(L.val),location:K},err:null}:{val:{type:C.plural,value:n,options:so(L.val),offset:V,pluralType:s==="plural"?"cardinal":"ordinal",location:K},err:null}}default:return this.error(v.INVALID_ARGUMENT_TYPE,b(a,c))}},e.prototype.tryParseArgumentClose=function(t){return this.isEOF()||this.char()!==125?this.error(v.EXPECT_ARGUMENT_CLOSING_BRACE,b(t,this.clonePosition())):(this.bump(),{val:!0,err:null})},e.prototype.parseSimpleArgStyleIfPossible=function(){for(var t=0,r=this.clonePosition();!this.isEOF();){var n=this.char();switch(n){case 39:{this.bump();var i=this.clonePosition();if(!this.bumpUntil("'"))return this.error(v.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE,b(i,this.clonePosition()));this.bump();break}case 123:{t+=1,this.bump();break}case 125:{if(t>0)t-=1;else return{val:this.message.slice(r.offset,this.offset()),err:null};break}default:this.bump();break}}return{val:this.message.slice(r.offset,this.offset()),err:null}},e.prototype.parseNumberSkeletonFromString=function(t,r){var n=[];try{n=eo(t)}catch{return this.error(v.INVALID_NUMBER_SKELETON,r)}return{val:{type:Le.number,tokens:n,location:r,parsedOptions:this.shouldParseSkeletons?io(n):{}},err:null}},e.prototype.tryParsePluralOrSelectOptions=function(t,r,n,i){for(var o,a=!1,s=[],c=new Set,l=i.value,h=i.location;;){if(l.length===0){var d=this.clonePosition();if(r!=="select"&&this.bumpIf("=")){var u=this.tryParseDecimalInteger(v.EXPECT_PLURAL_ARGUMENT_SELECTOR,v.INVALID_PLURAL_ARGUMENT_SELECTOR);if(u.err)return u;h=b(d,this.clonePosition()),l=this.message.slice(d.offset,this.offset())}else break}if(c.has(l))return this.error(r==="select"?v.DUPLICATE_SELECT_ARGUMENT_SELECTOR:v.DUPLICATE_PLURAL_ARGUMENT_SELECTOR,h);l==="other"&&(a=!0),this.bumpSpace();var m=this.clonePosition();if(!this.bumpIf("{"))return this.error(r==="select"?v.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT:v.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT,b(this.clonePosition(),this.clonePosition()));var x=this.parseMessage(t+1,r,n);if(x.err)return x;var f=this.tryParseArgumentClose(m);if(f.err)return f;s.push([l,{value:x.val,location:b(m,this.clonePosition())}]),c.add(l),this.bumpSpace(),o=this.parseIdentifierIfPossible(),l=o.value,h=o.location}return s.length===0?this.error(r==="select"?v.EXPECT_SELECT_ARGUMENT_SELECTOR:v.EXPECT_PLURAL_ARGUMENT_SELECTOR,b(this.clonePosition(),this.clonePosition())):this.requiresOtherClause&&!a?this.error(v.MISSING_OTHER_CLAUSE,b(this.clonePosition(),this.clonePosition())):{val:s,err:null}},e.prototype.tryParseDecimalInteger=function(t,r){var n=1,i=this.clonePosition();this.bumpIf("+")||this.bumpIf("-")&&(n=-1);for(var o=!1,a=0;!this.isEOF();){var s=this.char();if(s>=48&&s<=57)o=!0,a=a*10+(s-48),this.bump();else break}var c=b(i,this.clonePosition());return o?(a*=n,oc(a)?{val:a,err:null}:this.error(r,c)):this.error(t,c)},e.prototype.offset=function(){return this.position.offset},e.prototype.isEOF=function(){return this.offset()===this.message.length},e.prototype.clonePosition=function(){return{offset:this.position.offset,line:this.position.line,column:this.position.column}},e.prototype.char=function(){var t=this.position.offset;if(t>=this.message.length)throw Error("out of bound");var r=co(this.message,t);if(r===void 0)throw Error("Offset "+t+" is at invalid UTF-16 code unit boundary");return r},e.prototype.error=function(t,r){return{val:null,err:{kind:t,message:this.message,location:r}}},e.prototype.bump=function(){if(!this.isEOF()){var t=this.char();t===10?(this.position.line+=1,this.position.column=1,this.position.offset+=1):(this.position.column+=1,this.position.offset+=t<65536?1:2)}},e.prototype.bumpIf=function(t){if(ao(this.message,t,this.offset())){for(var r=0;r=0?(this.bumpTo(n),!0):(this.bumpTo(this.message.length),!1)},e.prototype.bumpTo=function(t){if(this.offset()>t)throw Error("targetOffset "+t+" must be greater than or equal to the current offset "+this.offset());for(t=Math.min(t,this.message.length);;){var r=this.offset();if(r===t)break;if(r>t)throw Error("targetOffset "+t+" is at invalid UTF-16 code unit boundary");if(this.bump(),this.isEOF())break}},e.prototype.bumpSpace=function(){for(;!this.isEOF()&&uo(this.char());)this.bump()},e.prototype.peek=function(){if(this.isEOF())return null;var t=this.char(),r=this.offset(),n=this.message.charCodeAt(r+(t>=65536?2:1));return n??null},e}();function dn(e){return e>=97&&e<=122||e>=65&&e<=90}function cc(e){return dn(e)||e===47}function lc(e){return e===45||e===46||e>=48&&e<=57||e===95||e>=97&&e<=122||e>=65&&e<=90||e==183||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8255&&e<=8256||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}function uo(e){return e>=9&&e<=13||e===32||e===133||e>=8206&&e<=8207||e===8232||e===8233}function hc(e){return e>=33&&e<=35||e===36||e>=37&&e<=39||e===40||e===41||e===42||e===43||e===44||e===45||e>=46&&e<=47||e>=58&&e<=59||e>=60&&e<=62||e>=63&&e<=64||e===91||e===92||e===93||e===94||e===96||e===123||e===124||e===125||e===126||e===161||e>=162&&e<=165||e===166||e===167||e===169||e===171||e===172||e===174||e===176||e===177||e===182||e===187||e===191||e===215||e===247||e>=8208&&e<=8213||e>=8214&&e<=8215||e===8216||e===8217||e===8218||e>=8219&&e<=8220||e===8221||e===8222||e===8223||e>=8224&&e<=8231||e>=8240&&e<=8248||e===8249||e===8250||e>=8251&&e<=8254||e>=8257&&e<=8259||e===8260||e===8261||e===8262||e>=8263&&e<=8273||e===8274||e===8275||e>=8277&&e<=8286||e>=8592&&e<=8596||e>=8597&&e<=8601||e>=8602&&e<=8603||e>=8604&&e<=8607||e===8608||e>=8609&&e<=8610||e===8611||e>=8612&&e<=8613||e===8614||e>=8615&&e<=8621||e===8622||e>=8623&&e<=8653||e>=8654&&e<=8655||e>=8656&&e<=8657||e===8658||e===8659||e===8660||e>=8661&&e<=8691||e>=8692&&e<=8959||e>=8960&&e<=8967||e===8968||e===8969||e===8970||e===8971||e>=8972&&e<=8991||e>=8992&&e<=8993||e>=8994&&e<=9e3||e===9001||e===9002||e>=9003&&e<=9083||e===9084||e>=9085&&e<=9114||e>=9115&&e<=9139||e>=9140&&e<=9179||e>=9180&&e<=9185||e>=9186&&e<=9254||e>=9255&&e<=9279||e>=9280&&e<=9290||e>=9291&&e<=9311||e>=9472&&e<=9654||e===9655||e>=9656&&e<=9664||e===9665||e>=9666&&e<=9719||e>=9720&&e<=9727||e>=9728&&e<=9838||e===9839||e>=9840&&e<=10087||e===10088||e===10089||e===10090||e===10091||e===10092||e===10093||e===10094||e===10095||e===10096||e===10097||e===10098||e===10099||e===10100||e===10101||e>=10132&&e<=10175||e>=10176&&e<=10180||e===10181||e===10182||e>=10183&&e<=10213||e===10214||e===10215||e===10216||e===10217||e===10218||e===10219||e===10220||e===10221||e===10222||e===10223||e>=10224&&e<=10239||e>=10240&&e<=10495||e>=10496&&e<=10626||e===10627||e===10628||e===10629||e===10630||e===10631||e===10632||e===10633||e===10634||e===10635||e===10636||e===10637||e===10638||e===10639||e===10640||e===10641||e===10642||e===10643||e===10644||e===10645||e===10646||e===10647||e===10648||e>=10649&&e<=10711||e===10712||e===10713||e===10714||e===10715||e>=10716&&e<=10747||e===10748||e===10749||e>=10750&&e<=11007||e>=11008&&e<=11055||e>=11056&&e<=11076||e>=11077&&e<=11078||e>=11079&&e<=11084||e>=11085&&e<=11123||e>=11124&&e<=11125||e>=11126&&e<=11157||e===11158||e>=11159&&e<=11263||e>=11776&&e<=11777||e===11778||e===11779||e===11780||e===11781||e>=11782&&e<=11784||e===11785||e===11786||e===11787||e===11788||e===11789||e>=11790&&e<=11798||e===11799||e>=11800&&e<=11801||e===11802||e===11803||e===11804||e===11805||e>=11806&&e<=11807||e===11808||e===11809||e===11810||e===11811||e===11812||e===11813||e===11814||e===11815||e===11816||e===11817||e>=11818&&e<=11822||e===11823||e>=11824&&e<=11833||e>=11834&&e<=11835||e>=11836&&e<=11839||e===11840||e===11841||e===11842||e>=11843&&e<=11855||e>=11856&&e<=11857||e===11858||e>=11859&&e<=11903||e>=12289&&e<=12291||e===12296||e===12297||e===12298||e===12299||e===12300||e===12301||e===12302||e===12303||e===12304||e===12305||e>=12306&&e<=12307||e===12308||e===12309||e===12310||e===12311||e===12312||e===12313||e===12314||e===12315||e===12316||e===12317||e>=12318&&e<=12319||e===12320||e===12336||e===64830||e===64831||e>=65093&&e<=65094}function un(e){e.forEach(function(t){if(delete t.location,ir(t)||or(t))for(var r in t.options)delete t.options[r].location,un(t.options[r].value);else tr(t)&&sr(t.style)||(rr(t)||nr(t))&&St(t.style)?delete t.style.location:ar(t)&&un(t.children)})}function mo(e,t){t===void 0&&(t={}),t=S({shouldParseSkeletons:!0,requiresOtherClause:!0},t);var r=new ho(e,t).parse();if(r.err){var n=SyntaxError(v[r.err.kind]);throw n.location=r.err.location,n.originalMessage=r.err.message,n}return t?.captureLocation||un(r.val),r.val}function yt(e,t){var r=t&&t.cache?t.cache:gc,n=t&&t.serializer?t.serializer:fc,i=t&&t.strategy?t.strategy:uc;return i(e,{cache:r,serializer:n})}function dc(e){return e==null||typeof e=="number"||typeof e=="boolean"}function po(e,t,r,n){var i=dc(n)?n:r(n),o=t.get(i);return typeof o>"u"&&(o=e.call(this,n),t.set(i,o)),o}function fo(e,t,r){var n=Array.prototype.slice.call(arguments,3),i=r(n),o=t.get(i);return typeof o>"u"&&(o=e.apply(this,n),t.set(i,o)),o}function mn(e,t,r,n,i){return r.bind(t,e,n,i)}function uc(e,t){var r=e.length===1?po:fo;return mn(e,this,r,t.cache.create(),t.serializer)}function mc(e,t){return mn(e,this,fo,t.cache.create(),t.serializer)}function pc(e,t){return mn(e,this,po,t.cache.create(),t.serializer)}var fc=function(){return JSON.stringify(arguments)};function pn(){this.cache=Object.create(null)}pn.prototype.get=function(e){return this.cache[e]};pn.prototype.set=function(e,t){this.cache[e]=t};var gc={create:function(){return new pn}},cr={variadic:mc,monadic:pc};var _e;(function(e){e.MISSING_VALUE="MISSING_VALUE",e.INVALID_VALUE="INVALID_VALUE",e.MISSING_INTL_API="MISSING_INTL_API"})(_e||(_e={}));var Tt=function(e){Et(t,e);function t(r,n,i){var o=e.call(this,r)||this;return o.code=n,o.originalMessage=i,o}return t.prototype.toString=function(){return"[formatjs Error: "+this.code+"] "+this.message},t}(Error);var fn=function(e){Et(t,e);function t(r,n,i,o){return e.call(this,'Invalid values for "'+r+'": "'+n+'". Options are "'+Object.keys(i).join('", "')+'"',_e.INVALID_VALUE,o)||this}return t}(Tt);var go=function(e){Et(t,e);function t(r,n,i){return e.call(this,'Value for "'+r+'" must be of type '+n,_e.INVALID_VALUE,i)||this}return t}(Tt);var xo=function(e){Et(t,e);function t(r,n){return e.call(this,'The intl string context variable "'+r+'" was not provided to the string "'+n+'"',_e.MISSING_VALUE,n)||this}return t}(Tt);var z;(function(e){e[e.literal=0]="literal",e[e.object=1]="object"})(z||(z={}));function xc(e){return e.length<2?e:e.reduce(function(t,r){var n=t[t.length-1];return!n||n.type!==z.literal||r.type!==z.literal?t.push(r):n.value+=r.value,t},[])}function vc(e){return typeof e=="function"}function Lt(e,t,r,n,i,o,a){if(e.length===1&&nn(e[0]))return[{type:z.literal,value:e[0].value}];for(var s=[],c=0,l=e;c0?e.substring(0,n):"";let i=Ao(e.split("").reverse().join("")),o=r-i,a=e.substring(o,o+1),s=o+(a==="."||a===","?1:0);t.suffix=i>0?e.substring(s,r):"",t.mask=e.substring(n,s),t.maskHasNegativeSign=t.mask.charAt(0)==="-",t.maskHasPositiveSign=t.mask.charAt(0)==="+";let c=t.mask.match(yc);return t.decimal=c&&c[c.length-1]||".",t.separator=c&&c[1]&&c[0]||",",c=t.mask.split(t.decimal),t.integer=c[0],t.fraction=c[1],t}function Lc(e,t,r){let n=!1,i={value:e};e<0&&(n=!0,i.value=-i.value),i.sign=n?"-":"",i.value=Number(i.value).toFixed(t.fraction&&t.fraction.length),i.value=Number(i.value).toString();let o=t.fraction&&t.fraction.lastIndexOf("0"),[a="0",s=""]=i.value.split(".");return(!s||s&&s.length<=o)&&(s=o<0?"":(+("0."+s)).toFixed(o+1).replace("0.","")),i.integer=a,i.fraction=s,_c(i,t),(i.result==="0"||i.result==="")&&(n=!1,i.sign=""),!n&&t.maskHasPositiveSign?i.sign="+":n&&t.maskHasPositiveSign?i.sign="-":n&&(i.sign=r&&r.enforceMaskSign&&!t.maskHasNegativeSign?"":"-"),i}function _c(e,t){e.result="";let r=t.integer.split(t.separator),n=r.join(""),i=n&&n.indexOf("0");if(i>-1)for(;e.integer.lengthMath.round(e*20)/20},xn=(e,t)=>({accept:e,round:t}),Ic=[xn(({divisor:e,price:t})=>t%e==0,({divisor:e,price:t})=>t/e),xn(({usePrecision:e})=>e,({divisor:e,price:t})=>Math.ceil(Math.floor(t*1e4/e)/100)/100),xn(()=>!0,({divisor:e,price:t})=>Math.ceil(Math.floor(t*100/e)/100))],vn={[$.YEAR]:{[k.MONTHLY]:_t.MONTH,[k.ANNUAL]:_t.YEAR},[$.MONTH]:{[k.MONTHLY]:_t.MONTH}},kc=(e,t)=>e.indexOf(`'${t}'`)===0,Oc=(e,t=!0)=>{let r=e.replace(/'.*?'/,"").trim(),n=wo(r);return!!n?t||(r=r.replace(/[,\.]0+/,n)):r=r.replace(/\s?(#.*0)(?!\s)?/,"$&"+Vc(e)),r},Rc=e=>{let t=$c(e),r=kc(e,t),n=e.replace(/'.*?'/,""),i=To.test(n)||Lo.test(n);return{currencySymbol:t,isCurrencyFirst:r,hasCurrencySpace:i}},_o=e=>e.replace(To,yo).replace(Lo,yo),Vc=e=>e.match(/#(.?)#/)?.[1]===So?Pc:So,$c=e=>e.match(/'(.*?)'/)?.[1]??"",wo=e=>e.match(/0(.?)0/)?.[1]??"";function lr({formatString:e,price:t,usePrecision:r,isIndianPrice:n=!1},i,o=a=>a){let{currencySymbol:a,isCurrencyFirst:s,hasCurrencySpace:c}=Rc(e),l=r?wo(e):"",h=Oc(e,r),d=r?2:0,u=o(t,{currencySymbol:a}),m=n?u.toLocaleString("hi-IN",{minimumFractionDigits:d,maximumFractionDigits:d}):Eo(h,u),x=r?m.lastIndexOf(l):m.length,f=m.substring(0,x),_=m.substring(x+1);return{accessiblePrice:e.replace(/'.*?'/,"SYMBOL").replace(/#.*0/,m).replace(/SYMBOL/,a),currencySymbol:a,decimals:_,decimalsDelimiter:l,hasCurrencySpace:c,integer:f,isCurrencyFirst:s,recurrenceTerm:i}}var Po=e=>{let{commitment:t,term:r,usePrecision:n}=e,i=Cc[r]??1;return lr(e,i>1?_t.MONTH:vn[t]?.[r],(o,{currencySymbol:a})=>{let s={divisor:i,price:o,usePrecision:n},{round:c}=Ic.find(({accept:h})=>h(s));if(!c)throw new Error(`Missing rounding rule for: ${JSON.stringify(s)}`);return(Nc[a]??(h=>h))(c(s))})},Co=({commitment:e,term:t,...r})=>lr(r,vn[e]?.[t]),No=e=>{let{commitment:t,term:r}=e;return t===$.YEAR&&r===k.MONTHLY?lr(e,_t.YEAR,n=>n*12):lr(e,vn[t]?.[r])};var Mc={recurrenceLabel:"{recurrenceTerm, select, MONTH {/mo} YEAR {/yr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per month} YEAR {per year} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per license} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per license} other {}}",freeLabel:"Free",freeAriaLabel:"Free",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternatively at {alternativePrice}",strikethroughAriaLabel:"Regularly at {strikethroughPrice}"},Uc=Fi("ConsonantTemplates/price"),Dc=/<.+?>/g,H={container:"price",containerOptical:"price-optical",containerStrikethrough:"price-strikethrough",containerAnnual:"price-annual",containerAnnualPrefix:"price-annual-prefix",containerAnnualSuffix:"price-annual-suffix",disabled:"disabled",currencySpace:"price-currency-space",currencySymbol:"price-currency-symbol",decimals:"price-decimals",decimalsDelimiter:"price-decimals-delimiter",integer:"price-integer",recurrence:"price-recurrence",taxInclusivity:"price-tax-inclusivity",unitType:"price-unit-type"},we={perUnitLabel:"perUnitLabel",perUnitAriaLabel:"perUnitAriaLabel",recurrenceLabel:"recurrenceLabel",recurrenceAriaLabel:"recurrenceAriaLabel",taxExclusiveLabel:"taxExclusiveLabel",taxInclusiveLabel:"taxInclusiveLabel",strikethroughAriaLabel:"strikethroughAriaLabel"},Gc="TAX_EXCLUSIVE",Hc=e=>zi(e)?Object.entries(e).filter(([,t])=>Ke(t)||Zt(t)||t===!0).reduce((t,[r,n])=>t+` ${r}${n===!0?"":'="'+Gi(n)+'"'}`,""):"",B=(e,t,r,n=!1)=>`${n?_o(t):t??""}`;function zc(e,{accessibleLabel:t,currencySymbol:r,decimals:n,decimalsDelimiter:i,hasCurrencySpace:o,integer:a,isCurrencyFirst:s,recurrenceLabel:c,perUnitLabel:l,taxInclusivityLabel:h},d={}){let u=B(H.currencySymbol,r),m=B(H.currencySpace,o?" ":""),x="";return s&&(x+=u+m),x+=B(H.integer,a),x+=B(H.decimalsDelimiter,i),x+=B(H.decimals,n),s||(x+=m+u),x+=B(H.recurrence,c,null,!0),x+=B(H.unitType,l,null,!0),x+=B(H.taxInclusivity,h,!0),B(e,x,{...d,"aria-label":t})}var Y=({displayOptical:e=!1,displayStrikethrough:t=!1,displayAnnual:r=!1}={})=>({country:n,displayFormatted:i=!0,displayRecurrence:o=!0,displayPerUnit:a=!1,displayTax:s=!1,language:c,literals:l={}}={},{commitment:h,formatString:d,price:u,priceWithoutDiscount:m,taxDisplay:x,taxTerm:f,term:_,usePrecision:N}={},A={})=>{Object.entries({country:n,formatString:d,language:c,price:u}).forEach(([oe,Vr])=>{if(Vr==null)throw new Error(`Argument "${oe}" is missing`)});let T={...Mc,...l},V=`${c.toLowerCase()}-${n.toUpperCase()}`;function L(oe,Vr){let $r=T[oe];if($r==null)return"";try{return new bo($r.replace(Dc,""),V).format(Vr)}catch{return Uc.error("Failed to format literal:",$r),""}}let K=t&&m?m:u,F=e?Po:Co;r&&(F=No);let{accessiblePrice:ue,recurrenceTerm:me,...Ge}=F({commitment:h,formatString:d,term:_,price:e?u:K,usePrecision:N,isIndianPrice:n==="IN"}),J=ue,ye="";if(E(o)&&me){let oe=L(we.recurrenceAriaLabel,{recurrenceTerm:me});oe&&(J+=" "+oe),ye=L(we.recurrenceLabel,{recurrenceTerm:me})}let pe="";if(E(a)){pe=L(we.perUnitLabel,{perUnit:"LICENSE"});let oe=L(we.perUnitAriaLabel,{perUnit:"LICENSE"});oe&&(J+=" "+oe)}let W="";E(s)&&f&&(W=L(x===Gc?we.taxExclusiveLabel:we.taxInclusiveLabel,{taxTerm:f}),W&&(J+=" "+W)),t&&(J=L(we.strikethroughAriaLabel,{strikethroughPrice:J}));let Q=H.container;if(e&&(Q+=" "+H.containerOptical),t&&(Q+=" "+H.containerStrikethrough),r&&(Q+=" "+H.containerAnnual),E(i))return zc(Q,{...Ge,accessibleLabel:J,recurrenceLabel:ye,perUnitLabel:pe,taxInclusivityLabel:W},A);let{currencySymbol:jt,decimals:ss,decimalsDelimiter:cs,hasCurrencySpace:Ri,integer:ls,isCurrencyFirst:hs}=Ge,He=[ls,cs,ss];hs?(He.unshift(Ri?"\xA0":""),He.unshift(jt)):(He.push(Ri?"\xA0":""),He.push(jt)),He.push(ye,pe,W);let ds=He.join("");return B(Q,ds,A)},Io=()=>(e,t,r)=>{let i=(e.displayOldPrice===void 0||E(e.displayOldPrice))&&t.priceWithoutDiscount&&t.priceWithoutDiscount!=t.price;return`${Y()(e,t,r)}${i?" "+Y({displayStrikethrough:!0})(e,t,r):""}`},ko=()=>(e,t,r)=>{let n={...e,displayTax:!1,displayPerUnit:!1};return`${(e.displayOldPrice===void 0||E(e.displayOldPrice))&&t.priceWithoutDiscount&&t.priceWithoutDiscount!=t.price?Y({displayStrikethrough:!0})(n,t,r)+" ":""}${Y()(e,t,r)}${B(H.containerAnnualPrefix," (")}${Y({displayAnnual:!0})(n,t,r)}${B(H.containerAnnualSuffix,")")}`},Oo=()=>(e,t,r)=>{let n={...e,displayTax:!1,displayPerUnit:!1};return`${Y()(e,t,r)}${B(H.containerAnnualPrefix," (")}${Y({displayAnnual:!0})(n,t,r)}${B(H.containerAnnualSuffix,")")}`};var bn=Y(),An=Io(),En=Y({displayOptical:!0}),Sn=Y({displayStrikethrough:!0}),yn=Y({displayAnnual:!0}),Tn=Oo(),Ln=ko();var Fc=(e,t)=>{if(!(!je(e)||!je(t)))return Math.floor((t-e)/t*100)},Ro=()=>(e,t,r)=>{let{price:n,priceWithoutDiscount:i}=t,o=Fc(n,i);return o===void 0?'':`${o}%`};var _n=Ro();var{freeze:wt}=Object,ee=wt({...Te}),te=wt({...q}),Pe={STAGE:"STAGE",PRODUCTION:"PRODUCTION",LOCAL:"LOCAL"},wn=wt({...$}),Pn=wt({...Bi}),Cn=wt({...k});var zn={};bs(zn,{CLASS_NAME_FAILED:()=>Nn,CLASS_NAME_PENDING:()=>In,CLASS_NAME_RESOLVED:()=>kn,ERROR_MESSAGE_BAD_REQUEST:()=>hr,ERROR_MESSAGE_MISSING_LITERALS_URL:()=>Kc,ERROR_MESSAGE_OFFER_NOT_FOUND:()=>On,EVENT_TYPE_ERROR:()=>Bc,EVENT_TYPE_FAILED:()=>Rn,EVENT_TYPE_PENDING:()=>Vn,EVENT_TYPE_READY:()=>We,EVENT_TYPE_RESOLVED:()=>$n,LOG_NAMESPACE:()=>Mn,Landscape:()=>Ce,PARAM_AOS_API_KEY:()=>jc,PARAM_ENV:()=>Un,PARAM_LANDSCAPE:()=>Dn,PARAM_WCS_API_KEY:()=>Yc,STATE_FAILED:()=>ae,STATE_PENDING:()=>se,STATE_RESOLVED:()=>ce,WCS_PROD_URL:()=>Gn,WCS_STAGE_URL:()=>Hn});var Nn="placeholder-failed",In="placeholder-pending",kn="placeholder-resolved",hr="Bad WCS request",On="Commerce offer not found",Kc="Literals URL not provided",Bc="mas:error",Rn="mas:failed",Vn="mas:pending",We="mas:ready",$n="mas:resolved",Mn="mas/commerce",Un="commerce.env",Dn="commerce.landscape",jc="commerce.aosKey",Yc="commerce.wcsKey",Gn="https://www.adobe.com/web_commerce_artifact",Hn="https://www.stage.adobe.com/web_commerce_artifact_stage",ae="failed",se="pending",ce="resolved",Ce={DRAFT:"DRAFT",PUBLISHED:"PUBLISHED"};var Vo="mas-commerce-service";function $o(e,{once:t=!1}={}){let r=null;function n(){let i=document.querySelector(Vo);i!==r&&(r=i,i&&e(i))}return document.addEventListener(We,n,{once:t}),xe(n),()=>document.removeEventListener(We,n)}function Pt(e,{country:t,forceTaxExclusive:r,perpetual:n}){let i;if(e.length<2)i=e;else{let o=t==="GB"||n?"EN":"MULT",[a,s]=e;i=[a.language===o?a:s]}return r&&(i=i.map(tn)),i}var xe=e=>window.setTimeout(e);function qe(e,t=1){if(e==null)return[t];let r=(Array.isArray(e)?e:String(e).split(",")).map(Xe).filter(je);return r.length||(r=[t]),r}function dr(e){return e==null?[]:(Array.isArray(e)?e:String(e).split(",")).filter(Xr)}function X(){return document.getElementsByTagName(Vo)?.[0]}var Xc={[ae]:Nn,[se]:In,[ce]:kn},Wc={[ae]:Rn,[se]:Vn,[ce]:$n},Ze=class{constructor(t){p(this,"changes",new Map);p(this,"connected",!1);p(this,"dispose",Be);p(this,"error");p(this,"log");p(this,"options");p(this,"promises",[]);p(this,"state",se);p(this,"timer",null);p(this,"value");p(this,"version",0);p(this,"wrapperElement");this.wrapperElement=t}update(){[ae,se,ce].forEach(t=>{this.wrapperElement.classList.toggle(Xc[t],t===this.state)})}notify(){(this.state===ce||this.state===ae)&&(this.state===ce?this.promises.forEach(({resolve:t})=>t(this.wrapperElement)):this.state===ae&&this.promises.forEach(({reject:t})=>t(this.error)),this.promises=[]),this.wrapperElement.dispatchEvent(new CustomEvent(Wc[this.state],{bubbles:!0}))}attributeChangedCallback(t,r,n){this.changes.set(t,n),this.requestUpdate()}connectedCallback(){this.dispose=$o(()=>this.requestUpdate(!0))}disconnectedCallback(){this.connected&&(this.connected=!1,this.log?.debug("Disconnected:",{element:this.wrapperElement})),this.dispose(),this.dispose=Be}onceSettled(){let{error:t,promises:r,state:n}=this;return ce===n?Promise.resolve(this.wrapperElement):ae===n?Promise.reject(t):new Promise((i,o)=>{r.push({resolve:i,reject:o})})}toggleResolved(t,r,n){return t!==this.version?!1:(n!==void 0&&(this.options=n),this.state=ce,this.value=r,this.update(),this.log?.debug("Resolved:",{element:this.wrapperElement,value:r}),xe(()=>this.notify()),!0)}toggleFailed(t,r,n){return t!==this.version?!1:(n!==void 0&&(this.options=n),this.error=r,this.state=ae,this.update(),this.log?.error("Failed:",{element:this.wrapperElement,error:r}),xe(()=>this.notify()),!0)}togglePending(t){return this.version++,t&&(this.options=t),this.state=se,this.update(),xe(()=>this.notify()),this.version}requestUpdate(t=!1){if(!this.wrapperElement.isConnected||!X()||this.timer)return;let{error:r,options:n,state:i,value:o,version:a}=this;this.state=se,this.timer=xe(async()=>{this.timer=null;let s=null;if(this.changes.size&&(s=Object.fromEntries(this.changes.entries()),this.changes.clear()),this.connected?this.log?.debug("Updated:",{element:this.wrapperElement,changes:s}):(this.connected=!0,this.log?.debug("Connected:",{element:this.wrapperElement,changes:s})),s||t)try{await this.wrapperElement.render?.()===!1&&this.state===se&&this.version===a&&(this.state=i,this.error=r,this.value=o,this.update(),this.notify())}catch(c){this.toggleFailed(this.version,c,n)}})}};function Mo(e={}){return Object.entries(e).forEach(([t,r])=>{(r==null||r===""||r?.length===0)&&delete e[t]}),e}function ur(e,t={}){let{tag:r,is:n}=e,i=document.createElement(r,{is:n});return i.setAttribute("is",n),Object.assign(i.dataset,Mo(t)),i}function mr(e,t={}){return e instanceof HTMLElement?(Object.assign(e.dataset,Mo(t)),e):null}var qc="download",Zc="upgrade",Ne,Ct=class Ct extends HTMLAnchorElement{constructor(){super();j(this,Ne);p(this,"masElement",new Ze(this));this.handleClick=this.handleClick.bind(this)}attributeChangedCallback(r,n,i){this.masElement.attributeChangedCallback(r,n,i)}connectedCallback(){this.masElement.connectedCallback(),this.addEventListener("click",this.handleClick)}disconnectedCallback(){this.masElement.disconnectedCallback(),this.removeEventListener("click",this.handleClick)}onceSettled(){return this.masElement.onceSettled()}get value(){return this.masElement.value}get options(){return this.masElement.options}requestUpdate(r=!1){return this.masElement.requestUpdate(r)}static get observedAttributes(){return["data-checkout-workflow","data-checkout-workflow-step","data-extra-options","data-ims-country","data-perpetual","data-promotion-code","data-quantity","data-template","data-wcs-osi","data-entitlement","data-upgrade","data-modal"]}static createCheckoutLink(r={},n=""){let i=X();if(!i)return null;let{checkoutMarketSegment:o,checkoutWorkflow:a,checkoutWorkflowStep:s,entitlement:c,upgrade:l,modal:h,perpetual:d,promotionCode:u,quantity:m,wcsOsi:x,extraOptions:f}=i.collectCheckoutOptions(r),_=ur(Ct,{checkoutMarketSegment:o,checkoutWorkflow:a,checkoutWorkflowStep:s,entitlement:c,upgrade:l,modal:h,perpetual:d,promotionCode:u,quantity:m,wcsOsi:x,extraOptions:f});return n&&(_.innerHTML=`${n}`),_}get isCheckoutLink(){return!0}handleClick(r){var n;if(r.target!==this){r.preventDefault(),r.stopImmediatePropagation(),this.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window}));return}(n=M(this,Ne))==null||n.call(this,r)}async render(r={}){if(!this.isConnected)return!1;let n=X();if(!n)return!1;this.dataset.imsCountry||n.imsCountryPromise.then(h=>{h&&(this.dataset.imsCountry=h)},Be),r.imsCountry=null;let i=n.collectCheckoutOptions(r,this);if(!i.wcsOsi.length)return!1;let o;try{o=JSON.parse(i.extraOptions??"{}")}catch(h){this.masElement.log?.error("cannot parse exta checkout options",h)}let a=this.masElement.togglePending(i);this.href="";let s=n.resolveOfferSelectors(i),c=await Promise.all(s);c=c.map(h=>Pt(h,i)),i.country=this.dataset.imsCountry||i.country;let l=await n.buildCheckoutAction?.(c.flat(),{...o,...i},this);return this.renderOffers(c.flat(),i,{},l,a)}renderOffers(r,n,i={},o=void 0,a=void 0){if(!this.isConnected)return!1;let s=X();if(!s)return!1;if(n={...JSON.parse(this.dataset.extraOptions??"null"),...n,...i},a??(a=this.masElement.togglePending(n)),M(this,Ne)&&fe(this,Ne,void 0),o){this.classList.remove(qc,Zc),this.masElement.toggleResolved(a,r,n);let{url:l,text:h,className:d,handler:u}=o;return l&&(this.href=l),h&&(this.firstElementChild.innerHTML=h),d&&this.classList.add(...d.split(" ")),u&&(this.setAttribute("href","#"),fe(this,Ne,u.bind(this))),!0}else if(r.length){if(this.masElement.toggleResolved(a,r,n)){let l=s.buildCheckoutURL(r,n);return this.setAttribute("href",l),!0}}else{let l=new Error(`Not provided: ${n?.wcsOsi??"-"}`);if(this.masElement.toggleFailed(a,l,n))return this.setAttribute("href","#"),!0}}updateOptions(r={}){let n=X();if(!n)return!1;let{checkoutMarketSegment:i,checkoutWorkflow:o,checkoutWorkflowStep:a,entitlement:s,upgrade:c,modal:l,perpetual:h,promotionCode:d,quantity:u,wcsOsi:m}=n.collectCheckoutOptions(r);return mr(this,{checkoutMarketSegment:i,checkoutWorkflow:o,checkoutWorkflowStep:a,entitlement:s,upgrade:c,modal:l,perpetual:h,promotionCode:d,quantity:u,wcsOsi:m}),!0}};Ne=new WeakMap,p(Ct,"is","checkout-link"),p(Ct,"tag","a");var re=Ct;window.customElements.get(re.is)||window.customElements.define(re.is,re,{extends:re.tag});var y=Object.freeze({checkoutClientId:"adobe_com",checkoutWorkflow:ee.V3,checkoutWorkflowStep:te.EMAIL,country:"US",displayOldPrice:!0,displayPerUnit:!1,displayRecurrence:!0,displayTax:!1,env:Pe.PRODUCTION,forceTaxExclusive:!1,language:"en",entitlement:!1,extraOptions:{},modal:!1,promotionCode:"",quantity:1,wcsApiKey:"wcms-commerce-ims-ro-user-milo",wcsBufferDelay:1,wcsURL:"https://www.adobe.com/web_commerce_artifact",landscape:Ce.PUBLISHED,wcsBufferLimit:1});function Uo({providers:e,settings:t}){function r(o,a){let{checkoutClientId:s,checkoutWorkflow:c,checkoutWorkflowStep:l,country:h,language:d,promotionCode:u,quantity:m}=t,{checkoutMarketSegment:x,checkoutWorkflow:f=c,checkoutWorkflowStep:_=l,imsCountry:N,country:A=N??h,language:T=d,quantity:V=m,entitlement:L,upgrade:K,modal:F,perpetual:ue,promotionCode:me=u,wcsOsi:Ge,extraOptions:J,...ye}=Object.assign({},a?.dataset??{},o??{}),pe=ge(f,ee,y.checkoutWorkflow),W=te.CHECKOUT;pe===ee.V3&&(W=ge(_,te,y.checkoutWorkflowStep));let Q=Ye({...ye,extraOptions:J,checkoutClientId:s,checkoutMarketSegment:x,country:A,quantity:qe(V,y.quantity),checkoutWorkflow:pe,checkoutWorkflowStep:W,language:T,entitlement:E(L),upgrade:E(K),modal:E(F),perpetual:E(ue),promotionCode:At(me).effectivePromoCode,wcsOsi:dr(Ge)});if(a)for(let jt of e.checkout)jt(a,Q);return Q}function n(o,a){if(!Array.isArray(o)||!o.length||!a)return"";let{env:s,landscape:c}=t,{checkoutClientId:l,checkoutMarketSegment:h,checkoutWorkflow:d,checkoutWorkflowStep:u,country:m,promotionCode:x,quantity:f,..._}=r(a),N=window.frameElement?"if":"fp",A={checkoutPromoCode:x,clientId:l,context:N,country:m,env:s,items:[],marketSegment:h,workflowStep:u,landscape:c,..._};if(o.length===1){let[{offerId:T,offerType:V,productArrangementCode:L}]=o,{marketSegments:[K]}=o[0];Object.assign(A,{marketSegment:K,offerType:V,productArrangementCode:L}),A.items.push(f[0]===1?{id:T}:{id:T,quantity:f[0]})}else A.items.push(...o.map(({offerId:T},V)=>({id:T,quantity:f[V]??y.quantity})));return zr(d,A)}let{createCheckoutLink:i}=re;return{CheckoutLink:re,CheckoutWorkflow:ee,CheckoutWorkflowStep:te,buildCheckoutURL:n,collectCheckoutOptions:r,createCheckoutLink:i}}var Fn={clientId:"merch-at-scale",delimiter:"\xB6",ignoredProperties:["analytics","literals"],serializableTypes:["Array","Object"],sampleRate:30,tags:"consumer=milo/commerce"},Do=new Set,Jc=e=>e instanceof Error||typeof e.originatingRequest=="string";function Go(e){if(e==null)return;let t=typeof e;if(t==="function"){let{name:r}=e;return r?`${t} ${r}`:t}if(t==="object"){if(e instanceof Error)return e.message;if(typeof e.originatingRequest=="string"){let{message:n,originatingRequest:i,status:o}=e;return[n,o,i].filter(a=>a).join(" ")}let r=e[Symbol.toStringTag]??Object.getPrototypeOf(e).constructor.name;if(!Fn.serializableTypes.includes(r))return r}return e}function Qc(e,t){if(!Fn.ignoredProperties.includes(e))return Go(t)}var Kn={append(e){let{delimiter:t,sampleRate:r,tags:n,clientId:i}=Fn,{message:o,params:a}=e,s=[],c=o,l=[];a.forEach(u=>{u!=null&&(Jc(u)?s:l).push(u)}),s.length&&(c+=" ",c+=s.map(Go).join(" "));let{pathname:h,search:d}=window.location;c+=`${t}page=`,c+=h+d,l.length&&(c+=`${t}facts=`,c+=JSON.stringify(l,Qc)),Do.has(c)||(Do.add(c),window.lana?.log(c,{sampleRate:r,tags:n,clientId:i}))}};var Bn=Object.freeze({LOCAL:"local",PROD:"prod",STAGE:"stage"});function el({locale:e=void 0,country:t=void 0,language:r=void 0}={}){return r??(r=e?.split("_")?.[0]||y.language),t??(t=e?.split("_")?.[1]||y.country),e??(e=`${r}_${t}`),{locale:e,country:t,language:r}}function jn(e={}){let{commerce:t={}}=e,r=Pe.PRODUCTION,n=Gn,i=O("checkoutClientId",t)??y.checkoutClientId,o=ge(O("checkoutWorkflow",t),ee,y.checkoutWorkflow),a=te.CHECKOUT;o===ee.V3&&(a=ge(O("checkoutWorkflowStep",t),te,y.checkoutWorkflowStep));let s=E(O("displayOldPrice",t),y.displayOldPrice),c=E(O("displayPerUnit",t),y.displayPerUnit),l=E(O("displayRecurrence",t),y.displayRecurrence),h=E(O("displayTax",t),y.displayTax),d=E(O("entitlement",t),y.entitlement),u=E(O("modal",t),y.modal),m=E(O("forceTaxExclusive",t),y.forceTaxExclusive),x=O("promotionCode",t)??y.promotionCode,f=qe(O("quantity",t)),_=O("wcsApiKey",t)??y.wcsApiKey,N=t?.env==="stage",A=Ce.PUBLISHED;["true",""].includes(t.allowOverride)&&(N=(O(Un,t,{metadata:!1})?.toLowerCase()??t?.env)==="stage",A=ge(O(Dn,t),Ce,A)),N&&(r=Pe.STAGE,n=Hn);let V=Xe(O("wcsBufferDelay",t),y.wcsBufferDelay),L=Xe(O("wcsBufferLimit",t),y.wcsBufferLimit);return{...el(e),displayOldPrice:s,checkoutClientId:i,checkoutWorkflow:o,checkoutWorkflowStep:a,displayPerUnit:c,displayRecurrence:l,displayTax:h,entitlement:d,extraOptions:y.extraOptions,modal:u,env:r,forceTaxExclusive:m,promotionCode:x,quantity:f,wcsApiKey:_,wcsBufferDelay:V,wcsBufferLimit:L,wcsURL:n,landscape:A}}var zo="debug",tl="error",rl="info",nl="warn",il=Date.now(),Yn=new Set,Xn=new Set,Ho=new Map,Nt=Object.freeze({DEBUG:zo,ERROR:tl,INFO:rl,WARN:nl}),Fo={append({level:e,message:t,params:r,timestamp:n,source:i}){console[e](`${n}ms [${i}] %c${t}`,"font-weight: bold;",...r)}},Ko={filter:({level:e})=>e!==zo},ol={filter:()=>!1};function al(e,t,r,n,i){return{level:e,message:t,namespace:r,get params(){if(n.length===1){let[o]=n;bt(o)&&(n=o(),Array.isArray(n)||(n=[n]))}return n},source:i,timestamp:Date.now()-il}}function sl(e){[...Xn].every(t=>t(e))&&Yn.forEach(t=>t(e))}function Bo(e){let t=(Ho.get(e)??0)+1;Ho.set(e,t);let r=`${e} #${t}`,n=o=>(a,...s)=>sl(al(o,a,e,s,r)),i=Object.seal({id:r,namespace:e,module(o){return Bo(`${i.namespace}/${o}`)},debug:n(Nt.DEBUG),error:n(Nt.ERROR),info:n(Nt.INFO),warn:n(Nt.WARN)});return i}function pr(...e){e.forEach(t=>{let{append:r,filter:n}=t;bt(n)?Xn.add(n):bt(r)&&Yn.add(r)})}function cl(e={}){let{name:t}=e,r=E(O("commerce.debug",{search:!0,storage:!0}),t===Bn.LOCAL);return pr(r?Fo:Ko),t===Bn.PROD&&pr(Kn),Z}function ll(){Yn.clear(),Xn.clear()}var Z={...Bo(Mn),Level:Nt,Plugins:{consoleAppender:Fo,debugFilter:Ko,quietFilter:ol,lanaAppender:Kn},init:cl,reset:ll,use:pr};function hl({interval:e=200,maxAttempts:t=25}={}){let r=Z.module("ims");return new Promise(n=>{r.debug("Waing for IMS to be ready");let i=0;function o(){window.adobeIMS?.initialized?n():++i>t?(r.debug("Timeout"),n()):setTimeout(o,e)}o()})}function dl(e){return e.then(()=>window.adobeIMS?.isSignedInUser()??!1)}function ul(e){let t=Z.module("ims");return e.then(r=>r?window.adobeIMS.getProfile().then(({countryCode:n})=>(t.debug("Got user country:",n),n),n=>{t.error("Unable to get user country:",n)}):null)}function jo({}){let e=hl(),t=dl(e),r=ul(t);return{imsReadyPromise:e,imsSignedInPromise:t,imsCountryPromise:r}}async function Xo(e,t){let{data:r}=t||await Promise.resolve().then(()=>Es(Yo(),1));if(Array.isArray(r)){let n=o=>r.find(a=>qt(a.lang,o)),i=n(e.language)??n(y.language);if(i)return Object.freeze(i)}return{}}var Wo=["GB_en","AU_en","FR_fr","AT_de","BE_en","BE_fr","BE_nl","BG_bg","CH_de","CH_fr","CH_it","CZ_cs","DE_de","DK_da","EE_et","EG_ar","EG_en","ES_es","FI_fi","FR_fr","GR_el","GR_en","HU_hu","IE_en","IT_it","LU_de","LU_en","LU_fr","NL_nl","NO_nb","PL_pl","PT_pt","RO_ro","SE_sv","SI_sl","SK_sk","TR_tr","UA_uk","ID_en","ID_in","IN_en","IN_hi","JP_ja","MY_en","MY_ms","NZ_en","TH_en","TH_th"],pl={INDIVIDUAL_COM:["ZA_en","LT_lt","LV_lv","NG_en","SA_ar","SA_en","ZA_en","SG_en","KR_ko"],TEAM_COM:["ZA_en","LT_lt","LV_lv","NG_en","ZA_en","CO_es","KR_ko"],INDIVIDUAL_EDU:["LT_lt","LV_lv","SA_en","SG_en"],TEAM_EDU:["SG_en","KR_ko"]},It=class It extends HTMLSpanElement{constructor(){super();p(this,"masElement",new Ze(this));this.handleClick=this.handleClick.bind(this)}static get observedAttributes(){return["data-display-old-price","data-display-per-unit","data-display-recurrence","data-display-tax","data-perpetual","data-promotion-code","data-tax-exclusive","data-template","data-wcs-osi"]}static createInlinePrice(r){let n=X();if(!n)return null;let{displayOldPrice:i,displayPerUnit:o,displayRecurrence:a,displayTax:s,forceTaxExclusive:c,perpetual:l,promotionCode:h,quantity:d,template:u,wcsOsi:m}=n.collectPriceOptions(r);return ur(It,{displayOldPrice:i,displayPerUnit:o,displayRecurrence:a,displayTax:s,forceTaxExclusive:c,perpetual:l,promotionCode:h,quantity:d,template:u,wcsOsi:m})}get isInlinePrice(){return!0}attributeChangedCallback(r,n,i){this.masElement.attributeChangedCallback(r,n,i)}connectedCallback(){this.masElement.connectedCallback(),this.addEventListener("click",this.handleClick)}disconnectedCallback(){this.masElement.disconnectedCallback(),this.removeEventListener("click",this.handleClick)}handleClick(r){r.target!==this&&(r.stopImmediatePropagation(),this.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window})))}onceSettled(){return this.masElement.onceSettled()}get value(){return this.masElement.value}requestUpdate(r=!1){return this.masElement.requestUpdate(r)}resolveDisplayTaxForGeoAndSegment(r,n,i,o){let a=`${r}_${n}`;if(Wo.includes(r)||Wo.includes(a))return!0;let s=pl[`${i}_${o}`];return s?!!(s.includes(r)||s.includes(a)):!1}async resolveDisplayTax(r,n){let[i]=await r.resolveOfferSelectors(n),o=Pt(await i,n);if(o?.length){let{country:a,language:s}=n,c=o[0],[l=""]=c.marketSegments;return this.resolveDisplayTaxForGeoAndSegment(a,s,c.customerSegment,l)}}async render(r={}){if(!this.isConnected)return!1;let n=X();if(!n)return!1;let i=n.collectPriceOptions(r,this);if(!i.wcsOsi.length)return!1;let o=this.masElement.togglePending(i);this.innerHTML="";let[a]=n.resolveOfferSelectors(i);return this.renderOffers(Pt(await a,i),i,o)}renderOffers(r,n={},i=void 0){if(!this.isConnected)return;let o=X();if(!o)return!1;let a=o.collectPriceOptions({...this.dataset,...n},this);if(i??(i=this.masElement.togglePending(a)),r.length){if(this.masElement.toggleResolved(i,r,a))return this.innerHTML=o.buildPriceHTML(r,a),!0}else{let s=new Error(`Not provided: ${a?.wcsOsi??"-"}`);if(this.masElement.toggleFailed(i,s,a))return this.innerHTML="",!0}return!1}updateOptions(r){let n=X();if(!n)return!1;let{displayOldPrice:i,displayPerUnit:o,displayRecurrence:a,displayTax:s,forceTaxExclusive:c,perpetual:l,promotionCode:h,quantity:d,template:u,wcsOsi:m}=n.collectPriceOptions(r);return mr(this,{displayOldPrice:i,displayPerUnit:o,displayRecurrence:a,displayTax:s,forceTaxExclusive:c,perpetual:l,promotionCode:h,quantity:d,template:u,wcsOsi:m}),!0}};p(It,"is","inline-price"),p(It,"tag","span");var ne=It;window.customElements.get(ne.is)||window.customElements.define(ne.is,ne,{extends:ne.tag});function qo({literals:e,providers:t,settings:r}){function n(a,s){let{country:c,displayOldPrice:l,displayPerUnit:h,displayRecurrence:d,displayTax:u,forceTaxExclusive:m,language:x,promotionCode:f,quantity:_}=r,{displayOldPrice:N=l,displayPerUnit:A=h,displayRecurrence:T=d,displayTax:V=u,forceTaxExclusive:L=m,country:K=c,language:F=x,perpetual:ue,promotionCode:me=f,quantity:Ge=_,template:J,wcsOsi:ye,...pe}=Object.assign({},s?.dataset??{},a??{}),W=Ye({...pe,country:K,displayOldPrice:E(N),displayPerUnit:E(A),displayRecurrence:E(T),displayTax:E(V),forceTaxExclusive:E(L),language:F,perpetual:E(ue),promotionCode:At(me).effectivePromoCode,quantity:qe(Ge,y.quantity),template:J,wcsOsi:dr(ye)});if(s)for(let Q of t.price)Q(s,W);return W}function i(a,s){if(!Array.isArray(a)||!a.length||!s)return"";let{template:c}=s,l;switch(c){case"discount":l=_n;break;case"strikethrough":l=Sn;break;case"optical":l=En;break;case"annual":l=yn;break;default:s.country==="AU"&&a[0].planType==="ABM"?l=s.promotionCode?Ln:Tn:l=s.promotionCode?An:bn}let h=n(s);h.literals=Object.assign({},e.price,Ye(s.literals??{}));let[d]=a;return d={...d,...d.priceDetails},l(h,d)}let{createInlinePrice:o}=ne;return{InlinePrice:ne,buildPriceHTML:i,collectPriceOptions:n,createInlinePrice:o}}function Zo({settings:e}){let t=Z.module("wcs"),{env:r,wcsApiKey:n}=e,i=new Map,o=new Map,a;async function s(d,u,m=!0){let x=On;t.debug("Fetching:",d);try{d.offerSelectorIds=d.offerSelectorIds.sort();let f=new URL(e.wcsURL);f.searchParams.set("offer_selector_ids",d.offerSelectorIds.join(",")),f.searchParams.set("country",d.country),f.searchParams.set("locale",d.locale),f.searchParams.set("landscape",r===Pe.STAGE?"ALL":e.landscape),f.searchParams.set("api_key",n),d.language&&f.searchParams.set("language",d.language),d.promotionCode&&f.searchParams.set("promotion_code",d.promotionCode),d.currency&&f.searchParams.set("currency",d.currency);let _=await fetch(f.toString(),{credentials:"omit"});if(_.ok){let N=await _.json();t.debug("Fetched:",d,N);let A=N.resolvedOffers??[];A=A.map(Qt),u.forEach(({resolve:T},V)=>{let L=A.filter(({offerSelectorIds:K})=>K.includes(V)).flat();L.length&&(u.delete(V),T(L))})}else _.status===404&&d.offerSelectorIds.length>1?(t.debug("Multi-osi 404, fallback to fetch-by-one strategy"),await Promise.allSettled(d.offerSelectorIds.map(N=>s({...d,offerSelectorIds:[N]},u,!1)))):(x=hr,t.error(x,d))}catch(f){x=hr,t.error(x,d,f)}m&&u.size&&(t.debug("Missing:",{offerSelectorIds:[...u.keys()]}),u.forEach(f=>{f.reject(new Error(x))}))}function c(){clearTimeout(a);let d=[...o.values()];o.clear(),d.forEach(({options:u,promises:m})=>s(u,m))}function l(){let d=i.size;i.clear(),t.debug(`Flushed ${d} cache entries`)}function h({country:d,language:u,perpetual:m=!1,promotionCode:x="",wcsOsi:f=[]}){let _=`${u}_${d}`;d!=="GB"&&(u=m?"EN":"MULT");let N=[d,u,x].filter(A=>A).join("-").toLowerCase();return f.map(A=>{let T=`${A}-${N}`;if(!i.has(T)){let V=new Promise((L,K)=>{let F=o.get(N);if(!F){let ue={country:d,locale:_,offerSelectorIds:[]};d!=="GB"&&(ue.language=u),F={options:ue,promises:new Map},o.set(N,F)}x&&(F.options.promotionCode=x),F.options.offerSelectorIds.push(A),F.promises.set(A,{resolve:L,reject:K}),F.options.offerSelectorIds.length>=e.wcsBufferLimit?c():(t.debug("Queued:",F.options),a||(a=setTimeout(c,e.wcsBufferDelay)))});i.set(T,V)}return i.get(T)})}return{WcsCommitment:wn,WcsPlanType:Pn,WcsTerm:Cn,resolveOfferSelectors:h,flushWcsCache:l}}var Wn="mas-commerce-service",gr,Jo,fr=class extends HTMLElement{constructor(){super(...arguments);j(this,gr);p(this,"promise",null)}async registerCheckoutAction(r){typeof r=="function"&&(this.buildCheckoutAction=async(n,i,o)=>{let a=await r?.(n,i,this.imsSignedInPromise,o);return a||null})}async activate(){let r=M(this,gr,Jo),n=Z.init(r.env).module("service");n.debug("Activating:",r);let i=Object.freeze(jn(r)),o={price:{}};try{o.price=await Xo(i,r.commerce.priceLiterals)}catch{}let a={checkout:new Set,price:new Set},s={literals:o,providers:a,settings:i};Object.defineProperties(this,Object.getOwnPropertyDescriptors({...Uo(s),...jo(s),...qo(s),...Zo(s),...zn,Log:Z,get defaults(){return y},get log(){return Z},get providers(){return{checkout(c){return a.checkout.add(c),()=>a.checkout.delete(c)},price(c){return a.price.add(c),()=>a.price.delete(c)}}},get settings(){return i}})),n.debug("Activated:",{literals:o,settings:i}),xe(()=>{let c=new CustomEvent(We,{bubbles:!0,cancelable:!1,detail:this});this.dispatchEvent(c)})}connectedCallback(){this.readyPromise||(this.readyPromise=this.activate())}disconnectedCallback(){this.readyPromise=null}flushWcsCache(){this.flushWcsCache(),this.log.debug("Flushed WCS cache")}refreshOffers(){this.flushWcsCache(),document.querySelectorAll('span[is="inline-price"],a[is="checkout-link"]').forEach(r=>r.requestUpdate(!0)),this.log.debug("Refreshed WCS offers")}refreshFragments(){this.flushWcsCache(),document.querySelectorAll("aem-fragment").forEach(r=>r.refresh()),this.log.debug("Refreshed AEM fragments")}};gr=new WeakSet,Jo=function(){let r={commerce:{env:this.getAttribute("env")}};return["locale","country","language"].forEach(n=>{let i=this.getAttribute(n);i&&(r[n]=i)}),["checkout-workflow-step","force-tax-exclusive","checkout-client-id","allow-override"].forEach(n=>{let i=this.getAttribute(n);if(i!=null){let o=n.replace(/-([a-z])/g,a=>a[1].toUpperCase());r.commerce[o]=i}}),r},p(fr,"instance");window.customElements.get(Wn)||window.customElements.define(Wn,fr);var xr=window,br=xr.ShadowRoot&&(xr.ShadyCSS===void 0||xr.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,ea=Symbol(),Qo=new WeakMap,vr=class{constructor(t,r,n){if(this._$cssResult$=!0,n!==ea)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=r}get styleSheet(){let t=this.o,r=this.t;if(br&&t===void 0){let n=r!==void 0&&r.length===1;n&&(t=Qo.get(r)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&Qo.set(r,t))}return t}toString(){return this.cssText}},ta=e=>new vr(typeof e=="string"?e:e+"",void 0,ea);var qn=(e,t)=>{br?e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet):t.forEach(r=>{let n=document.createElement("style"),i=xr.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=r.cssText,e.appendChild(n)})},Ar=br?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(let n of t.cssRules)r+=n.cssText;return ta(r)})(e):e;var Zn,Er=window,ra=Er.trustedTypes,fl=ra?ra.emptyScript:"",na=Er.reactiveElementPolyfillSupport,Qn={toAttribute(e,t){switch(t){case Boolean:e=e?fl:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=e!==null;break;case Number:r=e===null?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},ia=(e,t)=>t!==e&&(t==t||e==e),Jn={attribute:!0,type:String,converter:Qn,reflect:!1,hasChanged:ia},ei="finalized",Ie=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var r;this.finalize(),((r=this.h)!==null&&r!==void 0?r:this.h=[]).push(t)}static get observedAttributes(){this.finalize();let t=[];return this.elementProperties.forEach((r,n)=>{let i=this._$Ep(n,r);i!==void 0&&(this._$Ev.set(i,n),t.push(i))}),t}static createProperty(t,r=Jn){if(r.state&&(r.attribute=!1),this.finalize(),this.elementProperties.set(t,r),!r.noAccessor&&!this.prototype.hasOwnProperty(t)){let n=typeof t=="symbol"?Symbol():"__"+t,i=this.getPropertyDescriptor(t,n,r);i!==void 0&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,r,n){return{get(){return this[r]},set(i){let o=this[t];this[r]=i,this.requestUpdate(t,o,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||Jn}static finalize(){if(this.hasOwnProperty(ei))return!1;this[ei]=!0;let t=Object.getPrototypeOf(this);if(t.finalize(),t.h!==void 0&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){let r=this.properties,n=[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)];for(let i of n)this.createProperty(i,r[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){let r=[];if(Array.isArray(t)){let n=new Set(t.flat(1/0).reverse());for(let i of n)r.unshift(Ar(i))}else t!==void 0&&r.push(Ar(t));return r}static _$Ep(t,r){let n=r.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise(r=>this.enableUpdating=r),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(t=this.constructor.h)===null||t===void 0||t.forEach(r=>r(this))}addController(t){var r,n;((r=this._$ES)!==null&&r!==void 0?r:this._$ES=[]).push(t),this.renderRoot!==void 0&&this.isConnected&&((n=t.hostConnected)===null||n===void 0||n.call(t))}removeController(t){var r;(r=this._$ES)===null||r===void 0||r.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((t,r)=>{this.hasOwnProperty(r)&&(this._$Ei.set(r,this[r]),delete this[r])})}createRenderRoot(){var t;let r=(t=this.shadowRoot)!==null&&t!==void 0?t:this.attachShadow(this.constructor.shadowRootOptions);return qn(r,this.constructor.elementStyles),r}connectedCallback(){var t;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostConnected)===null||n===void 0?void 0:n.call(r)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostDisconnected)===null||n===void 0?void 0:n.call(r)})}attributeChangedCallback(t,r,n){this._$AK(t,n)}_$EO(t,r,n=Jn){var i;let o=this.constructor._$Ep(t,n);if(o!==void 0&&n.reflect===!0){let a=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:Qn).toAttribute(r,n.type);this._$El=t,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$El=null}}_$AK(t,r){var n;let i=this.constructor,o=i._$Ev.get(t);if(o!==void 0&&this._$El!==o){let a=i.getPropertyOptions(o),s=typeof a.converter=="function"?{fromAttribute:a.converter}:((n=a.converter)===null||n===void 0?void 0:n.fromAttribute)!==void 0?a.converter:Qn;this._$El=o,this[o]=s.fromAttribute(r,a.type),this._$El=null}}requestUpdate(t,r,n){let i=!0;t!==void 0&&(((n=n||this.constructor.getPropertyOptions(t)).hasChanged||ia)(this[t],r)?(this._$AL.has(t)||this._$AL.set(t,r),n.reflect===!0&&this._$El!==t&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(t,n))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(r){Promise.reject(r)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((i,o)=>this[o]=i),this._$Ei=void 0);let r=!1,n=this._$AL;try{r=this.shouldUpdate(n),r?(this.willUpdate(n),(t=this._$ES)===null||t===void 0||t.forEach(i=>{var o;return(o=i.hostUpdate)===null||o===void 0?void 0:o.call(i)}),this.update(n)):this._$Ek()}catch(i){throw r=!1,this._$Ek(),i}r&&this._$AE(n)}willUpdate(t){}_$AE(t){var r;(r=this._$ES)===null||r===void 0||r.forEach(n=>{var i;return(i=n.hostUpdated)===null||i===void 0?void 0:i.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){this._$EC!==void 0&&(this._$EC.forEach((r,n)=>this._$EO(n,this[n],r)),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};Ie[ei]=!0,Ie.elementProperties=new Map,Ie.elementStyles=[],Ie.shadowRootOptions={mode:"open"},na?.({ReactiveElement:Ie}),((Zn=Er.reactiveElementVersions)!==null&&Zn!==void 0?Zn:Er.reactiveElementVersions=[]).push("1.6.3");var ti,Sr=window,Je=Sr.trustedTypes,oa=Je?Je.createPolicy("lit-html",{createHTML:e=>e}):void 0,ni="$lit$",ve=`lit$${(Math.random()+"").slice(9)}$`,ua="?"+ve,gl=`<${ua}>`,Re=document,yr=()=>Re.createComment(""),Ot=e=>e===null||typeof e!="object"&&typeof e!="function",ma=Array.isArray,xl=e=>ma(e)||typeof e?.[Symbol.iterator]=="function",ri=`[ -\f\r]`,kt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,aa=/-->/g,sa=/>/g,ke=RegExp(`>|${ri}(?:([^\\s"'>=/]+)(${ri}*=${ri}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),ca=/'/g,la=/"/g,pa=/^(?:script|style|textarea|title)$/i,fa=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),nm=fa(1),im=fa(2),Rt=Symbol.for("lit-noChange"),U=Symbol.for("lit-nothing"),ha=new WeakMap,Oe=Re.createTreeWalker(Re,129,null,!1);function ga(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return oa!==void 0?oa.createHTML(t):t}var vl=(e,t)=>{let r=e.length-1,n=[],i,o=t===2?"":"",a=kt;for(let s=0;s"?(a=i??kt,d=-1):h[1]===void 0?d=-2:(d=a.lastIndex-h[2].length,l=h[1],a=h[3]===void 0?ke:h[3]==='"'?la:ca):a===la||a===ca?a=ke:a===aa||a===sa?a=kt:(a=ke,i=void 0);let m=a===ke&&e[s+1].startsWith("/>")?" ":"";o+=a===kt?c+gl:d>=0?(n.push(l),c.slice(0,d)+ni+c.slice(d)+ve+m):c+ve+(d===-2?(n.push(void 0),s):m)}return[ga(e,o+(e[r]||"")+(t===2?"":"")),n]},Vt=class e{constructor({strings:t,_$litType$:r},n){let i;this.parts=[];let o=0,a=0,s=t.length-1,c=this.parts,[l,h]=vl(t,r);if(this.el=e.createElement(l,n),Oe.currentNode=this.el.content,r===2){let d=this.el.content,u=d.firstChild;u.remove(),d.append(...u.childNodes)}for(;(i=Oe.nextNode())!==null&&c.length0){i.textContent=Je?Je.emptyScript:"";for(let m=0;m2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=U}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,r=this,n,i){let o=this.strings,a=!1;if(o===void 0)t=Qe(this,t,r,0),a=!Ot(t)||t!==this._$AH&&t!==Rt,a&&(this._$AH=t);else{let s=t,c,l;for(t=o[0],c=0;cnew $t(typeof e=="string"?e:e+"",void 0,li),w=(e,...t)=>{let r=e.length===1?e[0]:t.reduce((n,i,o)=>n+(a=>{if(a._$cssResult$===!0)return a.cssText;if(typeof a=="number")return a;throw Error("Value passed to 'css' function must be a 'css' function result: "+a+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+e[o+1],e[0]);return new $t(r,e,li)},hi=(e,t)=>{_r?e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet):t.forEach(r=>{let n=document.createElement("style"),i=Lr.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=r.cssText,e.appendChild(n)})},wr=_r?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(let n of t.cssRules)r+=n.cssText;return be(r)})(e):e;var di,Pr=window,va=Pr.trustedTypes,Al=va?va.emptyScript:"",ba=Pr.reactiveElementPolyfillSupport,mi={toAttribute(e,t){switch(t){case Boolean:e=e?Al:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=e!==null;break;case Number:r=e===null?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},Aa=(e,t)=>t!==e&&(t==t||e==e),ui={attribute:!0,type:String,converter:mi,reflect:!1,hasChanged:Aa},pi="finalized",le=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var r;this.finalize(),((r=this.h)!==null&&r!==void 0?r:this.h=[]).push(t)}static get observedAttributes(){this.finalize();let t=[];return this.elementProperties.forEach((r,n)=>{let i=this._$Ep(n,r);i!==void 0&&(this._$Ev.set(i,n),t.push(i))}),t}static createProperty(t,r=ui){if(r.state&&(r.attribute=!1),this.finalize(),this.elementProperties.set(t,r),!r.noAccessor&&!this.prototype.hasOwnProperty(t)){let n=typeof t=="symbol"?Symbol():"__"+t,i=this.getPropertyDescriptor(t,n,r);i!==void 0&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,r,n){return{get(){return this[r]},set(i){let o=this[t];this[r]=i,this.requestUpdate(t,o,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||ui}static finalize(){if(this.hasOwnProperty(pi))return!1;this[pi]=!0;let t=Object.getPrototypeOf(this);if(t.finalize(),t.h!==void 0&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){let r=this.properties,n=[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)];for(let i of n)this.createProperty(i,r[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){let r=[];if(Array.isArray(t)){let n=new Set(t.flat(1/0).reverse());for(let i of n)r.unshift(wr(i))}else t!==void 0&&r.push(wr(t));return r}static _$Ep(t,r){let n=r.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise(r=>this.enableUpdating=r),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(t=this.constructor.h)===null||t===void 0||t.forEach(r=>r(this))}addController(t){var r,n;((r=this._$ES)!==null&&r!==void 0?r:this._$ES=[]).push(t),this.renderRoot!==void 0&&this.isConnected&&((n=t.hostConnected)===null||n===void 0||n.call(t))}removeController(t){var r;(r=this._$ES)===null||r===void 0||r.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((t,r)=>{this.hasOwnProperty(r)&&(this._$Ei.set(r,this[r]),delete this[r])})}createRenderRoot(){var t;let r=(t=this.shadowRoot)!==null&&t!==void 0?t:this.attachShadow(this.constructor.shadowRootOptions);return hi(r,this.constructor.elementStyles),r}connectedCallback(){var t;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostConnected)===null||n===void 0?void 0:n.call(r)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostDisconnected)===null||n===void 0?void 0:n.call(r)})}attributeChangedCallback(t,r,n){this._$AK(t,n)}_$EO(t,r,n=ui){var i;let o=this.constructor._$Ep(t,n);if(o!==void 0&&n.reflect===!0){let a=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:mi).toAttribute(r,n.type);this._$El=t,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$El=null}}_$AK(t,r){var n;let i=this.constructor,o=i._$Ev.get(t);if(o!==void 0&&this._$El!==o){let a=i.getPropertyOptions(o),s=typeof a.converter=="function"?{fromAttribute:a.converter}:((n=a.converter)===null||n===void 0?void 0:n.fromAttribute)!==void 0?a.converter:mi;this._$El=o,this[o]=s.fromAttribute(r,a.type),this._$El=null}}requestUpdate(t,r,n){let i=!0;t!==void 0&&(((n=n||this.constructor.getPropertyOptions(t)).hasChanged||Aa)(this[t],r)?(this._$AL.has(t)||this._$AL.set(t,r),n.reflect===!0&&this._$El!==t&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(t,n))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(r){Promise.reject(r)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((i,o)=>this[o]=i),this._$Ei=void 0);let r=!1,n=this._$AL;try{r=this.shouldUpdate(n),r?(this.willUpdate(n),(t=this._$ES)===null||t===void 0||t.forEach(i=>{var o;return(o=i.hostUpdate)===null||o===void 0?void 0:o.call(i)}),this.update(n)):this._$Ek()}catch(i){throw r=!1,this._$Ek(),i}r&&this._$AE(n)}willUpdate(t){}_$AE(t){var r;(r=this._$ES)===null||r===void 0||r.forEach(n=>{var i;return(i=n.hostUpdated)===null||i===void 0?void 0:i.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){this._$EC!==void 0&&(this._$EC.forEach((r,n)=>this._$EO(n,this[n],r)),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};le[pi]=!0,le.elementProperties=new Map,le.elementStyles=[],le.shadowRootOptions={mode:"open"},ba?.({ReactiveElement:le}),((di=Pr.reactiveElementVersions)!==null&&di!==void 0?di:Pr.reactiveElementVersions=[]).push("1.6.3");var fi,Cr=window,tt=Cr.trustedTypes,Ea=tt?tt.createPolicy("lit-html",{createHTML:e=>e}):void 0,xi="$lit$",Ae=`lit$${(Math.random()+"").slice(9)}$`,Pa="?"+Ae,El=`<${Pa}>`,Me=document,Ut=()=>Me.createComment(""),Dt=e=>e===null||typeof e!="object"&&typeof e!="function",Ca=Array.isArray,Sl=e=>Ca(e)||typeof e?.[Symbol.iterator]=="function",gi=`[ -\f\r]`,Mt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Sa=/-->/g,ya=/>/g,Ve=RegExp(`>|${gi}(?:([^\\s"'>=/]+)(${gi}*=${gi}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),Ta=/'/g,La=/"/g,Na=/^(?:script|style|textarea|title)$/i,Ia=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),g=Ia(1),hm=Ia(2),Ue=Symbol.for("lit-noChange"),D=Symbol.for("lit-nothing"),_a=new WeakMap,$e=Me.createTreeWalker(Me,129,null,!1);function ka(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return Ea!==void 0?Ea.createHTML(t):t}var yl=(e,t)=>{let r=e.length-1,n=[],i,o=t===2?"":"",a=Mt;for(let s=0;s"?(a=i??Mt,d=-1):h[1]===void 0?d=-2:(d=a.lastIndex-h[2].length,l=h[1],a=h[3]===void 0?Ve:h[3]==='"'?La:Ta):a===La||a===Ta?a=Ve:a===Sa||a===ya?a=Mt:(a=Ve,i=void 0);let m=a===Ve&&e[s+1].startsWith("/>")?" ":"";o+=a===Mt?c+El:d>=0?(n.push(l),c.slice(0,d)+xi+c.slice(d)+Ae+m):c+Ae+(d===-2?(n.push(void 0),s):m)}return[ka(e,o+(e[r]||"")+(t===2?"":"")),n]},Gt=class e{constructor({strings:t,_$litType$:r},n){let i;this.parts=[];let o=0,a=0,s=t.length-1,c=this.parts,[l,h]=yl(t,r);if(this.el=e.createElement(l,n),$e.currentNode=this.el.content,r===2){let d=this.el.content,u=d.firstChild;u.remove(),d.append(...u.childNodes)}for(;(i=$e.nextNode())!==null&&c.length0){i.textContent=tt?tt.emptyScript:"";for(let m=0;m2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=D}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,r=this,n,i){let o=this.strings,a=!1;if(o===void 0)t=rt(this,t,r,0),a=!Dt(t)||t!==this._$AH&&t!==Ue,a&&(this._$AH=t);else{let s=t,c,l;for(t=o[0],c=0;c{var n,i;let o=(n=r?.renderBefore)!==null&&n!==void 0?n:t,a=o._$litPart$;if(a===void 0){let s=(i=r?.renderBefore)!==null&&i!==void 0?i:null;o._$litPart$=a=new Ht(t.insertBefore(Ut(),s),s,void 0,r??{})}return a._$AI(e),a};var yi,Ti;var ie=class extends le{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,r;let n=super.createRenderRoot();return(t=(r=this.renderOptions).renderBefore)!==null&&t!==void 0||(r.renderBefore=n.firstChild),n}update(t){let r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Oa(r,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),(t=this._$Do)===null||t===void 0||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._$Do)===null||t===void 0||t.setConnected(!1)}render(){return Ue}};ie.finalized=!0,ie._$litElement$=!0,(yi=globalThis.litElementHydrateSupport)===null||yi===void 0||yi.call(globalThis,{LitElement:ie});var Ra=globalThis.litElementPolyfillSupport;Ra?.({LitElement:ie});((Ti=globalThis.litElementVersions)!==null&&Ti!==void 0?Ti:globalThis.litElementVersions=[]).push("3.3.3");var Ee="(max-width: 767px)",Nr="(max-width: 1199px)",R="(min-width: 768px)",I="(min-width: 1200px)",G="(min-width: 1600px)";var Va=w` - :host { - position: relative; - display: flex; - flex-direction: column; - text-align: start; - background-color: var(--merch-card-background-color); - grid-template-columns: repeat(auto-fit, minmax(300px, max-content)); - background-color: var(--merch-card-background-color); - font-family: var(--merch-body-font-family, 'Adobe Clean'); - border-radius: var(--consonant-merch-spacing-xs); - border: 1px solid var(--spectrum-gray-200, var(--consonant-merch-card-border-color)); - box-sizing: border-box; - } - - :host(.placeholder) { - visibility: hidden; - } - - :host([aria-selected]) { - outline: none; - box-sizing: border-box; - box-shadow: inset 0 0 0 2px var(--color-accent); - } - - .invisible { - visibility: hidden; - } - - :host(:hover) .invisible, - :host(:active) .invisible, - :host(:focus) .invisible { - visibility: visible; - background-image: var(--ellipsis-icon); - cursor: pointer; - } - - .action-menu.always-visible { - visibility: visible; - background-image: var(--ellipsis-icon); - cursor: pointer; - } - - .top-section { - display: flex; - justify-content: flex-start; - align-items: flex-start; - gap: 16px; - } - - .top-section.badge { - min-height: 32px; - } - - .body { - flex: 1; - display: flex; - flex-direction: column; - justify-content: flex-start; - height: 100%; - gap: var(--consonant-merch-spacing-xxs); - padding: var(--consonant-merch-spacing-xs); - } - - footer { - display: flex; - justify-content: flex-end; - box-sizing: border-box; - align-items: flex-end; - width: 100%; - flex-flow: wrap; - gap: var(--consonant-merch-spacing-xs); - - padding: var(--consonant-merch-spacing-xs); - } - - hr { - background-color: var(--merch-color-grey-200); - border: none; - height: 1px; - width: auto; - margin-top: 0; - margin-bottom: 0; - margin-left: var(--consonant-merch-spacing-xs); - margin-right: var(--consonant-merch-spacing-xs); - } - - div[class$='-badge'] { - position: absolute; - top: 16px; - right: 0; - font-size: var(--type-heading-xxs-size); - font-weight: 500; - max-width: 180px; - line-height: 16px; - text-align: center; - padding: 8px 11px; - border-radius: 5px 0 0 5px; - } - - div[class$='-badge']:dir(rtl) { - left: 0; - right: initial; - padding: 8px 11px; - border-radius: 0 5px 5px 0; - } - - .detail-bg-container { - right: 0; - padding: var(--consonant-merch-spacing-xs); - border-radius: 5px; - font-size: var(--consonant-merch-card-body-font-size); - margin: var(--consonant-merch-spacing-xs); - } - - .action-menu { - display: flex; - width: 32px; - height: 32px; - position: absolute; - top: 16px; - right: 16px; - background-color: #f6f6f6; - background-repeat: no-repeat; - background-position: center; - background-size: 16px 16px; - font-size: 0; - } - .hidden { - visibility: hidden; - } - - #stock-checkbox, - .secure-transaction-label { - font-size: var(--consonant-merch-card-body-xxs-font-size); - line-height: 1.3; - color: var(--merch-color-grey-600); - } - - #stock-checkbox { - display: inline-flex; - align-items: center; - cursor: pointer; - gap: 10px; /*same as spectrum */ - } - - #stock-checkbox > input { - display: none; - } - - #stock-checkbox > span { - display: inline-block; - box-sizing: border-box; - border: 2px solid rgb(117, 117, 117); - border-radius: 2px; - width: 14px; - height: 14px; - } - - #stock-checkbox > input:checked + span { - background: var(--checkmark-icon) no-repeat var(--color-accent); - border-color: var(--color-accent); - } - - .secure-transaction-label { - white-space: nowrap; - display: inline-flex; - gap: var(--consonant-merch-spacing-xxs); - align-items: center; - flex: 1; - line-height: normal; - align-self: center; - } - - .secure-transaction-label::before { - display: inline-block; - content: ''; - width: 12px; - height: 15px; - background: var(--secure-icon) no-repeat; - background-position: center; - background-size: contain; - } - - .checkbox-container { - display: flex; - align-items: center; - gap: var(--consonant-merch-spacing-xxs); - } - - .checkbox-container input[type='checkbox']:checked + .checkmark { - background-color: var(--color-accent); - background-image: var(--checkmark-icon); - border-color: var(--color-accent); - } - - .checkbox-container input[type='checkbox'] { - display: none; - } - - .checkbox-container .checkmark { - position: relative; - display: inline-block; - width: 12px; - height: 12px; - border: 2px solid #757575; - background: #fff; - border-radius: 2px; - cursor: pointer; - margin-top: 2px; - } - - slot[name='icons'] { - display: flex; - gap: 8px; - } -`,$a=()=>[w` - /* Tablet */ - @media screen and ${be(R)} { - :host([size='wide']), - :host([size='super-wide']) { - width: 100%; - grid-column: 1 / -1; - } - } - - /* Laptop */ - @media screen and ${be(I)} { - :host([size='wide']) { - grid-column: span 2; - } - `];var it,zt=class zt{constructor(t){p(this,"card");j(this,it);this.card=t,this.insertVariantStyle()}getContainer(){return fe(this,it,M(this,it)??this.card.closest('[class*="-merch-cards"]')??this.card.parentElement),M(this,it)}insertVariantStyle(){if(!zt.styleMap[this.card.variant]){zt.styleMap[this.card.variant]=!0;let t=document.createElement("style");t.innerHTML=this.getGlobalCSS(),document.head.appendChild(t)}}updateCardElementMinHeight(t,r){if(!t)return;let n=`--consonant-merch-card-${this.card.variant}-${r}-height`,i=Math.max(0,parseInt(window.getComputedStyle(t).height)||0),o=parseInt(this.getContainer().style.getPropertyValue(n))||0;i>o&&this.getContainer().style.setProperty(n,`${i}px`)}get badge(){let t;if(!(!this.card.badgeBackgroundColor||!this.card.badgeColor||!this.card.badgeText))return this.evergreen&&(t=`border: 1px solid ${this.card.badgeBackgroundColor}; border-right: none;`),g` -
      - ${this.card.badgeText} -
      - `}get cardImage(){return g`
      - - ${this.badge} -
      `}getGlobalCSS(){return""}get theme(){return document.querySelector("sp-theme")}get evergreen(){return this.card.classList.contains("intro-pricing")}get promoBottom(){return this.card.classList.contains("promo-bottom")}get headingSelector(){return'[slot="heading-xs"]'}get stripStyle(){if(this.card.backgroundImage){let t=new Image;return t.src=this.card.backgroundImage,t.onload=()=>{t.width>8?this.card.classList.add("wide-strip"):t.width===8&&this.card.classList.add("thin-strip")},` - background: url("${this.card.backgroundImage}"); - background-size: auto 100%; - background-repeat: no-repeat; - background-position: ${this.card.theme.dir==="ltr"?"left":"right"}; - `}return""}get secureLabelFooter(){let t=this.card.secureLabel?g`${this.card.secureLabel}`:"";return g`
      ${t}
      `}async adjustTitleWidth(){let t=this.card.getBoundingClientRect().width,r=this.card.badgeElement?.getBoundingClientRect().width||0;t===0||r===0||this.card.style.setProperty("--consonant-merch-card-heading-xs-max-width",`${Math.round(t-r-16)}px`)}postCardUpdateHook(){}connectedCallbackHook(){}disconnectedCallbackHook(){}renderLayout(){}get aemFragmentMapping(){}};it=new WeakMap,p(zt,"styleMap",{});var P=zt;function he(e,t={},r){let n=document.createElement(e);r instanceof HTMLElement?n.appendChild(r):n.innerHTML=r;for(let[i,o]of Object.entries(t))n.setAttribute(i,o);return n}function Ir(){return window.matchMedia("(max-width: 767px)").matches}function Ma(){return window.matchMedia("(max-width: 1024px)").matches}var Ua="merch-offer-select:ready",Da="merch-card:ready",Ga="merch-card:action-menu-toggle";var Li="merch-storage:change",_i="merch-quantity-selector:change";var ot="aem:load",at="aem:error",Ha="mas:ready",za="mas:error";var Fa=` -:root { - --consonant-merch-card-catalog-width: 276px; - --consonant-merch-card-catalog-icon-size: 40px; -} -.one-merch-card.catalog, -.two-merch-cards.catalog, -.three-merch-cards.catalog, -.four-merch-cards.catalog { - grid-template-columns: var(--consonant-merch-card-catalog-width); -} - -@media screen and ${R} { - :root { - --consonant-merch-card-catalog-width: 302px; - } - - .two-merch-cards.catalog, - .three-merch-cards.catalog, - .four-merch-cards.catalog { - grid-template-columns: repeat(2, var(--consonant-merch-card-catalog-width)); - } -} - -@media screen and ${I} { - :root { - --consonant-merch-card-catalog-width: 276px; - } - - .three-merch-cards.catalog, - .four-merch-cards.catalog { - grid-template-columns: repeat(3, var(--consonant-merch-card-catalog-width)); - } -} - -@media screen and ${G} { - .four-merch-cards.catalog { - grid-template-columns: repeat(4, var(--consonant-merch-card-catalog-width)); - } -} - -merch-card[variant="catalog"] [slot="action-menu-content"] { - background-color: #000; - color: var(--color-white, #fff); - font-size: var(--consonant-merch-card-body-xs-font-size); - width: fit-content; - padding: var(--consonant-merch-spacing-xs); - border-radius: var(--consonant-merch-spacing-xxxs); - position: absolute; - top: 55px; - right: 15px; - line-height: var(--consonant-merch-card-body-line-height); -} - -merch-card[variant="catalog"] [slot="action-menu-content"] ul { - padding-left: 0; - padding-bottom: var(--consonant-merch-spacing-xss); - margin-top: 0; - margin-bottom: 0; - list-style-position: inside; - list-style-type: '\u2022 '; -} - -merch-card[variant="catalog"] [slot="action-menu-content"] ul li { - padding-left: 0; - line-height: var(--consonant-merch-card-body-line-height); -} - -merch-card[variant="catalog"] [slot="action-menu-content"] ::marker { - margin-right: 0; -} - -merch-card[variant="catalog"] [slot="action-menu-content"] p { - color: var(--color-white, #fff); -} - -merch-card[variant="catalog"] [slot="action-menu-content"] a { - color: var(--merch-card-background-color); - text-decoration: underline; -} - -merch-card[variant="catalog"] .payment-details { - font-size: var(--consonant-merch-card-body-font-size); - font-style: italic; - font-weight: 400; - line-height: var(--consonant-merch-card-body-line-height); -}`;var Ll={title:{tag:"h3",slot:"heading-xs"},prices:{tag:"h3",slot:"heading-xs"},description:{tag:"div",slot:"body-xs"},ctas:{slot:"footer",size:"m"},allowedSizes:["wide","super-wide"]},st=class extends P{constructor(r){super(r);p(this,"dispatchActionMenuToggle",()=>{this.card.dispatchEvent(new CustomEvent(Ga,{bubbles:!0,composed:!0,detail:{card:this.card.name,type:"action-menu"}}))});p(this,"toggleActionMenu",r=>{let n=this.card.shadowRoot.querySelector('slot[name="action-menu-content"]');!n||!r||r.type!=="click"&&r.code!=="Space"&&r.code!=="Enter"||(r.preventDefault(),n.classList.toggle("hidden"),n.classList.contains("hidden")||this.dispatchActionMenuToggle())});p(this,"toggleActionMenuFromCard",r=>{let n=r?.type==="mouseleave"?!0:void 0,i=this.card.shadowRoot,o=i.querySelector(".action-menu");this.card.blur(),o?.classList.remove("always-visible");let a=i.querySelector('slot[name="action-menu-content"]');a&&(n||this.dispatchActionMenuToggle(),a.classList.toggle("hidden",n))});p(this,"hideActionMenu",r=>{this.card.shadowRoot.querySelector('slot[name="action-menu-content"]')?.classList.add("hidden")});p(this,"focusEventHandler",r=>{let n=this.card.shadowRoot.querySelector(".action-menu");n&&(n.classList.add("always-visible"),(r.relatedTarget?.nodeName==="MERCH-CARD-COLLECTION"||r.relatedTarget?.nodeName==="MERCH-CARD"&&r.target.nodeName!=="MERCH-ICON")&&n.classList.remove("always-visible"))})}get aemFragmentMapping(){return Ll}renderLayout(){return g`
      -
      - ${this.badge} -
      Action Menu
      -
      - ${this.card.actionMenuContent} - - - - - ${this.promoBottom?"":g``} - - ${this.promoBottom?g``:""} -
      - ${this.secureLabelFooter} - `}getGlobalCSS(){return Fa}connectedCallbackHook(){this.card.addEventListener("mouseleave",this.toggleActionMenuFromCard),this.card.addEventListener("focusout",this.focusEventHandler)}disconnectedCallbackHook(){this.card.removeEventListener("mouseleave",this.toggleActionMenuFromCard),this.card.removeEventListener("focusout",this.focusEventHandler)}};p(st,"variantStyle",w` - :host([variant='catalog']) { - min-height: 330px; - width: var(--consonant-merch-card-catalog-width); - } - - .body .catalog-badge { - display: flex; - height: fit-content; - flex-direction: column; - width: fit-content; - max-width: 140px; - border-radius: 5px; - position: relative; - top: 0; - margin-left: var(--consonant-merch-spacing-xxs); - box-sizing: border-box; - } - `);var Ka=` -:root { - --consonant-merch-card-ccd-action-width: 276px; - --consonant-merch-card-ccd-action-min-height: 320px; -} - -.one-merch-card.ccd-action, -.two-merch-cards.ccd-action, -.three-merch-cards.ccd-action, -.four-merch-cards.ccd-action { - grid-template-columns: var(--consonant-merch-card-ccd-action-width); -} - -merch-card[variant="ccd-action"] .price-strikethrough { - font-size: 18px; -} - -@media screen and ${R} { - .two-merch-cards.ccd-action, - .three-merch-cards.ccd-action, - .four-merch-cards.ccd-action { - grid-template-columns: repeat(2, var(--consonant-merch-card-ccd-action-width)); - } -} - -@media screen and ${I} { - .three-merch-cards.ccd-action, - .four-merch-cards.ccd-action { - grid-template-columns: repeat(3, var(--consonant-merch-card-ccd-action-width)); - } -} - -@media screen and ${G} { - .four-merch-cards.ccd-action { - grid-template-columns: repeat(4, var(--consonant-merch-card-ccd-action-width)); - } -} -`;var _l={title:{tag:"h3",slot:"heading-xs"},prices:{tag:"h3",slot:"heading-xs"},description:{tag:"div",slot:"body-xs"},ctas:{slot:"footer",size:"l"}},ct=class extends P{constructor(t){super(t)}getGlobalCSS(){return Ka}get aemFragmentMapping(){return _l}renderLayout(){return g`
      - ${this.badge} - - - ${this.promoBottom?g``:g``} -
      - -
      `}};p(ct,"variantStyle",w` - :host([variant='ccd-action']:not([size])) { - width: var(--consonant-merch-card-ccd-action-width); - } - `);var Ba=` -:root { - --consonant-merch-card-image-width: 300px; -} - -.one-merch-card.image, -.two-merch-cards.image, -.three-merch-cards.image, -.four-merch-cards.image { - grid-template-columns: var(--consonant-merch-card-image-width); -} - -@media screen and ${R} { - .two-merch-cards.image, - .three-merch-cards.image, - .four-merch-cards.image { - grid-template-columns: repeat(2, var(--consonant-merch-card-image-width)); - } -} - -@media screen and ${I} { - :root { - --consonant-merch-card-image-width: 378px; - } - - .three-merch-cards.image, - .four-merch-cards.image { - grid-template-columns: repeat(3, var(--consonant-merch-card-image-width)); - } -} - -@media screen and ${G} { - .four-merch-cards.image { - grid-template-columns: repeat(4, var(--consonant-merch-card-image-width)); - } -} -`;var kr=class extends P{constructor(t){super(t)}getGlobalCSS(){return Ba}renderLayout(){return g`${this.cardImage} -
      - - - - ${this.promoBottom?g``:g``} -
      - ${this.evergreen?g` -
      - -
      - `:g` -
      - ${this.secureLabelFooter} - `}`}};var ja=` -:root { - --consonant-merch-card-inline-heading-width: 300px; -} - -.one-merch-card.inline-heading, -.two-merch-cards.inline-heading, -.three-merch-cards.inline-heading, -.four-merch-cards.inline-heading { - grid-template-columns: var(--consonant-merch-card-inline-heading-width); -} - -@media screen and ${R} { - .two-merch-cards.inline-heading, - .three-merch-cards.inline-heading, - .four-merch-cards.inline-heading { - grid-template-columns: repeat(2, var(--consonant-merch-card-inline-heading-width)); - } -} - -@media screen and ${I} { - :root { - --consonant-merch-card-inline-heading-width: 378px; - } - - .three-merch-cards.inline-heading, - .four-merch-cards.inline-heading { - grid-template-columns: repeat(3, var(--consonant-merch-card-inline-heading-width)); - } -} - -@media screen and ${G} { - .four-merch-cards.inline-heading { - grid-template-columns: repeat(4, var(--consonant-merch-card-inline-heading-width)); - } -} -`;var Or=class extends P{constructor(t){super(t)}getGlobalCSS(){return ja}renderLayout(){return g` ${this.badge} -
      -
      - - -
      - -
      - ${this.card.customHr?"":g`
      `} ${this.secureLabelFooter}`}};var Ya=` - :root { - --consonant-merch-card-mini-compare-chart-icon-size: 32px; - --consonant-merch-card-mini-compare-mobile-cta-font-size: 15px; - --consonant-merch-card-mini-compare-mobile-cta-width: 75px; - --consonant-merch-card-mini-compare-badge-mobile-max-width: 50px; - } - - merch-card[variant="mini-compare-chart"] [slot="heading-m"] { - padding: 0 var(--consonant-merch-spacing-s) 0; - } - - merch-card[variant="mini-compare-chart"] [slot="body-m"] { - padding: var(--consonant-merch-spacing-xs) var(--consonant-merch-spacing-s); - } - - merch-card[variant="mini-compare-chart"] [is="inline-price"] { - display: inline-block; - min-height: 30px; - min-width: 1px; - } - - merch-card[variant="mini-compare-chart"] [slot='callout-content'] { - padding: var(--consonant-merch-spacing-xs) var(--consonant-merch-spacing-s) 0px; - } - - merch-card[variant="mini-compare-chart"] [slot='callout-content'] [is="inline-price"] { - min-height: unset; - } - - merch-card[variant="mini-compare-chart"] [slot="price-commitment"] { - font-size: var(--consonant-merch-card-body-xs-font-size); - padding: 0 var(--consonant-merch-spacing-s); - } - - merch-card[variant="mini-compare-chart"] [slot="price-commitment"] a { - display: inline-block; - height: 27px; - } - - merch-card[variant="mini-compare-chart"] [slot="offers"] { - font-size: var(--consonant-merch-card-body-xs-font-size); - } - - merch-card[variant="mini-compare-chart"] [slot="body-xxs"] { - font-size: var(--consonant-merch-card-body-xs-font-size); - padding: var(--consonant-merch-spacing-xs) var(--consonant-merch-spacing-s) 0; - } - - merch-card[variant="mini-compare-chart"] [slot="promo-text"] { - font-size: var(--consonant-merch-card-body-m-font-size); - padding: var(--consonant-merch-spacing-xs) var(--consonant-merch-spacing-s) 0; - } - - merch-card[variant="mini-compare-chart"] [slot="promo-text"] a { - text-decoration: underline; - } - - merch-card[variant="mini-compare-chart"] .footer-row-icon { - display: flex; - place-items: center; - } - - merch-card[variant="mini-compare-chart"] .footer-row-icon img { - max-width: initial; - width: var(--consonant-merch-card-mini-compare-chart-icon-size); - height: var(--consonant-merch-card-mini-compare-chart-icon-size); - } - - merch-card[variant="mini-compare-chart"] .footer-row-cell { - border-top: 1px solid var(--consonant-merch-card-border-color); - display: flex; - gap: var(--consonant-merch-spacing-xs); - justify-content: start; - place-items: center; - padding: var(--consonant-merch-spacing-xs) var(--consonant-merch-spacing-s); - margin-block: 0px; - } - - merch-card[variant="mini-compare-chart"] .footer-row-cell-description { - font-size: var(--consonant-merch-card-body-s-font-size); - line-height: var(--consonant-merch-card-body-s-line-height); - } - - merch-card[variant="mini-compare-chart"] .footer-row-cell-description p { - color: var(--merch-color-grey-80); - vertical-align: bottom; - } - - merch-card[variant="mini-compare-chart"] .footer-row-cell-description a { - color: var(--color-accent); - text-decoration: solid; - } - -.one-merch-card.mini-compare-chart { - grid-template-columns: var(--consonant-merch-card-mini-compare-chart-wide-width); - gap: var(--consonant-merch-spacing-xs); -} - -.two-merch-cards.mini-compare-chart, -.three-merch-cards.mini-compare-chart, -.four-merch-cards.mini-compare-chart { - grid-template-columns: repeat(2, var(--consonant-merch-card-mini-compare-chart-width)); - gap: var(--consonant-merch-spacing-xs); -} - -/* mini compare mobile */ -@media screen and ${Ee} { - :root { - --consonant-merch-card-mini-compare-chart-width: 302px; - --consonant-merch-card-mini-compare-chart-wide-width: 302px; - } - - .two-merch-cards.mini-compare-chart, - .three-merch-cards.mini-compare-chart, - .four-merch-cards.mini-compare-chart { - grid-template-columns: var(--consonant-merch-card-mini-compare-chart-width); - gap: var(--consonant-merch-spacing-xs); - } - - merch-card[variant="mini-compare-chart"] [slot='heading-m'] { - font-size: var(--consonant-merch-card-body-s-font-size); - line-height: var(--consonant-merch-card-body-s-line-height); - } - - merch-card[variant="mini-compare-chart"] [slot='heading-m-price'] { - font-size: var(--consonant-merch-card-body-s-font-size); - line-height: var(--consonant-merch-card-body-s-line-height); - } - - merch-card[variant="mini-compare-chart"] [slot='body-m'] { - font-size: var(--consonant-merch-card-body-xs-font-size); - line-height: var(--consonant-merch-card-body-xs-line-height); - } - - merch-card[variant="mini-compare-chart"] [slot="promo-text"] { - font-size: var(--consonant-merch-card-body-xs-font-size); - line-height: var(--consonant-merch-card-body-xs-line-height); - } - merch-card[variant="mini-compare-chart"] .footer-row-cell-description { - font-size: var(--consonant-merch-card-body-xs-font-size); - line-height: var(--consonant-merch-card-body-xs-line-height); - } -} - -@media screen and ${Nr} { - .three-merch-cards.mini-compare-chart merch-card [slot="footer"] a, - .four-merch-cards.mini-compare-chart merch-card [slot="footer"] a { - flex: 1; - } - - merch-card[variant="mini-compare-chart"] [slot='heading-m'] { - font-size: var(--consonant-merch-card-body-s-font-size); - line-height: var(--consonant-merch-card-body-s-line-height); - } - - merch-card[variant="mini-compare-chart"] [slot='heading-m-price'] { - font-size: var(--consonant-merch-card-body-s-font-size); - line-height: var(--consonant-merch-card-body-s-line-height); - } - - merch-card[variant="mini-compare-chart"] [slot='body-m'] { - font-size: var(--consonant-merch-card-body-xs-font-size); - line-height: var(--consonant-merch-card-body-xs-line-height); - } - - merch-card[variant="mini-compare-chart"] [slot="promo-text"] { - font-size: var(--consonant-merch-card-body-xs-font-size); - line-height: var(--consonant-merch-card-body-xs-line-height); - } - - merch-card[variant="mini-compare-chart"] .footer-row-cell-description { - font-size: var(--consonant-merch-card-body-xs-font-size); - line-height: var(--consonant-merch-card-body-xs-line-height); - } -} -@media screen and ${R} { - :root { - --consonant-merch-card-mini-compare-chart-width: 302px; - --consonant-merch-card-mini-compare-chart-wide-width: 302px; - } - - .two-merch-cards.mini-compare-chart { - grid-template-columns: repeat(2, minmax(var(--consonant-merch-card-mini-compare-chart-width), var(--consonant-merch-card-mini-compare-chart-wide-width))); - gap: var(--consonant-merch-spacing-m); - } - - .three-merch-cards.mini-compare-chart, - .four-merch-cards.mini-compare-chart { - grid-template-columns: repeat(2, minmax(var(--consonant-merch-card-mini-compare-chart-width), var(--consonant-merch-card-mini-compare-chart-wide-width))); - } -} - -/* desktop */ -@media screen and ${I} { - :root { - --consonant-merch-card-mini-compare-chart-width: 378px; - --consonant-merch-card-mini-compare-chart-wide-width: 484px; - } - .one-merch-card.mini-compare-chart { - grid-template-columns: var(--consonant-merch-card-mini-compare-chart-wide-width); - } - - .two-merch-cards.mini-compare-chart { - grid-template-columns: repeat(2, var(--consonant-merch-card-mini-compare-chart-wide-width)); - gap: var(--consonant-merch-spacing-m); - } - - .three-merch-cards.mini-compare-chart, - .four-merch-cards.mini-compare-chart { - grid-template-columns: repeat(3, var(--consonant-merch-card-mini-compare-chart-width)); - gap: var(--consonant-merch-spacing-m); - } -} - -@media screen and ${G} { - .four-merch-cards.mini-compare-chart { - grid-template-columns: repeat(4, var(--consonant-merch-card-mini-compare-chart-width)); - } -} - -merch-card .footer-row-cell:nth-child(1) { - min-height: var(--consonant-merch-card-footer-row-1-min-height); -} - -merch-card .footer-row-cell:nth-child(2) { - min-height: var(--consonant-merch-card-footer-row-2-min-height); -} - -merch-card .footer-row-cell:nth-child(3) { - min-height: var(--consonant-merch-card-footer-row-3-min-height); -} - -merch-card .footer-row-cell:nth-child(4) { - min-height: var(--consonant-merch-card-footer-row-4-min-height); -} - -merch-card .footer-row-cell:nth-child(5) { - min-height: var(--consonant-merch-card-footer-row-5-min-height); -} - -merch-card .footer-row-cell:nth-child(6) { - min-height: var(--consonant-merch-card-footer-row-6-min-height); -} - -merch-card .footer-row-cell:nth-child(7) { - min-height: var(--consonant-merch-card-footer-row-7-min-height); -} - -merch-card .footer-row-cell:nth-child(8) { - min-height: var(--consonant-merch-card-footer-row-8-min-height); -} -`;var wl=32,lt=class extends P{constructor(r){super(r);p(this,"getRowMinHeightPropertyName",r=>`--consonant-merch-card-footer-row-${r}-min-height`);p(this,"getMiniCompareFooter",()=>{let r=this.card.secureLabel?g` - ${this.card.secureLabel}`:g``;return g`
      ${r}
      `})}getGlobalCSS(){return Ya}adjustMiniCompareBodySlots(){if(this.card.getBoundingClientRect().width<=2)return;this.updateCardElementMinHeight(this.card.shadowRoot.querySelector(".top-section"),"top-section"),["heading-m","body-m","heading-m-price","body-xxs","price-commitment","offers","promo-text","callout-content"].forEach(i=>this.updateCardElementMinHeight(this.card.shadowRoot.querySelector(`slot[name="${i}"]`),i)),this.updateCardElementMinHeight(this.card.shadowRoot.querySelector("footer"),"footer");let n=this.card.shadowRoot.querySelector(".mini-compare-chart-badge");n&&n.textContent!==""&&this.getContainer().style.setProperty("--consonant-merch-card-mini-compare-chart-top-section-mobile-height","32px")}adjustMiniCompareFooterRows(){if(this.card.getBoundingClientRect().width===0)return;[...this.card.querySelector('[slot="footer-rows"]')?.children].forEach((n,i)=>{let o=Math.max(wl,parseFloat(window.getComputedStyle(n).height)||0),a=parseFloat(this.getContainer().style.getPropertyValue(this.getRowMinHeightPropertyName(i+1)))||0;o>a&&this.getContainer().style.setProperty(this.getRowMinHeightPropertyName(i+1),`${o}px`)})}removeEmptyRows(){this.card.querySelectorAll(".footer-row-cell").forEach(n=>{let i=n.querySelector(".footer-row-cell-description");i&&!i.textContent.trim()&&n.remove()})}renderLayout(){return g`
      - ${this.badge} -
      - - - - - - - - - ${this.getMiniCompareFooter()} - `}async postCardUpdateHook(){Ir()?this.removeEmptyRows():(await Promise.all(this.card.prices.map(r=>r.onceSettled())),this.adjustMiniCompareBodySlots(),this.adjustMiniCompareFooterRows())}};p(lt,"variantStyle",w` - :host([variant='mini-compare-chart']) > slot:not([name='icons']) { - display: block; - } - :host([variant='mini-compare-chart']) footer { - min-height: var(--consonant-merch-card-mini-compare-chart-footer-height); - padding: var(--consonant-merch-spacing-xs); - } - - /* mini-compare card */ - :host([variant='mini-compare-chart']) .top-section { - padding-top: var(--consonant-merch-spacing-s); - padding-inline-start: var(--consonant-merch-spacing-s); - height: var(--consonant-merch-card-mini-compare-chart-top-section-height); - } - - @media screen and ${be(Nr)} { - [class*'-merch-cards'] :host([variant='mini-compare-chart']) footer { - flex-direction: column; - align-items: stretch; - text-align: center; - } - } - - @media screen and ${be(I)} { - :host([variant='mini-compare-chart']) footer { - padding: var(--consonant-merch-spacing-xs) - var(--consonant-merch-spacing-s) - var(--consonant-merch-spacing-s) - var(--consonant-merch-spacing-s); - } - } - - :host([variant='mini-compare-chart']) slot[name='footer-rows'] { - flex: 1; - display: flex; - flex-direction: column; - justify-content: end; - } - /* mini-compare card heights for the slots: heading-m, body-m, heading-m-price, price-commitment, offers, promo-text, footer */ - :host([variant='mini-compare-chart']) slot[name='heading-m'] { - min-height: var(--consonant-merch-card-mini-compare-chart-heading-m-height); - } - :host([variant='mini-compare-chart']) slot[name='body-m'] { - min-height: var(--consonant-merch-card-mini-compare-chart-body-m-height); - } - :host([variant='mini-compare-chart']) slot[name='heading-m-price'] { - min-height: var( - --consonant-merch-card-mini-compare-chart-heading-m-price-height - ); - } - :host([variant='mini-compare-chart']) slot[name='body-xxs'] { - min-height: var( - --consonant-merch-card-mini-compare-chart-body-xxs-height - ); - } - :host([variant='mini-compare-chart']) slot[name='price-commitment'] { - min-height: var( - --consonant-merch-card-mini-compare-chart-price-commitment-height - ); - } - :host([variant='mini-compare-chart']) slot[name='offers'] { - min-height: var(--consonant-merch-card-mini-compare-chart-offers-height); - } - :host([variant='mini-compare-chart']) slot[name='promo-text'] { - min-height: var(--consonant-merch-card-mini-compare-chart-promo-text-height); - } - :host([variant='mini-compare-chart']) slot[name='callout-content'] { - min-height: var( - --consonant-merch-card-mini-compare-chart-callout-content-height - ); - } - `);var Xa=` -:root { - --consonant-merch-card-plans-width: 300px; - --consonant-merch-card-plans-icon-size: 40px; -} - -merch-card[variant="plans"] [slot="description"] { - min-height: 84px; -} - -merch-card[variant="plans"] [slot="quantity-select"] { - display: flex; - justify-content: flex-start; - box-sizing: border-box; - width: 100%; - padding: var(--consonant-merch-spacing-xs); -} - -.one-merch-card.plans, -.two-merch-cards.plans, -.three-merch-cards.plans, -.four-merch-cards.plans { - grid-template-columns: var(--consonant-merch-card-plans-width); -} - -/* Tablet */ -@media screen and ${R} { - :root { - --consonant-merch-card-plans-width: 302px; - } - .two-merch-cards.plans, - .three-merch-cards.plans, - .four-merch-cards.plans { - grid-template-columns: repeat(2, var(--consonant-merch-card-plans-width)); - } -} - -/* desktop */ -@media screen and ${I} { - :root { - --consonant-merch-card-plans-width: 276px; - } - .three-merch-cards.plans, - .four-merch-cards.plans { - grid-template-columns: repeat(3, var(--consonant-merch-card-plans-width)); - } -} - -/* Large desktop */ - @media screen and ${G} { - .four-merch-cards.plans { - grid-template-columns: repeat(4, var(--consonant-merch-card-plans-width)); - } -} -`;var ht=class extends P{constructor(t){super(t)}getGlobalCSS(){return Xa}postCardUpdateHook(){this.adjustTitleWidth()}get stockCheckbox(){return this.card.checkboxLabel?g``:""}renderLayout(){return g` ${this.badge} -
      - - - - - ${this.promoBottom?"":g` `} - - ${this.promoBottom?g` `:""} - ${this.stockCheckbox} -
      - - ${this.secureLabelFooter}`}};p(ht,"variantStyle",w` - :host([variant='plans']) { - min-height: 348px; - } - - :host([variant='plans']) ::slotted([slot='heading-xs']) { - max-width: var(--consonant-merch-card-heading-xs-max-width, 100%); - } - `);var Wa=` -:root { - --consonant-merch-card-product-width: 300px; -} - -/* grid style for product */ -.one-merch-card.product, -.two-merch-cards.product, -.three-merch-cards.product, -.four-merch-cards.product { - grid-template-columns: var(--consonant-merch-card-product-width); -} - -/* Tablet */ -@media screen and ${R} { - .two-merch-cards.product, - .three-merch-cards.product, - .four-merch-cards.product { - grid-template-columns: repeat(2, var(--consonant-merch-card-product-width)); - } -} - -/* desktop */ -@media screen and ${I} { - :root { - --consonant-merch-card-product-width: 378px; - } - - .three-merch-cards.product, - .four-merch-cards.product { - grid-template-columns: repeat(3, var(--consonant-merch-card-product-width)); - } -} - -/* Large desktop */ -@media screen and ${G} { - .four-merch-cards.product { - grid-template-columns: repeat(4, var(--consonant-merch-card-product-width)); - } -} -`;var De=class extends P{constructor(t){super(t)}getGlobalCSS(){return Wa}adjustProductBodySlots(){if(this.card.getBoundingClientRect().width===0)return;["heading-xs","body-xxs","body-xs","promo-text","callout-content","body-lower"].forEach(r=>this.updateCardElementMinHeight(this.card.shadowRoot.querySelector(`slot[name="${r}"]`),r))}renderLayout(){return g` ${this.badge} -
      - - - - ${this.promoBottom?"":g``} - - ${this.promoBottom?g``:""} - - -
      - ${this.secureLabelFooter}`}connectedCallbackHook(){super.connectedCallbackHook(),window.addEventListener("resize",this.postCardUpdateHook.bind(this))}postCardUpdateHook(){Ir()||this.adjustProductBodySlots(),this.adjustTitleWidth()}};p(De,"variantStyle",w` - :host([variant='product']) > slot:not([name='icons']) { - display: block; - } - :host([variant='product']) slot[name='body-xs'] { - min-height: var(--consonant-merch-card-product-body-xs-height); - display: block; - } - :host([variant='product']) slot[name='heading-xs'] { - min-height: var(--consonant-merch-card-product-heading-xs-height); - display: block; - } - :host([variant='product']) slot[name='body-xxs'] { - min-height: var(--consonant-merch-card-product-body-xxs-height); - display: block; - } - :host([variant='product']) slot[name='promo-text'] { - min-height: var(--consonant-merch-card-product-promo-text-height); - display: block; - } - :host([variant='product']) slot[name='callout-content'] { - min-height: var(--consonant-merch-card-product-callout-content-height); - display: block; - } - - :host([variant='product']) ::slotted([slot='heading-xs']) { - max-width: var(--consonant-merch-card-heading-xs-max-width, 100%); - } - `);var qa=` -:root { - --consonant-merch-card-segment-width: 378px; -} - -/* grid style for segment */ -.one-merch-card.segment, -.two-merch-cards.segment, -.three-merch-cards.segment, -.four-merch-cards.segment { - grid-template-columns: minmax(276px, var(--consonant-merch-card-segment-width)); -} - -/* Mobile */ -@media screen and ${Ee} { - :root { - --consonant-merch-card-segment-width: 276px; - } -} - -@media screen and ${R} { - :root { - --consonant-merch-card-segment-width: 276px; - } - - .two-merch-cards.segment, - .three-merch-cards.segment, - .four-merch-cards.segment { - grid-template-columns: repeat(2, minmax(276px, var(--consonant-merch-card-segment-width))); - } -} - -/* desktop */ -@media screen and ${I} { - :root { - --consonant-merch-card-segment-width: 302px; - } - - .three-merch-cards.segment { - grid-template-columns: repeat(3, minmax(276px, var(--consonant-merch-card-segment-width))); - } - - .four-merch-cards.segment { - grid-template-columns: repeat(4, minmax(276px, var(--consonant-merch-card-segment-width))); - } -} -`;var dt=class extends P{constructor(t){super(t)}getGlobalCSS(){return qa}postCardUpdateHook(){this.adjustTitleWidth()}renderLayout(){return g` ${this.badge} -
      - - - ${this.promoBottom?"":g``} - - ${this.promoBottom?g``:""} -
      -
      - ${this.secureLabelFooter}`}};p(dt,"variantStyle",w` - :host([variant='segment']) { - min-height: 214px; - } - :host([variant='segment']) ::slotted([slot='heading-xs']) { - max-width: var(--consonant-merch-card-heading-xs-max-width, 100%); - } - `);var Za=` -:root { - --consonant-merch-card-special-offers-width: 378px; -} - -merch-card[variant="special-offers"] span[is="inline-price"][data-template="strikethrough"] { - font-size: var(--consonant-merch-card-body-xs-font-size); -} - -/* grid style for special-offers */ -.one-merch-card.special-offers, -.two-merch-cards.special-offers, -.three-merch-cards.special-offers, -.four-merch-cards.special-offers { - grid-template-columns: minmax(300px, var(--consonant-merch-card-special-offers-width)); -} - -@media screen and ${Ee} { - :root { - --consonant-merch-card-special-offers-width: 302px; - } -} - -@media screen and ${R} { - :root { - --consonant-merch-card-special-offers-width: 302px; - } - - .two-merch-cards.special-offers, - .three-merch-cards.special-offers, - .four-merch-cards.special-offers { - grid-template-columns: repeat(2, minmax(300px, var(--consonant-merch-card-special-offers-width))); - } -} - -/* desktop */ -@media screen and ${I} { - .three-merch-cards.special-offers, - .four-merch-cards.special-offers { - grid-template-columns: repeat(3, minmax(300px, var(--consonant-merch-card-special-offers-width))); - } -} - -@media screen and ${G} { - .four-merch-cards.special-offers { - grid-template-columns: repeat(4, minmax(300px, var(--consonant-merch-card-special-offers-width))); - } -} -`;var Pl={name:{tag:"h4",slot:"detail-m"},title:{tag:"h4",slot:"detail-m"},backgroundImage:{tag:"div",slot:"bg-image"},prices:{tag:"h3",slot:"heading-xs"},description:{tag:"div",slot:"body-xs"},ctas:{slot:"footer",size:"l"}},ut=class extends P{constructor(t){super(t)}getGlobalCSS(){return Za}get headingSelector(){return'[slot="detail-m"]'}get aemFragmentMapping(){return Pl}renderLayout(){return g`${this.cardImage} -
      - - - -
      - ${this.evergreen?g` -
      - -
      - `:g` -
      - ${this.secureLabelFooter} - `} - `}};p(ut,"variantStyle",w` - :host([variant='special-offers']) { - min-height: 439px; - } - - :host([variant='special-offers']) { - width: var(--consonant-merch-card-special-offers-width); - } - - :host([variant='special-offers'].center) { - text-align: center; - } - `);var Ja=` -:root { - --consonant-merch-card-twp-width: 268px; - --consonant-merch-card-twp-mobile-width: 300px; - --consonant-merch-card-twp-mobile-height: 358px; -} - -merch-card[variant="twp"] div[class$='twp-badge'] { - padding: 4px 10px 5px 10px; -} - -merch-card[variant="twp"] [slot="body-xs-top"] { - font-size: var(--consonant-merch-card-body-xs-font-size); - line-height: var(--consonant-merch-card-body-xs-line-height); - color: var(--merch-color-grey-80); -} - -merch-card[variant="twp"] [slot="body-xs"] ul { - padding: 0; - margin: 0; -} - -merch-card[variant="twp"] [slot="body-xs"] ul li { - list-style-type: none; - padding-left: 0; -} - -merch-card[variant="twp"] [slot="body-xs"] ul li::before { - content: '\xB7'; - font-size: 20px; - padding-right: 5px; - font-weight: bold; -} - -merch-card[variant="twp"] [slot="footer"] { - font-size: var(--consonant-merch-card-body-xs-font-size); - line-height: var(--consonant-merch-card-body-xs-line-height); - padding: var(--consonant-merch-spacing-s); - var(--consonant-merch-spacing-xs) var(--consonant-merch-spacing-xs); - color: var(--merch-color-grey-80); - display: flex; - flex-flow: wrap; -} - -merch-card[variant='twp'] merch-quantity-select, -merch-card[variant='twp'] merch-offer-select { - display: none; -} - -.one-merch-card.twp, -.two-merch-cards.twp, -.three-merch-cards.twp { - grid-template-columns: var(--consonant-merch-card-image-width); -} - -@media screen and ${Ee} { - :root { - --consonant-merch-card-twp-width: 300px; - } - .one-merch-card.twp, - .two-merch-cards.twp, - .three-merch-cards.twp { - grid-template-columns: repeat(1, var(--consonant-merch-card-twp-mobile-width)); - } -} - -@media screen and ${R} { - :root { - --consonant-merch-card-twp-width: 268px; - } - .one-merch-card.twp, - .two-merch-cards.twp { - grid-template-columns: repeat(2, var(--consonant-merch-card-twp-width)); - } - .three-merch-cards.twp { - grid-template-columns: repeat(3, var(--consonant-merch-card-twp-width)); - } -} - -@media screen and ${I} { - :root { - --consonant-merch-card-twp-width: 268px; - } - .one-merch-card.twp - .two-merch-cards.twp { - grid-template-columns: repeat(2, var(--consonant-merch-card-twp-width)); - } - .three-merch-cards.twp { - grid-template-columns: repeat(3, var(--consonant-merch-card-twp-width)); - } -} - -@media screen and ${G} { - .one-merch-card.twp - .two-merch-cards.twp { - grid-template-columns: repeat(2, var(--consonant-merch-card-twp-width)); - } - .three-merch-cards.twp { - grid-template-columns: repeat(3, var(--consonant-merch-card-twp-width)); - } -} -`;var mt=class extends P{constructor(t){super(t)}getGlobalCSS(){return Ja}renderLayout(){return g`${this.badge} -
      - - - -
      -
      - -
      -
      `}};p(mt,"variantStyle",w` - :host([variant='twp']) { - padding: 4px 10px 5px 10px; - } - .twp-badge { - padding: 4px 10px 5px 10px; - } - - :host([variant='twp']) ::slotted(merch-offer-select) { - display: none; - } - - :host([variant='twp']) .top-section { - flex: 0; - display: flex; - flex-direction: column; - justify-content: flex-start; - height: 100%; - gap: var(--consonant-merch-spacing-xxs); - padding: var(--consonant-merch-spacing-xs) - var(--consonant-merch-spacing-xs) var(--consonant-merch-spacing-xs) - var(--consonant-merch-spacing-xs); - align-items: flex-start; - } - - :host([variant='twp']) .body { - padding: 0 var(--consonant-merch-spacing-xs); - } - - :host([aria-selected]) .twp-badge { - margin-inline-end: 2px; - padding-inline-end: 9px; - } - - :host([variant='twp']) footer { - gap: var(--consonant-merch-spacing-xxs); - flex-direction: column; - align-self: flex-start; - } - `);var Qa=` -:root { - --merch-card-ccd-suggested-width: 305px; - --merch-card-ccd-suggested-height: 205px; - --merch-card-ccd-suggested-background-img-size: 119px; -} - -sp-theme[color='light'] merch-card[variant="ccd-suggested"] { - background-color: var(--ccd-gray-100-light, #F8F8F8); - color: var(--ccd-gray-700-dark, #464646); - border: 1px solid var(--ccd-gray-200-light, #E6E6E6); -} - -sp-theme[color='light'] merch-card[variant="ccd-suggested"] [slot="body-xs"] { - color: var(--ccd-gray-700-dark, #464646); -} - -sp-theme[color='dark'] merch-card[variant="ccd-suggested"] [slot="body-xs"] { - color: var(--ccd-gray-100-light, #F8F8F8); -} - -sp-theme[color='dark'] merch-card[variant="ccd-suggested"] { - background-color: var(--ccd-gray-800-dark, #222); - color: var(--ccd-gray-100-light, #F8F8F8); - border: 1px solid var(--ccd-gray-700-dark, #464646); -} - -merch-card[variant="ccd-suggested"] [slot="detail-s"] { - color: var(--merch-color-grey-60); -} - -merch-card[variant="ccd-suggested"] [slot="heading-xs"] { - color: var(--spectrum-gray-800, #F8F8F8); - font-size: var(--merch-card-heading-xxs-font-size); - line-height: var(--merch-card-heading-xxs-line-height); -} - -merch-card[variant="ccd-suggested"] [slot="body-xs"] a { - font-size: var(--consonant-merch-card-body-xxs-font-size); - line-height: var(--consonant-merch-card-body-xxs-line-height); - text-decoration: underline; - color: var(--spectrum-blue-800, var(--color-accent)); -} - -merch-card[variant="ccd-suggested"] [slot="price"] span.placeholder-resolved[data-template="priceStrikethrough"], -merch-card[variant="ccd-suggested"] [slot="price"] span.placeholder-resolved[data-template="strikethrough"] { - text-decoration: line-through; - color: var(--ccd-gray-600-light, var(--merch-color-grey-60)); -} - -merch-card[variant="ccd-suggested"] [slot="cta"] a { - font-size: var(--consonant-merch-card-body-xs-font-size); - line-height: normal; - text-decoration: none; - color: var(--spectrum-gray-800, var(--merch-color-grey-80)); - font-weight: 700; -} - -sp-theme[color='dark'] merch-card[variant="ccd-suggested"] [slot="cta"] sp-button[treatment="outline"] { - color: var(--ccd-gray-200-light, #E6E6E6); - border: 2px solid var(--ccd-gray-200-light, #E6E6E6); -} -`;var Cl={mnemonics:{size:"l"},subtitle:{tag:"h4",slot:"detail-s"},title:{tag:"h3",slot:"heading-xs"},prices:{tag:"p",slot:"price"},description:{tag:"div",slot:"body-xs"},ctas:{slot:"cta",size:"m"}},pt=class extends P{getGlobalCSS(){return Qa}get aemFragmentMapping(){return Cl}renderLayout(){return g` -
      -
      -
      - - ${this.badge} -
      -
      - - -
      -
      - - -
      - `}};p(pt,"variantStyle",w` - :host([variant='ccd-suggested']) { - width: var(--merch-card-ccd-suggested-width); - min-width: var(--merch-card-ccd-suggested-width); - min-height: var(--merch-card-ccd-suggested-height); - border-radius: 4px; - display: flex; - flex-flow: wrap; - overflow: hidden; - } - - :host([variant='ccd-suggested']) .body { - height: auto; - padding: 20px; - gap: 0; - } - - :host([variant='ccd-suggested'].thin-strip) .body { - padding: 20px 20px 20px 28px; - } - - :host([variant='ccd-suggested']) .header { - display: flex; - flex-flow: wrap; - place-self: flex-start; - flex-wrap: nowrap; - } - - :host([variant='ccd-suggested']) .headings { - padding-inline-start: var(--consonant-merch-spacing-xxs); - display: flex; - flex-direction: column; - gap: 2px; - } - - :host([variant='ccd-suggested']) ::slotted([slot='icons']) { - place-self: center; - } - - :host([variant='ccd-suggested']) ::slotted([slot='heading-xs']) { - font-size: var(--merch-card-heading-xxs-font-size); - line-height: var(--merch-card-heading-xxs-line-height); - } - - :host([variant='ccd-suggested']) ::slotted([slot='detail-m']) { - line-height: var(--consonant-merch-card-detail-m-line-height); - } - - :host([variant='ccd-suggested']) ::slotted([slot='body-xs']) { - color: var(--ccd-gray-700-dark, #464646); - padding-top: 6px; - } - - :host([variant='ccd-suggested'].wide-strip) ::slotted([slot='body-xs']) { - padding-inline-start: 48px; - } - - :host([variant='ccd-suggested'].wide-strip) ::slotted([slot='price']) { - padding-inline-start: 48px; - } - - :host([variant='ccd-suggested']) ::slotted([slot='price']) { - display: flex; - align-items: center; - color: var(--spectrum-gray-800, #F8F8F8); - font-size: var(--consonant-merch-card-body-xs-font-size); - line-height: var(--consonant-merch-card-body-xs-line-height); - min-width: fit-content; - } - - :host([variant='ccd-suggested']) ::slotted([slot='price']) span.placeholder-resolved[data-template="priceStrikethrough"] { - text-decoration: line-through; - } - - :host([variant='ccd-suggested']) ::slotted([slot='cta']) { - display: flex; - align-items: center; - min-width: fit-content; - } - - :host([variant='ccd-suggested']) .footer { - display: flex; - justify-content: space-between; - flex-grow: 0; - margin-top: auto; - align-items: center; - } - - :host([variant='ccd-suggested']) div[class$='-badge'] { - position: static; - border-radius: 4px; - } - - :host([variant='ccd-suggested']) .top-section { - align-items: center; - } - `);var es=` -:root { - --consonant-merch-card-ccd-slice-single-width: 322px; - --consonant-merch-card-ccd-slice-icon-size: 30px; - --consonant-merch-card-ccd-slice-wide-width: 600px; - --consonant-merch-card-ccd-slice-single-height: 154px; - --consonant-merch-card-ccd-slice-background-img-size: 119px; -} -sp-theme[color='light'] merch-card[variant="ccd-slice"] { - background-color: var(--ccd-gray-100-light, #F8F8F8); - color: var(--ccd-gray-800-dark, #222); - border: 1px solid var(--ccd-gray-200-light, #E6E6E6) -} - -sp-theme[color='dark'] merch-card[variant="ccd-slice"] { - background-color: var(--ccd-gray-800-dark, #222); - color: var(--ccd-gray-100-light, #F8F8F8); - border: 1px solid var(--ccd-gray-700-dark, #464646); -} - -merch-card[variant="ccd-slice"] [slot='body-s'] a:not(.con-button) { - font-size: var(--consonant-merch-card-body-xxs-font-size); - font-style: normal; - font-weight: 400; - line-height: var(--consonant-merch-card-body-xxs-line-height); - text-decoration-line: underline; - color: var(--spectrum-gray-800, var(--merch-color-grey-80)); -} - -merch-card[variant="ccd-slice"] [slot="body-s"] span.placeholder-resolved[data-template="priceStrikethrough"], -merch-card[variant="ccd-slice"] [slot="body-s"] span.placeholder-resolved[data-template="strikethrough"] { - text-decoration: line-through; - color: var(--ccd-gray-600-light, var(--merch-color-grey-60)); -} - -merch-card[variant="ccd-slice"] [slot='image'] img { - overflow: hidden; - border-radius: 50%; -} -`;var Nl={mnemonics:{size:"m"},backgroundImage:{tag:"div",slot:"image"},description:{tag:"div",slot:"body-s"},ctas:{slot:"footer",size:"s"},allowedSizes:["wide"]},ft=class extends P{getGlobalCSS(){return es}get aemFragmentMapping(){return Nl}renderLayout(){return g`
      -
      - - ${this.badge} -
      - - -
      - - `}};p(ft,"variantStyle",w` - :host([variant='ccd-slice']) { - min-width: var(--consonant-merch-card-ccd-slice-single-width); - max-width: var(--consonant-merch-card-ccd-slice-single-width); - max-height: var(--consonant-merch-card-ccd-slice-single-height); - height: var(--consonant-merch-card-ccd-slice-single-height); - border: 1px solid var(--spectrum-gray-700); - border-radius: 4px; - display: flex; - flex-flow: wrap; - } - - :host([variant='ccd-slice']) ::slotted([slot='body-s']) { - font-size: var(--consonant-merch-card-body-xs-font-size); - line-height: var(--consonant-merch-card-body-xxs-line-height); - max-width: 154px; - } - - :host([variant='ccd-slice'][size='wide']) ::slotted([slot='body-s']) { - max-width: 425px; - } - - :host([variant='ccd-slice'][size='wide']) { - width: var(--consonant-merch-card-ccd-slice-wide-width); - max-width: var(--consonant-merch-card-ccd-slice-wide-width); - } - - :host([variant='ccd-slice']) .content { - display: flex; - gap: var(--consonant-merch-spacing-xxs); - padding: 15px; - padding-inline-end: 0; - width: 154px; - flex-direction: column; - justify-content: space-between; - align-items: flex-start; - flex: 1 0 0; - } - - :host([variant='ccd-slice']) - ::slotted([slot='body-s']) - ::slotted(a:not(.con-button)) { - font-size: var(--consonant-merch-card-body-xxs-font-size); - font-style: normal; - font-weight: 400; - line-height: var(--consonant-merch-card-body-xxs-line-height); - text-decoration-line: underline; - color: var(--spectrum-gray-800, var(--merch-color-grey-80)); - } - - :host([variant='ccd-slice']) ::slotted([slot='image']) { - display: flex; - justify-content: center; - flex-shrink: 0; - width: var(--consonant-merch-card-ccd-slice-background-img-size); - height: var(--consonant-merch-card-ccd-slice-background-img-size); - overflow: hidden; - border-radius: 50%; - padding: 15px; - align-self: center; - padding-inline-start: 0; - } - - :host([variant='ccd-slice']) ::slotted([slot='image']) img { - overflow: hidden; - border-radius: 50%; - width: inherit; - height: inherit; - } - - :host([variant='ccd-slice']) div[class$='-badge'] { - font-size: var(--consonant-merch-card-body-xxs-font-size); - position: static; - border-radius: 4px; - font-style: normal; - font-weight: 400; - line-height: normal; - padding: 4px 9px; - } - - :host([variant='ccd-slice']) .top-section { - align-items: center; - gap: 8px; - } - `);var wi=(e,t=!1)=>{switch(e.variant){case"catalog":return new st(e);case"ccd-action":return new ct(e);case"image":return new kr(e);case"inline-heading":return new Or(e);case"mini-compare-chart":return new lt(e);case"plans":return new ht(e);case"product":return new De(e);case"segment":return new dt(e);case"special-offers":return new ut(e);case"twp":return new mt(e);case"ccd-suggested":return new pt(e);case"ccd-slice":return new ft(e);default:return t?void 0:new De(e)}},ts=()=>{let e=[];return e.push(st.variantStyle),e.push(ct.variantStyle),e.push(lt.variantStyle),e.push(De.variantStyle),e.push(ht.variantStyle),e.push(dt.variantStyle),e.push(ut.variantStyle),e.push(mt.variantStyle),e.push(pt.variantStyle),e.push(ft.variantStyle),e};var rs=document.createElement("style");rs.innerHTML=` -:root { - --consonant-merch-card-detail-font-size: 12px; - --consonant-merch-card-detail-font-weight: 500; - --consonant-merch-card-detail-letter-spacing: 0.8px; - - --consonant-merch-card-heading-font-size: 18px; - --consonant-merch-card-heading-line-height: 22.5px; - --consonant-merch-card-heading-secondary-font-size: 14px; - --consonant-merch-card-body-font-size: 14px; - --consonant-merch-card-body-line-height: 21px; - --consonant-merch-card-promo-text-height: var(--consonant-merch-card-body-font-size); - - /* Fonts */ - --merch-body-font-family: 'Adobe Clean', adobe-clean, 'Trebuchet MS', sans-serif; - - /* spacing */ - --consonant-merch-spacing-xxxs: 4px; - --consonant-merch-spacing-xxs: 8px; - --consonant-merch-spacing-xs: 16px; - --consonant-merch-spacing-s: 24px; - --consonant-merch-spacing-m: 32px; - - /* cta */ - --consonant-merch-card-cta-font-size: 15px; - - /* headings */ - --merch-card-heading-xxs-font-size: 16px; - --merch-card-heading-xxs-line-height: 20px; - --consonant-merch-card-heading-xs-font-size: 18px; - --consonant-merch-card-heading-xs-line-height: 22.5px; - --consonant-merch-card-heading-s-font-size: 20px; - --consonant-merch-card-heading-s-line-height: 25px; - --consonant-merch-card-heading-m-font-size: 24px; - --consonant-merch-card-heading-m-line-height: 30px; - --consonant-merch-card-heading-l-font-size: 20px; - --consonant-merch-card-heading-l-line-height: 30px; - --consonant-merch-card-heading-xl-font-size: 36px; - --consonant-merch-card-heading-xl-line-height: 45px; - - /* detail */ - --merch-card-detail-s-font-size: 11px; - --merch-card-detail-s-line-height: 14px; - --consonant-merch-card-detail-m-font-size: 12px; - --consonant-merch-card-detail-m-line-height: 15px; - --consonant-merch-card-detail-m-font-weight: 700; - --consonant-merch-card-detail-m-letter-spacing: 1px; - - /* body */ - --consonant-merch-card-body-xxs-font-size: 12px; - --consonant-merch-card-body-xxs-line-height: 18px; - --consonant-merch-card-body-xxs-letter-spacing: 1px; - --consonant-merch-card-body-xs-font-size: 14px; - --consonant-merch-card-body-xs-line-height: 21px; - --consonant-merch-card-body-s-font-size: 16px; - --consonant-merch-card-body-s-line-height: 24px; - --consonant-merch-card-body-m-font-size: 18px; - --consonant-merch-card-body-m-line-height: 27px; - --consonant-merch-card-body-l-font-size: 20px; - --consonant-merch-card-body-l-line-height: 30px; - --consonant-merch-card-body-xl-font-size: 22px; - --consonant-merch-card-body-xl-line-height: 33px; - - - --consonant-merch-card-heading-padding: 0; - - /* colors */ - --merch-card-background-color: var(--spectrum-gray-background-color-default, #fff); - --consonant-merch-card-border-color: #eaeaea; - --color-accent: #1473E6; - --merch-color-focus-ring: #1473E6; - --merch-color-grey-10: #f6f6f6; - --merch-color-grey-60: #6D6D6D; - --merch-color-grey-80: #2c2c2c; - --merch-color-grey-200: #E8E8E8; - --merch-color-grey-600: #686868; - --merch-color-green-promo: #2D9D78; - - /* ccd colors */ - --ccd-gray-100-light: #F8F8F8; - --ccd-gray-200-light: #E6E6E6; - --ccd-gray-800-dark: #222; - --ccd-gray-700-dark: #464646; - --ccd-gray-600-light: #6D6D6D; - --ccd-gray-200-dark: #3F3F3F; - - - - - /* merch card generic */ - --consonant-merch-card-max-width: 300px; - --transition: cmax-height 0.3s linear, opacity 0.3s linear; - - /* background image */ - --consonant-merch-card-bg-img-height: 180px; - - /* inline SVGs */ - --checkmark-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath fill='%23fff' d='M3.788 9A.999.999 0 0 1 3 8.615l-2.288-3a1 1 0 1 1 1.576-1.23l1.5 1.991 3.924-4.991a1 1 0 1 1 1.576 1.23l-4.712 6A.999.999 0 0 1 3.788 9z' class='spectrum-UIIcon--medium'/%3E%3C/svg%3E%0A"); - - --secure-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23757575' viewBox='0 0 12 15'%3E%3Cpath d='M11.5 6H11V5A5 5 0 1 0 1 5v1H.5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5ZM3 5a3 3 0 1 1 6 0v1H3Zm4 6.111V12.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1.389a1.5 1.5 0 1 1 2 0Z'/%3E%3C/svg%3E"); - - --info-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'>'); - - /* callout */ - --consonant-merch-card-callout-line-height: 21px; - --consonant-merch-card-callout-font-size: 14px; - --consonant-merch-card-callout-font-color: #2C2C2C; - --consonant-merch-card-callout-icon-size: 16px; - --consonant-merch-card-callout-icon-top: 6px; - --consonant-merch-card-callout-icon-right: 8px; - --consonant-merch-card-callout-letter-spacing: 0px; - --consonant-merch-card-callout-icon-padding: 34px; - --consonant-merch-card-callout-spacing-xxs: 8px; -} - -merch-card-collection { - display: contents; -} - -merch-card-collection > merch-card:not([style]) { - display: none; -} - -merch-card-collection > p[slot], -merch-card-collection > div[slot] p { - margin: 0; -} - -.one-merch-card, -.two-merch-cards, -.three-merch-cards, -.four-merch-cards { - display: grid; - justify-content: center; - justify-items: stretch; - align-items: normal; - gap: var(--consonant-merch-spacing-m); - padding: var(--spacing-m); -} - -merch-card.background-opacity-70 { - background-color: rgba(255 255 255 / 70%); -} - -merch-card.has-divider hr { - margin-bottom: var(--consonant-merch-spacing-xs); - height: 1px; - border: none; -} - -merch-card p, merch-card h3, merch-card h4 { - margin: 0; -} - -merch-card span[is=inline-price] { - display: inline-block; -} - -merch-card [slot^='heading-'] { - color: var(--spectrum-gray-800, var(--merch-color-grey-80)); - font-weight: 700; -} - -merch-card [slot='heading-xs'] { - font-size: var(--consonant-merch-card-heading-xs-font-size); - line-height: var(--consonant-merch-card-heading-xs-line-height); - margin: 0; -} - -merch-card.dc-pricing [slot='heading-xs'] { - margin-bottom: var(--consonant-merch-spacing-xxs); -} - -merch-card:not([variant='inline-heading']) [slot='heading-xs'] a { - color: var(--merch-color-grey-80); -} - -merch-card div.starting-at { - font-size: var(--consonant-merch-card-body-xs-font-size); - line-height: var(--consonant-merch-card-body-xs-line-height); - font-weight: 500; -} - -merch-card [slot='heading-xs'] a:not(:hover) { - text-decoration: inherit; -} - -merch-card [slot='heading-s'] { - font-size: var(--consonant-merch-card-heading-s-font-size); - line-height: var(--consonant-merch-card-heading-s-line-height); - margin: 0; -} - -merch-card [slot='heading-m'] { - font-size: var(--consonant-merch-card-heading-m-font-size); - line-height: var(--consonant-merch-card-heading-m-line-height); - margin: 0; -} - -merch-card [slot='heading-m-price'] { - font-size: var(--consonant-merch-card-heading-m-font-size); - line-height: var(--consonant-merch-card-heading-m-line-height); - padding: 0 var(--consonant-merch-spacing-s); - margin: 0; - color: var(--spectrum-gray-800, #2c2c2c); -} - -merch-card [slot='offers'] { - padding: var(--consonant-merch-spacing-xxs) var(--consonant-merch-spacing-s); -} - -merch-card [slot='heading-l'] { - font-size: var(--consonant-merch-card-heading-l-font-size); - line-height: var(--consonant-merch-card-heading-l-line-height); - margin: 0; -} - -merch-card [slot='heading-xl'] { - font-size: var(--consonant-merch-card-heading-xl-font-size); - line-height: var(--consonant-merch-card-heading-xl-line-height); - margin: 0; -} - -merch-card [slot='callout-content'] { - display: flex; - flex-direction: column; - margin: var(--consonant-merch-spacing-xxxs) 0px; - gap: var(--consonant-merch-card-callout-spacing-xxs); -} - -merch-card [slot='callout-content'] > div { - display: flex; - flex-direction: column; - margin: var(--consonant-merch-spacing-xxxs) 0px; - gap: var(--consonant-merch-card-callout-spacing-xxs); - align-items: flex-start; -} - -merch-card [slot='callout-content'] > div > div { - display: flex; - background: rgba(203 203 203 / 50%); - border-radius: var(--consonant-merch-spacing-xxxs); - padding: var(--consonant-merch-spacing-xxxs) var(--consonant-merch-spacing-xxxs) var(--consonant-merch-spacing-xxxs) var(--consonant-merch-spacing-xxs); -} - -merch-card [slot='callout-content'] > div > div > div { - display: inline-block; - text-align: start; - font: normal normal normal var(--consonant-merch-card-callout-font-size)/var(--consonant-merch-card-callout-line-height) var(--body-font-family, 'Adobe Clean'); - letter-spacing: var(--consonant-merch-card-callout-letter-spacing); - color: var(--consonant-merch-card-callout-font-color); -} - -merch-card [slot='callout-content'] img { - width: var(--consonant-merch-card-callout-icon-size); - height: var(--consonant-merch-card-callout-icon-size); - margin-inline-end: 2.5px; - margin-inline-start: 9px; - margin-block-start: 2.5px; -} - -merch-card [slot='detail-s'] { - font-size: var(--merch-card-detail-s-font-size); - line-height: var(--merch-card-detail-s-line-height); - letter-spacing: 0.66px; - font-weight: 700; - text-transform: uppercase; - color: var(--spectrum-gray-600, var(--merch-color-grey-600)); -} - -merch-card [slot='detail-m'] { - font-size: var(--consonant-merch-card-detail-m-font-size); - letter-spacing: var(--consonant-merch-card-detail-m-letter-spacing); - font-weight: var(--consonant-merch-card-detail-m-font-weight); - text-transform: uppercase; - margin: 0; - color: var(--merch-color-grey-80); -} - -merch-card [slot="body-xxs"] { - font-size: var(--consonant-merch-card-body-xxs-font-size); - line-height: var(--consonant-merch-card-body-xxs-line-height); - font-weight: normal; - letter-spacing: var(--consonant-merch-card-body-xxs-letter-spacing); - margin: 0; - color: var(--merch-color-grey-80); -} - -merch-card [slot="body-xs"] { - font-size: var(--consonant-merch-card-body-xs-font-size); - line-height: var(--consonant-merch-card-body-xs-line-height); - color: var(--merch-color-grey-80); -} - -merch-card [slot="body-m"] { - font-size: var(--consonant-merch-card-body-m-font-size); - line-height: var(--consonant-merch-card-body-m-line-height); - color: var(--merch-color-grey-80); -} - -merch-card [slot="body-l"] { - font-size: var(--consonant-merch-card-body-l-font-size); - line-height: var(--consonant-merch-card-body-l-line-height); - color: var(--merch-color-grey-80); -} - -merch-card [slot="body-xl"] { - font-size: var(--consonant-merch-card-body-xl-font-size); - line-height: var(--consonant-merch-card-body-xl-line-height); - color: var(--merch-color-grey-80); -} - -merch-card a.primary-link { - color: var(--spectrum-global-color-blue-700); -} - -[slot="cci-footer"] p, -[slot="cct-footer"] p, -[slot="cce-footer"] p { - margin: 0; -} - -merch-card [slot="promo-text"] { - color: var(--merch-color-green-promo); - font-size: var(--consonant-merch-card-promo-text-height); - font-weight: 700; - line-height: var(--consonant-merch-card-promo-text-height); - margin: 0; - min-height: var(--consonant-merch-card-promo-text-height); - padding: 0; -} - -div[slot="footer"] { - display: contents; -} - -[slot="footer"] a { - word-wrap: break-word; - text-align: center; -} - -[slot="footer"] a:not([class]) { - font-weight: 700; - font-size: var(--consonant-merch-card-cta-font-size); -} - -div[slot='bg-image'] img { - position: relative; - width: 100%; - min-height: var(--consonant-merch-card-bg-img-height); - max-height: var(--consonant-merch-card-bg-img-height); - object-fit: cover; - border-top-left-radius: 16px; - border-top-right-radius: 16px; -} - -span[is="inline-price"][data-template='strikethrough'] { - text-decoration: line-through; -} - -merch-card sp-button a { - text-decoration: none; - color: var( - --highcontrast-button-content-color-default, - var( - --mod-button-content-color-default, - var(--spectrum-button-content-color-default) - ) - ); -} - -merch-card span.placeholder-resolved[data-template='strikethrough'], -merch-card span.price.price-strikethrough { - font-size: var(--consonant-merch-card-body-xs-font-size); - font-weight: normal; -} - -/* merch-offer-select */ -merch-offer-select[variant="subscription-options"] merch-offer span[is="inline-price"][data-display-tax='true'] .price-tax-inclusivity { - font-size: 12px; - font-style: italic; - font-weight: normal; - position: absolute; - left: 0; - top: 20px; -} - -body.merch-modal { - overflow: hidden; - scrollbar-gutter: stable; - height: 100vh; -} -`;document.head.appendChild(rs);var Il="#000000",kl="#F8D904",Ol=/(accent|primary|secondary)(-(outline|link))?/;function Rl(e){return e.fields.reduce((t,{name:r,multiple:n,values:i})=>(t[r]=n?i:i[0],t),{id:e.id})}function Vl(e,t,r){let n=e.mnemonicIcon?.map((i,o)=>({icon:i,alt:e.mnemonicAlt[o]??"",link:e.mnemonicLink[o]??""}));return n?.forEach(({icon:i,alt:o,link:a})=>{if(!/^https?:/.test(a))try{a=new URL(`https://${a}`).href.toString()}catch{a="#"}let s=he("merch-icon",{slot:"icons",src:i,alt:o,href:a,size:r.mnemonics?.size??"l"});t.append(s)}),n}function $l(e,t){e.badge&&(t.setAttribute("badge-text",e.badge),t.setAttribute("badge-color",e.badgeColor||Il),t.setAttribute("badge-background-color",e.badgeBackgroundColor||kl))}function Ml(e,t,r){r?.includes(e.size)&&t.setAttribute("size",e.size)}function Ul(e,t,r){e.cardTitle&&r&&t.append(he(r.tag,{slot:r.slot},e.cardTitle))}function Dl(e,t,r){e.subtitle&&r&&t.append(he(r.tag,{slot:r.slot},e.subtitle))}function Gl(e,t,r,n){if(e.backgroundImage)switch(n){case"ccd-slice":r&&t.append(he(r.tag,{slot:r.slot},``));break;case"ccd-suggested":t.setAttribute("background-image",e.backgroundImage);break}}function Hl(e,t,r){if(e.prices&&r){let n=he(r.tag,{slot:r.slot},e.prices);t.append(n)}}function zl(e,t,r){if(e.description&&r){let n=he(r.tag,{slot:r.slot},e.description);t.append(n)}}function Fl(e,t,r,n){n==="ccd-suggested"&&!e.className&&(e.className="primary-link");let i=Ol.exec(e.className)?.[0]??"accent",o=i.includes("accent"),a=i.includes("primary"),s=i.includes("secondary"),c=i.includes("-outline");if(i.includes("-link"))return e;let h="fill",d;o||t?d="accent":a?d="primary":s&&(d="secondary"),c&&(h="outline");let u=he("sp-button",{treatment:h,variant:d,tabIndex:-1,size:r.ctas.size??"m"},e);return u.addEventListener("click",m=>{m.target!==e&&(m.stopPropagation(),e.click())}),u}function Kl(e,t){return e.classList.add("con-button"),t&&e.classList.add("blue"),e}function Bl(e,t,r,n){if(e.ctas){let{slot:i}=r.ctas,o=he("div",{slot:i},e.ctas),a=[...o.querySelectorAll("a")].map(s=>{let c=s.parentElement.tagName==="STRONG";return t.consonant?Kl(s,c):Fl(s,c,r,n)});o.innerHTML="",o.append(...a),t.append(o)}}async function ns(e,t){let r=Rl(e),{variant:n}=r;if(!n)return;t.querySelectorAll("[slot]").forEach(a=>{a.remove()}),t.removeAttribute("background-image"),t.removeAttribute("badge-background-color"),t.removeAttribute("badge-color"),t.removeAttribute("badge-text"),t.removeAttribute("size"),t.variant=n,await t.updateComplete;let{aemFragmentMapping:i}=t.variantLayout;if(!i)return;let o=Vl(r,t,i);e.computed={mnemonics:o},$l(r,t),Ml(r,t,i.allowedSizes),Ul(r,t,i.title),Dl(r,t,i.subtitle),Gl(r,t,i.backgroundImage,n),Hl(r,t,i.prices),zl(r,t,i.description),Bl(r,t,i,n)}var jl="merch-card",Yl=2e3,Ci,Kt,Pi,Ft=class extends ie{constructor(){super();j(this,Kt);p(this,"customerSegment");p(this,"marketSegment");p(this,"variantLayout");j(this,Ci,!1);this.filters={},this.types="",this.selected=!1,this.handleAemFragmentEvents=this.handleAemFragmentEvents.bind(this)}firstUpdated(){this.variantLayout=wi(this,!1),this.variantLayout?.connectedCallbackHook(),this.aemFragment?.updateComplete.catch(()=>{this.style.display="none"})}willUpdate(r){(r.has("variant")||!this.variantLayout)&&(this.variantLayout=wi(this),this.variantLayout.connectedCallbackHook())}updated(r){(r.has("badgeBackgroundColor")||r.has("borderColor"))&&(this.style.border=this.computedBorderStyle),this.variantLayout?.postCardUpdateHook(this)}get theme(){return this.closest("sp-theme")}get prices(){return Array.from(this.querySelectorAll('span[is="inline-price"][data-wcs-osi]'))}render(){if(!(!this.isConnected||!this.variantLayout||this.style.display==="none"))return this.variantLayout.renderLayout()}get computedBorderStyle(){return["twp","ccd-slice","ccd-suggested"].includes(this.variant)?"":`1px solid ${this.borderColor?this.borderColor:this.badgeBackgroundColor}`}get badgeElement(){return this.shadowRoot.getElementById("badge")}get headingmMSlot(){return this.shadowRoot.querySelector('slot[name="heading-m"]').assignedElements()[0]}get footerSlot(){return this.shadowRoot.querySelector('slot[name="footer"]')?.assignedElements()[0]}get price(){return this.headingmMSlot?.querySelector('span[is="inline-price"]')}get checkoutLinks(){return[...this.footerSlot?.querySelectorAll('a[is="checkout-link"]')??[]]}async toggleStockOffer({target:r}){if(!this.stockOfferOsis)return;let n=this.checkoutLinks;if(n.length!==0)for(let i of n){await i.onceSettled();let o=i.value?.[0]?.planType;if(!o)return;let a=this.stockOfferOsis[o];if(!a)return;let s=i.dataset.wcsOsi.split(",").filter(c=>c!==a);r.checked&&s.push(a),i.dataset.wcsOsi=s.join(",")}}handleQuantitySelection(r){let n=this.checkoutLinks;for(let i of n)i.dataset.quantity=r.detail.option}get titleElement(){return this.querySelector(this.variantLayout?.headingSelector||".card-heading")}get title(){return this.titleElement?.textContent?.trim()}get description(){return this.querySelector('[slot="body-xs"]')?.textContent?.trim()}updateFilters(r){let n={...this.filters};Object.keys(n).forEach(i=>{if(r){n[i].order=Math.min(n[i].order||2,2);return}let o=n[i].order;o===1||isNaN(o)||(n[i].order=Number(o)+1)}),this.filters=n}includes(r){return this.textContent.match(new RegExp(r,"i"))!==null}connectedCallback(){super.connectedCallback(),this.addEventListener(_i,this.handleQuantitySelection),this.addEventListener(Ua,this.merchCardReady,{once:!0}),this.updateComplete.then(()=>{this.merchCardReady()}),this.storageOptions?.addEventListener("change",this.handleStorageChange),this.addEventListener(at,this.handleAemFragmentEvents),this.addEventListener(ot,this.handleAemFragmentEvents),this.aemFragment||setTimeout(()=>this.checkReady(),0)}disconnectedCallback(){super.disconnectedCallback(),this.variantLayout.disconnectedCallbackHook(),this.removeEventListener(_i,this.handleQuantitySelection),this.storageOptions?.removeEventListener(Li,this.handleStorageChange),this.removeEventListener(at,this.handleAemFragmentEvents),this.removeEventListener(ot,this.handleAemFragmentEvents)}async handleAemFragmentEvents(r){if(r.type===at&&ze(this,Kt,Pi).call(this,"AEM fragment cannot be loaded"),r.type===ot&&r.target.nodeName==="AEM-FRAGMENT"){let n=r.detail;await ns(n,this),this.checkReady()}}async checkReady(){let r=Promise.all([...this.querySelectorAll('span[is="inline-price"][data-wcs-osi],a[is="checkout-link"][data-wcs-osi]')].map(o=>o.onceSettled().catch(()=>o))).then(o=>o.every(a=>a.classList.contains("placeholder-resolved"))),n=new Promise(o=>setTimeout(()=>o(!1),Yl));if(await Promise.race([r,n])===!0){this.dispatchEvent(new CustomEvent(Ha,{bubbles:!0,composed:!0}));return}ze(this,Kt,Pi).call(this,"Contains unresolved offers")}get aemFragment(){return this.querySelector("aem-fragment")}get storageOptions(){return this.querySelector("sp-radio-group#storage")}get storageSpecificOfferSelect(){let r=this.storageOptions?.selected;if(r){let n=this.querySelector(`merch-offer-select[storage="${r}"]`);if(n)return n}return this.querySelector("merch-offer-select")}get offerSelect(){return this.storageOptions?this.storageSpecificOfferSelect:this.querySelector("merch-offer-select")}get quantitySelect(){return this.querySelector("merch-quantity-select")}merchCardReady(){this.offerSelect&&!this.offerSelect.planType||this.dispatchEvent(new CustomEvent(Da,{bubbles:!0}))}handleStorageChange(){let r=this.closest("merch-card")?.offerSelect.cloneNode(!0);r&&this.dispatchEvent(new CustomEvent(Li,{detail:{offerSelect:r},bubbles:!0}))}get dynamicPrice(){return this.querySelector('[slot="price"]')}selectMerchOffer(r){if(r===this.merchOffer)return;this.merchOffer=r;let n=this.dynamicPrice;if(r.price&&n){let i=r.price.cloneNode(!0);n.onceSettled?n.onceSettled().then(()=>{n.replaceWith(i)}):n.replaceWith(i)}}};Ci=new WeakMap,Kt=new WeakSet,Pi=function(r){this.dispatchEvent(new CustomEvent(za,{detail:r,bubbles:!0,composed:!0}))},p(Ft,"properties",{name:{type:String,attribute:"name",reflect:!0},variant:{type:String,reflect:!0},size:{type:String,attribute:"size",reflect:!0},badgeColor:{type:String,attribute:"badge-color",reflect:!0},borderColor:{type:String,attribute:"border-color",reflect:!0},badgeBackgroundColor:{type:String,attribute:"badge-background-color",reflect:!0},backgroundImage:{type:String,attribute:"background-image",reflect:!0},badgeText:{type:String,attribute:"badge-text"},actionMenu:{type:Boolean,attribute:"action-menu"},customHr:{type:Boolean,attribute:"custom-hr"},consonant:{type:Boolean,attribute:"consonant"},detailBg:{type:String,attribute:"detail-bg"},secureLabel:{type:String,attribute:"secure-label"},checkboxLabel:{type:String,attribute:"checkbox-label"},selected:{type:Boolean,attribute:"aria-selected",reflect:!0},storageOption:{type:String,attribute:"storage",reflect:!0},stockOfferOsis:{type:Object,attribute:"stock-offer-osis",converter:{fromAttribute:r=>{let[n,i,o]=r.split(",");return{PUF:n,ABM:i,M2M:o}}}},filters:{type:String,reflect:!0,converter:{fromAttribute:r=>Object.fromEntries(r.split(",").map(n=>{let[i,o,a]=n.split(":"),s=Number(o);return[i,{order:isNaN(s)?void 0:s,size:a}]})),toAttribute:r=>Object.entries(r).map(([n,{order:i,size:o}])=>[n,i,o].filter(a=>a!=null).join(":")).join(",")}},types:{type:String,attribute:"types",reflect:!0},merchOffer:{type:Object}}),p(Ft,"styles",[Va,ts(),...$a()]);customElements.define(jl,Ft);var gt=class extends ie{constructor(){super(),this.size="m",this.alt=""}render(){let{href:t}=this;return t?g` - ${this.alt} - `:g` ${this.alt}`}};p(gt,"properties",{size:{type:String,attribute:!0},src:{type:String,attribute:!0},alt:{type:String,attribute:!0},href:{type:String,attribute:!0}}),p(gt,"styles",w` - :host { - --img-width: 32px; - --img-height: 32px; - display: block; - width: var(--img-width); - height: var(--img-height); - } - - :host([size='s']) { - --img-width: 24px; - --img-height: 24px; - } - - :host([size='m']) { - --img-width: 30px; - --img-height: 30px; - } - - :host([size='l']) { - --img-width: 40px; - --img-height: 40px; - } - - img { - width: var(--img-width); - height: var(--img-height); - } - `);customElements.define("merch-icon",gt);async function Xl(e){let t=e.headers.get("Etag"),r=await e.json();return r.etag=t,r}async function is(e,t,r){let n=await fetch(`${e}/adobe/sites/cf/fragments/${t}`,{headers:r});if(!n.ok)throw new Error(`Failed to get fragment: ${n.status} ${n.statusText}`);return await Xl(n)}var as=new CSSStyleSheet;as.replaceSync(":host { display: contents; }");var Wl=document.querySelector('meta[name="aem-base-url"]')?.content??"https://odin.adobe.com",os="fragment",ql="ims",Ni,Se,Ii=class{constructor(){j(this,Se,new Map)}clear(){M(this,Se).clear()}add(...t){t.forEach(r=>{let{id:n}=r;n&&M(this,Se).set(n,r)})}has(t){return M(this,Se).has(t)}get(t){return M(this,Se).get(t)}remove(t){M(this,Se).delete(t)}};Se=new WeakMap;var Rr=new Ii,de,Bt,Oi,ki=class extends HTMLElement{constructor(){super();j(this,Bt);p(this,"cache",Rr);p(this,"data");p(this,"fragmentId");p(this,"consonant",!1);p(this,"ims",!1);j(this,de);this.attachShadow({mode:"open"}),this.shadowRoot.adoptedStyleSheets=[as];let r=this.getAttribute(ql);["",!0].includes(r)?(this.ims=!0,Ni||(Ni={Authorization:`Bearer ${window.adobeid?.authorize?.()}`,pragma:"no-cache","cache-control":"no-cache"})):this.ims=!1}static get observedAttributes(){return[os]}attributeChangedCallback(r,n,i){r===os&&(this.fragmentId=i,this.refresh(!1))}connectedCallback(){if(!this.fragmentId){ze(this,Bt,Oi).call(this,"Missing fragment id");return}}async refresh(r=!0){M(this,de)&&!await Promise.race([M(this,de),Promise.resolve(!1)])||(r&&Rr.remove(this.fragmentId),fe(this,de,this.fetchData().then(()=>(this.dispatchEvent(new CustomEvent(ot,{detail:this.data,bubbles:!0,composed:!0})),!0)).catch(()=>(ze(this,Bt,Oi).call(this,"Network error: failed to load fragment"),fe(this,de,null),!1))),M(this,de))}async fetchData(){let r=Rr.get(this.fragmentId);r||(r=await is(Wl,this.fragmentId,this.ims?Ni:void 0),Rr.add(r)),this.data=r}get updateComplete(){return M(this,de)??Promise.reject(new Error("AEM fragment cannot be loaded"))}};de=new WeakMap,Bt=new WeakSet,Oi=function(r){this.classList.add("error"),this.dispatchEvent(new CustomEvent(at,{detail:r,bubbles:!0,composed:!0}))};customElements.define("aem-fragment",ki); -/*! Bundled license information: - -@lit/reactive-element/css-tag.js: - (** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - *) - -@lit/reactive-element/reactive-element.js: - (** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - *) - -lit-html/lit-html.js: - (** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - *) - -@lit/reactive-element/css-tag.js: - (** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - *) - -@lit/reactive-element/reactive-element.js: - (** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - *) - -lit-html/lit-html.js: - (** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - *) - -lit-element/lit-element.js: - (** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - *) - -lit-html/is-server.js: - (** - * @license - * Copyright 2022 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - *) -*/ diff --git a/libs/features/mas/mas/package.json b/libs/features/mas/mas/package.json deleted file mode 100644 index 4d6f6cb1c3d..00000000000 --- a/libs/features/mas/mas/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "@adobecom/mas-js", - "version": "0.0.6", - "description": "Merch at Scale commerce & web components", - "scripts": { - "test:ci": "echo", - "build": "node build.mjs" - }, - "type": "module", - "main": "dist/mas.js", - "files": [ - "src", - "dist" - ], - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": {}, - "devDependencies": { - "@web/test-runner": "^0.13.27", - "@web/test-runner-commands": "^0.6.1", - "esbuild": "^0.21.5", - "esbuild-node-externals": "^1.13.1" - } -} diff --git a/libs/features/mas/mas/src/mas.js b/libs/features/mas/mas/src/mas.js deleted file mode 100644 index d619f8a2ee0..00000000000 --- a/libs/features/mas/mas/src/mas.js +++ /dev/null @@ -1,4 +0,0 @@ -import '../../commerce/src/index.js'; -import '../../web-components/src/merch-card.js'; -import '../../web-components/src/merch-icon.js'; -import '../../web-components/src/aem-fragment.js'; diff --git a/libs/features/mas/mocks/aem.js b/libs/features/mas/mocks/aem.js deleted file mode 100644 index c38e489fa5e..00000000000 --- a/libs/features/mas/mocks/aem.js +++ /dev/null @@ -1,23 +0,0 @@ -export async function withAem(originalFetch) { - return async ({ pathname }) => { - if (/cf\/fragments\//.test(pathname)) { - const fragmentId = pathname.split('/').pop(); - const item = await originalFetch( - '/test/mocks/sites/cf/fragments/search/authorPayload.json', - ) - .then((res) => res.json()) - .then(({ items }) => - items.find((item) => item.id === fragmentId), - ); - if (item) { - return Promise.resolve({ - ok: true, - status: 200, - headers: { get: () => ({}) }, - json: () => Promise.resolve(item), - }); - } - } - return false; - }; -} diff --git a/libs/features/mas/mocks/sites/cf/fragments/search/authorPayload.json b/libs/features/mas/mocks/sites/cf/fragments/search/authorPayload.json deleted file mode 100644 index 5b8d98d46ed..00000000000 --- a/libs/features/mas/mocks/sites/cf/fragments/search/authorPayload.json +++ /dev/null @@ -1,887 +0,0 @@ -{ - "items": [ - { - "path": "/content/dam/sandbox/mas/creative-cloud", - "title": "Creative Cloud All Apps", - "description": "", - "id": "f4aafcef-d410-4092-9f77-a72b9234c224", - "created": { - "at": "2024-09-11T07:36:46.63Z", - "by": "johndoe@adobe.com", - "fullName": "John Doe" - }, - "modified": { - "at": "2024-09-11T08:41:22.433Z", - "by": "johndoe@adobe.com", - "fullName": "John Doe" - }, - "published": { - "at": "2024-09-11T08:27:19.117Z", - "by": "johndoe@adobe.com", - "fullName": "John Doe" - }, - "status": "MODIFIED", - "fields": [ - { - "name": "mnemonicIcon", - "type": "text", - "multiple": true, - "locked": false, - "values": ["/test/mocks/img/creative-cloud.svg"] - }, - { - "name": "mnemonicAlt", - "type": "text", - "multiple": true, - "locked": false, - "values": ["Creative Cloud Product Icon"] - }, - { - "name": "mnemonicLink", - "type": "text", - "multiple": true, - "locked": false, - "values": [ - "https://www.adobe.com/creativecloud/all-apps.html" - ] - }, - { - "name": "badge", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [] - }, - { - "name": "cardTitle", - "type": "text", - "multiple": false, - "locked": false, - "values": ["Creative Cloud All Apps"] - }, - { - "name": "cardTitleLink", - "type": "text", - "multiple": false, - "locked": false, - "values": [ - "https://www.adobe.com/creativecloud/all-apps.html" - ] - }, - { - "name": "prices", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [ - "" - ] - }, - { - "name": "shortDescription", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [] - }, - { - "name": "description", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [ - "

      Get 25 apps and games plus fonts, storage, templates, and tutorials for less than the price of Acrobat Pro, Photoshop, and Premiere Pro sold separately. (Substance 3D apps not included.)

      " - ] - }, - { - "name": "ctas", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [ - "Buy nowFree trial" - ] - }, - { - "name": "variant", - "type": "text", - "multiple": false, - "locked": false, - "values": ["ccd-action"] - }, - { - "name": "parent", - "type": "content-fragment", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "product", - "type": "content-reference", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "stockOffer", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [] - }, - { - "name": "secure", - "type": "boolean", - "multiple": false, - "locked": false, - "values": [false] - }, - { - "name": "promoCode", - "type": "text", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "size", - "type": "text", - "multiple": false, - "locked": false, - "values": [] - } - ], - "variations": [], - "tags": [], - "references": [], - "model": { - "id": "L2NvbmYvbWFzL3NldHRpbmdzL2RhbS9jZm0vbW9kZWxzL2NhcmQ", - "path": "/conf/mas/settings/dam/cfm/models/card", - "name": "Card", - "title": "Card", - "description": "universal m@s card model" - }, - "validationStatus": [], - "fieldTags": [], - "etag": "\"18d6aa75a4d2d0d594ee363257f808f4\"" - }, - { - "path": "/content/dam/sandbox/mas/photoshop", - "title": "Photoshop", - "description": "", - "id": "d52dcff2-9dea-439e-a7a4-a53099ec9315", - "created": { - "at": "2024-05-08T12:05:04.785Z", - "by": "johndoe@adobe.com", - "fullName": "John Doe" - }, - "modified": { - "at": "2024-06-13T11:10:20.455Z", - "by": "johndoe@adobe.com", - "fullName": "John Doe" - }, - "published": { - "at": "2024-06-13T11:11:01.224Z", - "by": "johndoe@adobe.com", - "fullName": "John Doe" - }, - "status": "PUBLISHED", - "fields": [ - { - "name": "mnemonicIcon", - "type": "text", - "multiple": true, - "locked": false, - "values": ["/test/mocks/img/photoshop.svg"] - }, - { - "name": "mnemonicAlt", - "type": "text", - "multiple": true, - "locked": false, - "values": ["Photoshop Icon"] - }, - { - "name": "mnemonicLink", - "type": "text", - "multiple": true, - "locked": false, - "values": ["https://www.adobe.com/products/photoshop.html"] - }, - { - "name": "badge", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [] - }, - { - "name": "cardTitle", - "type": "text", - "multiple": false, - "locked": false, - "values": ["Photoshop"] - }, - { - "name": "cardTitleLink", - "type": "text", - "multiple": false, - "locked": false, - "values": ["https://www.adobe.com/products/photoshop.html"] - }, - { - "name": "prices", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [ - "" - ] - }, - { - "name": "shortDescription", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [] - }, - { - "name": "description", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [ - "

      Edit, composite, and create beautiful images, graphics, and art on desktop and iPad.

      " - ] - }, - { - "name": "ctas", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [ - "Buy nowFree trial" - ] - }, - { - "name": "variant", - "type": "text", - "multiple": false, - "locked": false, - "values": ["ccd-action"] - }, - { - "name": "parent", - "type": "content-fragment", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "product", - "type": "content-reference", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "stockOffer", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [] - }, - { - "name": "secure", - "type": "boolean", - "multiple": false, - "locked": false, - "values": [false] - }, - { - "name": "promoCode", - "type": "text", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "size", - "type": "text", - "multiple": false, - "locked": false, - "values": [] - } - ], - "variations": [], - "tags": [], - "references": [], - "model": { - "id": "L2NvbmYvc2FuZGJveC9zZXR0aW5ncy9kYW0vY2ZtL21vZGVscy9tZXJjaC1jYXJk", - "path": "/conf/sandbox/settings/dam/cfm/models/merch-card", - "name": "Merch Card", - "title": "Merch Card", - "description": "content for adobe.com merch-card web component." - }, - "validationStatus": [], - "fieldTags": [], - "etag": "\"343f00d61244effce6e55c31cc90d4f9\"" - }, - { - "path": "/content/dam/sandbox/mas/special-offers-students-and-teachers", - "title": "Special Offers Students and Teachers", - "description": "", - "id": "64382bf2-6308-4245-85c6-ea43e0edb287", - "created": { - "at": "2024-08-15T21:48:42.597Z", - "by": "johndoe@adobe.com", - "fullName": "John Doe" - }, - "modified": { - "at": "2024-08-27T11:58:39.08Z", - "by": "johndoe@adobe.com", - "fullName": "John Doe" - }, - "published": { - "at": "2024-08-26T09:22:58.047Z", - "by": "johndoe@adobe.com", - "fullName": "John Doe" - }, - "status": "MODIFIED", - "fields": [ - { - "name": "mnemonicIcon", - "type": "text", - "multiple": true, - "locked": false, - "values": [] - }, - { - "name": "mnemonicAlt", - "type": "text", - "multiple": true, - "locked": false, - "values": [] - }, - { - "name": "mnemonicLink", - "type": "text", - "multiple": true, - "locked": false, - "values": [] - }, - { - "name": "badge", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [] - }, - { - "name": "backgroundImage", - "type": "text", - "multiple": false, - "locked": false, - "values": ["/test/img/special-offers-img2.png"] - }, - { - "name": "cardTitle", - "type": "text", - "multiple": false, - "locked": false, - "values": ["Save over 30% on Creative Cloud All Apps."] - }, - { - "name": "cardTitleLink", - "type": "text", - "multiple": false, - "locked": false, - "values": [ - "https://www.adobe.com/products/special-offers.html" - ] - }, - { - "name": "prices", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [ - "" - ] - }, - { - "name": "shortDescription", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [] - }, - { - "name": "description", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [ - "

      Join us for the creative event of the year Oct 14-16. Register by August 31 and save US$200 on a full conference pass.

      See terms

      " - ] - }, - { - "name": "ctas", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [ - "

      Buy now

      " - ] - }, - { - "name": "variant", - "type": "text", - "multiple": false, - "locked": false, - "values": ["special-offers"] - }, - { - "name": "parent", - "type": "content-fragment", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "product", - "type": "content-reference", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "stockOffer", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [] - }, - { - "name": "secure", - "type": "boolean", - "multiple": false, - "locked": false, - "values": [false] - }, - { - "name": "promoCode", - "type": "text", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "size", - "type": "text", - "multiple": false, - "locked": false, - "values": [] - } - ], - "variations": [], - "tags": [], - "references": [], - "model": { - "id": "L2NvbmYvc2FuZGJveC9zZXR0aW5ncy9kYW0vY2ZtL21vZGVscy9tZXJjaC1jYXJk", - "path": "/conf/sandbox/settings/dam/cfm/models/merch-card", - "name": "Merch Card", - "title": "Merch Card", - "description": "content for adobe.com merch-card web component." - }, - "fieldTags": [] - }, - { - "path": "/content/dam/sandbox/mas/with-wrong-price-and-checkout-osis", - "title": "with wrong price and checkout osis", - "description": "", - "id": "with-wrong-price-and-checkout-osis", - "created": { - "at": "2024-08-15T21:48:42.597Z", - "by": "johndoe@adobe.com", - "fullName": "John Doe" - }, - "modified": { - "at": "2024-08-27T11:58:39.08Z", - "by": "johndoe@adobe.com", - "fullName": "John Doe" - }, - "published": { - "at": "2024-08-26T09:22:58.047Z", - "by": "johndoe@adobe.com", - "fullName": "John Doe" - }, - "status": "MODIFIED", - "fields": [ - { - "name": "mnemonicIcon", - "type": "text", - "multiple": true, - "locked": false, - "values": [] - }, - { - "name": "mnemonicAlt", - "type": "text", - "multiple": true, - "locked": false, - "values": [] - }, - { - "name": "mnemonicLink", - "type": "text", - "multiple": true, - "locked": false, - "values": [] - }, - { - "name": "badge", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [] - }, - { - "name": "backgroundImage", - "type": "text", - "multiple": false, - "locked": false, - "values": ["/test/img/special-offers-img2.png"] - }, - { - "name": "cardTitle", - "type": "text", - "multiple": false, - "locked": false, - "values": ["Save over 30% on Creative Cloud All Apps."] - }, - { - "name": "cardTitleLink", - "type": "text", - "multiple": false, - "locked": false, - "values": [ - "https://www.adobe.com/products/special-offers.html" - ] - }, - { - "name": "prices", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [ - "" - ] - }, - { - "name": "shortDescription", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [] - }, - { - "name": "description", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [ - "

      Join us for the creative event of the year Oct 14-16. Register by August 31 and save US$200 on a full conference pass.

      See terms

      " - ] - }, - { - "name": "ctas", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [ - "

      Buy now

      " - ] - }, - { - "name": "variant", - "type": "text", - "multiple": false, - "locked": false, - "values": ["special-offers"] - }, - { - "name": "parent", - "type": "content-fragment", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "product", - "type": "content-reference", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "stockOffer", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [] - }, - { - "name": "secure", - "type": "boolean", - "multiple": false, - "locked": false, - "values": [false] - }, - { - "name": "promoCode", - "type": "text", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "size", - "type": "text", - "multiple": false, - "locked": false, - "values": [] - } - ], - "variations": [], - "tags": [], - "references": [], - "model": { - "id": "L2NvbmYvc2FuZGJveC9zZXR0aW5ncy9kYW0vY2ZtL21vZGVscy9tZXJjaC1jYXJk", - "path": "/conf/sandbox/settings/dam/cfm/models/merch-card", - "name": "Merch Card", - "title": "Merch Card", - "description": "content for adobe.com merch-card web component." - }, - "fieldTags": [] - }, - { - "path": "/content/dam/mas/nala/ccd/slice-cc-allapps31211221", - "title": "CCD Suggested CC All Apps", - "description": "", - "id": "31205553-b453-4c9e-a2ef-7b6aa7bfdc72", - "created": { - "at": "2024-10-15T15:04:32.956Z", - "by": "sling-distribution-importer", - "fullName": "sling-distribution-importer" - }, - "modified": { - "at": "2024-10-15T14:56:59.693Z", - "by": "lukianet@adobe.com", - "fullName": "lukianet@adobe.com" - }, - "status": "DRAFT", - "fields": [ - { - "name": "variant", - "type": "text", - "multiple": false, - "locked": false, - "values": [ - "ccd-slice" - ] - }, - { - "name": "osi", - "type": "text", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "size", - "type": "text", - "multiple": false, - "locked": false, - "values": [ - "wide" - ] - }, - { - "name": "mnemonicIcon", - "type": "text", - "multiple": true, - "locked": false, - "values": [ - "https://www.adobe.com/cc-shared/assets/img/product-icons/svg/photoshop.svg" - ] - }, - { - "name": "mnemonicAlt", - "type": "text", - "multiple": true, - "locked": false, - "values": [] - }, - { - "name": "mnemonicLink", - "type": "text", - "multiple": true, - "locked": false, - "values": [] - }, - { - "name": "badge", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [ - "High savings" - ] - }, - { - "name": "backgroundImage", - "type": "text", - "multiple": false, - "locked": false, - "values": [ - "https://milo.adobe.com/assets/img/commerce/media_10bef5ec21c22fd7fe201cb02735082df13bf4960.jpeg" - ] - }, - { - "name": "cardTitle", - "type": "text", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "cardTitleLink", - "type": "text", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "subtitle", - "type": "text", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "prices", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [] - }, - { - "name": "shortDescription", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [] - }, - { - "name": "description", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [ - "

      Save 25% on Photoshop next month..

      See terms

      " - ] - }, - { - "name": "ctas", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [ - "

      Buy now

      " - ] - }, - { - "name": "parent", - "type": "content-fragment", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "product", - "type": "content-reference", - "multiple": false, - "locked": false, - "values": [] - }, - { - "name": "stockOffer", - "type": "long-text", - "multiple": false, - "locked": false, - "mimeType": "text/html", - "values": [] - }, - { - "name": "secure", - "type": "boolean", - "multiple": false, - "locked": false, - "values": [ - false - ] - }, - { - "name": "promoCode", - "type": "text", - "multiple": false, - "locked": false, - "values": [] - } - ], - "variations": [], - "tags": [], - "references": [], - "model": { - "id": "L2NvbmYvbWFzL3NldHRpbmdzL2RhbS9jZm0vbW9kZWxzL2NhcmQ", - "path": "/conf/mas/settings/dam/cfm/models/card", - "name": "Card", - "title": "Card", - "description": "universal m@s card model" - }, - "validationStatus": [], - "fieldTags": [] - } - ] -} diff --git a/libs/features/mas/package-lock.json b/libs/features/mas/package-lock.json index 6f7deee15f2..89198c18999 100644 --- a/libs/features/mas/package-lock.json +++ b/libs/features/mas/package-lock.json @@ -1,18 +1,19 @@ { - "name": "@adobecom/mas-platform", - "version": "0.0.1", + "name": "@adobecom/mas", + "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "@adobecom/mas-platform", - "version": "0.0.1", - "workspaces": [ - "commerce", - "mas", - "web-components" - ], + "name": "@adobecom/mas", + "version": "0.1.0", "dependencies": { + "@dexter/tacocat-core": "file:./internal/tacocat-core-1.13.0.tgz", + "@pandora/commerce-checkout-url-builder": "file:./internal/commerce-checkout-url-builder-1.6.0.tgz", + "@pandora/data-models-odm": "file:./internal/data-models-odm-0.5.4.tgz", + "@pandora/data-source-utils": "file:./internal/data-source-utils-0.3.1.tgz", + "@pandora/fetch": "file:./internal/fetch-1.3.4.tgz", + "@pandora/logger": "file:./internal/logger-1.3.0.tgz", "@spectrum-web-components/action-button": "^0.46.0", "@spectrum-web-components/action-menu": "^0.46.0", "@spectrum-web-components/alert-dialog": "^0.46.0", @@ -50,6 +51,7 @@ "@spectrum-web-components/tooltip": "^0.46.0", "@spectrum-web-components/tray": "^0.46.0", "@spectrum-web-components/underlay": "^0.46.0", + "intl-messageformat": "^9.9.0", "lit": "^2.8.0", "markdown-it": "^14.1.0", "markdown-it-anchor": "^9.2.0", @@ -62,6 +64,10 @@ "@esm-bundle/chai-as-promised": "7.1.1", "@types/chai-as-promised": "7.1.5", "@types/sinon": "10.0.15", + "@web/dev-server-import-maps": "^0.2.1", + "@web/test-runner": "^0.18.2", + "@web/test-runner-commands": "^0.9.0", + "esbuild": "^0.24.0", "eslint": "^9.5.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.3", @@ -70,92 +76,10 @@ "sinon": "13.0.1" } }, - "commerce": { - "name": "@adobecom/mas-commerce", - "version": "2.0.0", - "dependencies": { - "@dexter/tacocat-consonant-templates": "file:./internal/tacocat-consonant-templates-1.14.0.tgz", - "@dexter/tacocat-core": "file:./internal/tacocat-core-1.13.0.tgz", - "@pandora/commerce-checkout-url-builder": "file:./internal/commerce-checkout-url-builder-1.6.0.tgz", - "@pandora/data-models-odm": "file:./internal/data-models-odm-0.5.4.tgz", - "@pandora/data-source-utils": "file:./internal/data-source-utils-0.3.1.tgz", - "@pandora/fetch": "file:./internal/fetch-1.3.4.tgz", - "@pandora/logger": "file:./internal/logger-1.3.0.tgz" - }, - "devDependencies": { - "@web/dev-server-import-maps": "^0.1.1", - "@web/test-runner": "^0.13.27", - "@web/test-runner-commands": "^0.6.1", - "@web/test-runner-visual-regression": "^0.9.0", - "esbuild": "0.18.11" - } - }, - "mas": { - "name": "@adobecom/mas-js", - "version": "0.0.6", - "license": "ISC", - "devDependencies": { - "@web/test-runner": "^0.13.27", - "@web/test-runner-commands": "^0.6.1", - "esbuild": "^0.21.5", - "esbuild-node-externals": "^1.13.1" - } - }, - "mas/node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" - } - }, - "node_modules/@adobecom/mas-commerce": { - "resolved": "commerce", - "link": true - }, - "node_modules/@adobecom/mas-js": { - "resolved": "mas", - "link": true - }, - "node_modules/@adobecom/mas-web-components": { - "resolved": "web-components", - "link": true - }, "node_modules/@babel/code-frame": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.0.tgz", - "integrity": "sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, "license": "MIT", "dependencies": { @@ -179,8 +103,6 @@ }, "node_modules/@browser-bunyan/console-formatted-stream": { "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@browser-bunyan/console-formatted-stream/-/console-formatted-stream-1.8.0.tgz", - "integrity": "sha512-Lg5SC2uXrvZ6aLwLZT6SErfN1Is4NcrTOb5km4BW/BfL8Lv0CfpsYuhuD7ltdURL6awTYBUiT+BwhKw1Xd9glQ==", "license": "MIT", "dependencies": { "@browser-bunyan/levels": "^1.8.0" @@ -188,8 +110,6 @@ }, "node_modules/@browser-bunyan/console-plain-stream": { "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@browser-bunyan/console-plain-stream/-/console-plain-stream-1.8.0.tgz", - "integrity": "sha512-S0WNsH5zvMfkbayIx90wANGHQ8l3Bvd7mjgy95/bYmUzcI+Mwkv2eJcSufdTP/MbdHBhjv/lEdLDOXEPBi+w3A==", "license": "MIT", "dependencies": { "@browser-bunyan/levels": "^1.8.0" @@ -197,8 +117,6 @@ }, "node_modules/@browser-bunyan/console-raw-stream": { "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@browser-bunyan/console-raw-stream/-/console-raw-stream-1.8.0.tgz", - "integrity": "sha512-6M/xEiNckbFslQMaS1BHAxvuvN1Wtbh/aq4UzQD3fjEPFCxtubvf4KyzwPxUXA5CXq7leVZ+cibEUCRBsm5bzg==", "license": "MIT", "dependencies": { "@browser-bunyan/levels": "^1.8.0" @@ -206,29 +124,17 @@ }, "node_modules/@browser-bunyan/levels": { "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@browser-bunyan/levels/-/levels-1.8.0.tgz", - "integrity": "sha512-f9oSDik8kAl+4rhVyHqIr012P1boHFUKc7D9nzA5+lDsFoP90UQnDwpseqBdF2mTaWYju10E7h+GdH8u+7MHOQ==", "license": "MIT" }, - "node_modules/@dexter/tacocat-consonant-templates": { - "version": "1.14.0", - "resolved": "file:commerce/internal/tacocat-consonant-templates-1.14.0.tgz", - "integrity": "sha512-QTN7+QAsDPJXVtPD3Dva1b/ko69DscS2WcGVOAAZfHy0RndvzPGrKvY3WCj6nDn+YExmcPThXe51mSRUFeCfWQ==", - "dependencies": { - "@dexter/tacocat-core": "^1.0.0", - "@pandora/data-models-odm": "0.5.4", - "intl-messageformat": "9.9.0" - } - }, "node_modules/@dexter/tacocat-core": { "version": "1.13.0", - "resolved": "file:commerce/internal/tacocat-core-1.13.0.tgz", + "resolved": "file:internal/tacocat-core-1.13.0.tgz", "integrity": "sha512-3XWBVZk8/pvFxE+qcwcDHgpSYVrhK1Sm8I4PfMELpCxP2l0MbcxiBSMXAyLJZXbjSVT5gCzG45aHZEIAerBjBw==" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", + "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", "cpu": [ "ppc64" ], @@ -239,13 +145,13 @@ "aix" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", + "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", "cpu": [ "arm" ], @@ -256,13 +162,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", + "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", "cpu": [ "arm64" ], @@ -273,13 +179,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", + "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", "cpu": [ "x64" ], @@ -290,13 +196,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", + "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", "cpu": [ "arm64" ], @@ -307,13 +213,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", + "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", "cpu": [ "x64" ], @@ -324,13 +230,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", + "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", "cpu": [ "arm64" ], @@ -341,13 +247,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", + "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", "cpu": [ "x64" ], @@ -358,13 +264,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", + "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", "cpu": [ "arm" ], @@ -375,13 +281,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", + "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", "cpu": [ "arm64" ], @@ -392,13 +298,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", + "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", "cpu": [ "ia32" ], @@ -409,13 +315,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", + "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", "cpu": [ "loong64" ], @@ -426,13 +332,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", + "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", "cpu": [ "mips64el" ], @@ -443,13 +349,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", + "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", "cpu": [ "ppc64" ], @@ -460,13 +366,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", + "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", "cpu": [ "riscv64" ], @@ -477,13 +383,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", + "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", "cpu": [ "s390x" ], @@ -494,13 +400,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", + "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", "cpu": [ "x64" ], @@ -511,13 +417,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", + "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", "cpu": [ "x64" ], @@ -528,13 +434,30 @@ "netbsd" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", + "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", + "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", "cpu": [ "x64" ], @@ -545,13 +468,13 @@ "openbsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", + "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", "cpu": [ "x64" ], @@ -562,13 +485,13 @@ "sunos" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", + "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", "cpu": [ "arm64" ], @@ -579,13 +502,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", + "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", "cpu": [ "ia32" ], @@ -596,13 +519,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", + "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", "cpu": [ "x64" ], @@ -613,13 +536,11 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", "dev": true, "license": "MIT", "dependencies": { @@ -637,8 +558,6 @@ }, "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "license": "Apache-2.0", "engines": { @@ -650,8 +569,6 @@ }, "node_modules/@eslint-community/regexpp": { "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, "license": "MIT", "engines": { @@ -660,8 +577,6 @@ }, "node_modules/@eslint/config-array": { "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", - "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -675,8 +590,6 @@ }, "node_modules/@eslint/core": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz", - "integrity": "sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==", "dev": true, "license": "Apache-2.0", "engines": { @@ -685,8 +598,6 @@ }, "node_modules/@eslint/eslintrc": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", - "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", "dev": true, "license": "MIT", "dependencies": { @@ -709,8 +620,6 @@ }, "node_modules/@eslint/js": { "version": "9.13.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.13.0.tgz", - "integrity": "sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==", "dev": true, "license": "MIT", "engines": { @@ -719,8 +628,6 @@ }, "node_modules/@eslint/object-schema": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", - "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -729,8 +636,6 @@ }, "node_modules/@eslint/plugin-kit": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.2.tgz", - "integrity": "sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -742,8 +647,6 @@ }, "node_modules/@esm-bundle/chai": { "version": "4.3.4-fix.0", - "resolved": "https://registry.npmjs.org/@esm-bundle/chai/-/chai-4.3.4-fix.0.tgz", - "integrity": "sha512-26SKdM4uvDWlY8/OOOxSB1AqQWeBosCX3wRYUZO7enTAj03CtVxIiCimYVG2WpULcyV51qapK4qTovwkUr5Mlw==", "dev": true, "license": "MIT", "dependencies": { @@ -752,15 +655,11 @@ }, "node_modules/@esm-bundle/chai-as-promised": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@esm-bundle/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-qhDeW3gK3ITAzzhZj8QfvuhX7iNqyzooVZJnoW5bjIotxxJM92O9EKxdxBg4B35hjh3tV1chlEgC/pfR9cVRlA==", "dev": true, "license": "MIT" }, "node_modules/@floating-ui/core": { "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.8.tgz", - "integrity": "sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==", "license": "MIT", "dependencies": { "@floating-ui/utils": "^0.2.8" @@ -768,8 +667,6 @@ }, "node_modules/@floating-ui/dom": { "version": "1.6.12", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.12.tgz", - "integrity": "sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==", "license": "MIT", "dependencies": { "@floating-ui/core": "^1.6.0", @@ -778,54 +675,52 @@ }, "node_modules/@floating-ui/utils": { "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.8.tgz", - "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==", "license": "MIT" }, "node_modules/@formatjs/ecma402-abstract": { - "version": "1.9.7", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.9.7.tgz", - "integrity": "sha512-Lu05JjSlL4QbXLiJHcljmWLSSKoxc4ed6aAz4ZPIJn7HsgzoObR4wKllFVcEWnIfiW8FIWITOZjXjoZ8MamSJA==", + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.4.tgz", + "integrity": "sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==", "license": "MIT", "dependencies": { - "@formatjs/intl-localematcher": "0.2.20", + "@formatjs/intl-localematcher": "0.2.25", "tslib": "^2.1.0" } }, "node_modules/@formatjs/fast-memoize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.0.tgz", - "integrity": "sha512-fObitP9Tlc31SKrPHgkPgQpGo4+4yXfQQITTCNH8AZdEqB7Mq4nPrjpUL/tNGN3lEeJcFxDbi0haX8HM7QvQ8w==", - "license": "ISC", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.1.tgz", + "integrity": "sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==", + "license": "MIT", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.10.tgz", - "integrity": "sha512-X1HTDTs0sdLVFFJLZuJ4+YfMMWv7/wGsoE7yIQkzKlck3HrAA/dBZDR1sOwcxH7Rz8NY1K+oUOkPe/f1sa7Q8g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.0.tgz", + "integrity": "sha512-Qxv/lmCN6hKpBSss2uQ8IROVnta2r9jd3ymUEIjm2UyIkUCHVcbUVRGL/KS/wv7876edvsPe+hjHVJ4z8YuVaw==", "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "1.9.7", - "@formatjs/icu-skeleton-parser": "1.2.11", + "@formatjs/ecma402-abstract": "1.11.4", + "@formatjs/icu-skeleton-parser": "1.3.6", "tslib": "^2.1.0" } }, "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.2.11.tgz", - "integrity": "sha512-nvme882npz//T17BR5S1xdNqv10CSlHsaPZ1iUxVrDTlotQHcr7O5qkX6JjpQ6qPflTt2s4k0W9nkMcFIfDuFg==", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.6.tgz", + "integrity": "sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==", "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "1.9.7", + "@formatjs/ecma402-abstract": "1.11.4", "tslib": "^2.1.0" } }, "node_modules/@formatjs/intl-localematcher": { - "version": "0.2.20", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.20.tgz", - "integrity": "sha512-/Ro85goRZnCojzxOegANFYL0LaDIpdPjAukR7xMTjOtRx+3yyjR0ifGTOW3/Kjhmab3t6GnyHBYWZSudxEOxPA==", + "version": "0.2.25", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.25.tgz", + "integrity": "sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==", "license": "MIT", "dependencies": { "tslib": "^2.1.0" @@ -840,8 +735,6 @@ }, "node_modules/@humanfs/core": { "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -850,8 +743,6 @@ }, "node_modules/@humanfs/node": { "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -864,8 +755,6 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -878,8 +767,6 @@ }, "node_modules/@humanwhocodes/retry": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -897,10 +784,36 @@ "dev": true, "license": "MIT" }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/@lit-labs/observers": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@lit-labs/observers/-/observers-2.0.4.tgz", - "integrity": "sha512-x95jhDPGb+HtYU3hEdqkcLxb6v2JBP3tcajaiOijs1F/ZmOgRT0pRPn0v+jhhk8mAAbEO12SZJjPCmuysunssQ==", "license": "BSD-3-Clause", "dependencies": { "@lit/reactive-element": "^1.0.0 || ^2.0.0", @@ -909,26 +822,15 @@ }, "node_modules/@lit-labs/ssr-dom-shim": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.1.tgz", - "integrity": "sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==", "license": "BSD-3-Clause" }, "node_modules/@lit/reactive-element": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.4.tgz", - "integrity": "sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==", "license": "BSD-3-Clause", "dependencies": { "@lit-labs/ssr-dom-shim": "^1.2.0" } }, - "node_modules/@mdn/browser-compat-data": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz", - "integrity": "sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==", - "dev": true, - "license": "CC0-1.0" - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -969,8 +871,6 @@ }, "node_modules/@opentelemetry/api": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", - "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", "license": "Apache-2.0", "engines": { "node": ">=8.0.0" @@ -978,7 +878,7 @@ }, "node_modules/@pandora/commerce-checkout-url-builder": { "version": "1.6.0", - "resolved": "file:commerce/internal/commerce-checkout-url-builder-1.6.0.tgz", + "resolved": "file:internal/commerce-checkout-url-builder-1.6.0.tgz", "integrity": "sha512-AFWqTieWnkSNhb7qfLkSzjExEvkHrgC0cuPQKDb9ZxVHxbNlUHd+Mjx2i1UhhPKYPSHihvcurUGA7HY32Ur8zg==", "license": "SEE LICENSE IN license.txt", "dependencies": { @@ -987,13 +887,13 @@ }, "node_modules/@pandora/data-models-odm": { "version": "0.5.4", - "resolved": "file:commerce/internal/data-models-odm-0.5.4.tgz", + "resolved": "file:internal/data-models-odm-0.5.4.tgz", "integrity": "sha512-6H0DPaHiT+6/Bsrrumn67xfEWMmfS2Xp+80csEadsY2m/my/wYa5wpYblOnw0pEoFzXc6FCUp3TZHVFeulbkEQ==", "license": "SEE LICENSE IN license.txt" }, "node_modules/@pandora/data-source-utils": { "version": "0.3.1", - "resolved": "file:commerce/internal/data-source-utils-0.3.1.tgz", + "resolved": "file:internal/data-source-utils-0.3.1.tgz", "integrity": "sha512-BL73lgHIV/R1o5oJ5ZZlYkA0q9hKL/W0r6e+C10tEyF2fTlGGIQIfAxDhWLxQk5hFFCO9d9TznsdfFExxxFLrg==", "license": "SEE LICENSE IN license.txt", "dependencies": { @@ -1002,7 +902,7 @@ }, "node_modules/@pandora/fetch": { "version": "1.3.4", - "resolved": "file:commerce/internal/fetch-1.3.4.tgz", + "resolved": "file:internal/fetch-1.3.4.tgz", "integrity": "sha512-ZV4CH/lFgFhQ76Ek54z9swQGTdKfRjYlIMLo+PNPCUbWmEVlIqPUZBuYkwe+77nrkXsyRf4oVhehDjQaeMz8Ow==", "license": "SEE LICENSE IN license.txt", "dependencies": { @@ -1014,7 +914,7 @@ }, "node_modules/@pandora/logger": { "version": "1.3.0", - "resolved": "file:commerce/internal/logger-1.3.0.tgz", + "resolved": "file:internal/logger-1.3.0.tgz", "integrity": "sha512-pFHi7CCUTEg3+PGgF7gvpOneB9qlkfwfSbGIwMhp47Me4uIGgHocnyqKxn2AUtIR2DKN26zESGRIypuKttA+aw==", "license": "Proprietary. Adobe.", "dependencies": { @@ -1026,8 +926,6 @@ }, "node_modules/@pkgr/core": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", "dev": true, "license": "MIT", "engines": { @@ -1037,6 +935,29 @@ "url": "https://opencollective.com/unts" } }, + "node_modules/@puppeteer/browsers": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.3.0.tgz", + "integrity": "sha512-ioXoq9gPxkss4MYhD+SFaU9p1IHFUX0ILAWFPyjGaBdjLsYAlZw6j1iLA0N/m12uVHLFDfSYNF7EQccjinIMDA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.3.5", + "extract-zip": "^2.0.1", + "progress": "^2.0.3", + "proxy-agent": "^6.4.0", + "semver": "^7.6.3", + "tar-fs": "^3.0.6", + "unbzip2-stream": "^1.4.3", + "yargs": "^17.7.2" + }, + "bin": { + "browsers": "lib/cjs/main-cli.js" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@rollup/plugin-node-resolve": { "version": "15.3.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.0.tgz", @@ -1098,101 +1019,335 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.27.4.tgz", + "integrity": "sha512-2Y3JT6f5MrQkICUyRVCw4oa0sutfAsgaSsb0Lmmy1Wi2y7X5vT9Euqw4gOsCyy0YfKURBg35nhUKZS4mDcfULw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.27.4.tgz", + "integrity": "sha512-wzKRQXISyi9UdCVRqEd0H4cMpzvHYt1f/C3CoIjES6cG++RHKhrBj2+29nPF0IB5kpy9MS71vs07fvrNGAl/iA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@sinonjs/samsam": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.3.tgz", - "integrity": "sha512-nhOb2dWPeb1sd3IQXL/dVPnKHDOAFfvichtBf4xV00/rU1QbPCQqKMbvIheIjqwVjh7qIgf2AHTHi391yMOMpQ==", + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.27.4.tgz", + "integrity": "sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^1.6.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz", - "integrity": "sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==", + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.27.4.tgz", + "integrity": "sha512-o9bH2dbdgBDJaXWJCDTNDYa171ACUdzpxSZt+u/AAeQ20Nk5x+IhA+zsGmrQtpkLiumRJEYef68gcpn2ooXhSQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "(Unlicense OR Apache-2.0)" + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@spectrum-web-components/action-button": { - "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/action-button/-/action-button-0.46.0.tgz", - "integrity": "sha512-UH5zTb/+l0/pgz5zyf7kcuDLNPx1rOvewlGDGBdppEfGFYiouS8LeIxCoiy4pfvJ+07rdld0DTaTAIsFTgdnDw==", - "license": "Apache-2.0", - "dependencies": { - "@spectrum-web-components/base": "^0.46.0", - "@spectrum-web-components/button": "^0.46.0", - "@spectrum-web-components/icon": "^0.46.0", - "@spectrum-web-components/icons-ui": "^0.46.0", - "@spectrum-web-components/shared": "^0.46.0" - } + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.27.4.tgz", + "integrity": "sha512-NBI2/i2hT9Q+HySSHTBh52da7isru4aAAo6qC3I7QFVsuhxi2gM8t/EI9EVcILiHLj1vfi+VGGPaLOUENn7pmw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] }, - "node_modules/@spectrum-web-components/action-menu": { - "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/action-menu/-/action-menu-0.46.0.tgz", - "integrity": "sha512-U0umNJiYH97JG0vEX6JrFfk/3g6kxW/dQjaQj5G3Bp1CALtaYAd/42teVhb+MAMKfuBC+8Fkk9ghYfZYGkH5tQ==", - "license": "Apache-2.0", - "dependencies": { - "@spectrum-web-components/action-button": "^0.46.0", - "@spectrum-web-components/base": "^0.46.0", - "@spectrum-web-components/icon": "^0.46.0", - "@spectrum-web-components/icons-workflow": "^0.46.0", - "@spectrum-web-components/picker": "^0.46.0", - "@spectrum-web-components/shared": "^0.46.0" - } + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.27.4.tgz", + "integrity": "sha512-wYcC5ycW2zvqtDYrE7deary2P2UFmSh85PUpAx+dwTCO9uw3sgzD6Gv9n5X4vLaQKsrfTSZZ7Z7uynQozPVvWA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] }, - "node_modules/@spectrum-web-components/alert-dialog": { - "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/alert-dialog/-/alert-dialog-0.46.0.tgz", - "integrity": "sha512-WRbQ1TJuiBNH+0w73LkZvdh7ysvAcxGps77QiK3g+Be+/WvRbK6US0fo/hgICdUF++vPexlZy7ytNZf1H6DdPg==", - "license": "Apache-2.0", - "dependencies": { - "@lit-labs/observers": "^2.0.2", - "@spectrum-web-components/base": "^0.46.0", - "@spectrum-web-components/button": "^0.46.0", - "@spectrum-web-components/button-group": "^0.46.0", - "@spectrum-web-components/divider": "^0.46.0", - "@spectrum-web-components/icons-workflow": "^0.46.0", - "@spectrum-web-components/shared": "^0.46.0" - } + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.27.4.tgz", + "integrity": "sha512-9OwUnK/xKw6DyRlgx8UizeqRFOfi9mf5TYCw1uolDaJSbUmBxP85DE6T4ouCMoN6pXw8ZoTeZCSEfSaYo+/s1w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@spectrum-web-components/base": { - "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/base/-/base-0.46.0.tgz", - "integrity": "sha512-WSyCnUDw8ecCio6nM4wDvLWlmDZxhoKSn57iBvWqXvn61IewYOY3P8E77uGg+dcfL8DixQph6+FGThh5T7hukQ==", - "license": "Apache-2.0", - "dependencies": { - "lit": "^2.5.0 || ^3.1.3" - } + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.27.4.tgz", + "integrity": "sha512-Vgdo4fpuphS9V24WOV+KwkCVJ72u7idTgQaBoLRD0UxBAWTF9GWurJO9YD9yh00BzbkhpeXtm6na+MvJU7Z73A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@spectrum-web-components/button": { - "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/button/-/button-0.46.0.tgz", - "integrity": "sha512-wUcp258sFJ7u+CNm0Rw8pPXHtagdYJiqyqcZcNiNG/ODXxXDo5PpKH38gV6DHqH0XWY/cUe4CibiFlXvDcv87w==", - "license": "Apache-2.0", + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.27.4.tgz", + "integrity": "sha512-pleyNgyd1kkBkw2kOqlBx+0atfIIkkExOTiifoODo6qKDSpnc6WzUY5RhHdmTdIJXBdSnh6JknnYTtmQyobrVg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.27.4.tgz", + "integrity": "sha512-caluiUXvUuVyCHr5DxL8ohaaFFzPGmgmMvwmqAITMpV/Q+tPoaHZ/PWa3t8B2WyoRcIIuu1hkaW5KkeTDNSnMA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.27.4.tgz", + "integrity": "sha512-FScrpHrO60hARyHh7s1zHE97u0KlT/RECzCKAdmI+LEoC1eDh/RDji9JgFqyO+wPDb86Oa/sXkily1+oi4FzJQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.27.4.tgz", + "integrity": "sha512-qyyprhyGb7+RBfMPeww9FlHwKkCXdKHeGgSqmIXw9VSUtvyFZ6WZRtnxgbuz76FK7LyoN8t/eINRbPUcvXB5fw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.27.4.tgz", + "integrity": "sha512-PFz+y2kb6tbh7m3A7nA9++eInGcDVZUACulf/KzDtovvdTizHpZaJty7Gp0lFwSQcrnebHOqxF1MaKZd7psVRg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.27.4.tgz", + "integrity": "sha512-Ni8mMtfo+o/G7DVtweXXV/Ol2TFf63KYjTtoZ5f078AUgJTmaIJnj4JFU7TK/9SVWTaSJGxPi5zMDgK4w+Ez7Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.27.4.tgz", + "integrity": "sha512-5AeeAF1PB9TUzD+3cROzFTnAJAcVUGLuR8ng0E0WXGkYhp6RD6L+6szYVX+64Rs0r72019KHZS1ka1q+zU/wUw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.27.4.tgz", + "integrity": "sha512-yOpVsA4K5qVwu2CaS3hHxluWIK5HQTjNV4tWjQXluMiiiu4pJj4BN98CvxohNCpcjMeTXk/ZMJBRbgRg8HBB6A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.27.4.tgz", + "integrity": "sha512-KtwEJOaHAVJlxV92rNYiG9JQwQAdhBlrjNRp7P9L8Cb4Rer3in+0A+IPhJC9y68WAi9H0sX4AiG2NTsVlmqJeQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.27.4.tgz", + "integrity": "sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "9.1.2", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@sinonjs/samsam": { + "version": "6.1.3", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.6.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + } + }, + "node_modules/@sinonjs/text-encoding": { + "version": "0.7.3", + "dev": true, + "license": "(Unlicense OR Apache-2.0)" + }, + "node_modules/@spectrum-web-components/action-button": { + "version": "0.46.0", + "license": "Apache-2.0", + "dependencies": { + "@spectrum-web-components/base": "^0.46.0", + "@spectrum-web-components/button": "^0.46.0", + "@spectrum-web-components/icon": "^0.46.0", + "@spectrum-web-components/icons-ui": "^0.46.0", + "@spectrum-web-components/shared": "^0.46.0" + } + }, + "node_modules/@spectrum-web-components/action-menu": { + "version": "0.46.0", + "license": "Apache-2.0", + "dependencies": { + "@spectrum-web-components/action-button": "^0.46.0", + "@spectrum-web-components/base": "^0.46.0", + "@spectrum-web-components/icon": "^0.46.0", + "@spectrum-web-components/icons-workflow": "^0.46.0", + "@spectrum-web-components/picker": "^0.46.0", + "@spectrum-web-components/shared": "^0.46.0" + } + }, + "node_modules/@spectrum-web-components/alert-dialog": { + "version": "0.46.0", + "license": "Apache-2.0", + "dependencies": { + "@lit-labs/observers": "^2.0.2", + "@spectrum-web-components/base": "^0.46.0", + "@spectrum-web-components/button": "^0.46.0", + "@spectrum-web-components/button-group": "^0.46.0", + "@spectrum-web-components/divider": "^0.46.0", + "@spectrum-web-components/icons-workflow": "^0.46.0", + "@spectrum-web-components/shared": "^0.46.0" + } + }, + "node_modules/@spectrum-web-components/base": { + "version": "0.46.0", + "license": "Apache-2.0", + "dependencies": { + "lit": "^2.5.0 || ^3.1.3" + } + }, + "node_modules/@spectrum-web-components/button": { + "version": "0.46.0", + "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", "@spectrum-web-components/clear-button": "^0.46.0", @@ -1205,8 +1360,6 @@ }, "node_modules/@spectrum-web-components/button-group": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/button-group/-/button-group-0.46.0.tgz", - "integrity": "sha512-u84QGFxKHmcRRTmDw/I/MTjX7LLju1LJnrwQuO6YlWntoapVEXhiye5TJeoCckvTSEGTuZIeg3vdTErds0dQag==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1215,8 +1368,6 @@ }, "node_modules/@spectrum-web-components/checkbox": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/checkbox/-/checkbox-0.46.0.tgz", - "integrity": "sha512-0D00lpv39IXfiVOKW1yz5G9tY4TJdqBh8xODOS1FmbXftPW0vm6RNqVzurdeQRzoJrvsD/CPy8j9PKCa70/yXA==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1227,8 +1378,6 @@ }, "node_modules/@spectrum-web-components/clear-button": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/clear-button/-/clear-button-0.46.0.tgz", - "integrity": "sha512-63m2lN6MZymUJonaElxUP4LRfJ4Z9B+JP7RnZNrOhWP4WKfYo/8d7zjGAbuZwRFlBKFqYvdk2rLjE2Orpf0QTg==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0" @@ -1236,8 +1385,6 @@ }, "node_modules/@spectrum-web-components/close-button": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/close-button/-/close-button-0.46.0.tgz", - "integrity": "sha512-fBQVrC5zEpshehdfoWTLvNzCsDMBln+PibsKLsRkCrTqDvK/WibeRbcERjwGZxD1Y6NTZavVaOxYrFY7UqVVKA==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0" @@ -1245,8 +1392,6 @@ }, "node_modules/@spectrum-web-components/dialog": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/dialog/-/dialog-0.46.0.tgz", - "integrity": "sha512-Yawwt53UnrGYFA+gKw9pIGq4wCqMlrZCxFv603esdUMdkJuXx9DHAwT2zGNi6N0irReEQMSw1gzAdNAkYeD/3g==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/alert-dialog": "^0.46.0", @@ -1262,8 +1407,6 @@ }, "node_modules/@spectrum-web-components/divider": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/divider/-/divider-0.46.0.tgz", - "integrity": "sha512-kCs1/LBCXIbjaVQtnten4CBSn9ZbS9vyO0w1qFUqcMe2MlZutuEqCKCDhkIpuE3CRBQkpHsz4Ny8mDZreaXEPA==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0" @@ -1271,8 +1414,6 @@ }, "node_modules/@spectrum-web-components/field-group": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/field-group/-/field-group-0.46.0.tgz", - "integrity": "sha512-LDvQsFmQq6uPEkq5mrgUT6zJl/bWXYuRbT0Q+t8hXuzSCvMmAoPe6026IBAuQcKmePj0BQja/2nAwBlli8nzIw==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1281,8 +1422,6 @@ }, "node_modules/@spectrum-web-components/field-label": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/field-label/-/field-label-0.46.0.tgz", - "integrity": "sha512-3sw0lGIflHYxGI+V7iUEOVYAk4o7xXo1DOxaIDrjcLXihHdXPpjadX4t/4Jdzg/TDsZu2yfotoNtWO2zI7cP2g==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1294,8 +1433,6 @@ }, "node_modules/@spectrum-web-components/help-text": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/help-text/-/help-text-0.46.0.tgz", - "integrity": "sha512-n45Ib5oV9sAZvp7JVY7akKzfuilKBw3zuJxo/sRplGCwwQYfo9+/sMhAnwCNNLixeXTZyuKkuPXD4vk5OeDc7w==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1305,8 +1442,6 @@ }, "node_modules/@spectrum-web-components/icon": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/icon/-/icon-0.46.0.tgz", - "integrity": "sha512-iPxEXVzyOYwnsmv955fpqHbcrL0lrPXNzT8HDoZiRur5XD+emfwC7yFs5Vmr4vunSV7jShZKH4DqFKI5mqH/QQ==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1315,8 +1450,6 @@ }, "node_modules/@spectrum-web-components/icons": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/icons/-/icons-0.46.0.tgz", - "integrity": "sha512-7cU57zv0hHqKuFoE5DZaKK3kkOzkrneyMaQRfiqN+4kMCESRfd8i1FX8zki8sBys5g2RDGiMVcndBPh7nLOKOA==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1325,8 +1458,6 @@ }, "node_modules/@spectrum-web-components/icons-ui": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/icons-ui/-/icons-ui-0.46.0.tgz", - "integrity": "sha512-uUsdxq6FGL24+/x0VLMtjfQfjgysuukDANJYdCTBBmZhmaRJpsAQBJkJOis/7tGp/V82NOQLtl2qInicu6W8nQ==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1336,8 +1467,6 @@ }, "node_modules/@spectrum-web-components/icons-workflow": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/icons-workflow/-/icons-workflow-0.46.0.tgz", - "integrity": "sha512-/c28yimF5mrGCG6dPueDUxFRq1be9Z1zBQOyODNtvDACDCa083+dTRFe5LOVufSbBylzIji+zHJPZWjqraQeSA==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1346,8 +1475,6 @@ }, "node_modules/@spectrum-web-components/iconset": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/iconset/-/iconset-0.46.0.tgz", - "integrity": "sha512-TamL40x6SAK/utL9udAJcWxQl2zmpTlyOkA5Y4PoHYLsQfYagA98tGUCCfXcHUktoa3FF5TANZQeKSr/B7/6aA==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0" @@ -1355,8 +1482,6 @@ }, "node_modules/@spectrum-web-components/link": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/link/-/link-0.46.0.tgz", - "integrity": "sha512-FL8PR6pEx/rDVDF0CKqPSzKQIe6xKMmZ5t11MzU8du3l1oL+KsPsy1rMx8vj8kNu1IB7EV6fTeAj6v+AWDLdmw==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1365,8 +1490,6 @@ }, "node_modules/@spectrum-web-components/menu": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/menu/-/menu-0.46.0.tgz", - "integrity": "sha512-yIn4rPin76h9oNd1kAqXUX/3UMwp9KxxyH/xo/Ec45/hrIy6OgYh3N0UJjbXpnU5IrlRn1GPBV8B1R3p3OXYbQ==", "license": "Apache-2.0", "dependencies": { "@lit-labs/observers": "^2.0.2", @@ -1383,8 +1506,6 @@ }, "node_modules/@spectrum-web-components/modal": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/modal/-/modal-0.46.0.tgz", - "integrity": "sha512-lCirDmLbQbO5rEEw8DKEKw+f/aUTjXs47cmWasvntQ+98Mw6v++IPeWHLemGK7gcpahTppubrAm2+x//u677oA==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0" @@ -1392,8 +1513,6 @@ }, "node_modules/@spectrum-web-components/overlay": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/overlay/-/overlay-0.46.0.tgz", - "integrity": "sha512-DgRqNOmJEGsgfsXZhdgEbtq8eShpgiQjQyIixrm02trp0Lu9JzhaZk1Rd58JNVRvpQ3mlPxnbul02WdSqowbWA==", "license": "Apache-2.0", "dependencies": { "@floating-ui/dom": "^1.6.1", @@ -1407,8 +1526,6 @@ }, "node_modules/@spectrum-web-components/picker": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/picker/-/picker-0.46.0.tgz", - "integrity": "sha512-Up2dMkLnk3wJugRpfnzv612lLS4nG+E8UHq1ddde1YFKGUZwIHMcP7l+8PQOfFYogUE1kTDeEAIsXgiMcMRAUA==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1429,8 +1546,6 @@ }, "node_modules/@spectrum-web-components/popover": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/popover/-/popover-0.46.0.tgz", - "integrity": "sha512-go0rWNjWW3xCA/3jbCRHgZnZU3gicAMSA2JSJqL84ADAIgbmbD932C6LDJOFljT+Dat98HjFOI6JbPsYsF9RBA==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1439,8 +1554,6 @@ }, "node_modules/@spectrum-web-components/progress-circle": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/progress-circle/-/progress-circle-0.46.0.tgz", - "integrity": "sha512-CF27VS0NtCWa7qKj2Ol26pF9xv3ZmPCYyrGGt8R98ht6viMUfeq2DqyM53eGIAt5xzSaJLrR1rCx+NtXUukc/A==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1449,8 +1562,6 @@ }, "node_modules/@spectrum-web-components/radio": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/radio/-/radio-0.46.0.tgz", - "integrity": "sha512-CvQkkbtq9a2ZcaRjZIpQB10dHMWMxqUN9HlAesAwWWk3K34JvwHpyT3EOluG3fgkSmQUc3ZzyVTwz9lUKt0chA==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1462,8 +1573,6 @@ }, "node_modules/@spectrum-web-components/reactive-controllers": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/reactive-controllers/-/reactive-controllers-0.46.0.tgz", - "integrity": "sha512-Fggd8tlpjVEwu76N6lQtrQwT1gIrcxfE2DDISdQm7CyCCt92Ag4g1VJxd/EusMzWID3dR7K0kMGNKh2mTRCNqw==", "license": "Apache-2.0", "dependencies": { "lit": "^3.1.3" @@ -1471,8 +1580,6 @@ }, "node_modules/@spectrum-web-components/reactive-controllers/node_modules/lit": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/lit/-/lit-3.2.1.tgz", - "integrity": "sha512-1BBa1E/z0O9ye5fZprPtdqnc0BFzxIxTTOO/tQFmyC/hj1O3jL4TfmLBw0WEwjAokdLwpclkvGgDJwTIh0/22w==", "license": "BSD-3-Clause", "dependencies": { "@lit/reactive-element": "^2.0.4", @@ -1482,8 +1589,6 @@ }, "node_modules/@spectrum-web-components/reactive-controllers/node_modules/lit-element": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.1.1.tgz", - "integrity": "sha512-HO9Tkkh34QkTeUmEdNYhMT8hzLid7YlMlATSi1q4q17HE5d9mrrEHJ/o8O2D0cMi182zK1F3v7x0PWFjrhXFew==", "license": "BSD-3-Clause", "dependencies": { "@lit-labs/ssr-dom-shim": "^1.2.0", @@ -1493,8 +1598,6 @@ }, "node_modules/@spectrum-web-components/search": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/search/-/search-0.46.0.tgz", - "integrity": "sha512-Cpv7+SXtu63yMRrIK0RNoTvwA8R/Y+ze4U7CWr1IqA55TkHf1Osm/etjGQ0qCqWcf4YCIXW06Hl041i7E7h9Dw==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1506,8 +1609,6 @@ }, "node_modules/@spectrum-web-components/shared": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/shared/-/shared-0.46.0.tgz", - "integrity": "sha512-+Ol2Mo/GQsZybq8O+7rbF6K5WsFByI8inNg4nQt9H4dIYCyxgLVCQTX+yk/kywcdPXbaRELlJtrecMuBYwRAzw==", "license": "Apache-2.0", "dependencies": { "@lit-labs/observers": "^2.0.2", @@ -1517,8 +1618,6 @@ }, "node_modules/@spectrum-web-components/sidenav": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/sidenav/-/sidenav-0.46.0.tgz", - "integrity": "sha512-yj/0Ly/5lHZQFbBvSA0mi0eTOKU0/nxXlO3zD76ZWEYRTefzF+lK0AoS7bLwnHYVdD1QiieTcSAKB/ruj1UDrw==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1528,8 +1627,6 @@ }, "node_modules/@spectrum-web-components/split-button": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/split-button/-/split-button-0.46.0.tgz", - "integrity": "sha512-5zI0IO9VSGdF89J4CxZmzSObeTHAPu2/NRg+/2mlFlxbd3q/lCjXUE4qh/LMUsvRYi8N+A8L8uib5P51nyOXWQ==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1545,8 +1642,6 @@ }, "node_modules/@spectrum-web-components/styles": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/styles/-/styles-0.46.0.tgz", - "integrity": "sha512-gQWvHV+vUAfRKTg3EWDRyo2HaOKCJmScjeCk42s/SPzDOvJKUWFKa61E4M8eIpsHcGOrhLdA/Tou0eNoQ8MQrQ==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0" @@ -1554,8 +1649,6 @@ }, "node_modules/@spectrum-web-components/tabs": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/tabs/-/tabs-0.46.0.tgz", - "integrity": "sha512-2HWYPx/BRio9UVhIKmQe/kJQQKiTHokYIjNcl/SNmsNG4QtyUHOPPp145B0Th3brCHYyuBrev1Khba5Q9I1RxA==", "license": "Apache-2.0", "dependencies": { "@lit-labs/observers": "^2.0.2", @@ -1568,8 +1661,6 @@ }, "node_modules/@spectrum-web-components/textfield": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/textfield/-/textfield-0.46.0.tgz", - "integrity": "sha512-YdLV0i3/5tVvVzIRhLndhLRh1kFK1UsvaZzbbK/IV+fid876dkuTf6t9wdmC+nP03BZm9Niw9Ip/UNs+Y7bj7g==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1582,8 +1673,6 @@ }, "node_modules/@spectrum-web-components/theme": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/theme/-/theme-0.46.0.tgz", - "integrity": "sha512-WSVpLhZ3lpSvLriLEhAdaypE+hMM0klU/GAd1XqIZHdlPplqKZTe1KPvYb4Y9zS6hlg7rR7b7Xo2guYy5xwXig==", "license": "ISC", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1592,8 +1681,6 @@ }, "node_modules/@spectrum-web-components/toast": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/toast/-/toast-0.46.0.tgz", - "integrity": "sha512-2WC6AxCaRvrWT1OsyuxQUnG6NJlOgef5czZD3nn4l7GeQzJEOeQntMjeJgrBFXEX3HXM1AanId43INz4h7xAhg==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1605,8 +1692,6 @@ }, "node_modules/@spectrum-web-components/tooltip": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/tooltip/-/tooltip-0.46.0.tgz", - "integrity": "sha512-G0MKxiBtX9+Q4Xh71lTj7J8EE9ZuBtuTiJmqQu1NUv2XpQXGtbpl0FunIbmKN0e28TrbZSjAUHvjqvbaL8O8rA==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1617,8 +1702,6 @@ }, "node_modules/@spectrum-web-components/tray": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/tray/-/tray-0.46.0.tgz", - "integrity": "sha512-NaAGJaJSkZi3ybUsRdTzNgS5UFnR0OVTyid7biEBX8HLhdqMBD3hD7CsTVUspyRCNwYw6TOnxzYsETaNnIIT6A==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0", @@ -1630,13 +1713,18 @@ }, "node_modules/@spectrum-web-components/underlay": { "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@spectrum-web-components/underlay/-/underlay-0.46.0.tgz", - "integrity": "sha512-qsV6WwTtlEI4SsDE6C3QyzxSN/oni+gRzObjKuCZttV42VZi9FOCVoh5/EXBv5mfhYcoM7jvJRjoLTpWcgoAZw==", "license": "Apache-2.0", "dependencies": { "@spectrum-web-components/base": "^0.46.0" } }, + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz", @@ -1667,15 +1755,11 @@ }, "node_modules/@types/chai": { "version": "4.3.20", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.20.tgz", - "integrity": "sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==", "dev": true, "license": "MIT" }, "node_modules/@types/chai-as-promised": { "version": "7.1.5", - "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.5.tgz", - "integrity": "sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1746,8 +1830,6 @@ }, "node_modules/@types/estree": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true, "license": "MIT" }, @@ -1765,9 +1847,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz", - "integrity": "sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.2.tgz", + "integrity": "sha512-vluaspfvWEtE4vcSDlKRNer52DvOGrB2xv6diXy6UKyKW0lqZiWHGNApSyxOv+8DE5Z27IzVvE7hNkxg7EXIcg==", "dev": true, "license": "MIT", "dependencies": { @@ -1820,8 +1902,6 @@ }, "node_modules/@types/json-schema": { "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true, "license": "MIT" }, @@ -1861,15 +1941,11 @@ }, "node_modules/@types/linkify-it": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", "license": "MIT", "peer": true }, "node_modules/@types/markdown-it": { "version": "14.1.2", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", - "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", "license": "MIT", "peer": true, "dependencies": { @@ -1879,8 +1955,6 @@ }, "node_modules/@types/mdurl": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", "license": "MIT", "peer": true }, @@ -1891,27 +1965,10 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/mkdirp": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-1.0.2.tgz", - "integrity": "sha512-o0K1tSO0Dx5X6xlU5F1D6625FawhC3dU3iqr25lluNv/+/QIVH8RLNEiVokgIZo+mz+87w/3Mkg/VvQS+J51fQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/mocha": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz", - "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/node": { - "version": "22.8.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz", - "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==", + "version": "22.9.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.3.tgz", + "integrity": "sha512-F3u1fs/fce3FFk+DAxbxc78DF8x0cY09RRL8GnXLmkJ1jvx3TtPdWoTT5/NiYfI5ASqXBmfqJi9dZ3gxMx4lzw==", "dev": true, "license": "MIT", "dependencies": { @@ -1925,30 +1982,10 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/pixelmatch": { - "version": "5.2.6", - "resolved": "https://registry.npmjs.org/@types/pixelmatch/-/pixelmatch-5.2.6.tgz", - "integrity": "sha512-wC83uexE5KGuUODn6zkm9gMzTwdY5L0chiK+VrKcDfEjzxh1uadlWTvOmAbCpnM9zx/Ww3f8uKlYQVnO/TrqVg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/pngjs": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/@types/pngjs/-/pngjs-6.0.5.tgz", - "integrity": "sha512-0k5eKfrA83JOZPppLtS2C7OUtyNAl2wKNxfyYl9Q5g9lPkgBl/9hNyAu6HuEH2J4XmIv2znEpkDd0SaZVxW6iQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/qs": { - "version": "6.9.16", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", - "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==", + "version": "6.9.17", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.17.tgz", + "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==", "dev": true, "license": "MIT" }, @@ -1991,8 +2028,6 @@ }, "node_modules/@types/sinon": { "version": "10.0.15", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.15.tgz", - "integrity": "sha512-3lrFNQG0Kr2LDzvjyjB6AMJk4ge+8iYhQfdnSwIwlG88FUOV43kPcQqDZkDa/h3WSZy6i8Fr0BSjfQtB1B3xuQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2001,15 +2036,11 @@ }, "node_modules/@types/sinonjs__fake-timers": { "version": "8.1.5", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz", - "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==", "dev": true, "license": "MIT" }, "node_modules/@types/trusted-types": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", "license": "MIT" }, "node_modules/@types/ws": { @@ -2034,49 +2065,46 @@ } }, "node_modules/@web/browser-logs": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@web/browser-logs/-/browser-logs-0.2.6.tgz", - "integrity": "sha512-CNjNVhd4FplRY8PPWIAt02vAowJAVcOoTNrR/NNb/o9pka7yI9qdjpWrWhEbPr2pOXonWb52AeAgdK66B8ZH7w==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@web/browser-logs/-/browser-logs-0.4.0.tgz", + "integrity": "sha512-/EBiDAUCJ2DzZhaFxTPRIznEPeafdLbXShIL6aTu7x73x7ZoxSDv7DGuTsh2rWNMUa4+AKli4UORrpyv6QBOiA==", "dev": true, "license": "MIT", "dependencies": { "errorstacks": "^2.2.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=18.0.0" } }, "node_modules/@web/config-loader": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.2.2.tgz", - "integrity": "sha512-HhoXMGivHbQ880MKQ1JChYCjWsMS4MUNOF35ktLV/0pZiX+J7oobybsPuyhS+gTnZsU7Duqnk3+HQYB7cNS4fA==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.3.2.tgz", + "integrity": "sha512-Vrjv/FexBGmAdnCYpJKLHX1dfT1UaUdvHmX1JRaWos9OvDf/tFznYJ5SpJwww3Rl87/ewvLSYG7kfsMqEAsizQ==", "dev": true, "license": "MIT", - "dependencies": { - "semver": "^7.3.4" - }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" } }, "node_modules/@web/dev-server": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.3.7.tgz", - "integrity": "sha512-He/QTO1C+zWJesgOmGbuBX5p5OEbH9hxgELDVIscQAdOq91PpQN/4s8PJ3LIRpkbXAZBxdwCoRUZHENxHgOtjg==", + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.4.6.tgz", + "integrity": "sha512-jj/1bcElAy5EZet8m2CcUdzxT+CRvUjIXGh8Lt7vxtthkN9PzY9wlhWx/9WOs5iwlnG1oj0VGo6f/zvbPO0s9w==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.11", "@types/command-line-args": "^5.0.0", - "@web/config-loader": "^0.2.2", - "@web/dev-server-core": "^0.6.3", - "@web/dev-server-rollup": "^0.5.4", + "@web/config-loader": "^0.3.0", + "@web/dev-server-core": "^0.7.2", + "@web/dev-server-rollup": "^0.6.1", "camelcase": "^6.2.0", "command-line-args": "^5.1.1", "command-line-usage": "^7.0.1", "debounce": "^1.2.0", "deepmerge": "^4.2.2", - "ip": "^1.1.5", + "internal-ip": "^6.2.0", "nanocolors": "^0.2.1", "open": "^8.0.2", "portfinder": "^1.0.32" @@ -2086,20 +2114,20 @@ "web-dev-server": "dist/bin.js" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" } }, "node_modules/@web/dev-server-core": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.6.3.tgz", - "integrity": "sha512-BWlgxIXQbg3RqUdz9Cfeh3XqFv0KcjQi4DLaZy9s63IlXgNZTzesTfDzliP/mIdWd5r8KZYh/P3n6LMi7CLPjQ==", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.7.4.tgz", + "integrity": "sha512-nHSNrJ1J9GjmSceKNHpWRMjvpfE2NTV9EYUffPIr7j0sIV59gK7NI/4+9slotJ/ODXw0+e1gSeJshTOhjjVNxQ==", "dev": true, "license": "MIT", "dependencies": { "@types/koa": "^2.11.6", "@types/ws": "^7.4.0", - "@web/parse5-utils": "^2.0.2", - "chokidar": "^3.4.3", + "@web/parse5-utils": "^2.1.0", + "chokidar": "^4.0.1", "clone": "^2.1.2", "es-module-lexer": "^1.0.0", "get-stream": "^6.0.0", @@ -2113,1212 +2141,191 @@ "mime-types": "^2.1.27", "parse5": "^6.0.1", "picomatch": "^2.2.2", - "ws": "^7.4.2" + "ws": "^7.5.10" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" } }, - "node_modules/@web/dev-server-esbuild": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@web/dev-server-esbuild/-/dev-server-esbuild-0.4.4.tgz", - "integrity": "sha512-gxXvj1mw0/b8HP2ARaXgQEmWH/nyPWvRuzSyEvybMm9oThe//z6K0ksj2qyffT/X7yblhEReKqWK7djCaB0M0Q==", + "node_modules/@web/dev-server-import-maps": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@web/dev-server-import-maps/-/dev-server-import-maps-0.2.1.tgz", + "integrity": "sha512-iGM7s4qenmTDUWC2iV0HoQ1NR5lAyRxVHOpWzTsFH/TnUZzP+YuL6QIFtB2v2v7URfhGL2l2WPIibmliToITcg==", "dev": true, "license": "MIT", "dependencies": { - "@mdn/browser-compat-data": "^4.0.0", - "@web/dev-server-core": "^0.6.2", - "esbuild": "^0.16 || ^0.17", + "@import-maps/resolve": "^1.0.1", + "@types/parse5": "^6.0.1", + "@web/dev-server-core": "^0.7.2", + "@web/parse5-utils": "^2.1.0", "parse5": "^6.0.1", - "ua-parser-js": "^1.0.33" + "picomatch": "^2.2.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" } }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/android-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", - "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", - "cpu": [ - "arm" - ], + "node_modules/@web/dev-server-rollup": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.6.4.tgz", + "integrity": "sha512-sJZfTGCCrdku5xYnQQG51odGI092hKY9YFM0X3Z0tRY3iXKXcYRaLZrErw5KfCxr6g0JRuhe4BBhqXTA5Q2I3Q==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "@rollup/plugin-node-resolve": "^15.0.1", + "@web/dev-server-core": "^0.7.2", + "nanocolors": "^0.2.1", + "parse5": "^6.0.1", + "rollup": "^4.4.0", + "whatwg-url": "^14.0.0" + }, "engines": { - "node": ">=12" + "node": ">=18.0.0" } }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/android-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", - "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", - "cpu": [ - "arm64" - ], + "node_modules/@web/parse5-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@web/parse5-utils/-/parse5-utils-2.1.0.tgz", + "integrity": "sha512-GzfK5disEJ6wEjoPwx8AVNwUe9gYIiwc+x//QYxYDAFKUp4Xb1OJAGLc2l2gVrSQmtPGLKrTRcW90Hv4pEq1qA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "@types/parse5": "^6.0.1", + "parse5": "^6.0.1" + }, "engines": { - "node": ">=12" + "node": ">=18.0.0" } }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/android-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", - "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/darwin-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", - "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/darwin-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", - "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/freebsd-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", - "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/freebsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", - "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/linux-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", - "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/linux-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", - "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/linux-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", - "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/linux-loong64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", - "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/linux-mips64el": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", - "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/linux-ppc64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", - "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/linux-riscv64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", - "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/linux-s390x": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", - "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/linux-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", - "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/netbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", - "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/openbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", - "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/sunos-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", - "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/win32-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", - "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/win32-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", - "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/@esbuild/win32-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", - "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@web/dev-server-esbuild/node_modules/esbuild": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", - "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.17.19", - "@esbuild/android-arm64": "0.17.19", - "@esbuild/android-x64": "0.17.19", - "@esbuild/darwin-arm64": "0.17.19", - "@esbuild/darwin-x64": "0.17.19", - "@esbuild/freebsd-arm64": "0.17.19", - "@esbuild/freebsd-x64": "0.17.19", - "@esbuild/linux-arm": "0.17.19", - "@esbuild/linux-arm64": "0.17.19", - "@esbuild/linux-ia32": "0.17.19", - "@esbuild/linux-loong64": "0.17.19", - "@esbuild/linux-mips64el": "0.17.19", - "@esbuild/linux-ppc64": "0.17.19", - "@esbuild/linux-riscv64": "0.17.19", - "@esbuild/linux-s390x": "0.17.19", - "@esbuild/linux-x64": "0.17.19", - "@esbuild/netbsd-x64": "0.17.19", - "@esbuild/openbsd-x64": "0.17.19", - "@esbuild/sunos-x64": "0.17.19", - "@esbuild/win32-arm64": "0.17.19", - "@esbuild/win32-ia32": "0.17.19", - "@esbuild/win32-x64": "0.17.19" - } - }, - "node_modules/@web/dev-server-import-maps": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@web/dev-server-import-maps/-/dev-server-import-maps-0.1.3.tgz", - "integrity": "sha512-0eUS6ruDCOs58rXjugeDu5GCAoWHzlKLKWNTLow3qyzGkhwhj7HW9K4+zG84A1SASOLqIzB2XqrMHQEslojomg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@import-maps/resolve": "^1.0.1", - "@types/parse5": "^6.0.1", - "@web/dev-server-core": "^0.6.2", - "@web/parse5-utils": "^2.0.2", - "parse5": "^6.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@web/dev-server-rollup": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.5.4.tgz", - "integrity": "sha512-lIN+lwj84Oh8Whe4vHijjMVe7NLJUzLxiiUsOleUtrBp1b7Us9QyUNCJK/iYitHJJDhCw6JcLJbCJ5H+vW969Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/plugin-node-resolve": "^15.0.1", - "@web/dev-server-core": "^0.6.2", - "nanocolors": "^0.2.1", - "parse5": "^6.0.1", - "rollup": "^3.15.0", - "whatwg-url": "^11.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@web/parse5-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@web/parse5-utils/-/parse5-utils-2.1.0.tgz", - "integrity": "sha512-GzfK5disEJ6wEjoPwx8AVNwUe9gYIiwc+x//QYxYDAFKUp4Xb1OJAGLc2l2gVrSQmtPGLKrTRcW90Hv4pEq1qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/parse5": "^6.0.1", - "parse5": "^6.0.1" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@web/test-runner": { - "version": "0.13.31", - "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.13.31.tgz", - "integrity": "sha512-QMj/25U25AkhN4ffBoMMPdpQLNojL8cAzlyIh/oyVp385Cjmd4Hz8S0u4PvWJmDRmPerbJRNtsWafB8/EcQ1rA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@web/browser-logs": "^0.2.2", - "@web/config-loader": "^0.1.3", - "@web/dev-server": "^0.1.32", - "@web/test-runner-chrome": "^0.10.7", - "@web/test-runner-commands": "^0.6.3", - "@web/test-runner-core": "^0.10.27", - "@web/test-runner-mocha": "^0.7.5", - "camelcase": "^6.2.0", - "command-line-args": "^5.1.1", - "command-line-usage": "^6.1.1", - "convert-source-map": "^1.7.0", - "diff": "^5.0.0", - "globby": "^11.0.1", - "nanocolors": "^0.2.1", - "portfinder": "^1.0.28", - "source-map": "^0.7.3" - }, - "bin": { - "web-test-runner": "dist/bin.js", - "wtr": "dist/bin.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@web/test-runner-chrome": { - "version": "0.10.7", - "resolved": "https://registry.npmjs.org/@web/test-runner-chrome/-/test-runner-chrome-0.10.7.tgz", - "integrity": "sha512-DKJVHhHh3e/b6/erfKOy0a4kGfZ47qMoQRgROxi9T4F9lavEY3E5/MQ7hapHFM2lBF4vDrm+EWjtBdOL8o42tw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@web/test-runner-core": "^0.10.20", - "@web/test-runner-coverage-v8": "^0.4.8", - "chrome-launcher": "^0.15.0", - "puppeteer-core": "^13.1.3" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@web/test-runner-commands": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/@web/test-runner-commands/-/test-runner-commands-0.6.6.tgz", - "integrity": "sha512-2DcK/+7f8QTicQpGFq/TmvKHDK/6Zald6rn1zqRlmj3pcH8fX6KHNVMU60Za9QgAKdorMBPfd8dJwWba5otzdw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@web/test-runner-core": "^0.10.29", - "mkdirp": "^1.0.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@web/test-runner-core": { - "version": "0.10.29", - "resolved": "https://registry.npmjs.org/@web/test-runner-core/-/test-runner-core-0.10.29.tgz", - "integrity": "sha512-0/ZALYaycEWswHhpyvl5yqo0uIfCmZe8q14nGPi1dMmNiqLcHjyFGnuIiLexI224AW74ljHcHllmDlXK9FUKGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.12.11", - "@types/babel__code-frame": "^7.0.2", - "@types/co-body": "^6.1.0", - "@types/convert-source-map": "^2.0.0", - "@types/debounce": "^1.2.0", - "@types/istanbul-lib-coverage": "^2.0.3", - "@types/istanbul-reports": "^3.0.0", - "@web/browser-logs": "^0.2.6", - "@web/dev-server-core": "^0.4.1", - "chokidar": "^3.4.3", - "cli-cursor": "^3.1.0", - "co-body": "^6.1.0", - "convert-source-map": "^2.0.0", - "debounce": "^1.2.0", - "dependency-graph": "^0.11.0", - "globby": "^11.0.1", - "ip": "^1.1.5", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-reports": "^3.0.2", - "log-update": "^4.0.0", - "nanocolors": "^0.2.1", - "nanoid": "^3.1.25", - "open": "^8.0.2", - "picomatch": "^2.2.2", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@web/test-runner-core/node_modules/@web/dev-server-core": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.4.1.tgz", - "integrity": "sha512-KdYwejXZwIZvb6tYMCqU7yBiEOPfKLQ3V9ezqqEz8DA9V9R3oQWaowckvCpFB9IxxPfS/P8/59OkdzGKQjcIUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/koa": "^2.11.6", - "@types/ws": "^7.4.0", - "@web/parse5-utils": "^1.3.1", - "chokidar": "^3.4.3", - "clone": "^2.1.2", - "es-module-lexer": "^1.0.0", - "get-stream": "^6.0.0", - "is-stream": "^2.0.0", - "isbinaryfile": "^5.0.0", - "koa": "^2.13.0", - "koa-etag": "^4.0.0", - "koa-send": "^5.0.1", - "koa-static": "^5.0.0", - "lru-cache": "^6.0.0", - "mime-types": "^2.1.27", - "parse5": "^6.0.1", - "picomatch": "^2.2.2", - "ws": "^7.4.2" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@web/test-runner-core/node_modules/@web/parse5-utils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@web/parse5-utils/-/parse5-utils-1.3.1.tgz", - "integrity": "sha512-haCgDchZrAOB9EhBJ5XqiIjBMsS/exsM5Ru7sCSyNkXVEJWskyyKuKMFk66BonnIGMPpDtqDrTUfYEis5Zi3XA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/parse5": "^6.0.1", - "parse5": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@web/test-runner-core/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@web/test-runner-core/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@web/test-runner-coverage-v8": { - "version": "0.4.9", - "resolved": "https://registry.npmjs.org/@web/test-runner-coverage-v8/-/test-runner-coverage-v8-0.4.9.tgz", - "integrity": "sha512-y9LWL4uY25+fKQTljwr0XTYjeWIwU4h8eYidVuLoW3n1CdFkaddv+smrGzzF5j8XY+Mp6TmV9NdxjvMWqVkDdw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@web/test-runner-core": "^0.10.20", - "istanbul-lib-coverage": "^3.0.0", - "picomatch": "^2.2.2", - "v8-to-istanbul": "^8.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@web/test-runner-mocha": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@web/test-runner-mocha/-/test-runner-mocha-0.7.5.tgz", - "integrity": "sha512-12/OBq6efPCAvJpcz3XJs2OO5nHe7GtBibZ8Il1a0QtsGpRmuJ4/m1EF0Fj9f6KHg7JdpGo18A37oE+5hXjHwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mocha": "^8.2.0", - "@web/test-runner-core": "^0.10.20" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@web/test-runner-visual-regression": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@web/test-runner-visual-regression/-/test-runner-visual-regression-0.9.0.tgz", - "integrity": "sha512-06M1WffLy+BJo08s57RumKYUULD/UB8u7DgZ8/MJZYCt+7r4Vt54w34CwSGHCpeDLY8Z/YkxecafvzDjuLnEJQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mkdirp": "^1.0.1", - "@types/pixelmatch": "^5.2.2", - "@types/pngjs": "^6.0.0", - "@web/test-runner-commands": "^0.9.0", - "@web/test-runner-core": "^0.13.0", - "mkdirp": "^1.0.4", - "pixelmatch": "^5.2.1", - "pngjs": "^7.0.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@web/test-runner-visual-regression/node_modules/@web/browser-logs": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@web/browser-logs/-/browser-logs-0.4.0.tgz", - "integrity": "sha512-/EBiDAUCJ2DzZhaFxTPRIznEPeafdLbXShIL6aTu7x73x7ZoxSDv7DGuTsh2rWNMUa4+AKli4UORrpyv6QBOiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "errorstacks": "^2.2.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@web/test-runner-visual-regression/node_modules/@web/dev-server-core": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.7.3.tgz", - "integrity": "sha512-GS+Ok6HiqNZOsw2oEv5V2OISZ2s/6icJodyGjUuD3RChr0G5HiESbKf2K8mZV4shTz9sRC9KSQf8qvno2gPKrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/koa": "^2.11.6", - "@types/ws": "^7.4.0", - "@web/parse5-utils": "^2.1.0", - "chokidar": "^4.0.1", - "clone": "^2.1.2", - "es-module-lexer": "^1.0.0", - "get-stream": "^6.0.0", - "is-stream": "^2.0.0", - "isbinaryfile": "^5.0.0", - "koa": "^2.13.0", - "koa-etag": "^4.0.0", - "koa-send": "^5.0.1", - "koa-static": "^5.0.0", - "lru-cache": "^8.0.4", - "mime-types": "^2.1.27", - "parse5": "^6.0.1", - "picomatch": "^2.2.2", - "ws": "^7.5.10" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@web/test-runner-visual-regression/node_modules/@web/test-runner-commands": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@web/test-runner-commands/-/test-runner-commands-0.9.0.tgz", - "integrity": "sha512-zeLI6QdH0jzzJMDV5O42Pd8WLJtYqovgdt0JdytgHc0d1EpzXDsc7NTCJSImboc2NcayIsWAvvGGeRF69SMMYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@web/test-runner-core": "^0.13.0", - "mkdirp": "^1.0.4" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@web/test-runner-visual-regression/node_modules/@web/test-runner-core": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/@web/test-runner-core/-/test-runner-core-0.13.4.tgz", - "integrity": "sha512-84E1025aUSjvZU1j17eCTwV7m5Zg3cZHErV3+CaJM9JPCesZwLraIa0ONIQ9w4KLgcDgJFw9UnJ0LbFf42h6tg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.12.11", - "@types/babel__code-frame": "^7.0.2", - "@types/co-body": "^6.1.0", - "@types/convert-source-map": "^2.0.0", - "@types/debounce": "^1.2.0", - "@types/istanbul-lib-coverage": "^2.0.3", - "@types/istanbul-reports": "^3.0.0", - "@web/browser-logs": "^0.4.0", - "@web/dev-server-core": "^0.7.3", - "chokidar": "^4.0.1", - "cli-cursor": "^3.1.0", - "co-body": "^6.1.0", - "convert-source-map": "^2.0.0", - "debounce": "^1.2.0", - "dependency-graph": "^0.11.0", - "globby": "^11.0.1", - "internal-ip": "^6.2.0", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-report": "^3.0.1", - "istanbul-reports": "^3.0.2", - "log-update": "^4.0.0", - "nanocolors": "^0.2.1", - "nanoid": "^3.1.25", - "open": "^8.0.2", - "picomatch": "^2.2.2", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@web/test-runner-visual-regression/node_modules/chokidar": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", - "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@web/test-runner-visual-regression/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@web/test-runner-visual-regression/node_modules/readdirp": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", - "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@web/test-runner/node_modules/@rollup/plugin-node-resolve": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz", - "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "deepmerge": "^4.2.2", - "is-builtin-module": "^3.1.0", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^2.42.0" - } - }, - "node_modules/@web/test-runner/node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@web/test-runner/node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@web/test-runner/node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@web/test-runner/node_modules/@web/config-loader": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.1.3.tgz", - "integrity": "sha512-XVKH79pk4d3EHRhofete8eAnqto1e8mCRAqPV00KLNFzCWSe8sWmLnqKCqkPNARC6nksMaGrATnA5sPDRllMpQ==", + "node_modules/@web/test-runner": { + "version": "0.18.3", + "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.18.3.tgz", + "integrity": "sha512-QkVK8Qguw3Zhyu8SYR7F4VdcjyXBeJNr8W8L++s4zO/Ok7DR/Wu7+rLswn3H7OH3xYoCHRmwteehcFejefz6ew==", "dev": true, "license": "MIT", "dependencies": { - "semver": "^7.3.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@web/test-runner/node_modules/@web/dev-server": { - "version": "0.1.38", - "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.1.38.tgz", - "integrity": "sha512-WUq7Zi8KeJ5/UZmmpZ+kzUpUlFlMP/rcreJKYg9Lxiz998KYl4G5Rv24akX0piTuqXG7r6h+zszg8V/hdzjCoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.12.11", - "@types/command-line-args": "^5.0.0", - "@web/config-loader": "^0.1.3", - "@web/dev-server-core": "^0.4.1", - "@web/dev-server-rollup": "^0.4.1", + "@web/browser-logs": "^0.4.0", + "@web/config-loader": "^0.3.0", + "@web/dev-server": "^0.4.0", + "@web/test-runner-chrome": "^0.16.0", + "@web/test-runner-commands": "^0.9.0", + "@web/test-runner-core": "^0.13.0", + "@web/test-runner-mocha": "^0.9.0", "camelcase": "^6.2.0", "command-line-args": "^5.1.1", "command-line-usage": "^7.0.1", - "debounce": "^1.2.0", - "deepmerge": "^4.2.2", - "ip": "^1.1.5", + "convert-source-map": "^2.0.0", + "diff": "^5.0.0", + "globby": "^11.0.1", "nanocolors": "^0.2.1", - "open": "^8.0.2", - "portfinder": "^1.0.32" + "portfinder": "^1.0.32", + "source-map": "^0.7.3" }, "bin": { - "wds": "dist/bin.js", - "web-dev-server": "dist/bin.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@web/test-runner/node_modules/@web/dev-server-core": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.4.1.tgz", - "integrity": "sha512-KdYwejXZwIZvb6tYMCqU7yBiEOPfKLQ3V9ezqqEz8DA9V9R3oQWaowckvCpFB9IxxPfS/P8/59OkdzGKQjcIUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/koa": "^2.11.6", - "@types/ws": "^7.4.0", - "@web/parse5-utils": "^1.3.1", - "chokidar": "^3.4.3", - "clone": "^2.1.2", - "es-module-lexer": "^1.0.0", - "get-stream": "^6.0.0", - "is-stream": "^2.0.0", - "isbinaryfile": "^5.0.0", - "koa": "^2.13.0", - "koa-etag": "^4.0.0", - "koa-send": "^5.0.1", - "koa-static": "^5.0.0", - "lru-cache": "^6.0.0", - "mime-types": "^2.1.27", - "parse5": "^6.0.1", - "picomatch": "^2.2.2", - "ws": "^7.4.2" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@web/test-runner/node_modules/@web/dev-server-rollup": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.4.1.tgz", - "integrity": "sha512-Ebsv7Ovd9MufeH3exvikBJ7GmrZA5OmHnOgaiHcwMJ2eQBJA5/I+/CbRjsLX97ICj/ZwZG//p2ITRz8W3UfSqg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/plugin-node-resolve": "^13.0.4", - "@web/dev-server-core": "^0.4.1", - "nanocolors": "^0.2.1", - "parse5": "^6.0.1", - "rollup": "^2.67.0", - "whatwg-url": "^11.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@web/test-runner/node_modules/@web/dev-server/node_modules/array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.17" - } - }, - "node_modules/@web/test-runner/node_modules/@web/dev-server/node_modules/command-line-usage": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.3.tgz", - "integrity": "sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-back": "^6.2.2", - "chalk-template": "^0.4.0", - "table-layout": "^4.1.0", - "typical": "^7.1.1" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/@web/test-runner/node_modules/@web/dev-server/node_modules/typical": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.2.0.tgz", - "integrity": "sha512-W1+HdVRUl8fS3MZ9ogD51GOb46xMmhAZzR0WPw5jcgIZQJVvkddYzAl4YTU6g5w33Y1iRQLdIi2/1jhi2RNL0g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.17" - } - }, - "node_modules/@web/test-runner/node_modules/@web/parse5-utils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@web/parse5-utils/-/parse5-utils-1.3.1.tgz", - "integrity": "sha512-haCgDchZrAOB9EhBJ5XqiIjBMsS/exsM5Ru7sCSyNkXVEJWskyyKuKMFk66BonnIGMPpDtqDrTUfYEis5Zi3XA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/parse5": "^6.0.1", - "parse5": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@web/test-runner/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@web/test-runner/node_modules/array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@web/test-runner/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "web-test-runner": "dist/bin.js", + "wtr": "dist/bin.js" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@web/test-runner/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" + "node": ">=18.0.0" } }, - "node_modules/@web/test-runner/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@web/test-runner/node_modules/command-line-usage": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", - "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", + "node_modules/@web/test-runner-chrome": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@web/test-runner-chrome/-/test-runner-chrome-0.16.0.tgz", + "integrity": "sha512-Edc6Y49aVB6k18S5IOj9OCX3rEf8F3jptIu0p95+imqxmcutFEh1GNmlAk2bQGnXS0U6uVY7Xbf61fiaXUQqhg==", "dev": true, "license": "MIT", "dependencies": { - "array-back": "^4.0.2", - "chalk": "^2.4.2", - "table-layout": "^1.0.2", - "typical": "^5.2.0" + "@web/test-runner-core": "^0.13.0", + "@web/test-runner-coverage-v8": "^0.8.0", + "async-mutex": "0.4.0", + "chrome-launcher": "^0.15.0", + "puppeteer-core": "^22.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=18.0.0" } }, - "node_modules/@web/test-runner/node_modules/command-line-usage/node_modules/table-layout": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", - "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "node_modules/@web/test-runner-commands": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@web/test-runner-commands/-/test-runner-commands-0.9.0.tgz", + "integrity": "sha512-zeLI6QdH0jzzJMDV5O42Pd8WLJtYqovgdt0JdytgHc0d1EpzXDsc7NTCJSImboc2NcayIsWAvvGGeRF69SMMYg==", "dev": true, "license": "MIT", "dependencies": { - "array-back": "^4.0.1", - "deep-extend": "~0.6.0", - "typical": "^5.2.0", - "wordwrapjs": "^4.0.0" + "@web/test-runner-core": "^0.13.0", + "mkdirp": "^1.0.4" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@web/test-runner/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" + "node": ">=18.0.0" } }, - "node_modules/@web/test-runner/node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@web/test-runner/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@web/test-runner-core": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/@web/test-runner-core/-/test-runner-core-0.13.4.tgz", + "integrity": "sha512-84E1025aUSjvZU1j17eCTwV7m5Zg3cZHErV3+CaJM9JPCesZwLraIa0ONIQ9w4KLgcDgJFw9UnJ0LbFf42h6tg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@web/test-runner/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "license": "ISC", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@web/test-runner/node_modules/rollup": { - "version": "2.79.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", - "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", - "dev": true, - "license": "MIT", - "bin": { - "rollup": "dist/bin/rollup" + "@babel/code-frame": "^7.12.11", + "@types/babel__code-frame": "^7.0.2", + "@types/co-body": "^6.1.0", + "@types/convert-source-map": "^2.0.0", + "@types/debounce": "^1.2.0", + "@types/istanbul-lib-coverage": "^2.0.3", + "@types/istanbul-reports": "^3.0.0", + "@web/browser-logs": "^0.4.0", + "@web/dev-server-core": "^0.7.3", + "chokidar": "^4.0.1", + "cli-cursor": "^3.1.0", + "co-body": "^6.1.0", + "convert-source-map": "^2.0.0", + "debounce": "^1.2.0", + "dependency-graph": "^0.11.0", + "globby": "^11.0.1", + "internal-ip": "^6.2.0", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-report": "^3.0.1", + "istanbul-reports": "^3.0.2", + "log-update": "^4.0.0", + "nanocolors": "^0.2.1", + "nanoid": "^3.1.25", + "open": "^8.0.2", + "picomatch": "^2.2.2", + "source-map": "^0.7.3" }, "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=18.0.0" } }, - "node_modules/@web/test-runner/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/@web/test-runner-coverage-v8": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@web/test-runner-coverage-v8/-/test-runner-coverage-v8-0.8.0.tgz", + "integrity": "sha512-PskiucYpjUtgNfR2zF2AWqWwjXL7H3WW/SnCAYmzUrtob7X9o/+BjdyZ4wKbOxWWSbJO4lEdGIDLu+8X2Xw+lA==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "@web/test-runner-core": "^0.13.0", + "istanbul-lib-coverage": "^3.0.0", + "lru-cache": "^8.0.4", + "picomatch": "^2.2.2", + "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@web/test-runner/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">=18.0.0" } }, - "node_modules/@web/test-runner/node_modules/wordwrapjs": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", - "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", + "node_modules/@web/test-runner-mocha": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@web/test-runner-mocha/-/test-runner-mocha-0.9.0.tgz", + "integrity": "sha512-ZL9F6FXd0DBQvo/h/+mSfzFTSRVxzV9st/AHhpgABtUtV/AIpVE9to6+xdkpu6827kwjezdpuadPfg+PlrBWqQ==", "dev": true, "license": "MIT", "dependencies": { - "reduce-flatten": "^2.0.0", - "typical": "^5.2.0" + "@web/test-runner-core": "^0.13.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=18.0.0" } }, "node_modules/accepts": { @@ -3337,8 +2344,6 @@ }, "node_modules/acorn": { "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "dev": true, "license": "MIT", "bin": { @@ -3350,8 +2355,6 @@ }, "node_modules/acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "license": "MIT", "peerDependencies": { @@ -3359,22 +2362,20 @@ } }, "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "dev": true, "license": "MIT", "dependencies": { - "debug": "4" + "debug": "^4.3.4" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 14" } }, "node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", "dependencies": { @@ -3408,1296 +2409,954 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-bunyan": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/browser-bunyan/-/browser-bunyan-1.8.0.tgz", - "integrity": "sha512-Et1TaRUm8m2oy4OTi69g0qAM8wqpofACUgkdBnj1Kq2aC8Wpl8w+lNevebPG6zKH2w0Aq+BHiAXWwjm0/QbkaQ==", - "dependencies": { - "@browser-bunyan/console-formatted-stream": "^1.8.0", - "@browser-bunyan/console-plain-stream": "^1.8.0", - "@browser-bunyan/console-raw-stream": "^1.8.0", - "@browser-bunyan/levels": "^1.8.0" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bunyan": { - "version": "1.8.15", - "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.15.tgz", - "integrity": "sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==", - "engines": [ - "node >=0.10.0" - ], - "license": "MIT", - "bin": { - "bunyan": "bin/bunyan" - }, - "optionalDependencies": { - "dtrace-provider": "~0.8", - "moment": "^2.19.3", - "mv": "~2", - "safe-json-stringify": "~1" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cache-content-type": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", - "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "^2.1.18", - "ylru": "^1.2.0" - }, + "dev": true, + "license": "MIT", "engines": { - "node": ">= 6.0.0" + "node": ">=8" } }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/callsites": { + "node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/array-back": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "tslib": "^2.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=4" } }, - "node_modules/chalk-template": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", - "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, "license": "MIT", - "dependencies": { - "chalk": "^4.1.2" - }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/chalk-template?sponsor=1" + "node": ">=8" } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "lodash": "^4.17.14" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/async-mutex": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.4.0.tgz", + "integrity": "sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "tslib": "^2.4.0" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "node_modules/b4a": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", + "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", "dev": true, - "license": "ISC" + "license": "Apache-2.0" }, - "node_modules/chrome-launcher": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", - "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", + "node_modules/balanced-match": { + "version": "1.0.2", + "devOptional": true, + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.0.tgz", + "integrity": "sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==", + "dev": true, + "license": "Apache-2.0", + "optional": true + }, + "node_modules/bare-fs": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.3.5.tgz", + "integrity": "sha512-SlE9eTxifPDJrT6YgemQ1WGFleevzwY+XAP1Xqgl56HtcrisC2CHCZ2tq6dBpcH2TnNxwUEUGhweo+lrQtYuiw==", "dev": true, "license": "Apache-2.0", + "optional": true, "dependencies": { - "@types/node": "*", - "escape-string-regexp": "^4.0.0", - "is-wsl": "^2.2.0", - "lighthouse-logger": "^1.0.0" - }, - "bin": { - "print-chrome-path": "bin/print-chrome-path.js" - }, - "engines": { - "node": ">=12.13.0" + "bare-events": "^2.0.0", + "bare-path": "^2.0.0", + "bare-stream": "^2.0.0" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/bare-os": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.4.4.tgz", + "integrity": "sha512-z3UiI2yi1mK0sXeRdc4O1Kk8aOa/e+FNWZcTiPB/dfTWyLypuE99LibgRaQki914Jq//yAWylcAt+mknKdixRQ==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "optional": true + }, + "node_modules/bare-path": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.3.tgz", + "integrity": "sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==", + "dev": true, + "license": "Apache-2.0", + "optional": true, "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" + "bare-os": "^2.1.0" } }, - "node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "node_modules/bare-stream": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.4.2.tgz", + "integrity": "sha512-XZ4ln/KV4KT+PXdIWTKjsLY+quqCaEtqqtgGJVPw9AoM73By03ij64YjepK0aQvHSWDb6AfAZwqKaFu68qkrdA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "streamx": "^2.20.0" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, - "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "node_modules/co-body": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/co-body/-/co-body-6.2.0.tgz", - "integrity": "sha512-Kbpv2Yd1NdL1V/V4cwLVxraHDV6K8ayohr2rmH0J87Er8+zJjcTa6dAn9QMPC9CRgU8+aNajKbSf1TzDB1yKPA==", + "node_modules/basic-ftp": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", "dev": true, "license": "MIT", - "dependencies": { - "@hapi/bourne": "^3.0.0", - "inflation": "^2.0.0", - "qs": "^6.5.2", - "raw-body": "^2.3.3", - "type-is": "^1.6.16" - }, "engines": { - "node": ">=8.0.0" + "node": ">=10.0.0" } }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, + "node_modules/brace-expansion": { + "version": "1.1.11", + "devOptional": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "license": "MIT", "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" + "fill-range": "^7.1.1" }, "engines": { - "node": ">=4.0.0" + "node": ">=8" } }, - "node_modules/command-line-usage": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.3.tgz", - "integrity": "sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q==", - "dev": true, - "license": "MIT", + "node_modules/browser-bunyan": { + "version": "1.8.0", "dependencies": { - "array-back": "^6.2.2", - "chalk-template": "^0.4.0", - "table-layout": "^4.1.0", - "typical": "^7.1.1" - }, - "engines": { - "node": ">=12.20.0" + "@browser-bunyan/console-formatted-stream": "^1.8.0", + "@browser-bunyan/console-plain-stream": "^1.8.0", + "@browser-bunyan/console-raw-stream": "^1.8.0", + "@browser-bunyan/levels": "^1.8.0" } }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", - "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", - "engines": { - "node": ">=12.17" + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/command-line-usage/node_modules/typical": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.2.0.tgz", - "integrity": "sha512-W1+HdVRUl8fS3MZ9ogD51GOb46xMmhAZzR0WPw5jcgIZQJVvkddYzAl4YTU6g5w33Y1iRQLdIi2/1jhi2RNL0g==", + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=12.17" + "node": "*" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, + "node_modules/bunyan": { + "version": "1.8.15", + "engines": [ + "node >=0.10.0" + ], "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" + "bin": { + "bunyan": "bin/bunyan" }, - "engines": { - "node": ">= 0.6" + "optionalDependencies": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" } }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookies": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.9.1.tgz", - "integrity": "sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==", + "node_modules/cache-content-type": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", + "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==", "dev": true, "license": "MIT", "dependencies": { - "depd": "~2.0.0", - "keygrip": "~1.1.0" + "mime-types": "^2.1.18", + "ylru": "^1.2.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 6.0.0" } }, - "node_modules/cross-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", - "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, "license": "MIT", "dependencies": { - "node-fetch": "^2.6.12" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/callsites": { + "version": "3.1.0", "dev": true, "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, "engines": { - "node": ">= 8" + "node": ">=6" } }, - "node_modules/debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "node_modules/chalk": { + "version": "4.1.2", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.0" + "node": ">=10" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", "dev": true, "license": "MIT", + "dependencies": { + "chalk": "^4.1.2" + }, "engines": { - "node": ">=4.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "node_modules/chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", "dev": true, "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "node_modules/chrome-launcher": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", + "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", "dev": true, - "license": "BSD-2-Clause", + "license": "Apache-2.0", "dependencies": { - "execa": "^5.0.0" + "@types/node": "*", + "escape-string-regexp": "^4.0.0", + "is-wsl": "^2.2.0", + "lighthouse-logger": "^1.0.0" + }, + "bin": { + "print-chrome-path": "bin/print-chrome-path.js" }, "engines": { - "node": ">= 10" + "node": ">=12.13.0" } }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "node_modules/chromium-bidi": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.6.3.tgz", + "integrity": "sha512-qXlsCmpCZJAnoTYI83Iu6EdYQpMYdVkCfq08KDh2pmlVqK5t5IA9mGs4/LwCwp4fqisSOMXZxP3HIh8w8aRn0A==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" + "mitt": "3.0.1", + "urlpattern-polyfill": "10.0.0", + "zod": "3.23.8" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "devtools-protocol": "*" } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, "engines": { "node": ">=8" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=12" } }, - "node_modules/dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">= 0.6.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=0.8" } }, - "node_modules/devtools-protocol": { - "version": "0.0.981744", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.981744.tgz", - "integrity": "sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "engines": { - "node": ">=0.3.1" + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/co-body": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/co-body/-/co-body-6.2.0.tgz", + "integrity": "sha512-Kbpv2Yd1NdL1V/V4cwLVxraHDV6K8ayohr2rmH0J87Er8+zJjcTa6dAn9QMPC9CRgU8+aNajKbSf1TzDB1yKPA==", "dev": true, "license": "MIT", "dependencies": { - "path-type": "^4.0.0" + "@hapi/bourne": "^3.0.0", + "inflation": "^2.0.0", + "qs": "^6.5.2", + "raw-body": "^2.3.3", + "type-is": "^1.6.16" }, "engines": { - "node": ">=8" + "node": ">=8.0.0" } }, - "node_modules/dtrace-provider": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.8.tgz", - "integrity": "sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==", - "hasInstallScript": true, - "license": "BSD-2-Clause", - "optional": true, + "node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "nan": "^2.14.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=0.10" + "node": ">=7.0.0" } }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true, - "license": "MIT" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/color-name": { + "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "node_modules/command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", "dev": true, "license": "MIT", + "dependencies": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=4.0.0" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/command-line-usage": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.3.tgz", + "integrity": "sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q==", "dev": true, "license": "MIT", "dependencies": { - "once": "^1.4.0" + "array-back": "^6.2.2", + "chalk-template": "^0.4.0", + "table-layout": "^4.1.0", + "typical": "^7.1.1" + }, + "engines": { + "node": ">=12.20.0" } }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "license": "BSD-2-Clause", + "node_modules/command-line-usage/node_modules/array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "node": ">=12.17" } }, - "node_modules/errorstacks": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/errorstacks/-/errorstacks-2.4.1.tgz", - "integrity": "sha512-jE4i0SMYevwu/xxAuzhly/KTwtj0xDhbzB6m1xPImxTkw8wcCbgarOQPfCVMi5JKVyW7in29pNJCCJrry3Ynnw==", + "node_modules/command-line-usage/node_modules/typical": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.3.0.tgz", + "integrity": "sha512-ya4mg/30vm+DOWfBg4YK3j2WD6TWtRkCbasOJr40CseYENzCUby/7rIvXA99JGsQHeNxLbnXdyLLxKSv3tauFw==", "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "devOptional": true, "license": "MIT" }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.4" + "safe-buffer": "5.2.1" }, "engines": { - "node": ">= 0.4" + "node": ">= 0.6" } }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">= 0.6" } }, - "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true, "license": "MIT" }, - "node_modules/esbuild": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.11.tgz", - "integrity": "sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.11", - "@esbuild/android-arm64": "0.18.11", - "@esbuild/android-x64": "0.18.11", - "@esbuild/darwin-arm64": "0.18.11", - "@esbuild/darwin-x64": "0.18.11", - "@esbuild/freebsd-arm64": "0.18.11", - "@esbuild/freebsd-x64": "0.18.11", - "@esbuild/linux-arm": "0.18.11", - "@esbuild/linux-arm64": "0.18.11", - "@esbuild/linux-ia32": "0.18.11", - "@esbuild/linux-loong64": "0.18.11", - "@esbuild/linux-mips64el": "0.18.11", - "@esbuild/linux-ppc64": "0.18.11", - "@esbuild/linux-riscv64": "0.18.11", - "@esbuild/linux-s390x": "0.18.11", - "@esbuild/linux-x64": "0.18.11", - "@esbuild/netbsd-x64": "0.18.11", - "@esbuild/openbsd-x64": "0.18.11", - "@esbuild/sunos-x64": "0.18.11", - "@esbuild/win32-arm64": "0.18.11", - "@esbuild/win32-ia32": "0.18.11", - "@esbuild/win32-x64": "0.18.11" - } - }, - "node_modules/esbuild-node-externals": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/esbuild-node-externals/-/esbuild-node-externals-1.15.0.tgz", - "integrity": "sha512-lM5f3CQL9Ctv6mBwwYAEMcphK2qrjVRnemT1mufECpFaidZvFVvQDPcuno/MQfLVk4utVuSVxm1RHLyg/ONQ/A==", + "node_modules/cookies": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.9.1.tgz", + "integrity": "sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^5.0.0", - "tslib": "^2.4.1" + "depd": "~2.0.0", + "keygrip": "~1.1.0" }, "engines": { - "node": ">=12" - }, - "peerDependencies": { - "esbuild": "0.12 - 0.24" + "node": ">= 0.8" } }, - "node_modules/esbuild/node_modules/@esbuild/android-arm": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.11.tgz", - "integrity": "sha512-q4qlUf5ucwbUJZXF5tEQ8LF7y0Nk4P58hOsGk3ucY0oCwgQqAnqXVbUuahCddVHfrxmpyewRpiTHwVHIETYu7Q==", - "cpu": [ - "arm" - ], - "dev": true, + "node_modules/cross-fetch": { + "version": "4.0.0", "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" + "dependencies": { + "node-fetch": "^2.6.12" } }, - "node_modules/esbuild/node_modules/@esbuild/android-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.11.tgz", - "integrity": "sha512-snieiq75Z1z5LJX9cduSAjUr7vEI1OdlzFPMw0HH5YI7qQHDd3qs+WZoMrWYDsfRJSq36lIA6mfZBkvL46KoIw==", - "cpu": [ - "arm64" - ], + "node_modules/cross-spawn": { + "version": "7.0.3", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, "engines": { - "node": ">=12" + "node": ">= 8" } }, - "node_modules/esbuild/node_modules/@esbuild/android-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.11.tgz", - "integrity": "sha512-iPuoxQEV34+hTF6FT7om+Qwziv1U519lEOvekXO9zaMMlT9+XneAhKL32DW3H7okrCOBQ44BMihE8dclbZtTuw==", - "cpu": [ - "x64" - ], + "node_modules/data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">=12" + "node": ">= 14" } }, - "node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.11.tgz", - "integrity": "sha512-Gm0QkI3k402OpfMKyQEEMG0RuW2LQsSmI6OeO4El2ojJMoF5NLYb3qMIjvbG/lbMeLOGiW6ooU8xqc+S0fgz2w==", - "cpu": [ - "arm64" - ], + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.7", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "ms": "^2.1.3" + }, "engines": { - "node": ">=12" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/esbuild/node_modules/@esbuild/darwin-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.11.tgz", - "integrity": "sha512-N15Vzy0YNHu6cfyDOjiyfJlRJCB/ngKOAvoBf1qybG3eOq0SL2Lutzz9N7DYUbb7Q23XtHPn6lMDF6uWbGv9Fw==", - "cpu": [ - "x64" - ], + "node_modules/deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.11.tgz", - "integrity": "sha512-atEyuq6a3omEY5qAh5jIORWk8MzFnCpSTUruBgeyN9jZq1K/QI9uke0ATi3MHu4L8c59CnIi4+1jDKMuqmR71A==", - "cpu": [ - "arm64" - ], + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^5.0.0" + }, "engines": { - "node": ">=12" + "node": ">= 10" } }, - "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.11.tgz", - "integrity": "sha512-XtuPrEfBj/YYYnAAB7KcorzzpGTvOr/dTtXPGesRfmflqhA4LMF0Gh/n5+a9JBzPuJ+CGk17CA++Hmr1F/gI0Q==", - "cpu": [ - "x64" - ], + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-arm": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.11.tgz", - "integrity": "sha512-Idipz+Taso/toi2ETugShXjQ3S59b6m62KmLHkJlSq/cBejixmIydqrtM2XTvNCywFl3VC7SreSf6NV0i6sRyg==", - "cpu": [ - "arm" - ], + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.11.tgz", - "integrity": "sha512-c6Vh2WS9VFKxKZ2TvJdA7gdy0n6eSy+yunBvv4aqNCEhSWVor1TU43wNRp2YLO9Vng2G+W94aRz+ILDSwAiYog==", - "cpu": [ - "arm64" - ], + "node_modules/degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + }, "engines": { - "node": ">=12" + "node": ">= 14" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-ia32": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.11.tgz", - "integrity": "sha512-S3hkIF6KUqRh9n1Q0dSyYcWmcVa9Cg+mSoZEfFuzoYXXsk6196qndrM+ZiHNwpZKi3XOXpShZZ+9dfN5ykqjjw==", - "cpu": [ - "ia32" - ], + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/esbuild/node_modules/@esbuild/linux-loong64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.11.tgz", - "integrity": "sha512-MRESANOoObQINBA+RMZW+Z0TJWpibtE7cPFnahzyQHDCA9X9LOmGh68MVimZlM9J8n5Ia8lU773te6O3ILW8kw==", - "cpu": [ - "loong64" - ], + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">= 0.8" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.11.tgz", - "integrity": "sha512-qVyPIZrXNMOLYegtD1u8EBccCrBVshxMrn5MkuFc3mEVsw7CCQHaqZ4jm9hbn4gWY95XFnb7i4SsT3eflxZsUg==", - "cpu": [ - "mips64el" - ], + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">= 0.6.0" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.11.tgz", - "integrity": "sha512-T3yd8vJXfPirZaUOoA9D2ZjxZX4Gr3QuC3GztBJA6PklLotc/7sXTOuuRkhE9W/5JvJP/K9b99ayPNAD+R+4qQ==", - "cpu": [ - "ppc64" - ], + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.11.tgz", - "integrity": "sha512-evUoRPWiwuFk++snjH9e2cAjF5VVSTj+Dnf+rkO/Q20tRqv+644279TZlPK8nUGunjPAtQRCj1jQkDAvL6rm2w==", - "cpu": [ - "riscv64" - ], + "node_modules/devtools-protocol": { + "version": "0.0.1312386", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1312386.tgz", + "integrity": "sha512-DPnhUXvmvKT2dFA/j7B+riVLUt9Q6RKJlcppojL5CoRywJJKLDYnRlw0gTFKfgDPHP5E04UoB71SxoJlVZy8FA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "license": "BSD-3-Clause" }, - "node_modules/esbuild/node_modules/@esbuild/linux-s390x": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.11.tgz", - "integrity": "sha512-/SlRJ15XR6i93gRWquRxYCfhTeC5PdqEapKoLbX63PLCmAkXZHY2uQm2l9bN0oPHBsOw2IswRZctMYS0MijFcg==", - "cpu": [ - "s390x" - ], + "node_modules/diff": { + "version": "5.2.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "BSD-3-Clause", "engines": { - "node": ">=12" + "node": ">=0.3.1" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.11.tgz", - "integrity": "sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==", - "cpu": [ - "x64" - ], + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "path-type": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.11.tgz", - "integrity": "sha512-aSjMHj/F7BuS1CptSXNg6S3M4F3bLp5wfFPIJM+Km2NfIVfFKhdmfHF9frhiCLIGVzDziggqWll0B+9AUbud/Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", + "node_modules/dtrace-provider": { + "version": "0.8.8", + "hasInstallScript": true, + "license": "BSD-2-Clause", "optional": true, - "os": [ - "netbsd" - ], + "dependencies": { + "nan": "^2.14.0" + }, "engines": { - "node": ">=12" + "node": ">=0.10" } }, - "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.11.tgz", - "integrity": "sha512-tNBq+6XIBZtht0xJGv7IBB5XaSyvYPCm1PxJ33zLQONdZoLVM0bgGqUrXnJyiEguD9LU4AHiu+GCXy/Hm9LsdQ==", - "cpu": [ - "x64" - ], + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], "engines": { - "node": ">=12" + "node": ">= 0.8" } }, - "node_modules/esbuild/node_modules/@esbuild/sunos-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.11.tgz", - "integrity": "sha512-kxfbDOrH4dHuAAOhr7D7EqaYf+W45LsAOOhAet99EyuxxQmjbk8M9N4ezHcEiCYPaiW8Dj3K26Z2V17Gt6p3ng==", - "cpu": [ - "x64" - ], + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "license": "BSD-2-Clause", "engines": { - "node": ">=12" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/esbuild/node_modules/@esbuild/win32-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.11.tgz", - "integrity": "sha512-Sh0dDRyk1Xi348idbal7lZyfSkjhJsdFeuC13zqdipsvMetlGiFQNdO+Yfp6f6B4FbyQm7qsk16yaZk25LChzg==", - "cpu": [ - "arm64" - ], + "node_modules/errorstacks": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/errorstacks/-/errorstacks-2.4.1.tgz", + "integrity": "sha512-jE4i0SMYevwu/xxAuzhly/KTwtj0xDhbzB6m1xPImxTkw8wcCbgarOQPfCVMi5JKVyW7in29pNJCCJrry3Ynnw==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "get-intrinsic": "^1.2.4" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" } }, - "node_modules/esbuild/node_modules/@esbuild/win32-ia32": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.11.tgz", - "integrity": "sha512-o9JUIKF1j0rqJTFbIoF4bXj6rvrTZYOrfRcGyL0Vm5uJ/j5CkBD/51tpdxe9lXEDouhRgdr/BYzUrDOvrWwJpg==", - "cpu": [ - "ia32" - ], + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">=12" + "node": ">= 0.4" } }, - "node_modules/esbuild/node_modules/@esbuild/win32-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.11.tgz", - "integrity": "sha512-rQI4cjLHd2hGsM1LqgDI7oOCYbQ6IBOVsX9ejuRMSze0GqXUG2ekwiKkiBU1pRGSeCqFFHxTrcEydB2Hyoz9CA==", - "cpu": [ - "x64" - ], + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "dev": true, + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", + "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", "dev": true, + "hasInstallScript": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { - "node": ">=12" + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.0", + "@esbuild/android-arm": "0.24.0", + "@esbuild/android-arm64": "0.24.0", + "@esbuild/android-x64": "0.24.0", + "@esbuild/darwin-arm64": "0.24.0", + "@esbuild/darwin-x64": "0.24.0", + "@esbuild/freebsd-arm64": "0.24.0", + "@esbuild/freebsd-x64": "0.24.0", + "@esbuild/linux-arm": "0.24.0", + "@esbuild/linux-arm64": "0.24.0", + "@esbuild/linux-ia32": "0.24.0", + "@esbuild/linux-loong64": "0.24.0", + "@esbuild/linux-mips64el": "0.24.0", + "@esbuild/linux-ppc64": "0.24.0", + "@esbuild/linux-riscv64": "0.24.0", + "@esbuild/linux-s390x": "0.24.0", + "@esbuild/linux-x64": "0.24.0", + "@esbuild/netbsd-x64": "0.24.0", + "@esbuild/openbsd-arm64": "0.24.0", + "@esbuild/openbsd-x64": "0.24.0", + "@esbuild/sunos-x64": "0.24.0", + "@esbuild/win32-arm64": "0.24.0", + "@esbuild/win32-ia32": "0.24.0", + "@esbuild/win32-x64": "0.24.0" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" } }, "node_modules/escape-html": { @@ -4709,8 +3368,6 @@ }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "license": "MIT", "engines": { @@ -4720,10 +3377,41 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/eslint": { "version": "9.13.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.13.0.tgz", - "integrity": "sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==", "dev": true, "license": "MIT", "dependencies": { @@ -4783,8 +3471,6 @@ }, "node_modules/eslint-config-prettier": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, "license": "MIT", "bin": { @@ -4796,8 +3482,6 @@ }, "node_modules/eslint-plugin-prettier": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", - "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", "dev": true, "license": "MIT", "dependencies": { @@ -4827,8 +3511,6 @@ }, "node_modules/eslint-scope": { "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -4844,8 +3526,6 @@ }, "node_modules/eslint-visitor-keys": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4857,8 +3537,6 @@ }, "node_modules/espree": { "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -4873,10 +3551,22 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/esquery": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -4888,8 +3578,6 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -4901,8 +3589,6 @@ }, "node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -4918,8 +3604,6 @@ }, "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -4999,18 +3683,21 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true, "license": "MIT" }, "node_modules/fast-diff": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "dev": true, "license": "Apache-2.0" }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true, + "license": "MIT" + }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", @@ -5043,15 +3730,11 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true, "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true, "license": "MIT" }, @@ -5077,8 +3760,6 @@ }, "node_modules/file-entry-cache": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "license": "MIT", "dependencies": { @@ -5116,8 +3797,6 @@ }, "node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "license": "MIT", "dependencies": { @@ -5133,8 +3812,6 @@ }, "node_modules/flat-cache": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "license": "MIT", "dependencies": { @@ -5147,15 +3824,11 @@ }, "node_modules/flatted": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true, "license": "ISC" }, "node_modules/focus-visible": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/focus-visible/-/focus-visible-5.2.1.tgz", - "integrity": "sha512-8Bx950VD1bWTQJEH/AM6SpEk+SU55aVnp4Ujhuuxy3eMEBCRwBnTBnVXr9YAPvZL3/CNjCa8u4IWfNmEO53whA==", "license": "W3C" }, "node_modules/fresh": { @@ -5168,19 +3841,20 @@ "node": ">= 0.6" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true, - "license": "MIT" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } }, "node_modules/fsevents": { "version": "2.3.3", @@ -5207,6 +3881,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, "node_modules/get-intrinsic": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", @@ -5240,11 +3924,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-uri": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", + "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", + "dev": true, + "license": "MIT", + "dependencies": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4", + "fs-extra": "^11.2.0" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/glob": { "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", - "deprecated": "Glob versions prior to v9 are no longer supported", "license": "ISC", "optional": true, "dependencies": { @@ -5260,8 +3957,6 @@ }, "node_modules/glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "license": "ISC", "dependencies": { @@ -5273,8 +3968,6 @@ }, "node_modules/globals": { "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, "license": "MIT", "engines": { @@ -5318,10 +4011,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "license": "MIT", "engines": { @@ -5398,8 +4096,6 @@ }, "node_modules/highlight.js": { "version": "11.10.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.10.0.tgz", - "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==", "license": "BSD-3-Clause", "engines": { "node": ">=12.0.0" @@ -5453,18 +4149,32 @@ "node": ">= 0.6" } }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "6", + "agent-base": "^7.0.2", "debug": "4" }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/human-signals": { @@ -5479,8 +4189,6 @@ }, "node_modules/husky": { "version": "9.1.6", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.6.tgz", - "integrity": "sha512-sqbjZKK7kf44hfdE94EoX8MZNk0n7HeW37O4YrVGCF4wzgQjp+akPAkfUK5LZ6KuR/6sqeAVuXHji+RzQgOn5A==", "dev": true, "license": "MIT", "bin": { @@ -5529,8 +4237,6 @@ }, "node_modules/ignore": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", "engines": { @@ -5539,8 +4245,6 @@ }, "node_modules/import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "license": "MIT", "dependencies": { @@ -5556,8 +4260,6 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, "license": "MIT", "engines": { @@ -5576,11 +4278,8 @@ }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "devOptional": true, "license": "ISC", + "optional": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -5588,8 +4287,6 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "devOptional": true, "license": "ISC" }, @@ -5613,22 +4310,30 @@ } }, "node_modules/intl-messageformat": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.9.0.tgz", - "integrity": "sha512-5+XCcCHdO55A57Emrfd5bhZ0OhB0Kc2SJCe7pFJ4hK/xYgtMteA8R+L7qnHyE0EDuD8tlNQG3TzjULKd/Zqebw==", + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.13.0.tgz", + "integrity": "sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw==", "license": "BSD-3-Clause", "dependencies": { - "@formatjs/fast-memoize": "1.2.0", - "@formatjs/icu-messageformat-parser": "2.0.10", + "@formatjs/ecma402-abstract": "1.11.4", + "@formatjs/fast-memoize": "1.2.1", + "@formatjs/icu-messageformat-parser": "2.1.0", "tslib": "^2.1.0" } }, - "node_modules/ip": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.9.tgz", - "integrity": "sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==", + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } }, "node_modules/ip-regex": { "version": "4.3.0", @@ -5650,35 +4355,6 @@ "node": ">= 0.10" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", - "dev": true, - "license": "MIT", - "dependencies": { - "builtin-modules": "^3.3.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-core-module": { "version": "2.15.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", @@ -5713,8 +4389,6 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "license": "MIT", "engines": { @@ -5749,8 +4423,6 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "license": "MIT", "dependencies": { @@ -5831,8 +4503,6 @@ }, "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true, "license": "ISC" }, @@ -5884,8 +4554,6 @@ }, "node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "license": "MIT", "dependencies": { @@ -5895,31 +4563,43 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true, + "license": "MIT" + }, "node_modules/json-buffer": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true, "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true, "license": "MIT" }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/just-extend": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", - "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", "dev": true, "license": "MIT" }, @@ -5938,8 +4618,6 @@ }, "node_modules/keyv": { "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "license": "MIT", "dependencies": { @@ -6053,8 +4731,6 @@ }, "node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6095,8 +4771,6 @@ }, "node_modules/linkify-it": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "license": "MIT", "dependencies": { "uc.micro": "^2.0.0" @@ -6104,8 +4778,6 @@ }, "node_modules/lit": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", - "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", "license": "BSD-3-Clause", "dependencies": { "@lit/reactive-element": "^1.6.0", @@ -6115,8 +4787,6 @@ }, "node_modules/lit-element": { "version": "3.3.3", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", - "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", "license": "BSD-3-Clause", "dependencies": { "@lit-labs/ssr-dom-shim": "^1.1.0", @@ -6126,8 +4796,6 @@ }, "node_modules/lit-element/node_modules/@lit/reactive-element": { "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", - "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", "license": "BSD-3-Clause", "dependencies": { "@lit-labs/ssr-dom-shim": "^1.0.0" @@ -6135,8 +4803,6 @@ }, "node_modules/lit-element/node_modules/lit-html": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", - "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", "license": "BSD-3-Clause", "dependencies": { "@types/trusted-types": "^2.0.2" @@ -6144,8 +4810,6 @@ }, "node_modules/lit-html": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.2.1.tgz", - "integrity": "sha512-qI/3lziaPMSKsrwlxH/xMgikhQ0EGOX2ICU73Bi/YHFvz2j/yMCIrw4+puF2IpQ4+upd3EWbvnHM9+PnJn48YA==", "license": "BSD-3-Clause", "dependencies": { "@types/trusted-types": "^2.0.2" @@ -6153,8 +4817,6 @@ }, "node_modules/lit/node_modules/@lit/reactive-element": { "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", - "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", "license": "BSD-3-Clause", "dependencies": { "@lit-labs/ssr-dom-shim": "^1.0.0" @@ -6162,8 +4824,6 @@ }, "node_modules/lit/node_modules/lit-html": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", - "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", "license": "BSD-3-Clause", "dependencies": { "@types/trusted-types": "^2.0.2" @@ -6171,8 +4831,6 @@ }, "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "license": "MIT", "dependencies": { @@ -6201,21 +4859,15 @@ }, "node_modules/lodash.debounce": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "license": "MIT" }, "node_modules/lodash.get": { "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true, "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true, "license": "MIT" }, @@ -6266,8 +4918,6 @@ }, "node_modules/markdown-it": { "version": "14.1.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", - "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "license": "MIT", "dependencies": { "argparse": "^2.0.1", @@ -6283,8 +4933,6 @@ }, "node_modules/markdown-it-anchor": { "version": "9.2.0", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-9.2.0.tgz", - "integrity": "sha512-sa2ErMQ6kKOA4l31gLGYliFQrMKkqSO0ZJgGhDHKijPf0pNFM9vghjAh3gn26pS4JDRs7Iwa9S36gxm3vgZTzg==", "license": "Unlicense", "peerDependencies": { "@types/markdown-it": "*", @@ -6293,8 +4941,6 @@ }, "node_modules/markdown-it-attrs": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/markdown-it-attrs/-/markdown-it-attrs-4.2.0.tgz", - "integrity": "sha512-m7svtUBythvcGFFZAv9VjMEvs8UbHri2sojJ3juJumoOzv8sdkx9a7W3KxiHbXxAbvL3Xauak8TMwCnvigVPKw==", "license": "MIT", "engines": { "node": ">=6" @@ -6305,14 +4951,10 @@ }, "node_modules/markdown-it-container": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-4.0.0.tgz", - "integrity": "sha512-HaNccxUH0l7BNGYbFbjmGpf5aLHAMTinqRZQAEQbMr2cdD3z91Q6kIo1oUn1CQndkT03jat6ckrdRYuwwqLlQw==", "license": "MIT" }, "node_modules/markdown-it-highlightjs": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/markdown-it-highlightjs/-/markdown-it-highlightjs-4.2.0.tgz", - "integrity": "sha512-NC7pXE8KkOl6xWJVRNt8p6wgJVznXKsE0HgYGdk6DD2tn1l4L9f0ALf3VIoGVkotNU1uGQatSxfBF1zZPUMmuQ==", "license": "Unlicense", "dependencies": { "highlight.js": "^11.9.0" @@ -6327,8 +4969,6 @@ }, "node_modules/mdurl": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", "license": "MIT" }, "node_modules/media-typer": { @@ -6407,8 +5047,6 @@ }, "node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "devOptional": true, "license": "ISC", "dependencies": { @@ -6420,14 +5058,19 @@ }, "node_modules/minimist": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "devOptional": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true, + "license": "MIT" + }, "node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -6441,17 +5084,8 @@ "node": ">=10" } }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true, - "license": "MIT" - }, "node_modules/moment": { "version": "2.30.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", "license": "MIT", "optional": true, "engines": { @@ -6460,15 +5094,11 @@ }, "node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "license": "MIT" }, "node_modules/mv": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", - "integrity": "sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==", "license": "MIT", "optional": true, "dependencies": { @@ -6482,8 +5112,6 @@ }, "node_modules/mv/node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "license": "MIT", "optional": true, "dependencies": { @@ -6495,8 +5123,6 @@ }, "node_modules/nan": { "version": "2.22.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz", - "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==", "license": "MIT", "optional": true }, @@ -6528,15 +5154,11 @@ }, "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true, "license": "MIT" }, "node_modules/ncp": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", - "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", "license": "MIT", "optional": true, "bin": { @@ -6553,10 +5175,18 @@ "node": ">= 0.6" } }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/nise": { "version": "5.1.9", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", - "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -6569,8 +5199,6 @@ }, "node_modules/nise/node_modules/@sinonjs/commons": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -6579,8 +5207,6 @@ }, "node_modules/nise/node_modules/@sinonjs/fake-timers": { "version": "11.3.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.3.1.tgz", - "integrity": "sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -6589,8 +5215,6 @@ }, "node_modules/node-fetch": { "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" @@ -6609,36 +5233,20 @@ }, "node_modules/node-fetch/node_modules/tr46": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "license": "MIT" }, "node_modules/node-fetch/node_modules/webidl-conversions": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "license": "BSD-2-Clause" }, "node_modules/node-fetch/node_modules/whatwg-url": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -6653,9 +5261,9 @@ } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", "dev": true, "license": "MIT", "engines": { @@ -6680,8 +5288,6 @@ }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "devOptional": true, "license": "ISC", "dependencies": { @@ -6730,8 +5336,6 @@ }, "node_modules/optionator": { "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "license": "MIT", "dependencies": { @@ -6787,8 +5391,6 @@ }, "node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6803,8 +5405,6 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "license": "MIT", "dependencies": { @@ -6819,27 +5419,47 @@ }, "node_modules/p-timeout": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-4.1.0.tgz", - "integrity": "sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==", "license": "MIT", "engines": { "node": ">=10" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "node_modules/pac-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.2.tgz", + "integrity": "sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==", "dev": true, "license": "MIT", + "dependencies": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.5", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.4" + }, "engines": { - "node": ">=6" + "node": ">= 14" + } + }, + "node_modules/pac-resolver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "dev": true, + "license": "MIT", + "dependencies": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 14" } }, "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "license": "MIT", "dependencies": { @@ -6868,8 +5488,6 @@ }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "license": "MIT", "engines": { @@ -6878,8 +5496,6 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "devOptional": true, "license": "MIT", "engines": { @@ -6888,8 +5504,6 @@ }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "license": "MIT", "engines": { @@ -6905,8 +5519,6 @@ }, "node_modules/path-to-regexp": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", - "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", "dev": true, "license": "MIT" }, @@ -6920,133 +5532,31 @@ "node": ">=8" } }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true, - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pixelmatch": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.3.0.tgz", - "integrity": "sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "pngjs": "^6.0.0" - }, - "bin": { - "pixelmatch": "bin/pixelmatch" - } - }, - "node_modules/pixelmatch/node_modules/pngjs": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", - "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT" }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } + "license": "ISC" }, - "node_modules/pngjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-7.0.0.tgz", - "integrity": "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==", + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "license": "MIT", "engines": { - "node": ">=14.19.0" + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/portfinder": { @@ -7089,8 +5599,6 @@ }, "node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "license": "MIT", "engines": { @@ -7099,8 +5607,6 @@ }, "node_modules/prettier": { "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", "dev": true, "license": "MIT", "bin": { @@ -7115,8 +5621,6 @@ }, "node_modules/prettier-linter-helpers": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, "license": "MIT", "dependencies": { @@ -7136,6 +5640,36 @@ "node": ">=0.4.0" } }, + "node_modules/proxy-agent": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", + "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.3", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.0.1", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -7156,8 +5690,6 @@ }, "node_modules/punycode": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "license": "MIT", "engines": { @@ -7166,161 +5698,32 @@ }, "node_modules/punycode.js": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", - "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/puppeteer-core": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-13.7.0.tgz", - "integrity": "sha512-rXja4vcnAzFAP1OVLq/5dWNfwBGuzcOARJ6qGV7oAZhnLmVRU8G5MsdeQEAOy332ZhkIOnn9jp15R89LKHyp2Q==", + "version": "22.15.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.15.0.tgz", + "integrity": "sha512-cHArnywCiAAVXa3t4GGL2vttNxh7GqXtIYGym99egkNJ3oG//wL9LkvO4WE8W1TJe95t1F1ocu9X4xWaGsOKOA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "cross-fetch": "3.1.5", - "debug": "4.3.4", - "devtools-protocol": "0.0.981744", - "extract-zip": "2.0.1", - "https-proxy-agent": "5.0.1", - "pkg-dir": "4.2.0", - "progress": "2.0.3", - "proxy-from-env": "1.1.0", - "rimraf": "3.0.2", - "tar-fs": "2.1.1", - "unbzip2-stream": "1.4.3", - "ws": "8.5.0" - }, - "engines": { - "node": ">=10.18.1" - } - }, - "node_modules/puppeteer-core/node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "node-fetch": "2.6.7" - } - }, - "node_modules/puppeteer-core/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/puppeteer-core/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/puppeteer-core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/puppeteer-core/node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" + "@puppeteer/browsers": "2.3.0", + "chromium-bidi": "0.6.3", + "debug": "^4.3.6", + "devtools-protocol": "0.0.1312386", + "ws": "^8.18.0" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/puppeteer-core/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/puppeteer-core/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/puppeteer-core/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/puppeteer-core/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "node": ">=18" } }, "node_modules/puppeteer-core/node_modules/ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "license": "MIT", "engines": { @@ -7328,7 +5731,7 @@ }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { @@ -7340,9 +5743,9 @@ } }, "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.1.tgz", + "integrity": "sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -7376,6 +5779,13 @@ ], "license": "MIT" }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true, + "license": "MIT" + }, "node_modules/raw-body": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", @@ -7419,42 +5829,28 @@ "node": ">= 0.8" } }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", "dev": true, "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, "engines": { - "node": ">=8.10.0" + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, - "node_modules/reduce-flatten": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, "node_modules/resolve": { @@ -7477,8 +5873,6 @@ }, "node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, "license": "MIT", "engines": { @@ -7566,9 +5960,6 @@ }, "node_modules/rimraf": { "version": "2.4.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", - "integrity": "sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", "license": "ISC", "optional": true, "dependencies": { @@ -7579,19 +5970,40 @@ } }, "node_modules/rollup": { - "version": "3.29.5", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", - "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.27.4.tgz", + "integrity": "sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw==", "dev": true, "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, "bin": { "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=14.18.0", + "node": ">=18.0.0", "npm": ">=8.0.0" }, "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.27.4", + "@rollup/rollup-android-arm64": "4.27.4", + "@rollup/rollup-darwin-arm64": "4.27.4", + "@rollup/rollup-darwin-x64": "4.27.4", + "@rollup/rollup-freebsd-arm64": "4.27.4", + "@rollup/rollup-freebsd-x64": "4.27.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.27.4", + "@rollup/rollup-linux-arm-musleabihf": "4.27.4", + "@rollup/rollup-linux-arm64-gnu": "4.27.4", + "@rollup/rollup-linux-arm64-musl": "4.27.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.27.4", + "@rollup/rollup-linux-riscv64-gnu": "4.27.4", + "@rollup/rollup-linux-s390x-gnu": "4.27.4", + "@rollup/rollup-linux-x64-gnu": "4.27.4", + "@rollup/rollup-linux-x64-musl": "4.27.4", + "@rollup/rollup-win32-arm64-msvc": "4.27.4", + "@rollup/rollup-win32-ia32-msvc": "4.27.4", + "@rollup/rollup-win32-x64-msvc": "4.27.4", "fsevents": "~2.3.2" } }, @@ -7642,8 +6054,6 @@ }, "node_modules/safe-json-stringify": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", - "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", "license": "MIT", "optional": true }, @@ -7694,8 +6104,6 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "license": "MIT", "dependencies": { @@ -7707,8 +6115,6 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "license": "MIT", "engines": { @@ -7743,9 +6149,6 @@ }, "node_modules/sinon": { "version": "13.0.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-13.0.1.tgz", - "integrity": "sha512-8yx2wIvkBjIq/MGY1D9h1LMraYW+z1X0mb648KZnKSdvLasvDu7maa0dFaNYdTDczFgbjNw2tOmWdTk9saVfwQ==", - "deprecated": "16.1.1", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -7789,6 +6192,47 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", + "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.1", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", @@ -7799,6 +6243,13 @@ "node": ">= 8" } }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -7809,14 +6260,19 @@ "node": ">= 0.6" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/streamx": { + "version": "2.20.2", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.20.2.tgz", + "integrity": "sha512-aDGDLU+j9tJcUdPGOaHmVF1u/hhI+CsGkT02V3OKlHDV7IukOI+nTWAGkiZEKCO35rWN1wIr4tS7YFr1f4qSvA==", "dev": true, "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "fast-fifo": "^1.3.2", + "queue-tick": "^1.0.1", + "text-decoder": "^1.1.0" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" } }, "node_modules/string-width": { @@ -7859,8 +6315,6 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, "license": "MIT", "engines": { @@ -7872,8 +6326,6 @@ }, "node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "license": "MIT", "dependencies": { @@ -7898,8 +6350,6 @@ }, "node_modules/synckit": { "version": "0.9.2", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz", - "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==", "dev": true, "license": "MIT", "dependencies": { @@ -7938,39 +6388,41 @@ } }, "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.6.tgz", + "integrity": "sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==", "dev": true, "license": "MIT", "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", - "tar-stream": "^2.1.4" + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^2.1.1", + "bare-path": "^2.1.0" } }, "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "dev": true, "license": "MIT", "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" } }, + "node_modules/text-decoder": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.1.tgz", + "integrity": "sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true, "license": "MIT" }, @@ -8005,28 +6457,24 @@ } }, "node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz", + "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==", "dev": true, "license": "MIT", "dependencies": { - "punycode": "^2.1.1" + "punycode": "^2.3.1" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/ts-log": { "version": "2.2.7", - "resolved": "https://registry.npmjs.org/ts-log/-/ts-log-2.2.7.tgz", - "integrity": "sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==", "license": "MIT" }, "node_modules/tslib": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", "license": "0BSD" }, "node_modules/tsscmp": { @@ -8041,8 +6489,6 @@ }, "node_modules/type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "license": "MIT", "dependencies": { @@ -8054,8 +6500,6 @@ }, "node_modules/type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, "license": "MIT", "engines": { @@ -8099,37 +6543,8 @@ "node": ">=8" } }, - "node_modules/ua-parser-js": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.39.tgz", - "integrity": "sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "license": "MIT", - "bin": { - "ua-parser-js": "script/cli.js" - }, - "engines": { - "node": "*" - } - }, "node_modules/uc.micro": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", - "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", "license": "MIT" }, "node_modules/unbzip2-stream": { @@ -8150,6 +6565,16 @@ "dev": true, "license": "MIT" }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -8162,31 +6587,29 @@ }, "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "node_modules/urlpattern-polyfill": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz", + "integrity": "sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==", "dev": true, "license": "MIT" }, "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, "license": "ISC", "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "convert-source-map": "^2.0.0" }, "engines": { "node": ">=10.12.0" @@ -8213,23 +6636,21 @@ } }, "node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz", + "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==", "dev": true, "license": "MIT", "dependencies": { - "tr46": "^3.0.0", + "tr46": "^5.0.0", "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "license": "ISC", "dependencies": { @@ -8244,8 +6665,6 @@ }, "node_modules/word-wrap": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "license": "MIT", "engines": { @@ -8279,8 +6698,6 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "devOptional": true, "license": "ISC" }, @@ -8306,12 +6723,44 @@ } } }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } }, "node_modules/yauzl": { "version": "2.10.0", @@ -8336,8 +6785,6 @@ }, "node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "license": "MIT", "engines": { @@ -8347,17 +6794,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "web-components": { - "name": "@adobecom/mas-web-components", - "version": "0.0.1", - "devDependencies": { - "@web/dev-server": "^0.3.1", - "@web/dev-server-esbuild": "^0.4.1", - "@web/dev-server-import-maps": "^0.1.1", - "@web/test-runner": "^0.13.27", - "@web/test-runner-commands": "^0.6.1", - "@web/test-runner-visual-regression": "^0.9.0", - "esbuild": "0.18.11" + "node_modules/zod": { + "version": "3.23.8", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", + "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" } } } diff --git a/libs/features/mas/package.json b/libs/features/mas/package.json index ea330bc520d..eaa05fe84fa 100644 --- a/libs/features/mas/package.json +++ b/libs/features/mas/package.json @@ -1,21 +1,24 @@ { - "name": "@adobecom/mas-platform", - "version": "0.0.1", + "name": "@adobecom/mas", + "version": "0.1.0", "type": "module", - "main": "libs/mas.js", + "main": "dist/mas.js", "private": true, - "workspaces": [ - "commerce", - "mas", - "web-components" - ], "scripts": { "lint": "eslint --fix", - "test": "npm run test:ci --workspaces", - "build": "npm run build --workspaces", - "build:docs": "./build-docs.sh" + "build": "npm run test && npm run build:bundle", + "build:docs": "cd ./docs/src && ./build-docs.sh", + "build:bundle": "node ./build.mjs", + "test:watch": "wtr --config ./web-test-runner.config.mjs --coverage --watch --debug", + "test": "wtr --config ./web-test-runner.config.mjs --coverage" }, "dependencies": { + "@dexter/tacocat-core": "file:./internal/tacocat-core-1.13.0.tgz", + "@pandora/commerce-checkout-url-builder": "file:./internal/commerce-checkout-url-builder-1.6.0.tgz", + "@pandora/data-models-odm": "file:./internal/data-models-odm-0.5.4.tgz", + "@pandora/data-source-utils": "file:./internal/data-source-utils-0.3.1.tgz", + "@pandora/fetch": "file:./internal/fetch-1.3.4.tgz", + "@pandora/logger": "file:./internal/logger-1.3.0.tgz", "@spectrum-web-components/action-button": "^0.46.0", "@spectrum-web-components/action-menu": "^0.46.0", "@spectrum-web-components/alert-dialog": "^0.46.0", @@ -53,6 +56,7 @@ "@spectrum-web-components/tooltip": "^0.46.0", "@spectrum-web-components/tray": "^0.46.0", "@spectrum-web-components/underlay": "^0.46.0", + "intl-messageformat": "^9.9.0", "lit": "^2.8.0", "markdown-it": "^14.1.0", "markdown-it-anchor": "^9.2.0", @@ -61,15 +65,19 @@ "markdown-it-highlightjs": "^4.2.0" }, "devDependencies": { - "@esm-bundle/chai": "4.3.4-fix.0", "@esm-bundle/chai-as-promised": "7.1.1", + "@esm-bundle/chai": "4.3.4-fix.0", "@types/chai-as-promised": "7.1.5", "@types/sinon": "10.0.15", - "eslint": "^9.5.0", + "@web/dev-server-import-maps": "^0.2.1", + "esbuild": "^0.24.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.3", + "eslint": "^9.5.0", "husky": "^9.0.11", "prettier": "^3.3.2", - "sinon": "13.0.1" + "sinon": "13.0.1", + "@web/test-runner-commands": "^0.9.0", + "@web/test-runner": "^0.18.2" } } diff --git a/libs/features/mas/commerce/price-literals.json b/libs/features/mas/price-literals.json similarity index 100% rename from libs/features/mas/commerce/price-literals.json rename to libs/features/mas/price-literals.json diff --git a/libs/features/mas/web-components/src/aem-fragment.js b/libs/features/mas/src/aem-fragment.js similarity index 59% rename from libs/features/mas/web-components/src/aem-fragment.js rename to libs/features/mas/src/aem-fragment.js index 640941e649a..1750e00c6e1 100644 --- a/libs/features/mas/web-components/src/aem-fragment.js +++ b/libs/features/mas/src/aem-fragment.js @@ -1,5 +1,4 @@ import { EVENT_AEM_LOAD, EVENT_AEM_ERROR } from './constants.js'; -import { getFragmentById } from './getFragmentById.js'; const sheet = new CSSStyleSheet(); sheet.replaceSync(':host { display: contents; }'); @@ -9,8 +8,36 @@ const baseUrl = 'https://odin.adobe.com'; const ATTRIBUTE_FRAGMENT = 'fragment'; +const ATTRIBUTE_AUTHOR = 'author'; const ATTRIBUTE_IMS = 'ims'; +const fail = (message) => { + throw new Error(`Failed to get fragment: ${message}`); +}; + +/** + * Get fragment by ID + * @param {string} baseUrl the aem base url + * @param {string} id fragment id + * @param {string} author should the fragment be fetched from author endpoint + * @param {Object} headers optional request headers + * @returns {Promise} the raw fragment item + */ +export async function getFragmentById(baseUrl, id, author, headers) { + const endpoint = author + ? `${baseUrl}/adobe/sites/cf/fragments/${id}` + : `${baseUrl}/adobe/sites/fragments/${id}`; + const response = await fetch(endpoint, { + cache: 'default', + credentials: 'omit', + headers, + }).catch((e) => fail(e.message)); + if (!response?.ok) { + fail(`${response.status} ${response.statusText}`); + } + return response.json(); +} + let headers; class FragmentCache { @@ -52,30 +79,28 @@ const cache = new FragmentCache(); export class AemFragment extends HTMLElement { cache = cache; - data; + #rawData; + #data; /** * @type {string} fragment id */ - fragmentId; - - /** - * Consonant styling for CTAs. - */ - consonant = false; + #fragmentId; /** * @type {boolean} whether an access token should be used via IMS. */ - ims = false; + #ims = false; /** * Internal promise to track the readiness of the web-component to render. */ #readyPromise; + #author = false; + static get observedAttributes() { - return [ATTRIBUTE_FRAGMENT]; + return [ATTRIBUTE_FRAGMENT, ATTRIBUTE_AUTHOR]; } constructor() { @@ -84,29 +109,29 @@ export class AemFragment extends HTMLElement { this.shadowRoot.adoptedStyleSheets = [sheet]; const ims = this.getAttribute(ATTRIBUTE_IMS); - if (['', true].includes(ims)) { - this.ims = true; + if (['', true, 'true'].includes(ims)) { + this.#ims = true; if (!headers) { headers = { Authorization: `Bearer ${window.adobeid?.authorize?.()}`, - pragma: 'no-cache', - 'cache-control': 'no-cache', }; } - } else { - this.ims = false; } } attributeChangedCallback(name, oldValue, newValue) { if (name === ATTRIBUTE_FRAGMENT) { - this.fragmentId = newValue; + this.#fragmentId = newValue; this.refresh(false); } + + if (name === ATTRIBUTE_AUTHOR) { + this.#author = ['', 'true'].includes(newValue); + } } connectedCallback() { - if (!this.fragmentId) { + if (!this.#fragmentId) { this.#fail('Missing fragment id'); return; } @@ -121,7 +146,7 @@ export class AemFragment extends HTMLElement { if (!ready) return; // already fetching data } if (flushCache) { - cache.remove(this.fragmentId); + cache.remove(this.#fragmentId); } this.#readyPromise = this.fetchData() .then(() => { @@ -134,8 +159,8 @@ export class AemFragment extends HTMLElement { ); return true; }) - .catch(() => { - /* c8 ignore next 3 */ + .catch((e) => { + /* c8 ignore next 3 */ this.#fail('Network error: failed to load fragment'); this.#readyPromise = null; return false; @@ -155,16 +180,19 @@ export class AemFragment extends HTMLElement { } async fetchData() { - let fragment = cache.get(this.fragmentId); + this.#rawData = null; + this.#data = null; + let fragment = cache.get(this.#fragmentId); if (!fragment) { fragment = await getFragmentById( baseUrl, - this.fragmentId, - this.ims ? headers : undefined, + this.#fragmentId, + this.#author, + this.#ims ? headers : undefined, ); cache.add(fragment); } - this.data = fragment; + this.#rawData = fragment; } get updateComplete() { @@ -173,6 +201,38 @@ export class AemFragment extends HTMLElement { Promise.reject(new Error('AEM fragment cannot be loaded')) ); } + + get data() { + if (this.#data) return this.#data; + if (this.#author) { + this.#transformAuthorData(); + } else { + this.#transformPublishData(); + } + return this.#data; + } + + #transformAuthorData() { + const { id, tags, fields } = this.#rawData; + this.#data = fields.reduce( + (acc, { name, multiple, values }) => { + acc.fields[name] = multiple ? values : values[0]; + return acc; + }, + { id, tags, fields: {} }, + ); + } + + #transformPublishData() { + const { id, tags, fields } = this.#rawData; + this.#data = Object.entries(fields).reduce( + (acc, [key, value]) => { + acc.fields[key] = value?.mimeType ? value.value : (value ?? ''); + return acc; + }, + { id, tags, fields: {} }, + ); + } } customElements.define('aem-fragment', AemFragment); diff --git a/libs/features/mas/web-components/src/bodyScrollLock.js b/libs/features/mas/src/bodyScrollLock.js similarity index 100% rename from libs/features/mas/web-components/src/bodyScrollLock.js rename to libs/features/mas/src/bodyScrollLock.js diff --git a/libs/features/mas/commerce/src/checkout-link.js b/libs/features/mas/src/checkout-link.js similarity index 100% rename from libs/features/mas/commerce/src/checkout-link.js rename to libs/features/mas/src/checkout-link.js diff --git a/libs/features/mas/commerce/src/checkout.js b/libs/features/mas/src/checkout.js similarity index 100% rename from libs/features/mas/commerce/src/checkout.js rename to libs/features/mas/src/checkout.js diff --git a/libs/features/mas/commerce/src/index.js b/libs/features/mas/src/commerce.js similarity index 100% rename from libs/features/mas/commerce/src/index.js rename to libs/features/mas/src/commerce.js diff --git a/libs/features/mas/web-components/src/constants.js b/libs/features/mas/src/constants.js similarity index 60% rename from libs/features/mas/web-components/src/constants.js rename to libs/features/mas/src/constants.js index e456f570cd7..4b534b87306 100644 --- a/libs/features/mas/web-components/src/constants.js +++ b/libs/features/mas/src/constants.js @@ -38,16 +38,15 @@ export const EVENT_MERCH_STOCK_CHANGE = 'merch-stock:change'; export const EVENT_MERCH_STORAGE_CHANGE = 'merch-storage:change'; - export const EVENT_MERCH_QUANTITY_SELECTOR_CHANGE = -'merch-quantity-selector:change'; + 'merch-quantity-selector:change'; export const EVENT_MERCH_SEARCH_CHANGE = 'merch-search:change'; export const EVENT_MERCH_CARD_COLLECTION_SORT = 'merch-card-collection:sort'; export const EVENT_MERCH_CARD_COLLECTION_SHOWMORE = -'merch-card-collection:showmore'; + 'merch-card-collection:showmore'; export const EVENT_MERCH_SIDENAV_SELECT = 'merch-sidenav:select'; @@ -55,3 +54,35 @@ export const EVENT_AEM_LOAD = 'aem:load'; export const EVENT_AEM_ERROR = 'aem:error'; export const EVENT_MAS_READY = 'mas:ready'; export const EVENT_MAS_ERROR = 'mas:error'; + +export const CLASS_NAME_FAILED = 'placeholder-failed'; +export const CLASS_NAME_PENDING = 'placeholder-pending'; +export const CLASS_NAME_RESOLVED = 'placeholder-resolved'; + +export const ERROR_MESSAGE_BAD_REQUEST = 'Bad WCS request'; +export const ERROR_MESSAGE_OFFER_NOT_FOUND = 'Commerce offer not found'; +export const ERROR_MESSAGE_MISSING_LITERALS_URL = 'Literals URL not provided'; + +export const EVENT_TYPE_FAILED = 'mas:failed'; +export const EVENT_TYPE_PENDING = 'mas:pending'; +export const EVENT_TYPE_RESOLVED = 'mas:resolved'; + +export const LOG_NAMESPACE = 'mas/commerce'; + +export const PARAM_ENV = 'commerce.env'; +export const PARAM_LANDSCAPE = 'commerce.landscape'; +export const PARAM_AOS_API_KEY = 'commerce.aosKey'; +export const PARAM_WCS_API_KEY = 'commerce.wcsKey'; + +export const WCS_PROD_URL = 'https://www.adobe.com/web_commerce_artifact'; +export const WCS_STAGE_URL = + 'https://www.stage.adobe.com/web_commerce_artifact_stage'; + +export const STATE_FAILED = 'failed'; +export const STATE_PENDING = 'pending'; +export const STATE_RESOLVED = 'resolved'; + +export const Landscape = { + DRAFT: 'DRAFT', + PUBLISHED: 'PUBLISHED', +}; diff --git a/libs/features/mas/web-components/src/deeplink.js b/libs/features/mas/src/deeplink.js similarity index 100% rename from libs/features/mas/web-components/src/deeplink.js rename to libs/features/mas/src/deeplink.js diff --git a/libs/features/mas/commerce/src/defaults.js b/libs/features/mas/src/defaults.js similarity index 96% rename from libs/features/mas/commerce/src/defaults.js rename to libs/features/mas/src/defaults.js index da7ac92f14b..b0c2025292e 100644 --- a/libs/features/mas/commerce/src/defaults.js +++ b/libs/features/mas/src/defaults.js @@ -5,7 +5,6 @@ import { } from './external.js'; import { Landscape } from './constants.js'; -/** @type {Commerce.Defaults} */ export const Defaults = Object.freeze({ checkoutClientId: 'adobe_com', checkoutWorkflow: CheckoutWorkflow.V3, diff --git a/libs/features/mas/src/discount/index.js b/libs/features/mas/src/discount/index.js new file mode 100644 index 00000000000..b0e624e1d72 --- /dev/null +++ b/libs/features/mas/src/discount/index.js @@ -0,0 +1,5 @@ +import { createDiscountTemplate } from './template.js'; + +const discount = createDiscountTemplate(); + +export { discount }; diff --git a/libs/features/mas/src/discount/template.js b/libs/features/mas/src/discount/template.js new file mode 100644 index 00000000000..910ce4899c8 --- /dev/null +++ b/libs/features/mas/src/discount/template.js @@ -0,0 +1,29 @@ +import { isPositiveFiniteNumber } from '@dexter/tacocat-core'; + +const getDiscount = (price, priceWithoutDiscount) => { + if ( + !isPositiveFiniteNumber(price) || + !isPositiveFiniteNumber(priceWithoutDiscount) + ) + return; + return Math.floor( + ((priceWithoutDiscount - price) / priceWithoutDiscount) * 100, + ); +}; + +/** + * Renders the discount markup + * @param {PriceContext & PromoPriceContext} context + * @param {PriceData} value + * @param {PriceAttributes} attributes + !* @returns {string} the discount markup + !*/ +const createDiscountTemplate = () => (context, value) => { + const { price, priceWithoutDiscount } = value; + const discount = getDiscount(price, priceWithoutDiscount); + return discount === undefined + ? `` + : `${discount}%`; +}; + +export { getDiscount, createDiscountTemplate }; diff --git a/libs/features/mas/commerce/src/external.js b/libs/features/mas/src/external.js similarity index 92% rename from libs/features/mas/commerce/src/external.js rename to libs/features/mas/src/external.js index a25545ed449..c5b20422f95 100644 --- a/libs/features/mas/commerce/src/external.js +++ b/libs/features/mas/src/external.js @@ -12,10 +12,12 @@ import { priceOptical, priceStrikethrough, priceAnnual, - discount, priceWithAnnual, pricePromoWithAnnual, -} from '@dexter/tacocat-consonant-templates'; +} from './price/index.js'; + +import { discount } from './discount/index.js'; + import { computePromoStatus, delay, @@ -42,9 +44,9 @@ const CheckoutWorkflow = freeze({ ...CheckoutType }); /** @type {Commerce.Checkout.CheckoutWorkflowStep} */ const CheckoutWorkflowStep = freeze({ ...WorkflowStep }); const Env = { - STAGE: "STAGE", - PRODUCTION: "PRODUCTION", - LOCAL: "LOCAL" + STAGE: 'STAGE', + PRODUCTION: 'PRODUCTION', + LOCAL: 'LOCAL', }; /** @type {Commerce.Wcs.WcsCommitment} */ const WcsCommitment = freeze({ ...Commitment }); diff --git a/libs/features/mas/web-components/src/focus.js b/libs/features/mas/src/focus.js similarity index 100% rename from libs/features/mas/web-components/src/focus.js rename to libs/features/mas/src/focus.js diff --git a/libs/features/mas/web-components/src/global.css.js b/libs/features/mas/src/global.css.js similarity index 95% rename from libs/features/mas/web-components/src/global.css.js rename to libs/features/mas/src/global.css.js index 4a5c04d844b..e83a3d5511c 100644 --- a/libs/features/mas/web-components/src/global.css.js +++ b/libs/features/mas/src/global.css.js @@ -156,10 +156,14 @@ merch-card p, merch-card h3, merch-card h4 { margin: 0; } -merch-card span[is=inline-price] { +merch-card span[is='inline-price'] { display: inline-block; } +merch-card sp-button a[is='checkout-link'] { + pointer-events: auto; +} + merch-card [slot^='heading-'] { color: var(--spectrum-gray-800, var(--merch-color-grey-80)); font-weight: 700; @@ -318,9 +322,9 @@ merch-card a.primary-link { color: var(--spectrum-global-color-blue-700); } -[slot="cci-footer"] p, -[slot="cct-footer"] p, -[slot="cce-footer"] p { +merch-card [slot="cci-footer"] p, +merch-card [slot="cct-footer"] p, +merch-card [slot="cce-footer"] p { margin: 0; } @@ -334,21 +338,21 @@ merch-card [slot="promo-text"] { padding: 0; } -div[slot="footer"] { +merch-card div[slot="footer"] { display: contents; } -[slot="footer"] a { +merch-card [slot="footer"] a { word-wrap: break-word; text-align: center; } -[slot="footer"] a:not([class]) { +merch-card [slot="footer"] a:not([class]) { font-weight: 700; font-size: var(--consonant-merch-card-cta-font-size); } -div[slot='bg-image'] img { +merch-card div[slot='bg-image'] img { position: relative; width: 100%; min-height: var(--consonant-merch-card-bg-img-height); @@ -358,11 +362,17 @@ div[slot='bg-image'] img { border-top-right-radius: 16px; } -span[is="inline-price"][data-template='strikethrough'] { +merch-card span[is="inline-price"][data-template='strikethrough'] { text-decoration: line-through; } -merch-card sp-button a { +.price-unit-type:not(.disabled)::before, +.price-tax-inclusivity:not(.disabled)::before { + content: "\\00a0"; +} + +merch-card sp-button a, +merch-card sp-button a:hover { text-decoration: none; color: var( --highcontrast-button-content-color-default, diff --git a/libs/features/mas/web-components/src/hydrate.js b/libs/features/mas/src/hydrate.js similarity index 59% rename from libs/features/mas/web-components/src/hydrate.js rename to libs/features/mas/src/hydrate.js index bb5717865a5..97e8a3aa258 100644 --- a/libs/features/mas/web-components/src/hydrate.js +++ b/libs/features/mas/src/hydrate.js @@ -4,96 +4,90 @@ const DEFAULT_BADGE_COLOR = '#000000'; const DEFAULT_BADGE_BACKGROUND_COLOR = '#F8D904'; const CHECKOUT_LINK_STYLE_PATTERN = /(accent|primary|secondary)(-(outline|link))?/; +export const ANALYTICS_TAG = 'mas:product_code/'; +export const ANALYTICS_LINK_ATTR = 'daa-ll'; +export const ANALYTICS_SECTION_ATTR = 'daa-lh'; -function processFragment(fragmentData) { - return fragmentData.fields.reduce( - (acc, { name, multiple, values }) => { - acc[name] = multiple ? values : values[0]; - return acc; - }, - { id: fragmentData.id }, - ); -} - -function processMnemonics(fragment, merchCard, aemFragmentMapping) { - const mnemonics = fragment.mnemonicIcon?.map((icon, index) => ({ +export function processMnemonics(fields, merchCard, mnemonicsConfig) { + const mnemonics = fields.mnemonicIcon?.map((icon, index) => ({ icon, - alt: fragment.mnemonicAlt[index] ?? '', - link: fragment.mnemonicLink[index] ?? '', + alt: fields.mnemonicAlt[index] ?? '', + link: fields.mnemonicLink[index] ?? '', })); mnemonics?.forEach(({ icon: src, alt, link: href }) => { - if (!/^https?:/.test(href)) { + if (href && !/^https?:/.test(href)) { try { href = new URL(`https://${href}`).href.toString(); } catch (e) { + /* c8 ignore next 2 */ href = '#'; } } - const merchIcon = createTag('merch-icon', { + + const attrs = { slot: 'icons', src, - alt, - href, - size: aemFragmentMapping.mnemonics?.size ?? 'l', - }); + size: mnemonicsConfig?.size ?? 'l', + }; + if (alt) attrs.alt = alt; + if (href) attrs.href = href; + const merchIcon = createTag('merch-icon', attrs); merchCard.append(merchIcon); }); - - return mnemonics; } -function processBadge(fragment, merchCard) { - if (fragment.badge) { - merchCard.setAttribute('badge-text', fragment.badge); +function processBadge(fields, merchCard) { + if (fields.badge) { + merchCard.setAttribute('badge-text', fields.badge); merchCard.setAttribute( 'badge-color', - fragment.badgeColor || DEFAULT_BADGE_COLOR, + fields.badgeColor || DEFAULT_BADGE_COLOR, ); merchCard.setAttribute( 'badge-background-color', - fragment.badgeBackgroundColor || DEFAULT_BADGE_BACKGROUND_COLOR, + fields.badgeBackgroundColor || DEFAULT_BADGE_BACKGROUND_COLOR, ); } } -function processSize(fragment, merchCard, allowedSizes) { - if (allowedSizes?.includes(fragment.size)) { - merchCard.setAttribute('size', fragment.size); +export function processSize(fields, merchCard, allowedSizes) { + if (allowedSizes?.includes(fields.size)) { + merchCard.setAttribute('size', fields.size); } } -function processTitle(fragment, merchCard, titleConfig) { - if (fragment.cardTitle && titleConfig) { +export function processTitle(fields, merchCard, titleConfig) { + if (fields.cardTitle && titleConfig) { merchCard.append( createTag( titleConfig.tag, { slot: titleConfig.slot }, - fragment.cardTitle, + fields.cardTitle, ), ); } } -export function processSubtitle(fragment, merchCard, subtitleConfig) { - if (fragment.subtitle && subtitleConfig) { +export function processSubtitle(fields, merchCard, subtitleConfig) { + if (fields.subtitle && subtitleConfig) { merchCard.append( createTag( subtitleConfig.tag, { slot: subtitleConfig.slot }, - fragment.subtitle, + fields.subtitle, ), ); } } export function processBackgroundImage( - fragment, + fields, merchCard, backgroundImageConfig, variant, ) { - if (fragment.backgroundImage) { + if (fields.backgroundImage) { switch (variant) { case 'ccd-slice': if (backgroundImageConfig) { @@ -101,7 +95,7 @@ export function processBackgroundImage( createTag( backgroundImageConfig.tag, { slot: backgroundImageConfig.slot }, - ``, + ``, ), ); } @@ -109,30 +103,30 @@ export function processBackgroundImage( case 'ccd-suggested': merchCard.setAttribute( 'background-image', - fragment.backgroundImage, + fields.backgroundImage, ); break; } } } -function processPrices(fragment, merchCard, pricesConfig) { - if (fragment.prices && pricesConfig) { +export function processPrices(fields, merchCard, pricesConfig) { + if (fields.prices && pricesConfig) { const headingM = createTag( pricesConfig.tag, { slot: pricesConfig.slot }, - fragment.prices, + fields.prices, ); merchCard.append(headingM); } } -function processDescription(fragment, merchCard, descriptionConfig) { - if (fragment.description && descriptionConfig) { +function processDescription(fields, merchCard, descriptionConfig) { + if (fields.description && descriptionConfig) { const body = createTag( descriptionConfig.tag, { slot: descriptionConfig.slot }, - fragment.description, + fields.description, ); merchCard.append(body); } @@ -169,12 +163,13 @@ function createSpectrumButton(cta, strong, aemFragmentMapping, cardVariant) { treatment = 'outline'; } + cta.tabIndex = -1; const spectrumCta = createTag( 'sp-button', { treatment, variant, - tabIndex: -1, + tabIndex: 0, size: aemFragmentMapping.ctas.size ?? 'm', }, cta, @@ -199,10 +194,10 @@ function processConsonantButton(cta, strong) { return cta; } -export function processCTAs(fragment, merchCard, aemFragmentMapping, variant) { - if (fragment.ctas) { +export function processCTAs(fields, merchCard, aemFragmentMapping, variant) { + if (fields.ctas) { const { slot } = aemFragmentMapping.ctas; - const footer = createTag('div', { slot }, fragment.ctas); + const footer = createTag('div', { slot }, fields.ctas); const ctas = [...footer.querySelectorAll('a')].map((cta) => { const strong = cta.parentElement.tagName === 'STRONG'; @@ -222,9 +217,20 @@ export function processCTAs(fragment, merchCard, aemFragmentMapping, variant) { } } -export async function hydrate(fragmentData, merchCard) { - const fragment = processFragment(fragmentData); - const { variant } = fragment; +export function processAnalytics(fields, merchCard) { + const { tags } = fields; + const cardAnalyticsId = tags?.find(tag => tag.startsWith(ANALYTICS_TAG))?.split('/').pop(); + if(cardAnalyticsId) { + merchCard.setAttribute(ANALYTICS_SECTION_ATTR, cardAnalyticsId); + merchCard.querySelectorAll(`a[data-analytics-id]`).forEach((link, index) => { + link.setAttribute(ANALYTICS_LINK_ATTR, `${link.dataset.analyticsId}-${index + 1}`); + }); + } +} + +export async function hydrate(fragment, merchCard) { + const { fields } = fragment; + const { variant } = fields; if (!variant) return; // remove all previous slotted content except the default slot @@ -237,6 +243,7 @@ export async function hydrate(fragmentData, merchCard) { merchCard.removeAttribute('badge-color'); merchCard.removeAttribute('badge-text'); merchCard.removeAttribute('size'); + merchCard.removeAttribute(ANALYTICS_SECTION_ATTR); merchCard.variant = variant; await merchCard.updateComplete; @@ -244,20 +251,14 @@ export async function hydrate(fragmentData, merchCard) { const { aemFragmentMapping } = merchCard.variantLayout; if (!aemFragmentMapping) return; - const mnemonics = processMnemonics(fragment, merchCard, aemFragmentMapping); - fragmentData.computed = { mnemonics }; - - processBadge(fragment, merchCard); - processSize(fragment, merchCard, aemFragmentMapping.allowedSizes); - processTitle(fragment, merchCard, aemFragmentMapping.title); - processSubtitle(fragment, merchCard, aemFragmentMapping.subtitle); - processBackgroundImage( - fragment, - merchCard, - aemFragmentMapping.backgroundImage, - variant, - ); - processPrices(fragment, merchCard, aemFragmentMapping.prices); - processDescription(fragment, merchCard, aemFragmentMapping.description); - processCTAs(fragment, merchCard, aemFragmentMapping, variant); + processBackgroundImage(fields,merchCard,aemFragmentMapping.backgroundImage,variant); + processBadge(fields, merchCard); + processCTAs(fields, merchCard, aemFragmentMapping, variant); + processDescription(fields, merchCard, aemFragmentMapping.description); + processMnemonics(fields, merchCard, aemFragmentMapping.mnemonics); + processPrices(fields, merchCard, aemFragmentMapping.prices); + processSize(fields, merchCard, aemFragmentMapping.allowedSizes); + processSubtitle(fields, merchCard, aemFragmentMapping.subtitle); + processTitle(fields, merchCard, aemFragmentMapping.title); + processAnalytics(fields, merchCard); } diff --git a/libs/features/mas/commerce/src/ims.js b/libs/features/mas/src/ims.js similarity index 100% rename from libs/features/mas/commerce/src/ims.js rename to libs/features/mas/src/ims.js diff --git a/libs/features/mas/commerce/src/inline-price.js b/libs/features/mas/src/inline-price.js similarity index 99% rename from libs/features/mas/commerce/src/inline-price.js rename to libs/features/mas/src/inline-price.js index c0cc71b6406..8e4bbb52131 100644 --- a/libs/features/mas/commerce/src/inline-price.js +++ b/libs/features/mas/src/inline-price.js @@ -174,6 +174,10 @@ export class InlinePrice extends HTMLSpanElement { return this.masElement.value; } + get options() { + return this.masElement.options; + } + requestUpdate(force = false) { return this.masElement.requestUpdate(force); } @@ -267,7 +271,6 @@ export class InlinePrice extends HTMLSpanElement { /** * Renders price offer as HTML of this component * using consonant price template functions - * from package `@dexter/tacocat-consonant-templates`. * @param {Commerce.Wcs.Offer[]} offers * @param {Record} overrides * Optional object with properties to use as overrides diff --git a/libs/features/mas/src/lana.js b/libs/features/mas/src/lana.js new file mode 100644 index 00000000000..ee43ba93e12 --- /dev/null +++ b/libs/features/mas/src/lana.js @@ -0,0 +1,108 @@ +// Default configuration for logging system +const config = { + clientId: 'merch-at-scale', + delimiter: '¶', + ignoredProperties: ['analytics', 'literals'], + serializableTypes: ['Array', 'Object'], + sampleRate: 1, + tags: 'acom', + isProdDomain: false, +}; +// total lana limit in /utils/lana.js is 2000 +const PAGE_LIMIT = 1000; + +const seenPayloads = new Set(); + +function isError(value) { + return ( + value instanceof Error || typeof value?.originatingRequest === 'string' + ); +} + +function serializeValue(value) { + if (value == null) return undefined; + const type = typeof value; + + if (type === 'function') { + return value.name ? `function ${value.name}` : 'function'; + } + + if (type === 'object') { + if (value instanceof Error) return value.message; + + if (typeof value.originatingRequest === 'string') { + const { message, originatingRequest, status } = value; + return [message, status, originatingRequest] + .filter(Boolean) + .join(' '); + } + + const objectType = + value[Symbol.toStringTag] ?? + Object.getPrototypeOf(value).constructor.name; + if (!config.serializableTypes.includes(objectType)) return objectType; + } + return value; +} + +// Custom serializer that respects ignored properties +function serializeParam(key, value) { + if (config.ignoredProperties.includes(key)) return undefined; + return serializeValue(value); +} + +const lanaAppender = { + append(entry) { + if (entry.level !== 'error') return; + const { message, params } = entry; + const errors = []; + const values = []; + let payload = message; + + params.forEach((param) => { + if (param != null) { + (isError(param) ? errors : values).push(param); + } + }); + + if (errors.length) { + payload += ' ' + errors.map(serializeValue).join(' '); + } + + const { pathname, search } = window.location; + let page = `${config.delimiter}page=${pathname}${search}`; + if (page.length > PAGE_LIMIT) { + page = `${page.slice(0, PAGE_LIMIT)}`; + } + payload += page; + + if (values.length) { + payload += `${config.delimiter}facts=`; + payload += JSON.stringify(values, serializeParam); + } + + if (!seenPayloads.has(payload)) { + seenPayloads.add(payload); + window.lana?.log(payload, config); + } + }, +}; + +// Allow dynamic config updates +function updateConfig(newConfig) { + Object.assign( + config, + Object.fromEntries( + Object.entries(newConfig).filter( + ([key, value]) => + key in config && + value !== '' && + value !== null && + value !== undefined && + !Number.isNaN(value), // Correctly exclude NaN + ), + ), + ); +} + +export { config, lanaAppender, updateConfig }; diff --git a/libs/features/mas/commerce/src/literals.js b/libs/features/mas/src/literals.js similarity index 100% rename from libs/features/mas/commerce/src/literals.js rename to libs/features/mas/src/literals.js diff --git a/libs/features/mas/src/log.js b/libs/features/mas/src/log.js new file mode 100644 index 00000000000..32280e18107 --- /dev/null +++ b/libs/features/mas/src/log.js @@ -0,0 +1,111 @@ +import { LOG_NAMESPACE } from './constants.js'; +import { getParameter, isFunction, toBoolean } from './external.js'; +import { lanaAppender, updateConfig } from './lana.js'; +import { HostEnv } from './settings.js'; + +const LogLevels = { + DEBUG: 'debug', + ERROR: 'error', + INFO: 'info', + WARN: 'warn', +}; + +const startTime = Date.now(); +const appenders = new Set(); +const filters = new Set(); +const loggerIndexes = new Map(); + +// Basic console logging for development +const consoleAppender = { + append({ level, message, params, timestamp, source }) { + console[level]( + `${timestamp}ms [${source}] %c${message}`, + 'font-weight: bold;', + ...params, + ); + }, +}; + +const debugFilter = { filter: ({ level }) => level !== LogLevels.DEBUG }; +const quietFilter = { filter: () => false }; + +function createEntry(level, message, namespace, params, source) { + return { + level, + message, + namespace, + get params() { + if (params.length === 1 && isFunction(params[0])) { + params = params[0](); + if (!Array.isArray(params)) params = [params]; + } + return params; + }, + source, + timestamp: Date.now() - startTime, + }; +} + +function handleEntry(entry) { + if ([...filters].every((filter) => filter(entry))) { + appenders.forEach((appender) => appender(entry)); + } +} + +function createLog(namespace) { + const index = (loggerIndexes.get(namespace) ?? 0) + 1; + loggerIndexes.set(namespace, index); + const id = `${namespace} #${index}`; + + const log = { + id, + namespace, + module: (name) => createLog(`${log.namespace}/${name}`), + updateConfig, + }; + + // Create logging methods for each level + Object.values(LogLevels).forEach((level) => { + log[level] = (message, ...params) => + handleEntry(createEntry(level, message, namespace, params, id)); + }); + + return Object.seal(log); +} + +// Plugin system for adding appenders and filters +function use(...plugins) { + plugins.forEach((plugin) => { + const { append, filter } = plugin; + if (isFunction(filter)) filters.add(filter); + if (isFunction(append)) appenders.add(append); + }); +} + +function init(env = {}) { + const { name } = env; + const debug = toBoolean( + getParameter('commerce.debug', { search: true, storage: true }), + name === HostEnv.LOCAL, + ); + + if (debug) use(consoleAppender); + else use(debugFilter); + if (name === HostEnv.PROD) use(lanaAppender); + + return Log; +} + +function reset() { + appenders.clear(); + filters.clear(); +} + +export const Log = { + ...createLog(LOG_NAMESPACE), + Level: LogLevels, + Plugins: { consoleAppender, debugFilter, quietFilter, lanaAppender }, + init, + reset, + use, +}; diff --git a/libs/features/mas/commerce/src/mas-commerce-service.js b/libs/features/mas/src/mas-commerce-service.js similarity index 73% rename from libs/features/mas/commerce/src/mas-commerce-service.js rename to libs/features/mas/src/mas-commerce-service.js index 15f761f7c9f..21d354e4b04 100644 --- a/libs/features/mas/commerce/src/mas-commerce-service.js +++ b/libs/features/mas/src/mas-commerce-service.js @@ -9,6 +9,7 @@ import { Price } from './price.js'; import { getSettings } from './settings.js'; import { Wcs } from './wcs.js'; import { setImmediate } from './utilities.js'; +import { updateConfig as updateLanaConfig } from './lana.js'; export const TAG_NAME_SERVICE = 'mas-commerce-service'; @@ -21,30 +22,39 @@ export class MasCommerceService extends HTMLElement { promise = null; get #config() { - const config = { - commerce: { 'env': this.getAttribute('env') }, - }; - //root parameters - ['locale', 'country', 'language'].forEach((attribute) => { - const value = this.getAttribute(attribute); - if (value) { - config[attribute] = value; - } - }); - //commerce parameters - [ - 'checkout-workflow-step', - 'force-tax-exclusive', - 'checkout-client-id', - 'allow-override', - ].forEach((attribute) => { - const value = this.getAttribute(attribute); - if (value != null) { - const camelCaseAttribute = attribute.replace(/-([a-z])/g, (g) => g[1].toUpperCase()); - config.commerce[camelCaseAttribute] = value; - } - }); - return config; + const config = { + hostEnv: { name: this.getAttribute('host-env') ?? 'prod' }, + commerce: { env: this.getAttribute('env') }, + lana: { + tags: this.getAttribute('lana-tags'), + sampleRate: parseInt(this.getAttribute('lana-sample-rate'), 10), + isProdDomain: this.getAttribute('host-env') === 'prod', + }, + }; + //root parameters + ['locale', 'country', 'language'].forEach((attribute) => { + const value = this.getAttribute(attribute); + if (value) { + config[attribute] = value; + } + }); + //commerce parameters + [ + 'checkout-workflow-step', + 'force-tax-exclusive', + 'checkout-client-id', + 'allow-override', + 'wcs-api-key', + ].forEach((attribute) => { + const value = this.getAttribute(attribute); + if (value != null) { + const camelCaseAttribute = attribute.replace(/-([a-z])/g, (g) => + g[1].toUpperCase(), + ); + config.commerce[camelCaseAttribute] = value; + } + }); + return config; } async registerCheckoutAction(action) { @@ -66,9 +76,11 @@ export class MasCommerceService extends HTMLElement { async activate() { const config = this.#config; // Load settings and literals - const log = Log.init(config.env).module('service'); - log.debug('Activating:', config); const settings = Object.freeze(getSettings(config)); + updateLanaConfig(config.lana); + const log = Log.init(config.hostEnv).module('service'); + log.debug('Activating:', config); + // Fetch price literals const literals = { price: {} }; try { @@ -131,9 +143,9 @@ export class MasCommerceService extends HTMLElement { } connectedCallback() { - if (!this.readyPromise) { - this.readyPromise = this.activate(); - } + if (!this.readyPromise) { + this.readyPromise = this.activate(); + } } disconnectedCallback() { @@ -156,9 +168,7 @@ export class MasCommerceService extends HTMLElement { refreshFragments() { this.flushWcsCache(); - document - .querySelectorAll('aem-fragment') - .forEach((el) => el.refresh()); + document.querySelectorAll('aem-fragment').forEach((el) => el.refresh()); this.log.debug('Refreshed AEM fragments'); } } diff --git a/libs/features/mas/commerce/src/mas-element.js b/libs/features/mas/src/mas-element.js similarity index 98% rename from libs/features/mas/commerce/src/mas-element.js rename to libs/features/mas/src/mas-element.js index 36e897e1568..9d4d337cde9 100644 --- a/libs/features/mas/commerce/src/mas-element.js +++ b/libs/features/mas/src/mas-element.js @@ -11,6 +11,7 @@ import { } from './constants.js'; import { ignore } from './external.js'; import { discoverService, setImmediate, useService } from './utilities.js'; +import { Log } from './log.js'; const MasElementConstants = { CLASS_NAME_FAILED, @@ -180,6 +181,7 @@ export class MasElement { if (!this.wrapperElement.isConnected || !useService()) return; // Batch consecutive updates if (this.timer) return; + const log = Log.module('mas-element'); // Save current state to restore it if needed const { error, options, state, value, version } = this; // Inform `onceSettled` that `render` can follow soon @@ -217,6 +219,7 @@ export class MasElement { this.notify(); } } catch (error) { + log.error(`Failed to render mas-element: `, error); this.toggleFailed(this.version, error, options); } } diff --git a/libs/features/mas/src/mas.js b/libs/features/mas/src/mas.js new file mode 100644 index 00000000000..142ccd71222 --- /dev/null +++ b/libs/features/mas/src/mas.js @@ -0,0 +1,8 @@ +import '../../../utils/lana.js'; +import './merch-card.js'; +import './merch-icon.js'; +import './aem-fragment.js'; +import { updateConfig } from './lana.js'; +updateConfig({ sampleRate: 1 }); + +export * from './commerce.js'; diff --git a/libs/features/mas/web-components/src/media.js b/libs/features/mas/src/media.js similarity index 100% rename from libs/features/mas/web-components/src/media.js rename to libs/features/mas/src/media.js diff --git a/libs/features/mas/web-components/src/merch-card-collection.css.js b/libs/features/mas/src/merch-card-collection.css.js similarity index 100% rename from libs/features/mas/web-components/src/merch-card-collection.css.js rename to libs/features/mas/src/merch-card-collection.css.js diff --git a/libs/features/mas/web-components/src/merch-card-collection.js b/libs/features/mas/src/merch-card-collection.js similarity index 96% rename from libs/features/mas/web-components/src/merch-card-collection.js rename to libs/features/mas/src/merch-card-collection.js index 47f93a04d16..50fd06ae46f 100644 --- a/libs/features/mas/web-components/src/merch-card-collection.js +++ b/libs/features/mas/src/merch-card-collection.js @@ -7,7 +7,6 @@ import { EVENT_MERCH_CARD_COLLECTION_SORT, EVENT_MERCH_CARD_COLLECTION_SHOWMORE, } from './constants.js'; -import { updateLiterals } from './literals.js'; import { TABLET_DOWN } from './media.js'; import { styles } from './merch-card-collection.css.js'; import { getSlotText } from './utils.js'; @@ -32,6 +31,13 @@ const RESULT_TEXT_SLOT_NAMES = { desktop: ['noSearchResultsText', 'searchResultText', 'searchResultsText'], }; +export const updateLiterals = (el, values = {}) => { + el.querySelectorAll('span[data-placeholder]').forEach((el) => { + const { placeholder } = el.dataset; + el.innerText = values[placeholder] ?? ''; + }); +}; + const categoryFilter = (elements, { filter }) => elements.filter((element) => element.filters.hasOwnProperty(filter)); @@ -156,7 +162,7 @@ export class MerchCardCollection extends LitElement { if (reduced.has(child)) { const index = reduced.get(child); child.style.order = index; - child.setAttribute("tabindex", index + 1); + child.setAttribute('tabindex', index + 1); child.size = child.filters[this.filter]?.size; child.style.removeProperty('display'); child.requestUpdate(); @@ -202,7 +208,7 @@ export class MerchCardCollection extends LitElement { get header() { if (this.filtered) return; return html` @@ -216,7 +222,7 @@ export class MerchCardCollection extends LitElement { get footer() { if (this.filtered) return; return html``; diff --git a/libs/features/mas/web-components/src/merch-card.css.js b/libs/features/mas/src/merch-card.css.js similarity index 97% rename from libs/features/mas/web-components/src/merch-card.css.js rename to libs/features/mas/src/merch-card.css.js index efe5a55bb77..1234272b3f3 100644 --- a/libs/features/mas/web-components/src/merch-card.css.js +++ b/libs/features/mas/src/merch-card.css.js @@ -3,6 +3,7 @@ import { DESKTOP_UP, TABLET_UP } from './media.js'; export const styles = css` :host { + --merch-card-border: 1px solid var(--spectrum-gray-200, var(--consonant-merch-card-border-color)); position: relative; display: flex; flex-direction: column; @@ -12,7 +13,7 @@ export const styles = css` background-color: var(--merch-card-background-color); font-family: var(--merch-body-font-family, 'Adobe Clean'); border-radius: var(--consonant-merch-spacing-xs); - border: 1px solid var(--spectrum-gray-200, var(--consonant-merch-card-border-color)); + border: var(--merch-card-border); box-sizing: border-box; } diff --git a/libs/features/mas/web-components/src/merch-card.js b/libs/features/mas/src/merch-card.js similarity index 95% rename from libs/features/mas/web-components/src/merch-card.js rename to libs/features/mas/src/merch-card.js index b23f5de50f1..7c3e2464043 100644 --- a/libs/features/mas/web-components/src/merch-card.js +++ b/libs/features/mas/src/merch-card.js @@ -14,13 +14,13 @@ import { EVENT_MAS_ERROR, } from './constants.js'; import { VariantLayout } from './variants/variant-layout.js'; -import { hydrate } from './hydrate.js'; +import { hydrate, ANALYTICS_SECTION_ATTR } from './hydrate.js'; export const MERCH_CARD_NODE_NAME = 'MERCH-CARD'; export const MERCH_CARD = 'merch-card'; -// if merch cards does not initialise in 2s, it will dispatch mas:error event -const MERCH_CARD_LOAD_TIMEOUT = 2000; +// if merch cards does not initialise in 10 seconds, it will dispatch mas:error event +const MERCH_CARD_LOAD_TIMEOUT = 10000; export class MerchCard extends LitElement { static properties = { @@ -34,7 +34,11 @@ export class MerchCard extends LitElement { attribute: 'badge-background-color', reflect: true, }, - backgroundImage: { type: String, attribute: 'background-image', reflect: true }, + backgroundImage: { + type: String, + attribute: 'background-image', + reflect: true, + }, badgeText: { type: String, attribute: 'badge-text' }, actionMenu: { type: Boolean, attribute: 'action-menu' }, customHr: { type: Boolean, attribute: 'custom-hr' }, @@ -90,6 +94,7 @@ export class MerchCard extends LitElement { reflect: true, }, merchOffer: { type: Object }, + analyticsId: { type: String, attribute: ANALYTICS_SECTION_ATTR, reflect: true }, }; static styles = [styles, getVariantStyles(), ...sizeStyles()]; @@ -97,7 +102,7 @@ export class MerchCard extends LitElement { customerSegment; marketSegment; /** - * @type {VariantLayout>} + * @type {VariantLayout} */ variantLayout; @@ -131,7 +136,7 @@ export class MerchCard extends LitElement { changedProperties.has('badgeBackgroundColor') || changedProperties.has('borderColor') ) { - this.style.border = this.computedBorderStyle; + this.style.setProperty('--merch-card-border', this.computedBorderStyle); } this.variantLayout?.postCardUpdateHook(this); } @@ -140,6 +145,10 @@ export class MerchCard extends LitElement { return this.closest('sp-theme'); } + get dir() { + return this.closest('[dir]')?.getAttribute('dir') ?? 'ltr'; + } + get prices() { return Array.from( this.querySelectorAll('span[is="inline-price"][data-wcs-osi]'), @@ -285,7 +294,7 @@ export class MerchCard extends LitElement { this.addEventListener(EVENT_AEM_LOAD, this.handleAemFragmentEvents); if (!this.aemFragment) { - setTimeout(() => this.checkReady(), 0); + setTimeout(() => this.checkReady(), 0); } } diff --git a/libs/features/mas/web-components/src/merch-icon.js b/libs/features/mas/src/merch-icon.js similarity index 100% rename from libs/features/mas/web-components/src/merch-icon.js rename to libs/features/mas/src/merch-icon.js diff --git a/libs/features/mas/web-components/src/merch-mnemonic-list.js b/libs/features/mas/src/merch-mnemonic-list.js similarity index 100% rename from libs/features/mas/web-components/src/merch-mnemonic-list.js rename to libs/features/mas/src/merch-mnemonic-list.js diff --git a/libs/features/mas/web-components/src/merch-offer-select.js b/libs/features/mas/src/merch-offer-select.js similarity index 99% rename from libs/features/mas/web-components/src/merch-offer-select.js rename to libs/features/mas/src/merch-offer-select.js index ea80e6d319e..9d402814984 100644 --- a/libs/features/mas/web-components/src/merch-offer-select.js +++ b/libs/features/mas/src/merch-offer-select.js @@ -37,13 +37,12 @@ class MerchOfferSelect extends LitElement { stock: { type: Boolean, reflect: true }, }; - variant = 'plans'; - #handleOfferSelectionByQuantityFn; constructor() { super(); this.defaults = {}; + this.variant = 'plans'; } /** Returns the default values for the price, cta, and description slots. @@ -210,6 +209,7 @@ class MerchOfferSelect extends LitElement { } disconnectedCallback() { + super.disconnectedCallback(); this.removeEventListener( EVENT_MERCH_QUANTITY_SELECTOR_CHANGE, this.#handleOfferSelectionByQuantityFn, diff --git a/libs/features/mas/web-components/src/merch-offer.css.js b/libs/features/mas/src/merch-offer.css.js similarity index 100% rename from libs/features/mas/web-components/src/merch-offer.css.js rename to libs/features/mas/src/merch-offer.css.js diff --git a/libs/features/mas/web-components/src/merch-offer.js b/libs/features/mas/src/merch-offer.js similarity index 100% rename from libs/features/mas/web-components/src/merch-offer.js rename to libs/features/mas/src/merch-offer.js diff --git a/libs/features/mas/web-components/src/merch-quantity-select.css.js b/libs/features/mas/src/merch-quantity-select.css.js similarity index 100% rename from libs/features/mas/web-components/src/merch-quantity-select.css.js rename to libs/features/mas/src/merch-quantity-select.css.js diff --git a/libs/features/mas/web-components/src/merch-quantity-select.js b/libs/features/mas/src/merch-quantity-select.js similarity index 100% rename from libs/features/mas/web-components/src/merch-quantity-select.js rename to libs/features/mas/src/merch-quantity-select.js diff --git a/libs/features/mas/web-components/src/merch-search.js b/libs/features/mas/src/merch-search.js similarity index 100% rename from libs/features/mas/web-components/src/merch-search.js rename to libs/features/mas/src/merch-search.js diff --git a/libs/features/mas/web-components/src/merch-secure-transaction.css.js b/libs/features/mas/src/merch-secure-transaction.css.js similarity index 100% rename from libs/features/mas/web-components/src/merch-secure-transaction.css.js rename to libs/features/mas/src/merch-secure-transaction.css.js diff --git a/libs/features/mas/web-components/src/merch-secure-transaction.js b/libs/features/mas/src/merch-secure-transaction.js similarity index 89% rename from libs/features/mas/web-components/src/merch-secure-transaction.js rename to libs/features/mas/src/merch-secure-transaction.js index dd524fd11a0..7f0c0911afa 100644 --- a/libs/features/mas/web-components/src/merch-secure-transaction.js +++ b/libs/features/mas/src/merch-secure-transaction.js @@ -15,9 +15,12 @@ export default class MerchSecureTransaction extends LitElement { static styles = [styles]; - labelText = ''; - showIcon = true; - tooltipText = ''; + constructor() { + super(); + this.labelText = ''; + this.showIcon = true; + this.tooltipText = ''; + } render() { const { labelText, showIcon, tooltipText } = this; diff --git a/libs/features/mas/web-components/src/merch-stock.js b/libs/features/mas/src/merch-stock.js similarity index 98% rename from libs/features/mas/web-components/src/merch-stock.js rename to libs/features/mas/src/merch-stock.js index 7afc95deb1e..b9b12348f83 100644 --- a/libs/features/mas/web-components/src/merch-stock.js +++ b/libs/features/mas/src/merch-stock.js @@ -33,12 +33,11 @@ export class MerchStock extends LitElement { planType: { type: String, attribute: 'plan-type', reflect: true }, }; - checked = false; - #mobile = new MatchMediaController(this, MOBILE_LANDSCAPE); constructor() { super(); + this.checked = false; } handleChange(event) { diff --git a/libs/features/mas/web-components/src/merch-subscription-panel.css.js b/libs/features/mas/src/merch-subscription-panel.css.js similarity index 100% rename from libs/features/mas/web-components/src/merch-subscription-panel.css.js rename to libs/features/mas/src/merch-subscription-panel.css.js diff --git a/libs/features/mas/web-components/src/merch-subscription-panel.js b/libs/features/mas/src/merch-subscription-panel.js similarity index 98% rename from libs/features/mas/web-components/src/merch-subscription-panel.js rename to libs/features/mas/src/merch-subscription-panel.js index f84e6b57348..93f48ef0522 100644 --- a/libs/features/mas/web-components/src/merch-subscription-panel.js +++ b/libs/features/mas/src/merch-subscription-panel.js @@ -18,13 +18,12 @@ class MerchSubscriptionPanel extends LitElement { ready: { type: Boolean, attribute: 'ready', reflect: true }, }; - continueText = 'Continue'; - #mobileAndTablet = new MatchMediaController(this, TABLET_DOWN); constructor() { super(); this.ready = false; + this.continueText = 'Continue'; } /** @@ -37,7 +36,7 @@ class MerchSubscriptionPanel extends LitElement {

      ","
      "],col:[2,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],_default:[0,"",""]};kb.tbody=kb.tfoot=kb.colgroup=kb.caption=kb.thead,kb.th=kb.td,ra.option||(kb.optgroup=kb.option=[1,""]);var lb=/<|&#?\w+;/,mb=/^([^.]*)(?:\.(.+)|)/;ya.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=Xa.get(a);if(Wa(a))for(c.handler&&(f=c,c=f.handler,e=f.selector),e&&ya.find.matchesSelector(cb,e),c.guid||(c.guid=ya.guid++),(i=q.events)||(i=q.events=Object.create(null)),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof ya&&ya.event.triggered!==b.type?ya.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(Qa)||[""],j=b.length;j--;)h=mb.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=ya.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=ya.event.special[n]||{},k=ya.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&ya.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),ya.event.global[n]=!0)},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=Xa.hasData(a)&&Xa.get(a);if(q&&(i=q.events)){for(b=(b||"").match(Qa)||[""],j=b.length;j--;)if(h=mb.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){for(l=ya.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;f--;)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||ya.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)ya.event.remove(a,n+b[j],c,d,!0);ya.isEmptyObject(i)&&Xa.remove(a,"handle events")}},dispatch:function(a){var b,c,d,e,f,g,h=new Array(arguments.length),i=ya.event.fix(a),j=(Xa.get(this,"events")||Object.create(null))[i.type]||[],k=ya.event.special[i.type]||{};for(h[0]=i,b=1;b=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;i>c;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?ya(e,this).index(j)>-1:ya.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\s*$/g;ya.extend({htmlPrefilter:function(a){return a},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=db(a);if(!(ra.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||ya.isXMLDoc(a)))for(g=w(h),f=w(a),d=0,e=f.length;e>d;d++)H(f[d],g[d]);if(b)if(c)for(f=f||w(a),g=g||w(h),d=0,e=f.length;e>d;d++)G(f[d],g[d]);else G(a,h);return g=w(h,"script"),g.length>0&&x(g,!i&&w(a,"script")),h},cleanData:function(a){for(var b,c,d,e=ya.event.special,f=0;void 0!==(c=a[f]);f++)if(Wa(c)){if(b=c[Xa.expando]){if(b.events)for(d in b.events)e[d]?ya.event.remove(c,d):ya.removeEvent(c,d,b.handle);c[Xa.expando]=void 0}c[Ya.expando]&&(c[Ya.expando]=void 0)}}}),ya.fn.extend({detach:function(a){return J(this,a,!0)},remove:function(a){return J(this,a)},text:function(a){return Ta(this,function(a){return void 0===a?ya.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return I(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=D(this,a);b.appendChild(a)}})},prepend:function(){return I(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=D(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return I(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return I(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(ya.cleanData(w(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return ya.clone(this,a,b)})},html:function(a){return Ta(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!nb.test(a)&&!kb[(ib.exec(a)||["",""])[1].toLowerCase()]){a=ya.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(ya.cleanData(w(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return I(this,arguments,function(b){var c=this.parentNode;ya.inArray(this,a)<0&&(ya.cleanData(w(this)),c&&c.replaceChild(b,this))},a)}}),ya.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){ya.fn[a]=function(a){for(var c,d=[],e=ya(a),f=e.length-1,g=0;f>=g;g++)c=g===f?this:this.clone(!0),ya(e[g])[b](c),ka.apply(d,c.get());return this.pushStack(d)}});var qb=new RegExp("^("+_a+")(?!px)[a-z%]+$","i"),rb=/^--/,sb=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},tb=function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d},ub=new RegExp(bb.join("|"),"i");!function(){function b(){if(k){j.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",k.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",cb.appendChild(j).appendChild(k);var b=a.getComputedStyle(k);d="1%"!==b.top,i=12===c(b.marginLeft),k.style.right="60%",g=36===c(b.right),e=36===c(b.width),k.style.position="absolute",f=12===c(k.offsetWidth/3),cb.removeChild(j),k=null}}function c(a){return Math.round(parseFloat(a))}var d,e,f,g,h,i,j=ua.createElement("div"),k=ua.createElement("div");k.style&&(k.style.backgroundClip="content-box",k.cloneNode(!0).style.backgroundClip="",ra.clearCloneStyle="content-box"===k.style.backgroundClip,ya.extend(ra,{boxSizingReliable:function(){return b(),e},pixelBoxStyles:function(){return b(),g},pixelPosition:function(){return b(),d},reliableMarginLeft:function(){return b(),i},scrollboxSize:function(){return b(),f},reliableTrDimensions:function(){var b,c,d,e;return null==h&&(b=ua.createElement("table"),c=ua.createElement("tr"),d=ua.createElement("div"),b.style.cssText="position:absolute;left:-11111px;border-collapse:separate",c.style.cssText="box-sizing:content-box;border:1px solid",c.style.height="1px",d.style.height="9px",d.style.display="block",cb.appendChild(b).appendChild(c).appendChild(d),e=a.getComputedStyle(c),h=parseInt(e.height,10)+parseInt(e.borderTopWidth,10)+parseInt(e.borderBottomWidth,10)===c.offsetHeight,cb.removeChild(b)),h}}))}();var vb=["Webkit","Moz","ms"],wb=ua.createElement("div").style,xb={},yb=/^(none|table(?!-c[ea]).+)/,zb={position:"absolute",visibility:"hidden",display:"block"},Ab={letterSpacing:"0",fontWeight:"400"};ya.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=K(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=p(b),i=rb.test(b),j=a.style;return i||(b=N(h)),g=ya.cssHooks[b]||ya.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:j[b]:(f=typeof c,"string"===f&&(e=ab.exec(c))&&e[1]&&(c=t(a,b,e),f="number"),null!=c&&c===c&&("number"!==f||i||(c+=e&&e[3]||(ya.cssNumber[h]?"":"px")),ra.clearCloneStyle||""!==c||0!==b.indexOf("background")||(j[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i?j.setProperty(b,c):j[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=p(b),i=rb.test(b);return i||(b=N(h)),g=ya.cssHooks[b]||ya.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=K(a,b,d)),"normal"===e&&b in Ab&&(e=Ab[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),ya.each(["height","width"],function(a,b){ya.cssHooks[b]={get:function(a,c,d){return c?!yb.test(ya.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Q(a,b,d):tb(a,zb,function(){return Q(a,b,d)}):void 0},set:function(a,c,d){var e,f=sb(a),g=!ra.scrollboxSize()&&"absolute"===f.position,h=g||d,i=h&&"border-box"===ya.css(a,"boxSizing",!1,f),j=d?P(a,b,d,i,f):0;return i&&g&&(j-=Math.ceil(a["offset"+b[0].toUpperCase()+b.slice(1)]-parseFloat(f[b])-P(a,b,"border",!1,f)-.5)),j&&(e=ab.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=ya.css(a,b)),O(a,c,j)}}}),ya.cssHooks.marginLeft=L(ra.reliableMarginLeft,function(a,b){return b?(parseFloat(K(a,"marginLeft"))||a.getBoundingClientRect().left-tb(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px":void 0}),ya.each({margin:"",padding:"",border:"Width"},function(a,b){ya.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+bb[d]+b]=f[d]||f[d-2]||f[0];return e}},"margin"!==a&&(ya.cssHooks[a+b].set=O)}),ya.fn.extend({css:function(a,b){return Ta(this,function(a,b,c){var d,e,f={},g=0;if(Array.isArray(b)){for(d=sb(a),e=b.length;e>g;g++)f[b[g]]=ya.css(a,b[g],!1,d);return f}return void 0!==c?ya.style(a,b,c):ya.css(a,b)},a,b,arguments.length>1)}}),ya.Tween=R,R.prototype={constructor:R,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||ya.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(ya.cssNumber[c]?"":"px")},cur:function(){var a=R.propHooks[this.prop];return a&&a.get?a.get(this):R.propHooks._default.get(this)},run:function(a){var b,c=R.propHooks[this.prop];return this.options.duration?this.pos=b=ya.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):R.propHooks._default.set(this),this}},R.prototype.init.prototype=R.prototype,R.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=ya.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){ya.fx.step[a.prop]?ya.fx.step[a.prop](a):1!==a.elem.nodeType||!ya.cssHooks[a.prop]&&null==a.elem.style[N(a.prop)]?a.elem[a.prop]=a.now:ya.style(a.elem,a.prop,a.now+a.unit)}}},R.propHooks.scrollTop=R.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},ya.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},ya.fx=R.prototype.init,ya.fx.step={};var Bb,Cb,Db=/^(?:toggle|show|hide)$/,Eb=/queueHooks$/;ya.Animation=ya.extend(Y,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return t(c.elem,a,ab.exec(b),c),c}]},tweener:function(a,b){sa(a)?(b=a,a=["*"]):a=a.match(Qa);for(var c,d=0,e=a.length;e>d;d++)c=a[d],Y.tweeners[c]=Y.tweeners[c]||[],Y.tweeners[c].unshift(b)},prefilters:[W],prefilter:function(a,b){b?Y.prefilters.unshift(a):Y.prefilters.push(a)}}),ya.speed=function(a,b,c){var d=a&&"object"==typeof a?ya.extend({},a):{complete:c||!c&&b||sa(a)&&a,duration:a,easing:c&&b||b&&!sa(b)&&b};return ya.fx.off?d.duration=0:"number"!=typeof d.duration&&(d.duration in ya.fx.speeds?d.duration=ya.fx.speeds[d.duration]:d.duration=ya.fx.speeds._default),(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){ + sa(d.old)&&d.old.call(this),d.queue&&ya.dequeue(this,d.queue)},d},ya.fn.extend({fadeTo:function(a,b,c,d){return this.filter(fb).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=ya.isEmptyObject(a),f=ya.speed(b,c,d),g=function(){var b=Y(this,ya.extend({},a),f);(e||Xa.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=ya.timers,g=Xa.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Eb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&ya.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=Xa.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=ya.timers,g=d?d.length:0;for(c.finish=!0,ya.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),ya.each(["toggle","show","hide"],function(a,b){var c=ya.fn[b];ya.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(U(b,!0),a,d,e)}}),ya.each({slideDown:U("show"),slideUp:U("hide"),slideToggle:U("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){ya.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),ya.timers=[],ya.fx.tick=function(){var a,b=0,c=ya.timers;for(Bb=Date.now();b1)},removeAttr:function(a){return this.each(function(){ya.removeAttr(this,a)})}}),ya.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?ya.prop(a,b,c):(1===f&&ya.isXMLDoc(a)||(e=ya.attrHooks[b.toLowerCase()]||(ya.expr.match.bool.test(b)?Fb:void 0)),void 0!==c?null===c?void ya.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=ya.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!ra.radioValue&&"radio"===b&&f(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(Qa);if(e&&1===a.nodeType)for(;c=e[d++];)a.removeAttribute(c)}}),Fb={set:function(a,b,c){return b===!1?ya.removeAttr(a,c):a.setAttribute(c,c),c}},ya.each(ya.expr.match.bool.source.match(/\w+/g),function(a,b){var c=Gb[b]||ya.find.attr;Gb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=Gb[g],Gb[g]=e,e=null!=c(a,b,d)?g:null,Gb[g]=f),e}});var Hb=/^(?:input|select|textarea|button)$/i,Ib=/^(?:a|area)$/i;ya.fn.extend({prop:function(a,b){return Ta(this,ya.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[ya.propFix[a]||a]})}}),ya.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&ya.isXMLDoc(a)||(b=ya.propFix[b]||b,e=ya.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=ya.find.attr(a,"tabindex");return b?parseInt(b,10):Hb.test(a.nodeName)||Ib.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),ra.optSelected||(ya.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),ya.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ya.propFix[this.toLowerCase()]=this}),ya.fn.extend({addClass:function(a){var b,c,d,e,f,g;return sa(a)?this.each(function(b){ya(this).addClass(a.call(this,b,$(this)))}):(b=_(a),b.length?this.each(function(){if(d=$(this),c=1===this.nodeType&&" "+Z(d)+" "){for(f=0;f-1;)c=c.replace(" "+e+" "," ");g=Z(c),d!==g&&this.setAttribute("class",g)}}):this):this.attr("class","")},toggleClass:function(a,b){var c,d,e,f,g=typeof a,h="string"===g||Array.isArray(a);return sa(a)?this.each(function(c){ya(this).toggleClass(a.call(this,c,$(this),b),b)}):"boolean"==typeof b&&h?b?this.addClass(a):this.removeClass(a):(c=_(a),this.each(function(){if(h)for(f=ya(this),e=0;e-1)return!0;return!1}});var Jb=/\r/g;ya.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=sa(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,ya(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=ya.map(e,function(a){return null==a?"":a+""})),b=ya.valHooks[this.type]||ya.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=ya.valHooks[e.type]||ya.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(Jb,""):null==c?"":c)}}}),ya.extend({valHooks:{option:{get:function(a){var b=ya.find.attr(a,"value");return null!=b?b:Z(ya.text(a))}},select:{get:function(a){var b,c,d,e=a.options,g=a.selectedIndex,h="select-one"===a.type,i=h?null:[],j=h?g+1:e.length;for(d=0>g?j:h?g:0;j>d;d++)if(c=e[d],(c.selected||d===g)&&!c.disabled&&(!c.parentNode.disabled||!f(c.parentNode,"optgroup"))){if(b=ya(c).val(),h)return b;i.push(b)}return i},set:function(a,b){for(var c,d,e=a.options,f=ya.makeArray(b),g=e.length;g--;)d=e[g],(d.selected=ya.inArray(ya.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),ya.each(["radio","checkbox"],function(){ya.valHooks[this]={set:function(a,b){return Array.isArray(b)?a.checked=ya.inArray(ya(a).val(),b)>-1:void 0}},ra.checkOn||(ya.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var Kb=a.location,Lb={guid:Date.now()},Mb=/\?/;ya.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(e){}return d=c&&c.getElementsByTagName("parsererror")[0],(!c||d)&&ya.error("Invalid XML: "+(d?ya.map(d.childNodes,function(a){return a.textContent}).join("\n"):b)),c};var Nb=/^(?:focusinfocus|focusoutblur)$/,Ob=function(a){a.stopPropagation()};ya.extend(ya.event,{trigger:function(b,c,d,e){var f,g,h,i,j,k,l,m,n=[d||ua],o=oa.call(b,"type")?b.type:b,p=oa.call(b,"namespace")?b.namespace.split("."):[];if(g=m=h=d=d||ua,3!==d.nodeType&&8!==d.nodeType&&!Nb.test(o+ya.event.triggered)&&(o.indexOf(".")>-1&&(p=o.split("."),o=p.shift(),p.sort()),j=o.indexOf(":")<0&&"on"+o,b=b[ya.expando]?b:new ya.Event(o,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=p.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:ya.makeArray(c,[b]),l=ya.event.special[o]||{},e||!l.trigger||l.trigger.apply(d,c)!==!1)){if(!e&&!l.noBubble&&!ta(d)){for(i=l.delegateType||o,Nb.test(i+o)||(g=g.parentNode);g;g=g.parentNode)n.push(g),h=g;h===(d.ownerDocument||ua)&&n.push(h.defaultView||h.parentWindow||a)}for(f=0;(g=n[f++])&&!b.isPropagationStopped();)m=g,b.type=f>1?i:l.bindType||o,k=(Xa.get(g,"events")||Object.create(null))[b.type]&&Xa.get(g,"handle"),k&&k.apply(g,c),k=j&&g[j],k&&k.apply&&Wa(g)&&(b.result=k.apply(g,c),b.result===!1&&b.preventDefault());return b.type=o,e||b.isDefaultPrevented()||l._default&&l._default.apply(n.pop(),c)!==!1||!Wa(d)||j&&sa(d[o])&&!ta(d)&&(h=d[j],h&&(d[j]=null),ya.event.triggered=o,b.isPropagationStopped()&&m.addEventListener(o,Ob),d[o](),b.isPropagationStopped()&&m.removeEventListener(o,Ob),ya.event.triggered=void 0,h&&(d[j]=h)),b.result}},simulate:function(a,b,c){var d=ya.extend(new ya.Event,c,{type:a,isSimulated:!0});ya.event.trigger(d,null,b)}}),ya.fn.extend({trigger:function(a,b){return this.each(function(){ya.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?ya.event.trigger(a,b,c,!0):void 0}});var Pb=/\[\]$/,Qb=/\r?\n/g,Rb=/^(?:submit|button|image|reset|file)$/i,Sb=/^(?:input|select|textarea|keygen)/i;ya.param=function(a,b){var c,d=[],e=function(a,b){var c=sa(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(null==a)return"";if(Array.isArray(a)||a.jquery&&!ya.isPlainObject(a))ya.each(a,function(){e(this.name,this.value)});else for(c in a)aa(c,a[c],b,e);return d.join("&")},ya.fn.extend({serialize:function(){return ya.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=ya.prop(this,"elements");return a?ya.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!ya(this).is(":disabled")&&Sb.test(this.nodeName)&&!Rb.test(a)&&(this.checked||!hb.test(a))}).map(function(a,b){var c=ya(this).val();return null==c?null:Array.isArray(c)?ya.map(c,function(a){return{name:b.name,value:a.replace(Qb,"\r\n")}}):{name:b.name,value:c.replace(Qb,"\r\n")}}).get()}});var Tb=/%20/g,Ub=/#.*$/,Vb=/([?&])_=[^&]*/,Wb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Xb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Yb=/^(?:GET|HEAD)$/,Zb=/^\/\//,$b={},_b={},ac="*/".concat("*"),bc=ua.createElement("a");bc.href=Kb.href,ya.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Kb.href,type:"GET",isLocal:Xb.test(Kb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":ac,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":ya.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?da(da(a,ya.ajaxSettings),b):da(ya.ajaxSettings,a)},ajaxPrefilter:ba($b),ajaxTransport:ba(_b),ajax:function(b,c){function d(b,c,d,h){var j,m,n,u,v,w=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",x.readyState=b>0?4:0,j=b>=200&&300>b||304===b,d&&(u=ea(o,x,d)),!j&&ya.inArray("script",o.dataTypes)>-1&&ya.inArray("json",o.dataTypes)<0&&(o.converters["text script"]=function(){}),u=fa(o,u,x,j),j?(o.ifModified&&(v=x.getResponseHeader("Last-Modified"),v&&(ya.lastModified[f]=v),v=x.getResponseHeader("etag"),v&&(ya.etag[f]=v)),204===b||"HEAD"===o.type?w="nocontent":304===b?w="notmodified":(w=u.state,m=u.data,n=u.error,j=!n)):(n=w,(b||!w)&&(w="error",0>b&&(b=0))),x.status=b,x.statusText=(c||w)+"",j?r.resolveWith(p,[m,w,x]):r.rejectWith(p,[x,w,n]),x.statusCode(t),t=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[x,o,j?m:n]),s.fireWith(p,[x,w]),l&&(q.trigger("ajaxComplete",[x,o]),--ya.active||ya.event.trigger("ajaxStop")))}"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=ya.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?ya(p):ya.event,r=ya.Deferred(),s=ya.Callbacks("once memory"),t=o.statusCode||{},u={},v={},w="canceled",x={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h)for(h={};b=Wb.exec(g);)h[b[1].toLowerCase()+" "]=(h[b[1].toLowerCase()+" "]||[]).concat(b[2]);b=h[a.toLowerCase()+" "]}return null==b?null:b.join(", ")},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=v[a.toLowerCase()]=v[a.toLowerCase()]||a,u[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)x.always(a[x.status]);else for(b in a)t[b]=[t[b],a[b]];return this},abort:function(a){var b=a||w;return e&&e.abort(b),d(0,b),this}};if(r.promise(x),o.url=((b||o.url||Kb.href)+"").replace(Zb,Kb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(Qa)||[""],null==o.crossDomain){j=ua.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=bc.protocol+"//"+bc.host!=j.protocol+"//"+j.host}catch(y){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=ya.param(o.data,o.traditional)),ca($b,o,c,x),k)return x;l=ya.event&&o.global,l&&0===ya.active++&&ya.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Yb.test(o.type),f=o.url.replace(Ub,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Tb,"+")):(n=o.url.slice(f.length),o.data&&(o.processData||"string"==typeof o.data)&&(f+=(Mb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Vb,"$1"),n=(Mb.test(f)?"&":"?")+"_="+Lb.guid++ +n),o.url=f+n),o.ifModified&&(ya.lastModified[f]&&x.setRequestHeader("If-Modified-Since",ya.lastModified[f]),ya.etag[f]&&x.setRequestHeader("If-None-Match",ya.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",o.contentType),x.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+ac+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)x.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,x,o)===!1||k))return x.abort();if(w="abort",s.add(o.complete),x.done(o.success),x.fail(o.error),e=ca(_b,o,c,x)){if(x.readyState=1,l&&q.trigger("ajaxSend",[x,o]),k)return x;o.async&&o.timeout>0&&(i=a.setTimeout(function(){x.abort("timeout")},o.timeout));try{k=!1,e.send(u,d)}catch(y){if(k)throw y;d(-1,y)}}else d(-1,"No Transport");return x},getJSON:function(a,b,c){return ya.get(a,b,c,"json")},getScript:function(a,b){return ya.get(a,void 0,b,"script")}}),ya.each(["get","post"],function(a,b){ya[b]=function(a,c,d,e){return sa(c)&&(e=e||d,d=c,c=void 0),ya.ajax(ya.extend({url:a,type:b,dataType:e,data:c,success:d},ya.isPlainObject(a)&&a))}}),ya.ajaxPrefilter(function(a){var b;for(b in a.headers)"content-type"===b.toLowerCase()&&(a.contentType=a.headers[b]||"")}),ya._evalUrl=function(a,b,c){return ya.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(a){ya.globalEval(a,b,c)}})},ya.fn.extend({wrapAll:function(a){var b;return this[0]&&(sa(a)&&(a=a.call(this[0])),b=ya(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstElementChild;)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return sa(a)?this.each(function(b){ya(this).wrapInner(a.call(this,b))}):this.each(function(){var b=ya(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=sa(a);return this.each(function(c){ya(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){ya(this).replaceWith(this.childNodes)}),this}}),ya.expr.pseudos.hidden=function(a){return!ya.expr.pseudos.visible(a)},ya.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},ya.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var cc={0:200,1223:204},dc=ya.ajaxSettings.xhr();ra.cors=!!dc&&"withCredentials"in dc,ra.ajax=dc=!!dc,ya.ajaxTransport(function(b){var c,d;return ra.cors||dc&&!b.crossDomain?{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.ontimeout=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(cc[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=h.ontimeout=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}:void 0}),ya.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),ya.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return ya.globalEval(a),a}}}),ya.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),ya.ajaxTransport("script",function(a){if(a.crossDomain||a.scriptAttrs){var b,c;return{send:function(d,e){b=ya(" - - - - - - - +
      -
      + diff --git a/libs/features/mas/docs/checkout-link.html b/libs/features/mas/docs/checkout-link.html index a3df1d62740..6ef38eab748 100644 --- a/libs/features/mas/docs/checkout-link.html +++ b/libs/features/mas/docs/checkout-link.html @@ -6,6 +6,7 @@ M@S Web Components + - - - - + - - - - + - - - - + - - - - + - - - - + - - - -
      - + - + Buy now - + - + { const ccdSliceWideCard = document.querySelector('merch-card[variant="ccd-suggested"][background-image]'); expect(ccdSliceWideCard.getAttribute('variant')).to.equal('ccd-suggested'); expect(ccdSliceWideCard.getAttribute('background-image')).to.exist; + expect(ccdSliceWideCard.className).to.equal(''); + }); it('should have dark theme', async () => { diff --git a/nala/features/masccd/masccd.page.js b/nala/features/masccd/masccd.page.js index 58614d94f11..38047029a3a 100644 --- a/nala/features/masccd/masccd.page.js +++ b/nala/features/masccd/masccd.page.js @@ -13,7 +13,7 @@ export default class MasCCDPage { this.suggestedCardDescription = page.locator('div[slot="body-xs"] p').first(); this.suggestedCardLegalLink = page.locator('div[slot="body-xs"] p > a'); this.suggestedCardPrice = page.locator('p[slot="price"]'); - this.suggestedCardCTA = page.locator('div[slot="cta"] > sp-button'); + this.suggestedCardCTA = page.locator('div[slot="cta"] > button'); this.suggestedCardCTALink = page.locator('div[slot="cta"] a[is="checkout-link"]'); // slice cards this.sliceCard = page.locator('merch-card[variant="ccd-slice"]'); @@ -21,103 +21,127 @@ export default class MasCCDPage { this.sliceCardImage = page.locator('div[slot="image"] img'); this.sliceCardDescription = page.locator('div[slot="body-s"] p > strong').first(); this.sliceCardLegalLink = page.locator('div[slot="body-s"] p > a'); - this.sliceCardCTA = page.locator('div[slot="footer"] > sp-button'); + this.sliceCardCTA = page.locator('div[slot="footer"] > button'); this.sliceCardCTALink = page.locator('div[slot="footer"] a[is="checkout-link"]'); // Suggested card properties: this.suggestedCssProp = { light: { - 'background-color': 'rgb(248, 248, 248)', - 'border-bottom-color': 'rgb(230, 230, 230)', - 'border-left-color': 'rgb(230, 230, 230)', - 'border-right-color': 'rgb(230, 230, 230)', - 'border-top-color': 'rgb(230, 230, 230)', - 'color-scheme': 'light', + 'background-color': 'rgb(245, 245, 245)', + 'border-bottom-color': 'rgb(225, 225, 225)', + 'border-left-color': 'rgb(225, 225, 225)', + 'border-right-color': 'rgb(225, 225, 225)', + 'border-top-color': 'rgb(225, 225, 225)', width: '305px', 'min-height': '205px', // change to height when loading fonts is fixed }, dark: { - 'background-color': 'rgb(34, 34, 34)', - 'border-bottom-color': 'rgb(70, 70, 70)', - 'border-left-color': 'rgb(70, 70, 70)', - 'border-right-color': 'rgb(70, 70, 70)', - 'border-top-color': 'rgb(70, 70, 70)', - 'color-scheme': 'dark', + 'background-color': 'rgb(30, 30, 30)', + 'border-bottom-color': 'rgb(57, 57, 57)', + 'border-left-color': 'rgb(57, 57, 57)', + 'border-right-color': 'rgb(57, 57, 57)', + 'border-top-color': 'rgb(57, 57, 57)', width: '305px', 'min-height': '205px', // change to height when loading fonts is fixed }, icon: { width: '40px', - height: '40px', + height: '38px', }, title: { light: { - color: 'rgb(34, 34, 34)', + color: 'rgb(44, 44, 44)', 'font-size': '16px', 'font-weight': '700', + 'line-height': '20px', }, dark: { - // 'color': 'rgb(248, 248, 248)', // page not consistent with figma + color: 'rgb(239, 239, 239)', 'font-size': '16px', 'font-weight': '700', + 'line-height': '20px', }, }, eyebrow: { light: { - color: 'rgb(109, 109, 109)', + color: 'rgb(110, 110, 110)', 'font-size': '11px', 'font-weight': '700', + 'line-height': '14px', }, dark: { - // 'color': 'rgb(248, 248, 248)', // page not consistent with figma + color: 'rgb(162, 162, 162)', 'font-size': '11px', 'font-weight': '700', + 'line-height': '14px', }, }, description: { light: { - color: 'rgb(70, 70, 70)', + color: 'rgb(75, 75, 75)', 'font-size': '14px', 'font-weight': '400', + 'line-height': '21px', }, dark: { - color: 'rgb(248, 248, 248)', + color: 'rgb(200, 200, 200)', 'font-size': '14px', 'font-weight': '400', + 'line-height': '21px', }, }, legalLink: { - color: 'rgb(20, 122, 243)', // dark mode not consistent with figma - 'font-size': '12px', - 'font-weight': '400', + light: { + color: 'rgb(2, 101, 220)', + 'font-size': '12px', + 'font-weight': '400', + 'line-height': '18px', + }, + dark: { + color: 'rgb(94, 170, 247)', + 'font-size': '12px', + 'font-weight': '400', + 'line-height': '18px', + }, }, price: { light: { color: 'rgb(34, 34, 34)', 'font-size': '14px', 'font-weight': '400', + 'line-height': '21px', }, dark: { - // 'color': 'rgb(248, 248, 248)', // page not consistent with figma + color: 'rgb(248, 248, 248)', 'font-size': '14px', 'font-weight': '400', + 'line-height': '21px', }, }, strikethroughPrice: { - color: 'rgb(109, 109, 109)', - 'font-size': '14px', - 'font-weight': '400', - 'text-decoration-line': 'line-through', - 'text-decoration-color': 'rgb(109, 109, 109)', + light: { + color: 'rgb(109, 109, 109)', + 'font-size': '14px', + 'font-weight': '400', + 'text-decoration-line': 'line-through', + 'text-decoration-color': 'rgb(109, 109, 109)', + }, + dark: { + color: 'rgb(176, 176, 176)', + 'font-size': '14px', + 'font-weight': '400', + 'text-decoration-line': 'line-through', + 'text-decoration-color': 'rgb(176, 176, 176)', + }, }, cta: { light: { - // 'color': 'rgb(70, 70, 70)', // page not consistent with figma + color: 'rgb(34, 34, 34)', 'font-size': '14px', 'font-weight': '700', }, dark: { - color: 'rgb(230, 230, 230)', + color: 'rgb(235, 235, 235)', 'font-size': '14px', 'font-weight': '700', }, @@ -139,19 +163,17 @@ export default class MasCCDPage { 'border-left-color': 'rgb(230, 230, 230)', 'border-right-color': 'rgb(230, 230, 230)', 'border-top-color': 'rgb(230, 230, 230)', - 'color-scheme': 'light', }, dark: { - 'background-color': 'rgb(34, 34, 34)', - 'border-bottom-color': 'rgb(70, 70, 70)', - 'border-left-color': 'rgb(70, 70, 70)', - 'border-right-color': 'rgb(70, 70, 70)', - 'border-top-color': 'rgb(70, 70, 70)', - 'color-scheme': 'dark', + 'background-color': 'rgb(29, 29, 29)', + 'border-bottom-color': 'rgb(48, 48, 48)', + 'border-left-color': 'rgb(48, 48, 48)', + 'border-right-color': 'rgb(48, 48, 48)', + 'border-top-color': 'rgb(48, 48, 48)', }, icon: { width: '30px', - height: '30px', + height: '29px', }, badge: { 'background-color': 'rgb(248, 217, 4)', @@ -163,12 +185,14 @@ export default class MasCCDPage { light: { color: 'rgb(34, 34, 34)', 'font-size': '14px', - 'font-weight': '700', // fix in the code to be 700 and not strong + 'font-weight': '700', + 'line-height': '18px', }, dark: { - color: 'rgb(248, 248, 248)', + color: 'rgb(235, 235, 235)', 'font-size': '14px', 'font-weight': '700', + 'line-height': '18px', }, }, legalLink: { @@ -176,11 +200,13 @@ export default class MasCCDPage { color: 'rgb(34, 34, 34)', 'font-size': '12px', 'font-weight': '400', + 'line-height': '18px', }, dark: { - // 'color': 'rgb(248, 248, 248)', // page does not match figma + color: 'rgb(235, 235, 235)', 'font-size': '12px', 'font-weight': '400', + 'line-height': '18px', }, }, price: { @@ -188,19 +214,32 @@ export default class MasCCDPage { color: 'rgb(34, 34, 34)', 'font-size': '14px', 'font-weight': '700', + 'line-height': '18px', }, dark: { - color: 'rgb(248, 248, 248)', + color: 'rgb(235, 235, 235)', 'font-size': '14px', 'font-weight': '700', + 'line-height': '18px', }, }, strikethroughPrice: { - color: 'rgb(109, 109, 109)', - 'font-size': '14px', - 'font-weight': '400', - 'text-decoration-line': 'line-through', - 'text-decoration-color': 'rgb(109, 109, 109)', + light: { + color: 'rgb(109, 109, 109)', + 'font-size': '14px', + 'font-weight': '400', + 'line-height': '18px', + 'text-decoration-color': 'rgb(109, 109, 109)', + 'text-decoration-line': 'line-through', + }, + dark: { + color: 'rgb(176, 176, 176)', + 'font-size': '14px', + 'font-weight': '400', + 'line-height': '18px', + 'text-decoration-color': 'rgb(176, 176, 176)', + 'text-decoration-line': 'line-through', + }, }, cta: { light: { @@ -210,7 +249,7 @@ export default class MasCCDPage { 'font-weight': '700', }, dark: { - 'background-color': 'rgb(3, 103, 224)', + 'background-color': 'rgb(6, 108, 231)', color: 'rgb(255, 255, 255)', 'font-size': '12px', 'font-weight': '700', diff --git a/nala/features/masccd/masccd.spec.js b/nala/features/masccd/masccd.spec.js index 6e170fd55d6..ea012fbb6d5 100644 --- a/nala/features/masccd/masccd.spec.js +++ b/nala/features/masccd/masccd.spec.js @@ -18,7 +18,7 @@ module.exports = { offerid: '30404A88D89A328584307175B8B27616', iconUrl: '', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @suggested-card @commerce @smoke @regression @milo', }, { @@ -39,11 +39,11 @@ module.exports = { iconUrl: '', cardDaaLH: 'ccsn', linkAnalyticsId: 'see-terms', - linkDaaLL: 'see-terms-2', + linkDaaLL: 'see-terms-1', ctaAnalyticsId: 'buy-now', - ctaDaaLL: 'buy-now-1', + ctaDaaLL: 'buy-now-2', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @suggested-card @commerce @smoke @regression @milo', }, { @@ -59,7 +59,7 @@ module.exports = { offerid: 'D5349E66BACCC8C1B3C1EA63348ED949', iconUrl: '', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @suggested-card @commerce @smoke @regression @milo', }, { @@ -77,7 +77,7 @@ module.exports = { background: 'media_1d63dab9ee1edbf371d6f0548516c9e12b3ea3ff4.png', iconUrl: '', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @suggested-card @commerce @smoke @regression @milo', }, { @@ -97,7 +97,7 @@ module.exports = { iconUrl: '', background: 'media_1d63dab9ee1edbf371d6f0548516c9e12b3ea3ff4.png', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @suggested-card @commerce @smoke @regression @milo', }, { @@ -114,7 +114,7 @@ module.exports = { background: 'media_1d63dab9ee1edbf371d6f0548516c9e12b3ea3ff4.png', iconUrl: '', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @suggested-card @commerce @smoke @regression @milo', }, { @@ -134,7 +134,7 @@ module.exports = { background: 'media_196e39eda2ba7ce0343ec138f3e3e41e5adcb787f.png', iconUrl: '', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @suggested-card @commerce @smoke @regression @milo', }, { @@ -151,7 +151,7 @@ module.exports = { background: 'media_196e39eda2ba7ce0343ec138f3e3e41e5adcb787f.png', iconUrl: '', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @suggested-card @commerce @smoke @regression @milo', }, // SLICE CARDS - SINGLE WIDTH @@ -171,7 +171,7 @@ module.exports = { ctadDaaLL: 'buy-now-1', ctaAnalyticsId: 'buy-now', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @slice-card @slice-single @commerce @smoke @regression @milo', }, { @@ -188,7 +188,7 @@ module.exports = { iconLink1: 'https://www.adobe.com/products/photoshop.html', iconLink2: 'https://www.adobe.com/products/photoshop-lightroom.html', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @slice-card @slice-single @commerce @smoke @regression @milo', }, { @@ -206,7 +206,7 @@ module.exports = { background: 'media_1526ec63ba66eead46d7bde733ac7c4e994d829f1.png', // iconLink: '', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @slice-card @slice-single @commerce @smoke @regression @milo', }, { @@ -224,7 +224,7 @@ module.exports = { background: 'media-1508e7aec70760ac0ac13d9152f8030c1b67f70bf.png', // iconLink: '', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @slice-card @slice-single @commerce @smoke @regression @milo', }, { @@ -241,7 +241,7 @@ module.exports = { background: '2024-10-16-17-03-43.jpg', // iconLink: '', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @slice-card @slice-single @commerce @smoke @regression @milo', }, { @@ -258,7 +258,7 @@ module.exports = { background: 'media_158c1c22b1322dd28d7912d30fb27f29aa79f79b1.png', // iconLink: '', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @slice-card @slice-single @commerce @smoke @regression @milo', }, // SLICE CARDS - WIDE (DOUBLE) WIDTH @@ -277,11 +277,11 @@ module.exports = { // iconLink: '', cardDaaLH: 'ccsn', linkAnalyticsId: 'see-terms', - linkDaaLL: 'see-terms-2', + linkDaaLL: 'see-terms-1', ctaAnalyticsId: 'register-now', - ctaDaaLL: 'register-now-1', + ctaDaaLL: 'register-now-2', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @slice-card @slice-wide @commerce @smoke @regression @milo', }, { @@ -299,7 +299,7 @@ module.exports = { background: 'media_10bef5ec21c22fd7fe201cb02735082df13bf4960.jpeg', // iconLink: '', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @slice-card @slice-wide @commerce @smoke @regression @milo', }, { @@ -317,7 +317,7 @@ module.exports = { background: 'media_10bef5ec21c22fd7fe201cb02735082df13bf4960.jpeg', // iconLink: '', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @slice-card @slice-wide @commerce @smoke @regression @milo', }, { @@ -336,7 +336,7 @@ module.exports = { background: 'media_10bef5ec21c22fd7fe201cb02735082df13bf4960.jpeg', // iconLink: '', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @slice-card @slice-wide @commerce @smoke @regression @milo', }, { @@ -354,7 +354,7 @@ module.exports = { background: 'media_158c1c22b1322dd28d7912d30fb27f29aa79f79b1.png', // iconLink: '', }, - browserParams: '?theme=dark', + browserParams: '?theme=darkest', tags: '@mas-ccd @slice-card @slice-wide @commerce @smoke @regression @milo', }, ], diff --git a/nala/features/masccd/masccd.test.js b/nala/features/masccd/masccd.test.js index 280faa1d682..5cd4c1bb1eb 100644 --- a/nala/features/masccd/masccd.test.js +++ b/nala/features/masccd/masccd.test.js @@ -48,7 +48,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardPrice(data.id, 'suggested')).toBeVisible(); await expect(await CCD.getCardPrice(data.id, 'suggested')).toContainText(data.price); await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('variant', 'primary'); + await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', /.*/); @@ -65,10 +65,10 @@ test.describe('CCD Merchcard feature test suite', () => { }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[0].path}${features[0].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[0].path}${features[0].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[0].path}${features[0].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[0].path}${features[0].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -114,7 +114,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardPrice(data.id, 'suggested')).toContainText(data.price); await expect(await CCD.getCardPrice(data.id, 'suggested')).toContainText(data.strikethroughPrice); await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('variant', 'primary'); + await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', data.ctaAnalyticsId); @@ -127,17 +127,17 @@ test.describe('CCD Merchcard feature test suite', () => { expect(await webUtil.verifyCSS(await CCD.getCardEyebrow(data.id, 'suggested'), CCD.suggestedCssProp.eyebrow.light)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardTitle(data.id, 'suggested'), CCD.suggestedCssProp.title.light)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardDescription(data.id, 'suggested'), CCD.suggestedCssProp.description.light)).toBeTruthy(); - expect(await webUtil.verifyCSS(await CCD.getCardLegalLink(data.id, 'suggested'), CCD.suggestedCssProp.legalLink)).toBeTruthy(); + expect(await webUtil.verifyCSS(await CCD.getCardLegalLink(data.id, 'suggested'), CCD.suggestedCssProp.legalLink.light)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardPrice(data.id, 'suggested'), CCD.suggestedCssProp.price.light)).toBeTruthy(); - expect(await webUtil.verifyCSS(await CCD.getCardPriceStrikethrough(data.id, 'suggested'), CCD.suggestedCssProp.strikethroughPrice)).toBeTruthy(); + expect(await webUtil.verifyCSS(await CCD.getCardPriceStrikethrough(data.id, 'suggested'), CCD.suggestedCssProp.strikethroughPrice.light)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardCTA(data.id, 'suggested'), CCD.suggestedCssProp.cta.light)).toBeTruthy(); }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[1].path}${features[1].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[1].path}${features[1].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[1].path}${features[1].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[1].path}${features[1].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -146,10 +146,10 @@ test.describe('CCD Merchcard feature test suite', () => { expect(await webUtil.verifyCSS(await CCD.getCardIcon(data.id, 'suggested'), CCD.suggestedCssProp.icon)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardEyebrow(data.id, 'suggested'), CCD.suggestedCssProp.eyebrow.dark)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardTitle(data.id, 'suggested'), CCD.suggestedCssProp.title.dark)).toBeTruthy(); - // expect(await webUtil.verifyCSS(await CCD.getCardLegalLink(data.id, "suggested"), CCD.suggestedCssProp.legalLink)).toBeTruthy(); + expect(await webUtil.verifyCSS(await CCD.getCardLegalLink(data.id, 'suggested'), CCD.suggestedCssProp.legalLink.dark)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardDescription(data.id, 'suggested'), CCD.suggestedCssProp.description.dark)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardPrice(data.id, 'suggested'), CCD.suggestedCssProp.price.dark)).toBeTruthy(); - expect(await webUtil.verifyCSS(await CCD.getCardPriceStrikethrough(data.id, 'suggested'), CCD.suggestedCssProp.strikethroughPrice)).toBeTruthy(); + expect(await webUtil.verifyCSS(await CCD.getCardPriceStrikethrough(data.id, 'suggested'), CCD.suggestedCssProp.strikethroughPrice.dark)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardCTA(data.id, 'suggested'), CCD.suggestedCssProp.cta.dark)).toBeTruthy(); }); }); @@ -181,7 +181,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardPrice(data.id, 'suggested')).toContainText(data.price); expect(await (await CCD.getCardPrice(data.id, 'suggested')).locator('.price-unit-type').innerText()).not.toBe(''); await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('variant', 'primary'); + await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', /.*/); @@ -198,10 +198,10 @@ test.describe('CCD Merchcard feature test suite', () => { }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[2].path}${features[2].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[2].path}${features[2].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[2].path}${features[2].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[2].path}${features[2].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -242,7 +242,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardPrice(data.id, 'suggested')).toBeVisible(); await expect(await CCD.getCardPrice(data.id, 'suggested')).toContainText(data.price); await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('variant', 'primary'); + await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', /.*/); @@ -260,10 +260,10 @@ test.describe('CCD Merchcard feature test suite', () => { }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[0].path}${features[0].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[0].path}${features[0].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[0].path}${features[0].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[0].path}${features[0].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -308,7 +308,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardPrice(data.id, 'suggested')).toContainText(data.price); await expect(await CCD.getCardPrice(data.id, 'suggested')).toContainText('Starting at'); await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('variant', 'primary'); + await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', /.*/); @@ -321,16 +321,16 @@ test.describe('CCD Merchcard feature test suite', () => { expect(await webUtil.verifyCSS(await CCD.getCardEyebrow(data.id, 'suggested'), CCD.suggestedCssProp.eyebrow.light)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardTitle(data.id, 'suggested'), CCD.suggestedCssProp.title.light)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardDescription(data.id, 'suggested'), CCD.suggestedCssProp.description.light)).toBeTruthy(); - expect(await webUtil.verifyCSS(await CCD.getCardLegalLink(data.id, 'suggested'), CCD.suggestedCssProp.legalLink)).toBeTruthy(); + expect(await webUtil.verifyCSS(await CCD.getCardLegalLink(data.id, 'suggested'), CCD.suggestedCssProp.legalLink.light)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardPrice(data.id, 'suggested'), CCD.suggestedCssProp.price.light)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardCTA(data.id, 'suggested'), CCD.suggestedCssProp.cta.light)).toBeTruthy(); }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[4].path}${features[4].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[4].path}${features[4].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[4].path}${features[4].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[4].path}${features[4].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -339,7 +339,7 @@ test.describe('CCD Merchcard feature test suite', () => { expect(await webUtil.verifyCSS(await CCD.getCardIcon(data.id, 'suggested'), CCD.suggestedCssProp.icon)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardEyebrow(data.id, 'suggested'), CCD.suggestedCssProp.eyebrow.dark)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardTitle(data.id, 'suggested'), CCD.suggestedCssProp.title.dark)).toBeTruthy(); - // expect(await webUtil.verifyCSS(await CCD.getCardLegalLink(data.id, "suggested"), CCD.suggestedCssProp.legalLink)).toBeTruthy(); + expect(await webUtil.verifyCSS(await CCD.getCardLegalLink(data.id, 'suggested'), CCD.suggestedCssProp.legalLink.dark)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardDescription(data.id, 'suggested'), CCD.suggestedCssProp.description.dark)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardPrice(data.id, 'suggested'), CCD.suggestedCssProp.price.dark)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardCTA(data.id, 'suggested'), CCD.suggestedCssProp.cta.dark)).toBeTruthy(); @@ -373,7 +373,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardPrice(data.id, 'suggested')).toContainText(data.price); expect(await (await CCD.getCardPrice(data.id, 'suggested')).locator('.price-unit-type').innerText()).not.toBe(''); await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('variant', 'primary'); + await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', /.*/); @@ -390,10 +390,10 @@ test.describe('CCD Merchcard feature test suite', () => { }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[5].path}${features[5].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[5].path}${features[5].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[5].path}${features[5].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[5].path}${features[5].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -436,7 +436,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardPrice(data.id, 'suggested')).toBeVisible(); await expect(await CCD.getCardPrice(data.id, 'suggested')).toContainText(data.price); await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('variant', 'primary'); + await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', /.*/); @@ -449,16 +449,16 @@ test.describe('CCD Merchcard feature test suite', () => { expect(await webUtil.verifyCSS(await CCD.getCardEyebrow(data.id, 'suggested'), CCD.suggestedCssProp.eyebrow.light)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardTitle(data.id, 'suggested'), CCD.suggestedCssProp.title.light)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardDescription(data.id, 'suggested'), CCD.suggestedCssProp.description.light)).toBeTruthy(); - expect(await webUtil.verifyCSS(await CCD.getCardLegalLink(data.id, 'suggested'), CCD.suggestedCssProp.legalLink)).toBeTruthy(); + expect(await webUtil.verifyCSS(await CCD.getCardLegalLink(data.id, 'suggested'), CCD.suggestedCssProp.legalLink.light)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardPrice(data.id, 'suggested'), CCD.suggestedCssProp.price.light)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardCTA(data.id, 'suggested'), CCD.suggestedCssProp.cta.light)).toBeTruthy(); }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[6].path}${features[6].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[6].path}${features[6].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[6].path}${features[6].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[6].path}${features[6].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -467,7 +467,7 @@ test.describe('CCD Merchcard feature test suite', () => { expect(await webUtil.verifyCSS(await CCD.getCardIcon(data.id, 'suggested'), CCD.suggestedCssProp.icon)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardEyebrow(data.id, 'suggested'), CCD.suggestedCssProp.eyebrow.dark)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardTitle(data.id, 'suggested'), CCD.suggestedCssProp.title.dark)).toBeTruthy(); - // expect(await webUtil.verifyCSS(await CCD.getCardLegalLink(data.id, "suggested"), CCD.suggestedCssProp.legalLink)).toBeTruthy(); + expect(await webUtil.verifyCSS(await CCD.getCardLegalLink(data.id, 'suggested'), CCD.suggestedCssProp.legalLink.dark)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardDescription(data.id, 'suggested'), CCD.suggestedCssProp.description.dark)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardPrice(data.id, 'suggested'), CCD.suggestedCssProp.price.dark)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardCTA(data.id, 'suggested'), CCD.suggestedCssProp.cta.dark)).toBeTruthy(); @@ -502,7 +502,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardPrice(data.id, 'suggested')).toContainText(data.price); expect(await (await CCD.getCardPrice(data.id, 'suggested')).locator('.price-unit-type').innerText()).not.toBe(''); await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('variant', 'primary'); + await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', /.*/); @@ -519,10 +519,10 @@ test.describe('CCD Merchcard feature test suite', () => { }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[7].path}${features[7].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[7].path}${features[7].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[7].path}${features[7].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[7].path}${features[7].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -564,7 +564,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardLegalLink(data.id, 'slice')).not.toBeVisible(); await expect(await CCD.getCardPrice(data.id, 'slice')).not.toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'slice')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('variant', 'accent'); + await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('data-analytics-id', data.ctaAnalyticsId); @@ -580,10 +580,10 @@ test.describe('CCD Merchcard feature test suite', () => { }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[8].path}${features[8].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[8].path}${features[8].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[8].path}${features[8].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[8].path}${features[8].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -626,7 +626,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardPrice(data.id, 'slice')).toBeVisible(); await expect(await CCD.getCardPrice(data.id, 'slice')).toContainText(data.price); await expect(await CCD.getCardCTA(data.id, 'slice')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('variant', 'accent'); + await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('data-analytics-id', /.*/); @@ -644,10 +644,10 @@ test.describe('CCD Merchcard feature test suite', () => { }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[9].path}${features[9].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[9].path}${features[9].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[9].path}${features[9].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[9].path}${features[9].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -691,7 +691,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardPrice(data.id, 'slice')).toBeVisible(); await expect(await CCD.getCardPrice(data.id, 'slice')).toContainText(data.price); await expect(await CCD.getCardCTA(data.id, 'slice')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('variant', 'accent'); + await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('data-analytics-id', /.*/); @@ -708,10 +708,10 @@ test.describe('CCD Merchcard feature test suite', () => { }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[10].path}${features[10].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[10].path}${features[10].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[10].path}${features[10].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[10].path}${features[10].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -754,7 +754,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardLegalLink(data.id, 'slice')).toHaveAttribute('data-analytics-id', /.*/); await expect(await CCD.getCardPrice(data.id, 'slice')).not.toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'slice')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('variant', 'accent'); + await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('data-analytics-id', /.*/); @@ -770,10 +770,10 @@ test.describe('CCD Merchcard feature test suite', () => { }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[11].path}${features[11].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[11].path}${features[11].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[11].path}${features[11].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[11].path}${features[11].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -813,7 +813,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardLegalLink(data.id, 'slice')).toHaveAttribute('data-analytics-id', /.*/); await expect(await CCD.getCardPrice(data.id, 'slice')).not.toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'slice')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('variant', 'accent'); + await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('data-analytics-id', /.*/); @@ -828,10 +828,10 @@ test.describe('CCD Merchcard feature test suite', () => { }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[12].path}${features[12].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[12].path}${features[12].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[12].path}${features[12].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[12].path}${features[12].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -871,7 +871,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardPrice(data.id, 'slice')).toBeVisible(); await expect(await CCD.getCardPrice(data.id, 'slice')).toContainText(data.price); await expect(await CCD.getCardCTA(data.id, 'slice')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('variant', 'accent'); + await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('data-analytics-id', /.*/); @@ -888,10 +888,10 @@ test.describe('CCD Merchcard feature test suite', () => { }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[13].path}${features[13].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[13].path}${features[13].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[13].path}${features[13].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[13].path}${features[13].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -936,7 +936,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardLegalLink(data.id, 'slice-wide')).toHaveAttribute('data-analytics-id', data.linkAnalyticsId); await expect(await CCD.getCardLegalLink(data.id, 'slice-wide')).toHaveAttribute('daa-ll', data.linkDaaLL); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toHaveAttribute('variant', 'accent'); + await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toContainText(data.cta); // await expect(await CCD.getCardCTALink(data.id, "slice-wide")).toHaveAttribute('href', new RegExp(`${data.offerid}`)); // await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('data-analytics-id', /.*/); @@ -953,10 +953,10 @@ test.describe('CCD Merchcard feature test suite', () => { }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[14].path}${features[14].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[14].path}${features[14].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[14].path}${features[14].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[14].path}${features[14].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -998,7 +998,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardLegalLink(data.id, 'slice-wide')).toHaveAttribute('data-analytics-id', /.*/); await expect(await CCD.getCardPrice(data.id, 'slice-wide')).not.toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toHaveAttribute('variant', 'accent'); + await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('data-analytics-id', /.*/); @@ -1015,10 +1015,10 @@ test.describe('CCD Merchcard feature test suite', () => { }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[15].path}${features[15].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[15].path}${features[15].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[15].path}${features[15].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[15].path}${features[15].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -1061,7 +1061,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardPrice(data.id, 'slice-wide')).toBeVisible(); await expect(await CCD.getCardPrice(data.id, 'slice-wide')).toContainText(data.price); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toHaveAttribute('variant', 'accent'); + await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('data-analytics-id', /.*/); @@ -1078,10 +1078,10 @@ test.describe('CCD Merchcard feature test suite', () => { }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[16].path}${features[16].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[16].path}${features[16].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[16].path}${features[16].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[16].path}${features[16].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -1126,7 +1126,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardPriceStrikethrough(data.id, 'slice-wide')).toBeVisible(); await expect(await CCD.getCardPriceStrikethrough(data.id, 'slice-wide')).toContainText(data.strikethroughPrice); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toHaveAttribute('variant', 'accent'); + await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('data-analytics-id', /.*/); @@ -1139,15 +1139,15 @@ test.describe('CCD Merchcard feature test suite', () => { expect(await webUtil.verifyCSS(await CCD.getCardDescription(data.id, 'slice-wide'), CCD.sliceCssProp.description.light)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardLegalLink(data.id, 'slice-wide'), CCD.sliceCssProp.legalLink.light)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardPrice(data.id, 'slice-wide'), CCD.sliceCssProp.price.light)).toBeTruthy(); - expect(await webUtil.verifyCSS(await CCD.getCardPriceStrikethrough(data.id, 'slice-wide'), CCD.sliceCssProp.strikethroughPrice)).toBeTruthy(); + expect(await webUtil.verifyCSS(await CCD.getCardPriceStrikethrough(data.id, 'slice-wide'), CCD.sliceCssProp.strikethroughPrice.light)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardCTA(data.id, 'slice-wide'), CCD.sliceCssProp.cta.light)).toBeTruthy(); }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[17].path}${features[17].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[17].path}${features[17].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[17].path}${features[17].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[17].path}${features[17].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { @@ -1158,7 +1158,7 @@ test.describe('CCD Merchcard feature test suite', () => { expect(await webUtil.verifyCSS(await CCD.getCardLegalLink(data.id, 'slice-wide'), CCD.sliceCssProp.legalLink.dark)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardDescription(data.id, 'slice-wide'), CCD.sliceCssProp.description.dark)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardPrice(data.id, 'slice-wide'), CCD.sliceCssProp.price.dark)).toBeTruthy(); - expect(await webUtil.verifyCSS(await CCD.getCardPriceStrikethrough(data.id, 'slice-wide'), CCD.sliceCssProp.strikethroughPrice)).toBeTruthy(); + expect(await webUtil.verifyCSS(await CCD.getCardPriceStrikethrough(data.id, 'slice-wide'), CCD.sliceCssProp.strikethroughPrice.dark)).toBeTruthy(); expect(await webUtil.verifyCSS(await CCD.getCardCTA(data.id, 'slice-wide'), CCD.sliceCssProp.cta.dark)).toBeTruthy(); }); }); @@ -1190,7 +1190,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardPrice(data.id, 'slice-wide')).toBeVisible(); await expect(await CCD.getCardPrice(data.id, 'slice-wide')).toContainText(data.price); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toBeVisible(); - await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toHaveAttribute('variant', 'accent'); + await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toContainText(data.cta); await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('data-analytics-id', /.*/); @@ -1206,10 +1206,10 @@ test.describe('CCD Merchcard feature test suite', () => { }); await test.step('step-4: Go to CCD Merch Card feature test page in dark mode', async () => { - const darkThemePage = `${baseURL}${features[18].path}${features[18].browserParams}&${miloLibs}`; + const darkThemePage = `${baseURL}${features[18].path}${features[18].browserParams}`; await page.goto(darkThemePage); await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[18].path}${features[18].browserParams}&${miloLibs}`); + await expect(page).toHaveURL(`${baseURL}${features[18].path}${features[18].browserParams}`); }); await test.step('step-5: Verify CCD Merch Card spec', async () => { From ea9f4a9085ef6c6cb26dc2d747e8658a502a6598 Mon Sep 17 00:00:00 2001 From: Nicolas Peltier <1032754+npeltier@users.noreply.github.com> Date: Tue, 7 Jan 2025 10:16:59 +0100 Subject: [PATCH 39/86] MWPW-150560 make search literals usable as fragments (#3320) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * MWPW-150560 make search literals usable as fragments * Revert "MWPW-140452 - Icon authoring in milo using the federal repo a… (#3357) Revert "MWPW-140452 - Icon authoring in milo using the federal repo and individual SVG assets (#3259)" This reverts commit 81a5770cecc2a17f07efe5229c65b71d2dbb9bb4. * review comment * Update libs/blocks/merch-card-collection/merch-card-collection.js Co-authored-by: Mariia Lukianets * fix unit test --------- Co-authored-by: milo-pr-merge[bot] <169241390+milo-pr-merge[bot]@users.noreply.github.com> Co-authored-by: Okan Sahin <39759830+mokimo@users.noreply.github.com> Co-authored-by: Mariia Lukianets --- .../merch-card-collection.js | 13 ++++--- .../merch-card-collection.test.js | 6 ++++ .../mocks/merch-card-collection.html | 36 +++++++++++++++++++ 3 files changed, 50 insertions(+), 5 deletions(-) diff --git a/libs/blocks/merch-card-collection/merch-card-collection.js b/libs/blocks/merch-card-collection/merch-card-collection.js index 8e8b5bbffb0..6c2338fca79 100644 --- a/libs/blocks/merch-card-collection/merch-card-collection.js +++ b/libs/blocks/merch-card-collection/merch-card-collection.js @@ -269,11 +269,14 @@ export default async function init(el) { } } - const literalsEl = el.lastElementChild?.firstElementChild; + // in case of search literals being fragments, data is marked with a data-path attribute, + // and shallower + const literalsEl = el.lastElementChild?.firstElementChild?.getAttribute('data-path') !== null + ? el.lastElementChild : el.lastElementChild?.firstElementChild; // parse literals const literalSlots = []; - if (literalsEl && /filter/.test(literalsEl.querySelector('u')?.innerText)) { - literalsEl.querySelectorAll('u').forEach((u) => { + if (/filter/.test(literalsEl?.querySelector('u')?.innerText)) { + literalsEl?.querySelectorAll('u').forEach((u) => { const text = u.innerText.trim(); if (DIGITS_ONLY.test(text)) { u.outerHTML = ''; @@ -284,8 +287,8 @@ export default async function init(el) { } }); let index = 0; - while (literalsEl.firstElementChild) { - const literalEl = literalsEl.firstElementChild; + while (literalsEl?.firstElementChild) { + const literalEl = literalsEl?.firstElementChild; let slot; if (literalEl.tagName === 'P') { slot = literalEl; diff --git a/test/blocks/merch-card-collection/merch-card-collection.test.js b/test/blocks/merch-card-collection/merch-card-collection.test.js index 430669515ca..816bf97303f 100644 --- a/test/blocks/merch-card-collection/merch-card-collection.test.js +++ b/test/blocks/merch-card-collection/merch-card-collection.test.js @@ -159,6 +159,12 @@ describe('Merch Cards', async () => { expect(merchCards.outerHTML).to.equal(merchCards.nextElementSibling.outerHTML); }); + it('should parse fragmented literals', async () => { + const merchCards = await init(document.getElementById('fragmented-literals')); + await delay(500); + expect(merchCards.outerHTML).to.equal(merchCards.nextElementSibling.outerHTML); + }); + it('should override cards when asked to', async () => { const el = document.getElementById('multipleFilters'); setConfig({ diff --git a/test/blocks/merch-card-collection/mocks/merch-card-collection.html b/test/blocks/merch-card-collection/mocks/merch-card-collection.html index 659df59a77c..92f13680794 100644 --- a/test/blocks/merch-card-collection/mocks/merch-card-collection.html +++ b/test/blocks/merch-card-collection/mocks/merch-card-collection.html @@ -192,6 +192,42 @@
    • Make sure all words are spelled correctly
    • Use quotes to search for an entire phrase, such as "crop an image"

    Show more

    + +
    +
    + query index +

    all, 18

    +
    +
    +

    Search all products

    +

    Filters

    +

    Sort

    +

    Popularity

    +

    Alphabetical

    +

    0 results

    +

    1 result in filter

    +

    10 results in filter

    +

    1 result for search

    +

    10 results for search

    +

    1 result for: search

    +

    10 results for: search

    +

    Your search for search did not yield any results

    +
    +

    Your search for search did not yield any results. Try a different search term.

    +

    Suggestions:

    +
      +
    • Make sure all words are spelled correctly
    • +
    • Use quotes to search for an entire phrase, such as "crop an image"
    • +
    +
    +

    Show more

    +
    +
    + +

    Search all products

    Filters

    Sort

    Popularity

    Alphabetical

    0 results

    1 result in

    results in

    1 result for

    results for

    1 result for:

    results for:

    Your search for did not yield any results

    Your search for did not yield any results. Try a different search term.

    Suggestions:

      +
    • Make sure all words are spelled correctly
    • +
    • Use quotes to search for an entire phrase, such as "crop an image"
    • +

    Show more

    From 238caed4909cff1001daf6081abb61d9cd7523a0 Mon Sep 17 00:00:00 2001 From: Megan Thomas Date: Tue, 7 Jan 2025 01:17:07 -0800 Subject: [PATCH 40/86] MWPW-162046 Tabs - Stacked Mobile (#3351) * MWPW-162046 Tabs - Stacked Mobile * figma review adjustments * remove unused variable --- libs/blocks/tabs/tabs.css | 43 ++++++++++++++++++++++++++++++++ libs/blocks/tabs/tabs.js | 14 ++++++++--- test/blocks/tabs/mocks/body.html | 33 ++++++++++++++++++++++++ test/blocks/tabs/tabs.test.js | 12 +++++++++ 4 files changed, 99 insertions(+), 3 deletions(-) diff --git a/libs/blocks/tabs/tabs.css b/libs/blocks/tabs/tabs.css index 0efb1d762fe..889f517e9f3 100644 --- a/libs/blocks/tabs/tabs.css +++ b/libs/blocks/tabs/tabs.css @@ -493,3 +493,46 @@ top: 24px; } } + +@media screen and (max-width: 599px) { + .tabs.stacked-mobile div[role="tablist"] { + margin: 0; + } + + .tabs.stacked-mobile div[role="tablist"] .tab-list-container { + flex-direction: column; + margin: 30px auto; + } + + .tabs.stacked-mobile div[role="tablist"] button { + font-size: 20px; + white-space: unset; + word-wrap: break-word; + line-height: 25px; + padding: 8px; + border-radius: 0; + border: 0; + margin-bottom: 8px; + } + + .tabs.stacked-mobile div[role="tablist"] button:last-of-type { + margin-bottom: 0; + } + + .tabs.stacked-mobile div[role="tablist"] button[aria-selected="true"] { + background-color: #dadada; + } + + .tabs.stacked-mobile.dark div[role="tablist"] button[aria-selected="true"] { + background-color: #393939; + } + + .tabs.stacked-mobile.center div[role="tablist"] .tab-list-container { + width: 100%; + margin: 0 30px 30px; + } + + .tabs.stacked-mobile.quiet div[role="tablist"] button { + margin-inline-start: 0; + } +} diff --git a/libs/blocks/tabs/tabs.js b/libs/blocks/tabs/tabs.js index db4a367235c..b32e5bcbbed 100644 --- a/libs/blocks/tabs/tabs.js +++ b/libs/blocks/tabs/tabs.js @@ -34,10 +34,19 @@ const removeAttributes = (el, attrsKeys) => { attrsKeys.forEach((key) => el.removeAttribute(key)); }; +const scrollStackedMobile = (content) => { + if (!window.matchMedia('(max-width: 600px)').matches) return; + const rects = content.getBoundingClientRect(); + const navHeight = document.querySelector('.global-navigation, .gnav')?.scrollHeight || 0; + const topOffset = rects.top + window.scrollY - navHeight - 1; + window.scrollTo({ top: topOffset, behavior: 'smooth' }); +}; + function changeTabs(e) { const { target } = e; const parent = target.parentNode; const content = parent.parentNode.parentNode.lastElementChild; + const targetContent = content.querySelector(`#${target.getAttribute('aria-controls')}`); const blockId = target.closest('.tabs').id; parent .querySelectorAll(`[aria-selected="true"][data-block-id="${blockId}"]`) @@ -47,9 +56,8 @@ function changeTabs(e) { content .querySelectorAll(`[role="tabpanel"][data-block-id="${blockId}"]`) .forEach((p) => p.setAttribute('hidden', true)); - content - .querySelector(`#${target.getAttribute('aria-controls')}`) - .removeAttribute('hidden'); + targetContent.removeAttribute('hidden'); + scrollStackedMobile(targetContent); } function getStringKeyName(str) { diff --git a/test/blocks/tabs/mocks/body.html b/test/blocks/tabs/mocks/body.html index 2763172d120..9eb9c3f5992 100644 --- a/test/blocks/tabs/mocks/body.html +++ b/test/blocks/tabs/mocks/body.html @@ -306,3 +306,36 @@

    Tab by index label free

    + +
    +

    Stacked Mobile Tabs

    +
    +
    +
    +
      +
    • Tab, stacked-1
    • +
    • Tab, stacked-2
    • +
    +
    +
    +
    +
    +
    +

    Here is Tab 1

    + +
    +
    +

    Here is Tab 2

    + +
    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur posuere dignissim leo quis rhoncus. Suspendisse potenti. Nulla ac dolor dui. Vivamus posuere porttitor lectus, et vestibulum nisi varius cursus. Phasellus bibendum non lectus sit amet bibendum. Vivamus dapibus ultrices nisi. Praesent consequat lorem vitae gravida suscipit. Sed facilisis lacinia neque, ac tincidunt ex placerat a. Vivamus ultrices arcu sed laoreet tincidunt.

    diff --git a/test/blocks/tabs/tabs.test.js b/test/blocks/tabs/tabs.test.js index 541db35ba5d..d01de3cb9cf 100644 --- a/test/blocks/tabs/tabs.test.js +++ b/test/blocks/tabs/tabs.test.js @@ -94,4 +94,16 @@ describe('tabs', () => { expect(tabList.scrollLeft).to.equal(0); }); + + describe('stacked mobile variant', () => { + it('scrolls the window to the selected tab content', async () => { + setViewport({ width: MOBILE_WIDTH, height: HEIGHT }); + window.dispatchEvent(new Event('resize')); + const oldPosition = window.scrollY; + document.querySelector('#stacked-mobile .tabs button').click(); + await delay(50); + const newPosition = window.scrollY; + expect(newPosition).to.be.above(oldPosition); + }); + }); }); From e4f9999e6561e8f27e3462b7f4a626767b399752 Mon Sep 17 00:00:00 2001 From: Bozo Jovicic <37440641+bozojovicic@users.noreply.github.com> Date: Tue, 7 Jan 2025 10:17:16 +0100 Subject: [PATCH 41/86] MWPW-164084 [Catalog] Page position not preserved after closing the modal (#3375) * MWPW-164084 [Catalog] Page position not preserved after closing the modal * Trigger Build * MWPW-164084 [Catalog] Page position not preserved after closing the modal * MWPW-164084 [Catalog] Page position not preserved after closing the modal --------- Co-authored-by: Bozo Jovicic --- libs/blocks/merch/merch.js | 18 +++++++++++++++++- test/blocks/merch/merch.test.js | 30 ++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/libs/blocks/merch/merch.js b/libs/blocks/merch/merch.js index 744e1825a91..462cbc54ea8 100644 --- a/libs/blocks/merch/merch.js +++ b/libs/blocks/merch/merch.js @@ -489,7 +489,7 @@ export async function openModal(e, url, offerType, hash, extraOptions) { const prevHash = window.location.hash.replace('#', '') === hash ? '' : window.location.hash; window.location.hash = hash; window.addEventListener('milo:modal:closed', () => { - window.location.hash = prevHash; + window.history.pushState({}, document.title, `#${prevHash}`); }, { once: true }); } if (isInternalModal(url)) { @@ -747,3 +747,19 @@ export default async function init(el) { log.warn('Failed to get context:', { el }); return null; } + +export async function handleHashChange() { + const modalDialog = document.querySelector('.dialog-modal'); + if (window.location.hash) { + const modalId = window.location.hash.replace('#', ''); + const cta = document.querySelector(`.con-button[data-modal-id="${modalId}"]`); + if (!modalDialog) { + reopenModal(cta); + } + } else if (modalDialog) { + const { closeModal } = await import('../modal/modal.js'); + closeModal(modalDialog); + } +} + +window.addEventListener('hashchange', handleHashChange); diff --git a/test/blocks/merch/merch.test.js b/test/blocks/merch/merch.test.js index 0e2786d48ce..1017776a5b8 100644 --- a/test/blocks/merch/merch.test.js +++ b/test/blocks/merch/merch.test.js @@ -27,6 +27,7 @@ import merch, { reopenModal, setCtaHash, openModal, + handleHashChange, } from '../../../libs/blocks/merch/merch.js'; import { mockFetch, unmockFetch, readMockText } from './mocks/fetch.js'; @@ -471,6 +472,35 @@ describe('Merch Block', () => { }); }); + describe('function "handleHashChange"', () => { + afterEach(() => { + document.querySelector('.dialog-modal')?.remove(); + document.querySelector('.con-button')?.remove(); + }); + + it('reopen modal after hash change', () => { + const cta = document.createElement('a'); + cta.classList.add('con-button'); + cta.setAttribute('data-modal-id', 'try-phsp'); + const clickSpy = sinon.spy(cta, 'click'); + document.body.append(cta); + window.location.hash = 'try-phsp'; + + handleHashChange(); + expect(clickSpy.called).to.be.true; + window.location.hash = ''; + }); + + it('close modal after hash change', () => { + const div = document.createElement('div'); + div.classList.add('dialog-modal'); + div.setAttribute('id', 'try-phsp'); + document.body.append(div); + + handleHashChange(); + }); + }); + describe('function "buildCta"', () => { it('returns null if context params do not have osi', async () => { const el = document.createElement('a'); From d53dab78c7f7c3e603684d9ab94429ec3582d8f6 Mon Sep 17 00:00:00 2001 From: Robert Bogos <146744221+robert-bogos@users.noreply.github.com> Date: Tue, 7 Jan 2025 11:17:23 +0200 Subject: [PATCH 42/86] [MWPW-161858] Remove sticky section when footer is visible (#3402) remove sticky section when footer is visible --- libs/blocks/section-metadata/sticky-section.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libs/blocks/section-metadata/sticky-section.js b/libs/blocks/section-metadata/sticky-section.js index 2db43622eaa..38142dd8d64 100644 --- a/libs/blocks/section-metadata/sticky-section.js +++ b/libs/blocks/section-metadata/sticky-section.js @@ -6,6 +6,7 @@ function handleTopHeight(section) { section.style.top = `${headerHeight}px`; } +let isFooterStart = false; function promoIntersectObserve(el, stickySectionEl, options = {}) { const io = new IntersectionObserver((entries, observer) => { entries.forEach((entry) => { @@ -17,7 +18,8 @@ function promoIntersectObserve(el, stickySectionEl, options = {}) { const isPromoStart = entry.target === stickySectionEl; const abovePromoStart = (isPromoStart && entry.isIntersecting) || stickySectionEl?.getBoundingClientRect().y > 0; - if (entry.isIntersecting || abovePromoStart) el.classList.add('hide-sticky-section'); + if (entry.target === document.querySelector('footer')) isFooterStart = entry.isIntersecting; + if (entry.isIntersecting || abovePromoStart || isFooterStart) el.classList.add('hide-sticky-section'); else el.classList.remove('hide-sticky-section'); }); }, options); From e7fc8944ace7d0f7a619f2d8b51c54509bfb1c4d Mon Sep 17 00:00:00 2001 From: Brandon Marshall Date: Tue, 7 Jan 2025 01:17:30 -0800 Subject: [PATCH 43/86] MWPW-159299 Add chart role and dynamic aria labels (#3404) * MWPW-159299 Add chart role * Update echarts library and dynamically set aria text * Update aria settings --- libs/blocks/chart/chart.js | 46 +++++++++++++++++++++++---------- libs/deps/echarts.common.min.js | 4 +-- package-lock.json | 36 ++++++++++++++++++++++++++ package.json | 4 ++- test/blocks/chart/chart.test.js | 14 ++++++++++ 5 files changed, 87 insertions(+), 17 deletions(-) diff --git a/libs/blocks/chart/chart.js b/libs/blocks/chart/chart.js index c13a3a9278d..844386cc60b 100644 --- a/libs/blocks/chart/chart.js +++ b/libs/blocks/chart/chart.js @@ -8,7 +8,6 @@ import { formatExcelDate, } from './utils.js'; import getTheme from './chartLightTheme.js'; -import { replaceKey } from '../../features/placeholders.js'; export const SMALL = 'small'; export const MEDIUM = 'medium'; @@ -192,12 +191,13 @@ export const tooltipFormatter = (params, units) => { return tooltip; }; -export const barSeriesOptions = (chartType, hasOverride, firstDataset, colors, size, yUnits) => { +export const barSeriesOptions = (chartType, hasOverride, dimensions, colors, size, yUnits) => { const isLarge = size === LARGE; const isBar = chartType === 'bar'; - return firstDataset.map((value, index) => ({ + return dimensions.map((value, index) => ({ type: 'bar', + name: value, label: { show: isBar, formatter: `{@[${index + 1}]}${yUnits[0]}`, @@ -220,11 +220,12 @@ export const barSeriesOptions = (chartType, hasOverride, firstDataset, colors, s })); }; -export const lineSeriesOptions = (series, firstDataset, xUnit, yUnits) => { +export const lineSeriesOptions = (series, dimensions, xUnit, yUnits) => { const marks = processMarkData(series, xUnit); - return firstDataset.map((value, index) => { + return dimensions.map((value, index) => { let options = { + name: value, type: 'line', symbol: 'none', lineStyle: { width: 3 }, @@ -239,9 +240,10 @@ export const lineSeriesOptions = (series, firstDataset, xUnit, yUnits) => { }); }; -export const areaSeriesOptions = (firstDataset) => ( - firstDataset.map(() => ({ +export const areaSeriesOptions = (dimensions) => ( + dimensions.map((value) => ({ type: 'line', + name: value, symbol: 'none', areaStyle: { opacity: 1 }, stack: 'area', @@ -351,7 +353,7 @@ export const getChartOptions = ({ }) => { const hasOverride = headers ? hasPropertyCI(headers, 'color') : false; const source = dataset?.source; - const firstDataset = source?.[1]?.slice() || []; + const dimensions = source?.[0]?.slice() || []; const isBar = chartType === 'bar'; const isColumn = chartType === 'column'; const isPie = chartType === 'pie'; @@ -365,7 +367,7 @@ export const getChartOptions = ({ yUnits = units.length > 1 ? units.slice(1) : ['']; } - firstDataset.shift(); + dimensions.shift(); let bottomGrid = 90; @@ -387,6 +389,21 @@ export const getChartOptions = ({ inactiveColor: '#6C6C6C', type: 'scroll', }, + aria: { + enabled: true, + label: { + general: { withTitle: 'This is a chart' }, + series: { + maxCount: 1, + multiple: + { + prefix: '. It consists of {seriesCount} series count ', + withName: `with series ${dimensions.join(', ')}. `, + }, + }, + data: { separator: { middle: `${yUnits}, `, end: yUnits } }, + }, + }, title: isDonut ? donutTitleOptions(source, series, yUnits[0], size) : {}, tooltip: { show: true, @@ -431,10 +448,10 @@ export const getChartOptions = ({ ))(), series: (() => { if (isBar || isColumn) { - return barSeriesOptions(chartType, hasOverride, firstDataset, colors, size, yUnits); + return barSeriesOptions(chartType, hasOverride, dimensions, colors, size, yUnits); } - if (chartType === 'line') return lineSeriesOptions(series, firstDataset, xUnit, yUnits); - if (chartType === 'area') return areaSeriesOptions(firstDataset); + if (chartType === 'line') return lineSeriesOptions(series, dimensions, xUnit, yUnits); + if (chartType === 'area') return areaSeriesOptions(dimensions); if (isDonut) return donutSeriesOptions(size); if (isPie) return pieSeriesOptions(size); return []; @@ -464,6 +481,7 @@ const initChart = ({ const chart = window.echarts?.init(chartWrapper, themeName, { renderer: 'svg' }); chartWrapper.tabIndex = 0; + chartWrapper.role = 'img'; chart.setOption(chartOptions); if (chartType === 'donut') { @@ -642,6 +660,8 @@ const init = (el) => { `; chartWrapper.innerHTML = html; + chartWrapper.role = 'img'; + chartWrapper.ariaLabel = `${number} ${data?.subtitle}`; }) // eslint-disable-next-line no-console .catch((error) => console.log('Error loading script:', error)); @@ -692,8 +712,6 @@ const init = (el) => { observer.observe(el); } - const title = children[0]?.textContent.trim() || children[1]?.textContent.trim(); - chartWrapper.setAttribute('aria-label', `${await replaceKey(`${chartType}-chart`, config)}: ${title}`); /* c8 ignore next 4 */ window.addEventListener('resize', throttle( 1000, diff --git a/libs/deps/echarts.common.min.js b/libs/deps/echarts.common.min.js index a4665679d46..d74a9de58a7 100644 --- a/libs/deps/echarts.common.min.js +++ b/libs/deps/echarts.common.min.js @@ -32,7 +32,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ***************************************************************************** */var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,n)};function n(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}var i=function(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1},r=new function(){this.browser=new i,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow="undefined"!=typeof window};"object"==typeof wx&&"function"==typeof wx.getSystemInfoSync?(r.wxa=!0,r.touchEventsSupported=!0):"undefined"==typeof document&&"undefined"!=typeof self?r.worker=!0:"undefined"==typeof navigator?(r.node=!0,r.svgSupported=!0):function(t,e){var n=e.browser,i=t.match(/Firefox\/([\d.]+)/),r=t.match(/MSIE\s([\d.]+)/)||t.match(/Trident\/.+?rv:(([\d.]+))/),o=t.match(/Edge?\/([\d.]+)/),a=/micromessenger/i.test(t);i&&(n.firefox=!0,n.version=i[1]);r&&(n.ie=!0,n.version=r[1]);o&&(n.edge=!0,n.version=o[1],n.newEdge=+o[1].split(".")[0]>18);a&&(n.weChat=!0);e.svgSupported="undefined"!=typeof SVGRect,e.touchEventsSupported="ontouchstart"in window&&!n.ie&&!n.edge,e.pointerEventsSupported="onpointerdown"in window&&(n.edge||n.ie&&+n.version>=11),e.domSupported="undefined"!=typeof document;var s=document.documentElement.style;e.transform3dSupported=(n.ie&&"transition"in s||n.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in s)&&!("OTransition"in s),e.transformSupported=e.transform3dSupported||n.ie&&+n.version>=9}(navigator.userAgent,r);var o="sans-serif",a="12px sans-serif";var s,l,u=function(t){var e={};if("undefined"==typeof JSON)return e;for(var n=0;n=0)o=r*t.length;else for(var c=0;c>1)%2;a.style.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",i[s]+":0",r[l]+":0",i[1-s]+":auto",r[1-l]+":auto",""].join("!important;"),t.appendChild(a),n.push(a)}return n}(e,a),a,o);if(s)return s(t,n,i),!0}return!1}function jt(t){return"CANVAS"===t.nodeName.toUpperCase()}var qt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Kt=[],$t=r.browser.firefox&&+r.browser.version.split(".")[0]<39;function Qt(t,e,n,i){return n=n||{},i?Jt(t,e,n):$t&&null!=e.layerX&&e.layerX!==e.offsetX?(n.zrX=e.layerX,n.zrY=e.layerY):null!=e.offsetX?(n.zrX=e.offsetX,n.zrY=e.offsetY):Jt(t,e,n),n}function Jt(t,e,n){if(r.domSupported&&t.getBoundingClientRect){var i=e.clientX,o=e.clientY;if(jt(t)){var a=t.getBoundingClientRect();return n.zrX=i-a.left,void(n.zrY=o-a.top)}if(Xt(Kt,t,i,o))return n.zrX=Kt[0],void(n.zrY=Kt[1])}n.zrX=n.zrY=0}function te(t){return t||window.event}function ee(t,e,n){if(null!=(e=te(e)).zrX)return e;var i=e.type;if(i&&i.indexOf("touch")>=0){var r="touchend"!==i?e.targetTouches[0]:e.changedTouches[0];r&&Qt(t,r,e,n)}else{Qt(t,e,e,n);var o=function(t){var e=t.wheelDelta;if(e)return e;var n=t.deltaX,i=t.deltaY;if(null==n||null==i)return e;return 3*(0!==i?Math.abs(i):Math.abs(n))*(i>0?-1:i<0?1:n>0?-1:1)}(e);e.zrDelta=o?o/120:-(e.detail||0)/3}var a=e.button;return null==e.which&&void 0!==a&&qt.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e}function ne(t,e,n,i){t.addEventListener(e,n,i)}var ie=function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0};function re(t){return 2===t.which||3===t.which}var oe=function(){function t(){this._track=[]}return t.prototype.recognize=function(t,e,n){return this._doTrack(t,e,n),this._recognize(t)},t.prototype.clear=function(){return this._track.length=0,this},t.prototype._doTrack=function(t,e,n){var i=t.touches;if(i){for(var r={points:[],touches:[],target:e,event:t},o=0,a=i.length;o1&&r&&r.length>1){var a=ae(r)/ae(o);!isFinite(a)&&(a=1),e.pinchScale=a;var s=[((i=r)[0][0]+i[1][0])/2,(i[0][1]+i[1][1])/2];return e.pinchX=s[0],e.pinchY=s[1],{type:"pinch",target:t[0].target,event:e}}}}},le="silent";function ue(){ie(this.event)}var he=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.handler=null,e}return n(e,t),e.prototype.dispose=function(){},e.prototype.setCursor=function(){},e}(Wt),ce=function(t,e){this.x=t,this.y=e},pe=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],de=function(t){function e(e,n,i,r){var o=t.call(this)||this;return o._hovered=new ce(0,0),o.storage=e,o.painter=n,o.painterRoot=r,i=i||new he,o.proxy=null,o.setHandlerProxy(i),o._draggingMgr=new Ht(o),o}return n(e,t),e.prototype.setHandlerProxy=function(t){this.proxy&&this.proxy.dispose(),t&&(E(pe,(function(e){t.on&&t.on(e,this[e],this)}),this),t.handler=this),this.proxy=t},e.prototype.mousemove=function(t){var e=t.zrX,n=t.zrY,i=ge(this,e,n),r=this._hovered,o=r.target;o&&!o.__zr&&(o=(r=this.findHover(r.x,r.y)).target);var a=this._hovered=i?new ce(e,n):this.findHover(e,n),s=a.target,l=this.proxy;l.setCursor&&l.setCursor(s?s.cursor:"default"),o&&s!==o&&this.dispatchToElement(r,"mouseout",t),this.dispatchToElement(a,"mousemove",t),s&&s!==o&&this.dispatchToElement(a,"mouseover",t)},e.prototype.mouseout=function(t){var e=t.zrEventControl;"only_globalout"!==e&&this.dispatchToElement(this._hovered,"mouseout",t),"no_globalout"!==e&&this.trigger("globalout",{type:"globalout",event:t})},e.prototype.resize=function(){this._hovered=new ce(0,0)},e.prototype.dispatch=function(t,e){var n=this[t];n&&n.call(this,e)},e.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},e.prototype.setCursorStyle=function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},e.prototype.dispatchToElement=function(t,e,n){var i=(t=t||{}).target;if(!i||!i.silent){for(var r="on"+e,o=function(t,e,n){return{type:t,event:n,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:n.zrX,offsetY:n.zrY,gestureEvent:n.gestureEvent,pinchX:n.pinchX,pinchY:n.pinchY,pinchScale:n.pinchScale,wheelDelta:n.zrDelta,zrByTouch:n.zrByTouch,which:n.which,stop:ue}}(e,t,n);i&&(i[r]&&(o.cancelBubble=!!i[r].call(i,o)),i.trigger(e,o),i=i.__hostTarget?i.__hostTarget:i.parent,!o.cancelBubble););o.cancelBubble||(this.trigger(e,o),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer((function(t){"function"==typeof t[r]&&t[r].call(t,o),t.trigger&&t.trigger(e,o)})))}},e.prototype.findHover=function(t,e,n){for(var i=this.storage.getDisplayList(),r=new ce(t,e),o=i.length-1;o>=0;o--){var a=void 0;if(i[o]!==n&&!i[o].ignore&&(a=fe(i[o],t,e))&&(!r.topTarget&&(r.topTarget=i[o]),a!==le)){r.target=i[o];break}}return r},e.prototype.processGesture=function(t,e){this._gestureMgr||(this._gestureMgr=new oe);var n=this._gestureMgr;"start"===e&&n.clear();var i=n.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if("end"===e&&n.clear(),i){var r=i.type;t.gestureEvent=r;var o=new ce;o.target=i.target,this.dispatchToElement(o,r,i.event)}},e}(Wt);function fe(t,e,n){if(t[t.rectHover?"rectContain":"contain"](e,n)){for(var i=t,r=void 0,o=!1;i;){if(i.ignoreClip&&(o=!0),!o){var a=i.getClipPath();if(a&&!a.contain(e,n))return!1;i.silent&&(r=!0)}var s=i.__hostTarget;i=s||i.parent}return!r||le}return!1}function ge(t,e,n){var i=t.painter;return e<0||e>i.getWidth()||n<0||n>i.getHeight()}E(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],(function(t){de.prototype[t]=function(e){var n,i,r=e.zrX,o=e.zrY,a=ge(this,r,o);if("mouseup"===t&&a||(i=(n=this.findHover(r,o)).target),"mousedown"===t)this._downEl=i,this._downPoint=[e.zrX,e.zrY],this._upEl=i;else if("mouseup"===t)this._upEl=i;else if("click"===t){if(this._downEl!==this._upEl||!this._downPoint||Lt(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(n,t,e)}}));function ve(t,e,n,i){var r=e+1;if(r===n)return 1;if(i(t[r++],t[e])<0){for(;r=0;)r++;return r-e}function ye(t,e,n,i,r){for(i===e&&i++;i>>1])<0?l=o:s=o+1;var u=i-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=a}}function me(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])>0){for(s=i-r;l0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}else{for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}for(a++;a>>1);o(t,e[n+h])>0?a=h+1:l=h}return l}function _e(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])<0){for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}else{for(s=i-r;l=0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}for(a++;a>>1);o(t,e[n+h])<0?l=h:a=h+1}return l}function xe(t,e){var n,i,r=7,o=0;t.length;var a=[];function s(s){var l=n[s],u=i[s],h=n[s+1],c=i[s+1];i[s]=u+c,s===o-3&&(n[s+1]=n[s+2],i[s+1]=i[s+2]),o--;var p=_e(t[h],t,l,u,0,e);l+=p,0!==(u-=p)&&0!==(c=me(t[l+u-1],t,h,c,c-1,e))&&(u<=c?function(n,i,o,s){var l=0;for(l=0;l=7||d>=7);if(f)break;g<0&&(g=0),g+=2}if((r=g)<1&&(r=1),1===i){for(l=0;l=0;l--)t[d+l]=t[p+l];return void(t[c]=a[h])}var f=r;for(;;){var g=0,v=0,y=!1;do{if(e(a[h],t[u])<0){if(t[c--]=t[u--],g++,v=0,0==--i){y=!0;break}}else if(t[c--]=a[h--],v++,g=0,1==--s){y=!0;break}}while((g|v)=0;l--)t[d+l]=t[p+l];if(0===i){y=!0;break}}if(t[c--]=a[h--],1==--s){y=!0;break}if(0!==(v=s-me(t[u],a,0,s,s-1,e))){for(s-=v,d=(c-=v)+1,p=(h-=v)+1,l=0;l=7||v>=7);if(y)break;f<0&&(f=0),f+=2}(r=f)<1&&(r=1);if(1===s){for(d=(c-=i)+1,p=(u-=i)+1,l=i-1;l>=0;l--)t[d+l]=t[p+l];t[c]=a[h]}else{if(0===s)throw new Error;for(p=c-(s-1),l=0;l1;){var t=o-2;if(t>=1&&i[t-1]<=i[t]+i[t+1]||t>=2&&i[t-2]<=i[t]+i[t-1])i[t-1]i[t+1])break;s(t)}},forceMergeRuns:function(){for(;o>1;){var t=o-2;t>0&&i[t-1]=32;)e|=1&t,t>>=1;return t+e}(r);do{if((o=ve(t,n,i,e))s&&(l=s),ye(t,n,n+l,n+o,e),o=l}a.pushRun(n,o),a.mergeRuns(),r-=o,n+=o}while(0!==r);a.forceMergeRuns()}}}var be=!1;function Se(){be||(be=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function Me(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}var Ce=function(){function t(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=Me}return t.prototype.traverse=function(t,e){for(var n=0;n0&&(u.__clipPaths=[]),isNaN(u.z)&&(Se(),u.z=0),isNaN(u.z2)&&(Se(),u.z2=0),isNaN(u.zlevel)&&(Se(),u.zlevel=0),this._displayList[this._displayListLen++]=u}var h=t.getDecalElement&&t.getDecalElement();h&&this._updateAndAddDisplayable(h,e,n);var c=t.getTextGuideLine();c&&this._updateAndAddDisplayable(c,e,n);var p=t.getTextContent();p&&this._updateAndAddDisplayable(p,e,n)}},t.prototype.addRoot=function(t){t.__zr&&t.__zr.storage===this||this._roots.push(t)},t.prototype.delRoot=function(t){if(t instanceof Array)for(var e=0,n=t.length;e=0&&this._roots.splice(i,1)}},t.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},t.prototype.getRoots=function(){return this._roots},t.prototype.dispose=function(){this._displayList=null,this._roots=null},t}(),Ie=r.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(t){return setTimeout(t,16)},Te={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),-n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),n*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,n=.1,i=.4;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=i*Math.asin(1/n)/(2*Math.PI),(t*=2)<1?n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*-.5:n*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-Te.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*Te.bounceIn(2*t):.5*Te.bounceOut(2*t-1)+.5}},De=Math.pow,ke=Math.sqrt,Ae=1e-8,Pe=1e-4,Le=ke(3),Oe=1/3,Re=wt(),Ne=wt(),Ee=wt();function ze(t){return t>-1e-8&&tAe||t<-1e-8}function Ve(t,e,n,i,r){var o=1-r;return o*o*(o*t+3*r*e)+r*r*(r*i+3*o*n)}function Fe(t,e,n,i,r){var o=1-r;return 3*(((e-t)*o+2*(n-e)*r)*o+(i-n)*r*r)}function He(t,e,n,i,r,o){var a=i+3*(e-n)-t,s=3*(n-2*e+t),l=3*(e-t),u=t-r,h=s*s-3*a*l,c=s*l-9*a*u,p=l*l-3*s*u,d=0;if(ze(h)&&ze(c)){if(ze(s))o[0]=0;else(M=-l/s)>=0&&M<=1&&(o[d++]=M)}else{var f=c*c-4*h*p;if(ze(f)){var g=c/h,v=-g/2;(M=-s/a+g)>=0&&M<=1&&(o[d++]=M),v>=0&&v<=1&&(o[d++]=v)}else if(f>0){var y=ke(f),m=h*s+1.5*a*(-c+y),_=h*s+1.5*a*(-c-y);(M=(-s-((m=m<0?-De(-m,Oe):De(m,Oe))+(_=_<0?-De(-_,Oe):De(_,Oe))))/(3*a))>=0&&M<=1&&(o[d++]=M)}else{var x=(2*h*s-3*a*c)/(2*ke(h*h*h)),w=Math.acos(x)/3,b=ke(h),S=Math.cos(w),M=(-s-2*b*S)/(3*a),C=(v=(-s+b*(S+Le*Math.sin(w)))/(3*a),(-s+b*(S-Le*Math.sin(w)))/(3*a));M>=0&&M<=1&&(o[d++]=M),v>=0&&v<=1&&(o[d++]=v),C>=0&&C<=1&&(o[d++]=C)}}return d}function We(t,e,n,i,r){var o=6*n-12*e+6*t,a=9*e+3*i-3*t-9*n,s=3*e-3*t,l=0;if(ze(a)){if(Be(o))(h=-s/o)>=0&&h<=1&&(r[l++]=h)}else{var u=o*o-4*a*s;if(ze(u))r[0]=-o/(2*a);else if(u>0){var h,c=ke(u),p=(-o-c)/(2*a);(h=(-o+c)/(2*a))>=0&&h<=1&&(r[l++]=h),p>=0&&p<=1&&(r[l++]=p)}}return l}function Ge(t,e,n,i,r,o){var a=(e-t)*r+t,s=(n-e)*r+e,l=(i-n)*r+n,u=(s-a)*r+a,h=(l-s)*r+s,c=(h-u)*r+u;o[0]=t,o[1]=a,o[2]=u,o[3]=c,o[4]=c,o[5]=h,o[6]=l,o[7]=i}function Ue(t,e,n,i,r,o,a,s,l){for(var u=t,h=e,c=0,p=1/l,d=1;d<=l;d++){var f=d*p,g=Ve(t,n,r,a,f),v=Ve(e,i,o,s,f),y=g-u,m=v-h;c+=Math.sqrt(y*y+m*m),u=g,h=v}return c}function Ze(t,e,n,i){var r=1-i;return r*(r*t+2*i*e)+i*i*n}function Ye(t,e,n,i){return 2*((1-i)*(e-t)+i*(n-e))}function Xe(t,e,n){var i=t+n-2*e;return 0===i?.5:(t-e)/i}function je(t,e,n,i,r){var o=(e-t)*i+t,a=(n-e)*i+e,s=(a-o)*i+o;r[0]=t,r[1]=o,r[2]=s,r[3]=s,r[4]=a,r[5]=n}function qe(t,e,n,i,r,o,a){for(var s=t,l=e,u=0,h=1/a,c=1;c<=a;c++){var p=c*h,d=Ze(t,n,r,p),f=Ze(e,i,o,p),g=d-s,v=f-l;u+=Math.sqrt(g*g+v*v),s=d,l=f}return u}var Ke=/cubic-bezier\(([0-9,\.e ]+)\)/;function $e(t){var e=t&&Ke.exec(t);if(e){var n=e[1].split(","),i=+lt(n[0]),r=+lt(n[1]),o=+lt(n[2]),a=+lt(n[3]);if(isNaN(i+r+o+a))return;var s=[];return function(t){return t<=0?0:t>=1?1:He(0,i,o,1,t,s)&&Ve(0,r,a,1,s[0])}}}var Qe=function(){function t(t){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=t.life||1e3,this._delay=t.delay||0,this.loop=t.loop||!1,this.onframe=t.onframe||mt,this.ondestroy=t.ondestroy||mt,this.onrestart=t.onrestart||mt,t.easing&&this.setEasing(t.easing)}return t.prototype.step=function(t,e){if(this._inited||(this._startTime=t+this._delay,this._inited=!0),!this._paused){var n=this._life,i=t-this._startTime-this._pausedTime,r=i/n;r<0&&(r=0),r=Math.min(r,1);var o=this.easingFunc,a=o?o(r):r;if(this.onframe(a),1===r){if(!this.loop)return!0;var s=i%n;this._startTime=t-s,this._pausedTime=0,this.onrestart()}return!1}this._pausedTime+=e},t.prototype.pause=function(){this._paused=!0},t.prototype.resume=function(){this._paused=!1},t.prototype.setEasing=function(t){this.easing=t,this.easingFunc=U(t)?t:Te[t]||$e(t)},t}(),Je=function(t){this.value=t},tn=function(){function t(){this._len=0}return t.prototype.insert=function(t){var e=new Je(t);return this.insertEntry(e),e},t.prototype.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},t.prototype.remove=function(t){var e=t.prev,n=t.next;e?e.next=n:this.head=n,n?n.prev=e:this.tail=e,t.next=t.prev=null,this._len--},t.prototype.len=function(){return this._len},t.prototype.clear=function(){this.head=this.tail=null,this._len=0},t}(),en=function(){function t(t){this._list=new tn,this._maxSize=10,this._map={},this._maxSize=t}return t.prototype.put=function(t,e){var n=this._list,i=this._map,r=null;if(null==i[t]){var o=n.len(),a=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var s=n.head;n.remove(s),delete i[s.key],r=s.value,this._lastRemovedEntry=s}a?a.value=e:a=new Je(e),a.key=t,n.insertEntry(a),i[t]=a}return r},t.prototype.get=function(t){var e=this._map[t],n=this._list;if(null!=e)return e!==n.tail&&(n.remove(e),n.insertEntry(e)),e.value},t.prototype.clear=function(){this._list.clear(),this._map={}},t.prototype.len=function(){return this._list.len()},t}(),nn={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function rn(t){return(t=Math.round(t))<0?0:t>255?255:t}function on(t){return t<0?0:t>1?1:t}function an(t){var e=t;return e.length&&"%"===e.charAt(e.length-1)?rn(parseFloat(e)/100*255):rn(parseInt(e,10))}function sn(t){var e=t;return e.length&&"%"===e.charAt(e.length-1)?on(parseFloat(e)/100):on(parseFloat(e))}function ln(t,e,n){return n<0?n+=1:n>1&&(n-=1),6*n<1?t+(e-t)*n*6:2*n<1?e:3*n<2?t+(e-t)*(2/3-n)*6:t}function un(t,e,n){return t+(e-t)*n}function hn(t,e,n,i,r){return t[0]=e,t[1]=n,t[2]=i,t[3]=r,t}function cn(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}var pn=new en(20),dn=null;function fn(t,e){dn&&cn(dn,e),dn=pn.put(t,dn||e.slice())}function gn(t,e){if(t){e=e||[];var n=pn.get(t);if(n)return cn(e,n);var i=(t+="").replace(/ /g,"").toLowerCase();if(i in nn)return cn(e,nn[i]),fn(t,e),e;var r,o=i.length;if("#"===i.charAt(0))return 4===o||5===o?(r=parseInt(i.slice(1,4),16))>=0&&r<=4095?(hn(e,(3840&r)>>4|(3840&r)>>8,240&r|(240&r)>>4,15&r|(15&r)<<4,5===o?parseInt(i.slice(4),16)/15:1),fn(t,e),e):void hn(e,0,0,0,1):7===o||9===o?(r=parseInt(i.slice(1,7),16))>=0&&r<=16777215?(hn(e,(16711680&r)>>16,(65280&r)>>8,255&r,9===o?parseInt(i.slice(7),16)/255:1),fn(t,e),e):void hn(e,0,0,0,1):void 0;var a=i.indexOf("("),s=i.indexOf(")");if(-1!==a&&s+1===o){var l=i.substr(0,a),u=i.substr(a+1,s-(a+1)).split(","),h=1;switch(l){case"rgba":if(4!==u.length)return 3===u.length?hn(e,+u[0],+u[1],+u[2],1):hn(e,0,0,0,1);h=sn(u.pop());case"rgb":return 3!==u.length?void hn(e,0,0,0,1):(hn(e,an(u[0]),an(u[1]),an(u[2]),h),fn(t,e),e);case"hsla":return 4!==u.length?void hn(e,0,0,0,1):(u[3]=sn(u[3]),vn(u,e),fn(t,e),e);case"hsl":return 3!==u.length?void hn(e,0,0,0,1):(vn(u,e),fn(t,e),e);default:return}}hn(e,0,0,0,1)}}function vn(t,e){var n=(parseFloat(t[0])%360+360)%360/360,i=sn(t[1]),r=sn(t[2]),o=r<=.5?r*(i+1):r+i-r*i,a=2*r-o;return hn(e=e||[],rn(255*ln(a,o,n+1/3)),rn(255*ln(a,o,n)),rn(255*ln(a,o,n-1/3)),1),4===t.length&&(e[3]=t[3]),e}function yn(t,e){var n=gn(t);if(n){for(var i=0;i<3;i++)n[i]=e<0?n[i]*(1-e)|0:(255-n[i])*e+n[i]|0,n[i]>255?n[i]=255:n[i]<0&&(n[i]=0);return Sn(n,4===n.length?"rgba":"rgb")}}function mn(t,e,n){if(e&&e.length&&t>=0&&t<=1){n=n||[];var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=e[r],s=e[o],l=i-r;return n[0]=rn(un(a[0],s[0],l)),n[1]=rn(un(a[1],s[1],l)),n[2]=rn(un(a[2],s[2],l)),n[3]=on(un(a[3],s[3],l)),n}}var _n=mn;function xn(t,e,n){if(e&&e.length&&t>=0&&t<=1){var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=gn(e[r]),s=gn(e[o]),l=i-r,u=Sn([rn(un(a[0],s[0],l)),rn(un(a[1],s[1],l)),rn(un(a[2],s[2],l)),on(un(a[3],s[3],l))],"rgba");return n?{color:u,leftIndex:r,rightIndex:o,value:i}:u}}var wn=xn;function bn(t,e){var n=gn(t);if(n&&null!=e)return n[3]=on(e),Sn(n,"rgba")}function Sn(t,e){if(t&&t.length){var n=t[0]+","+t[1]+","+t[2];return"rgba"!==e&&"hsva"!==e&&"hsla"!==e||(n+=","+t[3]),e+"("+n+")"}}function Mn(t,e){var n=gn(t);return n?(.299*n[0]+.587*n[1]+.114*n[2])*n[3]/255+(1-n[3])*e:0}var Cn=Object.freeze({__proto__:null,parse:gn,lift:yn,toHex:function(t){var e=gn(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)},fastLerp:mn,fastMapToColor:_n,lerp:xn,mapToColor:wn,modifyHSL:function(t,e,n,i){var r,o=gn(t);if(t)return o=function(t){if(t){var e,n,i=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(i,r,o),s=Math.max(i,r,o),l=s-a,u=(s+a)/2;if(0===l)e=0,n=0;else{n=u<.5?l/(s+a):l/(2-s-a);var h=((s-i)/6+l/2)/l,c=((s-r)/6+l/2)/l,p=((s-o)/6+l/2)/l;i===s?e=p-c:r===s?e=1/3+h-p:o===s&&(e=2/3+c-h),e<0&&(e+=1),e>1&&(e-=1)}var d=[360*e,n,u];return null!=t[3]&&d.push(t[3]),d}}(o),null!=e&&(o[0]=(r=e,(r=Math.round(r))<0?0:r>360?360:r)),null!=n&&(o[1]=sn(n)),null!=i&&(o[2]=sn(i)),Sn(vn(o),"rgba")},modifyAlpha:bn,stringify:Sn,lum:Mn,random:function(){return Sn([Math.round(255*Math.random()),Math.round(255*Math.random()),Math.round(255*Math.random())],"rgb")}}),In=Math.round;function Tn(t){var e;if(t&&"transparent"!==t){if("string"==typeof t&&t.indexOf("rgba")>-1){var n=gn(t);n&&(t="rgb("+n[0]+","+n[1]+","+n[2]+")",e=n[3])}}else t="none";return{color:t,opacity:null==e?1:e}}var Dn=1e-4;function kn(t){return t-1e-4}function An(t){return In(1e3*t)/1e3}function Pn(t){return In(1e4*t)/1e4}var Ln={left:"start",right:"end",center:"middle",middle:"middle"};function On(t){return t&&!!t.image}function Rn(t){return"linear"===t.type}function Nn(t){return"radial"===t.type}function En(t){return"url(#"+t+")"}function zn(t){var e=t.getGlobalScale(),n=Math.max(e[0],e[1]);return Math.max(Math.ceil(Math.log(n)/Math.log(10)),1)}function Bn(t){var e=t.x||0,n=t.y||0,i=(t.rotation||0)*_t,r=it(t.scaleX,1),o=it(t.scaleY,1),a=t.skewX||0,s=t.skewY||0,l=[];return(e||n)&&l.push("translate("+e+"px,"+n+"px)"),i&&l.push("rotate("+i+")"),1===r&&1===o||l.push("scale("+r+","+o+")"),(a||s)&&l.push("skew("+In(a*_t)+"deg, "+In(s*_t)+"deg)"),l.join(" ")}var Vn=r.hasGlobalWindow&&U(window.btoa)?function(t){return window.btoa(unescape(t))}:"undefined"!=typeof Buffer?function(t){return Buffer.from(t).toString("base64")}:function(t){return null},Fn=Array.prototype.slice;function Hn(t,e,n){return(e-t)*n+t}function Wn(t,e,n,i){for(var r=e.length,o=0;oi?e:t,o=Math.min(n,i),a=r[o-1]||{color:[0,0,0,0],offset:0},s=o;sa)i.length=a;else for(var s=o;s=1},t.prototype.getAdditiveTrack=function(){return this._additiveTrack},t.prototype.addKeyframe=function(t,e,n){this._needsSort=!0;var i=this.keyframes,r=i.length,o=!1,a=6,s=e;if(N(e)){var l=function(t){return N(t&&t[0])?2:1}(e);a=l,(1===l&&!X(e[0])||2===l&&!X(e[0][0]))&&(o=!0)}else if(X(e)&&!et(e))a=0;else if(Z(e))if(isNaN(+e)){var u=gn(e);u&&(s=u,a=3)}else a=0;else if(Q(e)){var h=k({},s);h.colorStops=z(e.colorStops,(function(t){return{offset:t.offset,color:gn(t.color)}})),Rn(e)?a=4:Nn(e)&&(a=5),s=h}0===r?this.valType=a:a===this.valType&&6!==a||(o=!0),this.discrete=this.discrete||o;var c={time:t,value:s,rawValue:e,percent:0};return n&&(c.easing=n,c.easingFunc=U(n)?n:Te[n]||$e(n)),i.push(c),c},t.prototype.prepare=function(t,e){var n=this.keyframes;this._needsSort&&n.sort((function(t,e){return t.time-e.time}));for(var i=this.valType,r=n.length,o=n[r-1],a=this.discrete,s=Kn(i),l=qn(i),u=0;u=0&&!(l[n].percent<=e);n--);n=d(n,u-2)}else{for(n=p;ne);n++);n=d(n-1,u-2)}r=l[n+1],i=l[n]}if(i&&r){this._lastFr=n,this._lastFrP=e;var f=r.percent-i.percent,g=0===f?1:d((e-i.percent)/f,1);r.easingFunc&&(g=r.easingFunc(g));var v=o?this._additiveValue:c?$n:t[h];if(!Kn(s)&&!c||v||(v=this._additiveValue=[]),this.discrete)t[h]=g<1?i.rawValue:r.rawValue;else if(Kn(s))1===s?Wn(v,i[a],r[a],g):function(t,e,n,i){for(var r=e.length,o=r&&e[0].length,a=0;a0&&s.addKeyframe(0,Xn(l),i),this._trackKeys.push(a)}s.addKeyframe(t,Xn(e[a]),i)}return this._maxTime=Math.max(this._maxTime,t),this},t.prototype.pause=function(){this._clip.pause(),this._paused=!0},t.prototype.resume=function(){this._clip.resume(),this._paused=!1},t.prototype.isPaused=function(){return!!this._paused},t.prototype.duration=function(t){return this._maxTime=t,this._force=!0,this},t.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var t=this._doneCbs;if(t)for(var e=t.length,n=0;n0)){this._started=1;for(var e=this,n=[],i=this._maxTime||0,r=0;r1){var a=o.pop();r.addKeyframe(a.time,t[i]),r.prepare(this._maxTime,r.getAdditiveTrack())}}}},t}();function ti(){return(new Date).getTime()}var ei,ni,ii=function(t){function e(e){var n=t.call(this)||this;return n._running=!1,n._time=0,n._pausedTime=0,n._pauseStart=0,n._paused=!1,e=e||{},n.stage=e.stage||{},n}return n(e,t),e.prototype.addClip=function(t){t.animation&&this.removeClip(t),this._head?(this._tail.next=t,t.prev=this._tail,t.next=null,this._tail=t):this._head=this._tail=t,t.animation=this},e.prototype.addAnimator=function(t){t.animation=this;var e=t.getClip();e&&this.addClip(e)},e.prototype.removeClip=function(t){if(t.animation){var e=t.prev,n=t.next;e?e.next=n:this._head=n,n?n.prev=e:this._tail=e,t.next=t.prev=t.animation=null}},e.prototype.removeAnimator=function(t){var e=t.getClip();e&&this.removeClip(e),t.animation=null},e.prototype.update=function(t){for(var e=ti()-this._pausedTime,n=e-this._time,i=this._head;i;){var r=i.next;i.step(e,n)?(i.ondestroy(),this.removeClip(i),i=r):i=r}this._time=e,t||(this.trigger("frame",n),this.stage.update&&this.stage.update())},e.prototype._startLoop=function(){var t=this;this._running=!0,Ie((function e(){t._running&&(Ie(e),!t._paused&&t.update())}))},e.prototype.start=function(){this._running||(this._time=ti(),this._pausedTime=0,this._startLoop())},e.prototype.stop=function(){this._running=!1},e.prototype.pause=function(){this._paused||(this._pauseStart=ti(),this._paused=!0)},e.prototype.resume=function(){this._paused&&(this._pausedTime+=ti()-this._pauseStart,this._paused=!1)},e.prototype.clear=function(){for(var t=this._head;t;){var e=t.next;t.prev=t.next=t.animation=null,t=e}this._head=this._tail=null},e.prototype.isFinished=function(){return null==this._head},e.prototype.animate=function(t,e){e=e||{},this.start();var n=new Jn(t,e.loop);return this.addAnimator(n),n},e}(Wt),ri=r.domSupported,oi=(ni={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},{mouse:ei=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],touch:["touchstart","touchend","touchmove"],pointer:z(ei,(function(t){var e=t.replace("mouse","pointer");return ni.hasOwnProperty(e)?e:t}))}),ai=["mousemove","mouseup"],si=["pointermove","pointerup"],li=!1;function ui(t){var e=t.pointerType;return"pen"===e||"touch"===e}function hi(t){t&&(t.zrByTouch=!0)}function ci(t,e){for(var n=e,i=!1;n&&9!==n.nodeType&&!(i=n.domBelongToZr||n!==e&&n===t.painterRoot);)n=n.parentNode;return i}var pi=function(t,e){this.stopPropagation=mt,this.stopImmediatePropagation=mt,this.preventDefault=mt,this.type=e.type,this.target=this.currentTarget=t.dom,this.pointerType=e.pointerType,this.clientX=e.clientX,this.clientY=e.clientY},di={mousedown:function(t){t=ee(this.dom,t),this.__mayPointerCapture=[t.zrX,t.zrY],this.trigger("mousedown",t)},mousemove:function(t){t=ee(this.dom,t);var e=this.__mayPointerCapture;!e||t.zrX===e[0]&&t.zrY===e[1]||this.__togglePointerCapture(!0),this.trigger("mousemove",t)},mouseup:function(t){t=ee(this.dom,t),this.__togglePointerCapture(!1),this.trigger("mouseup",t)},mouseout:function(t){ci(this,(t=ee(this.dom,t)).toElement||t.relatedTarget)||(this.__pointerCapturing&&(t.zrEventControl="no_globalout"),this.trigger("mouseout",t))},wheel:function(t){li=!0,t=ee(this.dom,t),this.trigger("mousewheel",t)},mousewheel:function(t){li||(t=ee(this.dom,t),this.trigger("mousewheel",t))},touchstart:function(t){hi(t=ee(this.dom,t)),this.__lastTouchMoment=new Date,this.handler.processGesture(t,"start"),di.mousemove.call(this,t),di.mousedown.call(this,t)},touchmove:function(t){hi(t=ee(this.dom,t)),this.handler.processGesture(t,"change"),di.mousemove.call(this,t)},touchend:function(t){hi(t=ee(this.dom,t)),this.handler.processGesture(t,"end"),di.mouseup.call(this,t),+new Date-+this.__lastTouchMoment<300&&di.click.call(this,t)},pointerdown:function(t){di.mousedown.call(this,t)},pointermove:function(t){ui(t)||di.mousemove.call(this,t)},pointerup:function(t){di.mouseup.call(this,t)},pointerout:function(t){ui(t)||di.mouseout.call(this,t)}};E(["click","dblclick","contextmenu"],(function(t){di[t]=function(e){e=ee(this.dom,e),this.trigger(t,e)}}));var fi={pointermove:function(t){ui(t)||fi.mousemove.call(this,t)},pointerup:function(t){fi.mouseup.call(this,t)},mousemove:function(t){this.trigger("mousemove",t)},mouseup:function(t){var e=this.__pointerCapturing;this.__togglePointerCapture(!1),this.trigger("mouseup",t),e&&(t.zrEventControl="only_globalout",this.trigger("mouseout",t))}};function gi(t,e){var n=e.domHandlers;r.pointerEventsSupported?E(oi.pointer,(function(i){yi(e,i,(function(e){n[i].call(t,e)}))})):(r.touchEventsSupported&&E(oi.touch,(function(i){yi(e,i,(function(r){n[i].call(t,r),function(t){t.touching=!0,null!=t.touchTimer&&(clearTimeout(t.touchTimer),t.touchTimer=null),t.touchTimer=setTimeout((function(){t.touching=!1,t.touchTimer=null}),700)}(e)}))})),E(oi.mouse,(function(i){yi(e,i,(function(r){r=te(r),e.touching||n[i].call(t,r)}))})))}function vi(t,e){function n(n){yi(e,n,(function(i){i=te(i),ci(t,i.target)||(i=function(t,e){return ee(t.dom,new pi(t,e),!0)}(t,i),e.domHandlers[n].call(t,i))}),{capture:!0})}r.pointerEventsSupported?E(si,n):r.touchEventsSupported||E(ai,n)}function yi(t,e,n,i){t.mounted[e]=n,t.listenerOpts[e]=i,ne(t.domTarget,e,n,i)}function mi(t){var e,n,i,r,o=t.mounted;for(var a in o)o.hasOwnProperty(a)&&(e=t.domTarget,n=a,i=o[a],r=t.listenerOpts[a],e.removeEventListener(n,i,r));t.mounted={}}var _i=function(t,e){this.mounted={},this.listenerOpts={},this.touching=!1,this.domTarget=t,this.domHandlers=e},xi=function(t){function e(e,n){var i=t.call(this)||this;return i.__pointerCapturing=!1,i.dom=e,i.painterRoot=n,i._localHandlerScope=new _i(e,di),ri&&(i._globalHandlerScope=new _i(document,fi)),gi(i,i._localHandlerScope),i}return n(e,t),e.prototype.dispose=function(){mi(this._localHandlerScope),ri&&mi(this._globalHandlerScope)},e.prototype.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||"default")},e.prototype.__togglePointerCapture=function(t){if(this.__mayPointerCapture=null,ri&&+this.__pointerCapturing^+t){this.__pointerCapturing=t;var e=this._globalHandlerScope;t?vi(this,e):mi(e)}},e}(Wt),wi=1;r.hasGlobalWindow&&(wi=Math.max(window.devicePixelRatio||window.screen&&window.screen.deviceXDPI/window.screen.logicalXDPI||1,1));var bi=wi,Si="#333",Mi="#ccc";function Ci(){return[1,0,0,1,0,0]}function Ii(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function Ti(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function Di(t,e,n){var i=e[0]*n[0]+e[2]*n[1],r=e[1]*n[0]+e[3]*n[1],o=e[0]*n[2]+e[2]*n[3],a=e[1]*n[2]+e[3]*n[3],s=e[0]*n[4]+e[2]*n[5]+e[4],l=e[1]*n[4]+e[3]*n[5]+e[5];return t[0]=i,t[1]=r,t[2]=o,t[3]=a,t[4]=s,t[5]=l,t}function ki(t,e,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+n[0],t[5]=e[5]+n[1],t}function Ai(t,e,n){var i=e[0],r=e[2],o=e[4],a=e[1],s=e[3],l=e[5],u=Math.sin(n),h=Math.cos(n);return t[0]=i*h+a*u,t[1]=-i*u+a*h,t[2]=r*h+s*u,t[3]=-r*u+h*s,t[4]=h*o+u*l,t[5]=h*l-u*o,t}function Pi(t,e,n){var i=n[0],r=n[1];return t[0]=e[0]*i,t[1]=e[1]*r,t[2]=e[2]*i,t[3]=e[3]*r,t[4]=e[4]*i,t[5]=e[5]*r,t}function Li(t,e){var n=e[0],i=e[2],r=e[4],o=e[1],a=e[3],s=e[5],l=n*a-o*i;return l?(l=1/l,t[0]=a*l,t[1]=-o*l,t[2]=-i*l,t[3]=n*l,t[4]=(i*s-a*r)*l,t[5]=(o*r-n*s)*l,t):null}var Oi=Object.freeze({__proto__:null,create:Ci,identity:Ii,copy:Ti,mul:Di,translate:ki,rotate:Ai,scale:Pi,invert:Li,clone:function(t){var e=[1,0,0,1,0,0];return Ti(e,t),e}}),Ri=Ii,Ni=5e-5;function Ei(t){return t>Ni||t<-5e-5}var zi=[],Bi=[],Vi=[1,0,0,1,0,0],Fi=Math.abs,Hi=function(){function t(){}return t.prototype.getLocalTransform=function(e){return t.getLocalTransform(this,e)},t.prototype.setPosition=function(t){this.x=t[0],this.y=t[1]},t.prototype.setScale=function(t){this.scaleX=t[0],this.scaleY=t[1]},t.prototype.setSkew=function(t){this.skewX=t[0],this.skewY=t[1]},t.prototype.setOrigin=function(t){this.originX=t[0],this.originY=t[1]},t.prototype.needLocalTransform=function(){return Ei(this.rotation)||Ei(this.x)||Ei(this.y)||Ei(this.scaleX-1)||Ei(this.scaleY-1)||Ei(this.skewX)||Ei(this.skewY)},t.prototype.updateTransform=function(){var t=this.parent&&this.parent.transform,e=this.needLocalTransform(),n=this.transform;e||t?(n=n||[1,0,0,1,0,0],e?this.getLocalTransform(n):Ri(n),t&&(e?Di(n,t,n):Ti(n,t)),this.transform=n,this._resolveGlobalScaleRatio(n)):n&&Ri(n)},t.prototype._resolveGlobalScaleRatio=function(t){var e=this.globalScaleRatio;if(null!=e&&1!==e){this.getGlobalScale(zi);var n=zi[0]<0?-1:1,i=zi[1]<0?-1:1,r=((zi[0]-n)*e+n)/zi[0]||0,o=((zi[1]-i)*e+i)/zi[1]||0;t[0]*=r,t[1]*=r,t[2]*=o,t[3]*=o}this.invTransform=this.invTransform||[1,0,0,1,0,0],Li(this.invTransform,t)},t.prototype.getComputedTransform=function(){for(var t=this,e=[];t;)e.push(t),t=t.parent;for(;t=e.pop();)t.updateTransform();return this.transform},t.prototype.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],n=t[2]*t[2]+t[3]*t[3],i=Math.atan2(t[1],t[0]),r=Math.PI/2+i-Math.atan2(t[3],t[2]);n=Math.sqrt(n)*Math.cos(r),e=Math.sqrt(e),this.skewX=r,this.skewY=0,this.rotation=-i,this.x=+t[4],this.y=+t[5],this.scaleX=e,this.scaleY=n,this.originX=0,this.originY=0}},t.prototype.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(Di(Bi,t.invTransform,e),e=Bi);var n=this.originX,i=this.originY;(n||i)&&(Vi[4]=n,Vi[5]=i,Di(Bi,e,Vi),Bi[4]-=n,Bi[5]-=i,e=Bi),this.setLocalTransform(e)}},t.prototype.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},t.prototype.transformCoordToLocal=function(t,e){var n=[t,e],i=this.invTransform;return i&&Et(n,n,i),n},t.prototype.transformCoordToGlobal=function(t,e){var n=[t,e],i=this.transform;return i&&Et(n,n,i),n},t.prototype.getLineScale=function(){var t=this.transform;return t&&Fi(t[0]-1)>1e-10&&Fi(t[3]-1)>1e-10?Math.sqrt(Fi(t[0]*t[3]-t[2]*t[1])):1},t.prototype.copyTransform=function(t){Gi(this,t)},t.getLocalTransform=function(t,e){e=e||[];var n=t.originX||0,i=t.originY||0,r=t.scaleX,o=t.scaleY,a=t.anchorX,s=t.anchorY,l=t.rotation||0,u=t.x,h=t.y,c=t.skewX?Math.tan(t.skewX):0,p=t.skewY?Math.tan(-t.skewY):0;if(n||i||a||s){var d=n+a,f=i+s;e[4]=-d*r-c*f*o,e[5]=-f*o-p*d*r}else e[4]=e[5]=0;return e[0]=r,e[3]=o,e[1]=p*r,e[2]=c*o,l&&Ai(e,e,l),e[4]+=n+u,e[5]+=i+h,e},t.initDefaultProps=function(){var e=t.prototype;e.scaleX=e.scaleY=e.globalScaleRatio=1,e.x=e.y=e.originX=e.originY=e.skewX=e.skewY=e.rotation=e.anchorX=e.anchorY=0}(),t}(),Wi=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function Gi(t,e){for(var n=0;nf&&(f=_,gf&&(f=x,y=n.x&&t<=n.x+n.width&&e>=n.y&&e<=n.y+n.height},t.prototype.clone=function(){return new t(this.x,this.y,this.width,this.height)},t.prototype.copy=function(e){t.copy(this,e)},t.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},t.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},t.prototype.isZero=function(){return 0===this.width||0===this.height},t.create=function(e){return new t(e.x,e.y,e.width,e.height)},t.copy=function(t,e){t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height},t.applyTransform=function(e,n,i){if(i){if(i[1]<1e-5&&i[1]>-1e-5&&i[2]<1e-5&&i[2]>-1e-5){var r=i[0],o=i[3],a=i[4],s=i[5];return e.x=n.x*r+a,e.y=n.y*o+s,e.width=n.width*r,e.height=n.height*o,e.width<0&&(e.x+=e.width,e.width=-e.width),void(e.height<0&&(e.y+=e.height,e.height=-e.height))}Xi.x=qi.x=n.x,Xi.y=Ki.y=n.y,ji.x=Ki.x=n.x+n.width,ji.y=qi.y=n.y+n.height,Xi.transform(i),Ki.transform(i),ji.transform(i),qi.transform(i),e.x=Zi(Xi.x,ji.x,qi.x,Ki.x),e.y=Zi(Xi.y,ji.y,qi.y,Ki.y);var l=Yi(Xi.x,ji.x,qi.x,Ki.x),u=Yi(Xi.y,ji.y,qi.y,Ki.y);e.width=l-e.x,e.height=u-e.y}else e!==n&&t.copy(e,n)},t}(),tr={};function er(t,e){var n=tr[e=e||a];n||(n=tr[e]=new en(500));var i=n.get(t);return null==i&&(i=h.measureText(t,e).width,n.put(t,i)),i}function nr(t,e,n,i){var r=er(t,e),o=ar(e),a=rr(0,r,n),s=or(0,o,i);return new Ji(a,s,r,o)}function ir(t,e,n,i){var r=((t||"")+"").split("\n");if(1===r.length)return nr(r[0],e,n,i);for(var o=new Ji(0,0,0,0),a=0;a=0?parseFloat(t)/100*e:parseFloat(t):t}function lr(t,e,n){var i=e.position||"inside",r=null!=e.distance?e.distance:5,o=n.height,a=n.width,s=o/2,l=n.x,u=n.y,h="left",c="top";if(i instanceof Array)l+=sr(i[0],n.width),u+=sr(i[1],n.height),h=null,c=null;else switch(i){case"left":l-=r,u+=s,h="right",c="middle";break;case"right":l+=r+a,u+=s,c="middle";break;case"top":l+=a/2,u-=r,h="center",c="bottom";break;case"bottom":l+=a/2,u+=o+r,h="center";break;case"inside":l+=a/2,u+=s,h="center",c="middle";break;case"insideLeft":l+=r,u+=s,c="middle";break;case"insideRight":l+=a-r,u+=s,h="right",c="middle";break;case"insideTop":l+=a/2,u+=r,h="center";break;case"insideBottom":l+=a/2,u+=o-r,h="center",c="bottom";break;case"insideTopLeft":l+=r,u+=r;break;case"insideTopRight":l+=a-r,u+=r,h="right";break;case"insideBottomLeft":l+=r,u+=o-r,c="bottom";break;case"insideBottomRight":l+=a-r,u+=o-r,h="right",c="bottom"}return(t=t||{}).x=l,t.y=u,t.align=h,t.verticalAlign=c,t}var ur="__zr_normal__",hr=Wi.concat(["ignore"]),cr=B(Wi,(function(t,e){return t[e]=!0,t}),{ignore:!1}),pr={},dr=new Ji(0,0,0,0),fr=function(){function t(t){this.id=M(),this.animators=[],this.currentStates=[],this.states={},this._init(t)}return t.prototype._init=function(t){this.attr(t)},t.prototype.drift=function(t,e,n){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0}var i=this.transform;i||(i=this.transform=[1,0,0,1,0,0]),i[4]+=t,i[5]+=e,this.decomposeTransform(),this.markRedraw()},t.prototype.beforeUpdate=function(){},t.prototype.afterUpdate=function(){},t.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},t.prototype.updateInnerText=function(t){var e=this._textContent;if(e&&(!e.ignore||t)){this.textConfig||(this.textConfig={});var n=this.textConfig,i=n.local,r=e.innerTransformable,o=void 0,a=void 0,s=!1;r.parent=i?this:null;var l=!1;if(r.copyTransform(e),null!=n.position){var u=dr;n.layoutRect?u.copy(n.layoutRect):u.copy(this.getBoundingRect()),i||u.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(pr,n,u):lr(pr,n,u),r.x=pr.x,r.y=pr.y,o=pr.align,a=pr.verticalAlign;var h=n.origin;if(h&&null!=n.rotation){var c=void 0,p=void 0;"center"===h?(c=.5*u.width,p=.5*u.height):(c=sr(h[0],u.width),p=sr(h[1],u.height)),l=!0,r.originX=-r.x+c+(i?0:u.x),r.originY=-r.y+p+(i?0:u.y)}}null!=n.rotation&&(r.rotation=n.rotation);var d=n.offset;d&&(r.x+=d[0],r.y+=d[1],l||(r.originX=-d[0],r.originY=-d[1]));var f=null==n.inside?"string"==typeof n.position&&n.position.indexOf("inside")>=0:n.inside,g=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),v=void 0,y=void 0,m=void 0;f&&this.canBeInsideText()?(v=n.insideFill,y=n.insideStroke,null!=v&&"auto"!==v||(v=this.getInsideTextFill()),null!=y&&"auto"!==y||(y=this.getInsideTextStroke(v),m=!0)):(v=n.outsideFill,y=n.outsideStroke,null!=v&&"auto"!==v||(v=this.getOutsideFill()),null!=y&&"auto"!==y||(y=this.getOutsideStroke(v),m=!0)),(v=v||"#000")===g.fill&&y===g.stroke&&m===g.autoStroke&&o===g.align&&a===g.verticalAlign||(s=!0,g.fill=v,g.stroke=y,g.autoStroke=m,g.align=o,g.verticalAlign=a,e.setDefaultTextStyle(g)),e.__dirty|=1,s&&e.dirtyStyle(!0)}},t.prototype.canBeInsideText=function(){return!0},t.prototype.getInsideTextFill=function(){return"#fff"},t.prototype.getInsideTextStroke=function(t){return"#000"},t.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?Mi:Si},t.prototype.getOutsideStroke=function(t){var e=this.__zr&&this.__zr.getBackgroundColor(),n="string"==typeof e&&gn(e);n||(n=[255,255,255,1]);for(var i=n[3],r=this.__zr.isDarkMode(),o=0;o<3;o++)n[o]=n[o]*i+(r?0:255)*(1-i);return n[3]=1,Sn(n,"rgba")},t.prototype.traverse=function(t,e){},t.prototype.attrKV=function(t,e){"textConfig"===t?this.setTextConfig(e):"textContent"===t?this.setTextContent(e):"clipPath"===t?this.setClipPath(e):"extra"===t?(this.extra=this.extra||{},k(this.extra,e)):this[t]=e},t.prototype.hide=function(){this.ignore=!0,this.markRedraw()},t.prototype.show=function(){this.ignore=!1,this.markRedraw()},t.prototype.attr=function(t,e){if("string"==typeof t)this.attrKV(t,e);else if(j(t))for(var n=F(t),i=0;i0},t.prototype.getState=function(t){return this.states[t]},t.prototype.ensureState=function(t){var e=this.states;return e[t]||(e[t]={}),e[t]},t.prototype.clearStates=function(t){this.useState(ur,!1,t)},t.prototype.useState=function(t,e,n,i){var r=t===ur;if(this.hasState()||!r){var o=this.currentStates,a=this.stateTransition;if(!(L(o,t)>=0)||!e&&1!==o.length){var s;if(this.stateProxy&&!r&&(s=this.stateProxy(t)),s||(s=this.states&&this.states[t]),s||r){r||this.saveCurrentToNormalState(s);var l=!!(s&&s.hoverLayer||i);l&&this._toggleHoverLayerFlag(!0),this._applyStateObj(t,s,this._normalState,e,!n&&!this.__inHover&&a&&a.duration>0,a);var u=this._textContent,h=this._textGuide;return u&&u.useState(t,e,n,l),h&&h.useState(t,e,n,l),r?(this.currentStates=[],this._normalState={}):e?this.currentStates.push(t):this.currentStates=[t],this._updateAnimationTargets(),this.markRedraw(),!l&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=-2),s}C("State "+t+" not exists.")}}},t.prototype.useStates=function(t,e,n){if(t.length){var i=[],r=this.currentStates,o=t.length,a=o===r.length;if(a)for(var s=0;s0,d);var f=this._textContent,g=this._textGuide;f&&f.useStates(t,e,c),g&&g.useStates(t,e,c),this._updateAnimationTargets(),this.currentStates=t.slice(),this.markRedraw(),!c&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=-2)}else this.clearStates()},t.prototype._updateAnimationTargets=function(){for(var t=0;t=0){var n=this.currentStates.slice();n.splice(e,1),this.useStates(n)}},t.prototype.replaceState=function(t,e,n){var i=this.currentStates.slice(),r=L(i,t),o=L(i,e)>=0;r>=0?o?i.splice(r,1):i[r]=e:n&&!o&&i.push(e),this.useStates(i)},t.prototype.toggleState=function(t,e){e?this.useState(t,!0):this.removeState(t)},t.prototype._mergeStates=function(t){for(var e,n={},i=0;i=0&&e.splice(n,1)})),this.animators.push(t),n&&n.animation.addAnimator(t),n&&n.wakeUp()},t.prototype.updateDuringAnimation=function(t){this.markRedraw()},t.prototype.stopAnimation=function(t,e){for(var n=this.animators,i=n.length,r=[],o=0;o0&&n.during&&o[0].during((function(t,e){n.during(e)}));for(var p=0;p0||r.force&&!a.length){var b,S=void 0,M=void 0,C=void 0;if(s){M={},p&&(S={});for(x=0;x<_;x++){M[y=g[x]]=n[y],p?S[y]=i[y]:n[y]=i[y]}}else if(p){C={};for(x=0;x<_;x++){C[y=g[x]]=Xn(n[y]),yr(n,i,y)}}(b=new Jn(n,!1,!1,c?V(f,(function(t){return t.targetName===e})):null)).targetName=e,r.scope&&(b.scope=r.scope),p&&S&&b.whenWithKeys(0,S,g),C&&b.whenWithKeys(0,C,g),b.whenWithKeys(null==u?500:u,s?M:i,g).delay(h||0),t.addAnimator(b,e),a.push(b)}}R(fr,Wt),R(fr,Hi);var _r=function(t){function e(e){var n=t.call(this)||this;return n.isGroup=!0,n._children=[],n.attr(e),n}return n(e,t),e.prototype.childrenRef=function(){return this._children},e.prototype.children=function(){return this._children.slice()},e.prototype.childAt=function(t){return this._children[t]},e.prototype.childOfName=function(t){for(var e=this._children,n=0;n=0&&(n.splice(i,0,t),this._doAdd(t))}return this},e.prototype.replace=function(t,e){var n=L(this._children,t);return n>=0&&this.replaceAt(e,n),this},e.prototype.replaceAt=function(t,e){var n=this._children,i=n[e];if(t&&t!==this&&t.parent!==this&&t!==i){n[e]=t,i.parent=null;var r=this.__zr;r&&i.removeSelfFromZr(r),this._doAdd(t)}return this},e.prototype._doAdd=function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__zr;e&&e!==t.__zr&&t.addSelfToZr(e),e&&e.refresh()},e.prototype.remove=function(t){var e=this.__zr,n=this._children,i=L(n,t);return i<0||(n.splice(i,1),t.parent=null,e&&t.removeSelfFromZr(e),e&&e.refresh()),this},e.prototype.removeAll=function(){for(var t=this._children,e=this.__zr,n=0;n18);a&&(n.weChat=!0);e.svgSupported="undefined"!=typeof SVGRect,e.touchEventsSupported="ontouchstart"in window&&!n.ie&&!n.edge,e.pointerEventsSupported="onpointerdown"in window&&(n.edge||n.ie&&+n.version>=11),e.domSupported="undefined"!=typeof document;var s=document.documentElement.style;e.transform3dSupported=(n.ie&&"transition"in s||n.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in s)&&!("OTransition"in s),e.transformSupported=e.transform3dSupported||n.ie&&+n.version>=9}(navigator.userAgent,r);var o="sans-serif",a="12px "+o;var s,l,u=function(t){var e={};if("undefined"==typeof JSON)return e;for(var n=0;n=0)o=r*t.length;else for(var c=0;c>1)%2;a.style.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",i[s]+":0",r[l]+":0",i[1-s]+":auto",r[1-l]+":auto",""].join("!important;"),t.appendChild(a),n.push(a)}return n}(e,a),l=function(t,e,n){for(var i=n?"invTrans":"trans",r=e[i],o=e.srcCoords,a=[],s=[],l=!0,u=0;u<4;u++){var h=t[u].getBoundingClientRect(),c=2*u,p=h.left,d=h.top;a.push(p,d),l=l&&o&&p===o[c]&&d===o[c+1],s.push(t[u].offsetLeft,t[u].offsetTop)}return l&&r?r:(e.srcCoords=a,e[i]=n?Xt(s,a):Xt(a,s))}(s,a,o);if(l)return l(t,n,i),!0}return!1}function $t(t){return"CANVAS"===t.nodeName.toUpperCase()}var Qt=/([&<>"'])/g,Jt={"&":"&","<":"<",">":">",'"':""","'":"'"};function te(t){return null==t?"":(t+"").replace(Qt,(function(t,e){return Jt[e]}))}var ee=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ne=[],ie=r.browser.firefox&&+r.browser.version.split(".")[0]<39;function re(t,e,n,i){return n=n||{},i?oe(t,e,n):ie&&null!=e.layerX&&e.layerX!==e.offsetX?(n.zrX=e.layerX,n.zrY=e.layerY):null!=e.offsetX?(n.zrX=e.offsetX,n.zrY=e.offsetY):oe(t,e,n),n}function oe(t,e,n){if(r.domSupported&&t.getBoundingClientRect){var i=e.clientX,o=e.clientY;if($t(t)){var a=t.getBoundingClientRect();return n.zrX=i-a.left,void(n.zrY=o-a.top)}if(Kt(ne,t,i,o))return n.zrX=ne[0],void(n.zrY=ne[1])}n.zrX=n.zrY=0}function ae(t){return t||window.event}function se(t,e,n){if(null!=(e=ae(e)).zrX)return e;var i=e.type;if(i&&i.indexOf("touch")>=0){var r="touchend"!==i?e.targetTouches[0]:e.changedTouches[0];r&&re(t,r,e,n)}else{re(t,e,e,n);var o=function(t){var e=t.wheelDelta;if(e)return e;var n=t.deltaX,i=t.deltaY;if(null==n||null==i)return e;return 3*(0!==i?Math.abs(i):Math.abs(n))*(i>0?-1:i<0?1:n>0?-1:1)}(e);e.zrDelta=o?o/120:-(e.detail||0)/3}var a=e.button;return null==e.which&&void 0!==a&&ee.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e}function le(t,e,n,i){t.addEventListener(e,n,i)}var ue=function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0};function he(t){return 2===t.which||3===t.which}var ce=function(){function t(){this._track=[]}return t.prototype.recognize=function(t,e,n){return this._doTrack(t,e,n),this._recognize(t)},t.prototype.clear=function(){return this._track.length=0,this},t.prototype._doTrack=function(t,e,n){var i=t.touches;if(i){for(var r={points:[],touches:[],target:e,event:t},o=0,a=i.length;o1&&r&&r.length>1){var a=pe(r)/pe(o);!isFinite(a)&&(a=1),e.pinchScale=a;var s=[((i=r)[0][0]+i[1][0])/2,(i[0][1]+i[1][1])/2];return e.pinchX=s[0],e.pinchY=s[1],{type:"pinch",target:t[0].target,event:e}}}}};function fe(){return[1,0,0,1,0,0]}function ge(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function ve(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function ye(t,e,n){var i=e[0]*n[0]+e[2]*n[1],r=e[1]*n[0]+e[3]*n[1],o=e[0]*n[2]+e[2]*n[3],a=e[1]*n[2]+e[3]*n[3],s=e[0]*n[4]+e[2]*n[5]+e[4],l=e[1]*n[4]+e[3]*n[5]+e[5];return t[0]=i,t[1]=r,t[2]=o,t[3]=a,t[4]=s,t[5]=l,t}function me(t,e,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+n[0],t[5]=e[5]+n[1],t}function _e(t,e,n,i){void 0===i&&(i=[0,0]);var r=e[0],o=e[2],a=e[4],s=e[1],l=e[3],u=e[5],h=Math.sin(n),c=Math.cos(n);return t[0]=r*c+s*h,t[1]=-r*h+s*c,t[2]=o*c+l*h,t[3]=-o*h+c*l,t[4]=c*(a-i[0])+h*(u-i[1])+i[0],t[5]=c*(u-i[1])-h*(a-i[0])+i[1],t}function xe(t,e,n){var i=n[0],r=n[1];return t[0]=e[0]*i,t[1]=e[1]*r,t[2]=e[2]*i,t[3]=e[3]*r,t[4]=e[4]*i,t[5]=e[5]*r,t}function we(t,e){var n=e[0],i=e[2],r=e[4],o=e[1],a=e[3],s=e[5],l=n*a-o*i;return l?(l=1/l,t[0]=a*l,t[1]=-o*l,t[2]=-i*l,t[3]=n*l,t[4]=(i*s-a*r)*l,t[5]=(o*r-n*s)*l,t):null}var be=Object.freeze({__proto__:null,create:fe,identity:ge,copy:ve,mul:ye,translate:me,rotate:_e,scale:xe,invert:we,clone:function(t){var e=[1,0,0,1,0,0];return ve(e,t),e}}),Se=function(){function t(t,e){this.x=t||0,this.y=e||0}return t.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this},t.prototype.clone=function(){return new t(this.x,this.y)},t.prototype.set=function(t,e){return this.x=t,this.y=e,this},t.prototype.equal=function(t){return t.x===this.x&&t.y===this.y},t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this},t.prototype.scale=function(t){this.x*=t,this.y*=t},t.prototype.scaleAndAdd=function(t,e){this.x+=t.x*e,this.y+=t.y*e},t.prototype.sub=function(t){return this.x-=t.x,this.y-=t.y,this},t.prototype.dot=function(t){return this.x*t.x+this.y*t.y},t.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},t.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},t.prototype.normalize=function(){var t=this.len();return this.x/=t,this.y/=t,this},t.prototype.distance=function(t){var e=this.x-t.x,n=this.y-t.y;return Math.sqrt(e*e+n*n)},t.prototype.distanceSquare=function(t){var e=this.x-t.x,n=this.y-t.y;return e*e+n*n},t.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},t.prototype.transform=function(t){if(t){var e=this.x,n=this.y;return this.x=t[0]*e+t[2]*n+t[4],this.y=t[1]*e+t[3]*n+t[5],this}},t.prototype.toArray=function(t){return t[0]=this.x,t[1]=this.y,t},t.prototype.fromArray=function(t){this.x=t[0],this.y=t[1]},t.set=function(t,e,n){t.x=e,t.y=n},t.copy=function(t,e){t.x=e.x,t.y=e.y},t.len=function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},t.lenSquare=function(t){return t.x*t.x+t.y*t.y},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.add=function(t,e,n){t.x=e.x+n.x,t.y=e.y+n.y},t.sub=function(t,e,n){t.x=e.x-n.x,t.y=e.y-n.y},t.scale=function(t,e,n){t.x=e.x*n,t.y=e.y*n},t.scaleAndAdd=function(t,e,n,i){t.x=e.x+n.x*i,t.y=e.y+n.y*i},t.lerp=function(t,e,n,i){var r=1-i;t.x=r*e.x+i*n.x,t.y=r*e.y+i*n.y},t}(),Me=Math.min,Ce=Math.max,Te=new Se,Ie=new Se,De=new Se,ke=new Se,Ae=new Se,Pe=new Se,Le=function(){function t(t,e,n,i){n<0&&(t+=n,n=-n),i<0&&(e+=i,i=-i),this.x=t,this.y=e,this.width=n,this.height=i}return t.prototype.union=function(t){var e=Me(t.x,this.x),n=Me(t.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=Ce(t.x+t.width,this.x+this.width)-e:this.width=t.width,isFinite(this.y)&&isFinite(this.height)?this.height=Ce(t.y+t.height,this.y+this.height)-n:this.height=t.height,this.x=e,this.y=n},t.prototype.applyTransform=function(e){t.applyTransform(this,this,e)},t.prototype.calculateTransform=function(t){var e=this,n=t.width/e.width,i=t.height/e.height,r=[1,0,0,1,0,0];return me(r,r,[-e.x,-e.y]),xe(r,r,[n,i]),me(r,r,[t.x,t.y]),r},t.prototype.intersect=function(e,n){if(!e)return!1;e instanceof t||(e=t.create(e));var i=this,r=i.x,o=i.x+i.width,a=i.y,s=i.y+i.height,l=e.x,u=e.x+e.width,h=e.y,c=e.y+e.height,p=!(of&&(f=_,gf&&(f=x,y=n.x&&t<=n.x+n.width&&e>=n.y&&e<=n.y+n.height},t.prototype.clone=function(){return new t(this.x,this.y,this.width,this.height)},t.prototype.copy=function(e){t.copy(this,e)},t.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},t.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},t.prototype.isZero=function(){return 0===this.width||0===this.height},t.create=function(e){return new t(e.x,e.y,e.width,e.height)},t.copy=function(t,e){t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height},t.applyTransform=function(e,n,i){if(i){if(i[1]<1e-5&&i[1]>-1e-5&&i[2]<1e-5&&i[2]>-1e-5){var r=i[0],o=i[3],a=i[4],s=i[5];return e.x=n.x*r+a,e.y=n.y*o+s,e.width=n.width*r,e.height=n.height*o,e.width<0&&(e.x+=e.width,e.width=-e.width),void(e.height<0&&(e.y+=e.height,e.height=-e.height))}Te.x=De.x=n.x,Te.y=ke.y=n.y,Ie.x=ke.x=n.x+n.width,Ie.y=De.y=n.y+n.height,Te.transform(i),ke.transform(i),Ie.transform(i),De.transform(i),e.x=Me(Te.x,Ie.x,De.x,ke.x),e.y=Me(Te.y,Ie.y,De.y,ke.y);var l=Ce(Te.x,Ie.x,De.x,ke.x),u=Ce(Te.y,Ie.y,De.y,ke.y);e.width=l-e.x,e.height=u-e.y}else e!==n&&t.copy(e,n)},t}(),Oe="silent";function Re(){ue(this.event)}var Ne=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.handler=null,e}return n(e,t),e.prototype.dispose=function(){},e.prototype.setCursor=function(){},e}(Ut),ze=function(t,e){this.x=t,this.y=e},Ee=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],Be=new Le(0,0,0,0),Ve=function(t){function e(e,n,i,r,o){var a=t.call(this)||this;return a._hovered=new ze(0,0),a.storage=e,a.painter=n,a.painterRoot=r,a._pointerSize=o,i=i||new Ne,a.proxy=null,a.setHandlerProxy(i),a._draggingMgr=new Gt(a),a}return n(e,t),e.prototype.setHandlerProxy=function(t){this.proxy&&this.proxy.dispose(),t&&(z(Ee,(function(e){t.on&&t.on(e,this[e],this)}),this),t.handler=this),this.proxy=t},e.prototype.mousemove=function(t){var e=t.zrX,n=t.zrY,i=We(this,e,n),r=this._hovered,o=r.target;o&&!o.__zr&&(o=(r=this.findHover(r.x,r.y)).target);var a=this._hovered=i?new ze(e,n):this.findHover(e,n),s=a.target,l=this.proxy;l.setCursor&&l.setCursor(s?s.cursor:"default"),o&&s!==o&&this.dispatchToElement(r,"mouseout",t),this.dispatchToElement(a,"mousemove",t),s&&s!==o&&this.dispatchToElement(a,"mouseover",t)},e.prototype.mouseout=function(t){var e=t.zrEventControl;"only_globalout"!==e&&this.dispatchToElement(this._hovered,"mouseout",t),"no_globalout"!==e&&this.trigger("globalout",{type:"globalout",event:t})},e.prototype.resize=function(){this._hovered=new ze(0,0)},e.prototype.dispatch=function(t,e){var n=this[t];n&&n.call(this,e)},e.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},e.prototype.setCursorStyle=function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},e.prototype.dispatchToElement=function(t,e,n){var i=(t=t||{}).target;if(!i||!i.silent){for(var r="on"+e,o=function(t,e,n){return{type:t,event:n,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:n.zrX,offsetY:n.zrY,gestureEvent:n.gestureEvent,pinchX:n.pinchX,pinchY:n.pinchY,pinchScale:n.pinchScale,wheelDelta:n.zrDelta,zrByTouch:n.zrByTouch,which:n.which,stop:Re}}(e,t,n);i&&(i[r]&&(o.cancelBubble=!!i[r].call(i,o)),i.trigger(e,o),i=i.__hostTarget?i.__hostTarget:i.parent,!o.cancelBubble););o.cancelBubble||(this.trigger(e,o),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer((function(t){"function"==typeof t[r]&&t[r].call(t,o),t.trigger&&t.trigger(e,o)})))}},e.prototype.findHover=function(t,e,n){var i=this.storage.getDisplayList(),r=new ze(t,e);if(He(i,r,t,e,n),this._pointerSize&&!r.target){for(var o=[],a=this._pointerSize,s=a/2,l=new Le(t-s,e-s,a,a),u=i.length-1;u>=0;u--){var h=i[u];h===n||h.ignore||h.ignoreCoarsePointer||h.parent&&h.parent.ignoreCoarsePointer||(Be.copy(h.getBoundingRect()),h.transform&&Be.applyTransform(h.transform),Be.intersect(l)&&o.push(h))}if(o.length)for(var c=Math.PI/12,p=2*Math.PI,d=0;d=0;o--){var a=t[o],s=void 0;if(a!==r&&!a.ignore&&(s=Fe(a,n,i))&&(!e.topTarget&&(e.topTarget=a),s!==Oe)){e.target=a;break}}}function We(t,e,n){var i=t.painter;return e<0||e>i.getWidth()||n<0||n>i.getHeight()}z(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],(function(t){Ve.prototype[t]=function(e){var n,i,r=e.zrX,o=e.zrY,a=We(this,r,o);if("mouseup"===t&&a||(i=(n=this.findHover(r,o)).target),"mousedown"===t)this._downEl=i,this._downPoint=[e.zrX,e.zrY],this._upEl=i;else if("mouseup"===t)this._upEl=i;else if("click"===t){if(this._downEl!==this._upEl||!this._downPoint||Rt(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(n,t,e)}}));function Ge(t,e,n,i){var r=e+1;if(r===n)return 1;if(i(t[r++],t[e])<0){for(;r=0;)r++;return r-e}function Ue(t,e,n,i,r){for(i===e&&i++;i>>1])<0?l=o:s=o+1;var u=i-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=a}}function Ze(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])>0){for(s=i-r;l0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}else{for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}for(a++;a>>1);o(t,e[n+h])>0?a=h+1:l=h}return l}function Ye(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])<0){for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}else{for(s=i-r;l=0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}for(a++;a>>1);o(t,e[n+h])<0?l=h:a=h+1}return l}function Xe(t,e){var n,i,r=7,o=0,a=[];function s(s){var l=n[s],u=i[s],h=n[s+1],c=i[s+1];i[s]=u+c,s===o-3&&(n[s+1]=n[s+2],i[s+1]=i[s+2]),o--;var p=Ye(t[h],t,l,u,0,e);l+=p,0!==(u-=p)&&0!==(c=Ze(t[l+u-1],t,h,c,c-1,e))&&(u<=c?function(n,i,o,s){var l=0;for(l=0;l=7||d>=7);if(f)break;g<0&&(g=0),g+=2}if((r=g)<1&&(r=1),1===i){for(l=0;l=0;l--)t[d+l]=t[p+l];return void(t[c]=a[h])}var f=r;for(;;){var g=0,v=0,y=!1;do{if(e(a[h],t[u])<0){if(t[c--]=t[u--],g++,v=0,0==--i){y=!0;break}}else if(t[c--]=a[h--],v++,g=0,1==--s){y=!0;break}}while((g|v)=0;l--)t[d+l]=t[p+l];if(0===i){y=!0;break}}if(t[c--]=a[h--],1==--s){y=!0;break}if(0!==(v=s-Ze(t[u],a,0,s,s-1,e))){for(s-=v,d=(c-=v)+1,p=(h-=v)+1,l=0;l=7||v>=7);if(y)break;f<0&&(f=0),f+=2}(r=f)<1&&(r=1);if(1===s){for(d=(c-=i)+1,p=(u-=i)+1,l=i-1;l>=0;l--)t[d+l]=t[p+l];t[c]=a[h]}else{if(0===s)throw new Error;for(p=c-(s-1),l=0;l1;){var t=o-2;if(t>=1&&i[t-1]<=i[t]+i[t+1]||t>=2&&i[t-2]<=i[t]+i[t-1])i[t-1]i[t+1])break;s(t)}},forceMergeRuns:function(){for(;o>1;){var t=o-2;t>0&&i[t-1]=32;)e|=1&t,t>>=1;return t+e}(r);do{if((o=Ge(t,n,i,e))s&&(l=s),Ue(t,n,n+l,n+o,e),o=l}a.pushRun(n,o),a.mergeRuns(),r-=o,n+=o}while(0!==r);a.forceMergeRuns()}}}var qe=!1;function Ke(){qe||(qe=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function $e(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}var Qe=function(){function t(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=$e}return t.prototype.traverse=function(t,e){for(var n=0;n0&&(u.__clipPaths=[]),isNaN(u.z)&&(Ke(),u.z=0),isNaN(u.z2)&&(Ke(),u.z2=0),isNaN(u.zlevel)&&(Ke(),u.zlevel=0),this._displayList[this._displayListLen++]=u}var h=t.getDecalElement&&t.getDecalElement();h&&this._updateAndAddDisplayable(h,e,n);var c=t.getTextGuideLine();c&&this._updateAndAddDisplayable(c,e,n);var p=t.getTextContent();p&&this._updateAndAddDisplayable(p,e,n)}},t.prototype.addRoot=function(t){t.__zr&&t.__zr.storage===this||this._roots.push(t)},t.prototype.delRoot=function(t){if(t instanceof Array)for(var e=0,n=t.length;e=0&&this._roots.splice(i,1)}},t.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},t.prototype.getRoots=function(){return this._roots},t.prototype.dispose=function(){this._displayList=null,this._roots=null},t}(),Je=r.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(t){return setTimeout(t,16)},tn={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),-n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),n*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,n=.1,i=.4;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=i*Math.asin(1/n)/(2*Math.PI),(t*=2)<1?n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*-.5:n*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-tn.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*tn.bounceIn(2*t):.5*tn.bounceOut(2*t-1)+.5}},en=Math.pow,nn=Math.sqrt,rn=1e-8,on=1e-4,an=nn(3),sn=1/3,ln=St(),un=St(),hn=St();function cn(t){return t>-1e-8&&trn||t<-1e-8}function dn(t,e,n,i,r){var o=1-r;return o*o*(o*t+3*r*e)+r*r*(r*i+3*o*n)}function fn(t,e,n,i,r){var o=1-r;return 3*(((e-t)*o+2*(n-e)*r)*o+(i-n)*r*r)}function gn(t,e,n,i,r,o){var a=i+3*(e-n)-t,s=3*(n-2*e+t),l=3*(e-t),u=t-r,h=s*s-3*a*l,c=s*l-9*a*u,p=l*l-3*s*u,d=0;if(cn(h)&&cn(c)){if(cn(s))o[0]=0;else(M=-l/s)>=0&&M<=1&&(o[d++]=M)}else{var f=c*c-4*h*p;if(cn(f)){var g=c/h,v=-g/2;(M=-s/a+g)>=0&&M<=1&&(o[d++]=M),v>=0&&v<=1&&(o[d++]=v)}else if(f>0){var y=nn(f),m=h*s+1.5*a*(-c+y),_=h*s+1.5*a*(-c-y);(M=(-s-((m=m<0?-en(-m,sn):en(m,sn))+(_=_<0?-en(-_,sn):en(_,sn))))/(3*a))>=0&&M<=1&&(o[d++]=M)}else{var x=(2*h*s-3*a*c)/(2*nn(h*h*h)),w=Math.acos(x)/3,b=nn(h),S=Math.cos(w),M=(-s-2*b*S)/(3*a),C=(v=(-s+b*(S+an*Math.sin(w)))/(3*a),(-s+b*(S-an*Math.sin(w)))/(3*a));M>=0&&M<=1&&(o[d++]=M),v>=0&&v<=1&&(o[d++]=v),C>=0&&C<=1&&(o[d++]=C)}}return d}function vn(t,e,n,i,r){var o=6*n-12*e+6*t,a=9*e+3*i-3*t-9*n,s=3*e-3*t,l=0;if(cn(a)){if(pn(o))(h=-s/o)>=0&&h<=1&&(r[l++]=h)}else{var u=o*o-4*a*s;if(cn(u))r[0]=-o/(2*a);else if(u>0){var h,c=nn(u),p=(-o-c)/(2*a);(h=(-o+c)/(2*a))>=0&&h<=1&&(r[l++]=h),p>=0&&p<=1&&(r[l++]=p)}}return l}function yn(t,e,n,i,r,o){var a=(e-t)*r+t,s=(n-e)*r+e,l=(i-n)*r+n,u=(s-a)*r+a,h=(l-s)*r+s,c=(h-u)*r+u;o[0]=t,o[1]=a,o[2]=u,o[3]=c,o[4]=c,o[5]=h,o[6]=l,o[7]=i}function mn(t,e,n,i,r,o,a,s,l){for(var u=t,h=e,c=0,p=1/l,d=1;d<=l;d++){var f=d*p,g=dn(t,n,r,a,f),v=dn(e,i,o,s,f),y=g-u,m=v-h;c+=Math.sqrt(y*y+m*m),u=g,h=v}return c}function _n(t,e,n,i){var r=1-i;return r*(r*t+2*i*e)+i*i*n}function xn(t,e,n,i){return 2*((1-i)*(e-t)+i*(n-e))}function wn(t,e,n){var i=t+n-2*e;return 0===i?.5:(t-e)/i}function bn(t,e,n,i,r){var o=(e-t)*i+t,a=(n-e)*i+e,s=(a-o)*i+o;r[0]=t,r[1]=o,r[2]=s,r[3]=s,r[4]=a,r[5]=n}function Sn(t,e,n,i,r,o,a){for(var s=t,l=e,u=0,h=1/a,c=1;c<=a;c++){var p=c*h,d=_n(t,n,r,p),f=_n(e,i,o,p),g=d-s,v=f-l;u+=Math.sqrt(g*g+v*v),s=d,l=f}return u}var Mn=/cubic-bezier\(([0-9,\.e ]+)\)/;function Cn(t){var e=t&&Mn.exec(t);if(e){var n=e[1].split(","),i=+lt(n[0]),r=+lt(n[1]),o=+lt(n[2]),a=+lt(n[3]);if(isNaN(i+r+o+a))return;var s=[];return function(t){return t<=0?0:t>=1?1:gn(0,i,o,1,t,s)&&dn(0,r,a,1,s[0])}}}var Tn=function(){function t(t){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=t.life||1e3,this._delay=t.delay||0,this.loop=t.loop||!1,this.onframe=t.onframe||xt,this.ondestroy=t.ondestroy||xt,this.onrestart=t.onrestart||xt,t.easing&&this.setEasing(t.easing)}return t.prototype.step=function(t,e){if(this._inited||(this._startTime=t+this._delay,this._inited=!0),!this._paused){var n=this._life,i=t-this._startTime-this._pausedTime,r=i/n;r<0&&(r=0),r=Math.min(r,1);var o=this.easingFunc,a=o?o(r):r;if(this.onframe(a),1===r){if(!this.loop)return!0;var s=i%n;this._startTime=t-s,this._pausedTime=0,this.onrestart()}return!1}this._pausedTime+=e},t.prototype.pause=function(){this._paused=!0},t.prototype.resume=function(){this._paused=!1},t.prototype.setEasing=function(t){this.easing=t,this.easingFunc=U(t)?t:tn[t]||Cn(t)},t}(),In=function(t){this.value=t},Dn=function(){function t(){this._len=0}return t.prototype.insert=function(t){var e=new In(t);return this.insertEntry(e),e},t.prototype.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},t.prototype.remove=function(t){var e=t.prev,n=t.next;e?e.next=n:this.head=n,n?n.prev=e:this.tail=e,t.next=t.prev=null,this._len--},t.prototype.len=function(){return this._len},t.prototype.clear=function(){this.head=this.tail=null,this._len=0},t}(),kn=function(){function t(t){this._list=new Dn,this._maxSize=10,this._map={},this._maxSize=t}return t.prototype.put=function(t,e){var n=this._list,i=this._map,r=null;if(null==i[t]){var o=n.len(),a=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var s=n.head;n.remove(s),delete i[s.key],r=s.value,this._lastRemovedEntry=s}a?a.value=e:a=new In(e),a.key=t,n.insertEntry(a),i[t]=a}return r},t.prototype.get=function(t){var e=this._map[t],n=this._list;if(null!=e)return e!==n.tail&&(n.remove(e),n.insertEntry(e)),e.value},t.prototype.clear=function(){this._list.clear(),this._map={}},t.prototype.len=function(){return this._list.len()},t}(),An={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Pn(t){return(t=Math.round(t))<0?0:t>255?255:t}function Ln(t){return t<0?0:t>1?1:t}function On(t){var e=t;return e.length&&"%"===e.charAt(e.length-1)?Pn(parseFloat(e)/100*255):Pn(parseInt(e,10))}function Rn(t){var e=t;return e.length&&"%"===e.charAt(e.length-1)?Ln(parseFloat(e)/100):Ln(parseFloat(e))}function Nn(t,e,n){return n<0?n+=1:n>1&&(n-=1),6*n<1?t+(e-t)*n*6:2*n<1?e:3*n<2?t+(e-t)*(2/3-n)*6:t}function zn(t,e,n){return t+(e-t)*n}function En(t,e,n,i,r){return t[0]=e,t[1]=n,t[2]=i,t[3]=r,t}function Bn(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}var Vn=new kn(20),Fn=null;function Hn(t,e){Fn&&Bn(Fn,e),Fn=Vn.put(t,Fn||e.slice())}function Wn(t,e){if(t){e=e||[];var n=Vn.get(t);if(n)return Bn(e,n);var i=(t+="").replace(/ /g,"").toLowerCase();if(i in An)return Bn(e,An[i]),Hn(t,e),e;var r,o=i.length;if("#"===i.charAt(0))return 4===o||5===o?(r=parseInt(i.slice(1,4),16))>=0&&r<=4095?(En(e,(3840&r)>>4|(3840&r)>>8,240&r|(240&r)>>4,15&r|(15&r)<<4,5===o?parseInt(i.slice(4),16)/15:1),Hn(t,e),e):void En(e,0,0,0,1):7===o||9===o?(r=parseInt(i.slice(1,7),16))>=0&&r<=16777215?(En(e,(16711680&r)>>16,(65280&r)>>8,255&r,9===o?parseInt(i.slice(7),16)/255:1),Hn(t,e),e):void En(e,0,0,0,1):void 0;var a=i.indexOf("("),s=i.indexOf(")");if(-1!==a&&s+1===o){var l=i.substr(0,a),u=i.substr(a+1,s-(a+1)).split(","),h=1;switch(l){case"rgba":if(4!==u.length)return 3===u.length?En(e,+u[0],+u[1],+u[2],1):En(e,0,0,0,1);h=Rn(u.pop());case"rgb":return u.length>=3?(En(e,On(u[0]),On(u[1]),On(u[2]),3===u.length?h:Rn(u[3])),Hn(t,e),e):void En(e,0,0,0,1);case"hsla":return 4!==u.length?void En(e,0,0,0,1):(u[3]=Rn(u[3]),Gn(u,e),Hn(t,e),e);case"hsl":return 3!==u.length?void En(e,0,0,0,1):(Gn(u,e),Hn(t,e),e);default:return}}En(e,0,0,0,1)}}function Gn(t,e){var n=(parseFloat(t[0])%360+360)%360/360,i=Rn(t[1]),r=Rn(t[2]),o=r<=.5?r*(i+1):r+i-r*i,a=2*r-o;return En(e=e||[],Pn(255*Nn(a,o,n+1/3)),Pn(255*Nn(a,o,n)),Pn(255*Nn(a,o,n-1/3)),1),4===t.length&&(e[3]=t[3]),e}function Un(t,e){var n=Wn(t);if(n){for(var i=0;i<3;i++)n[i]=e<0?n[i]*(1-e)|0:(255-n[i])*e+n[i]|0,n[i]>255?n[i]=255:n[i]<0&&(n[i]=0);return Kn(n,4===n.length?"rgba":"rgb")}}function Zn(t,e,n){if(e&&e.length&&t>=0&&t<=1){n=n||[];var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=e[r],s=e[o],l=i-r;return n[0]=Pn(zn(a[0],s[0],l)),n[1]=Pn(zn(a[1],s[1],l)),n[2]=Pn(zn(a[2],s[2],l)),n[3]=Ln(zn(a[3],s[3],l)),n}}var Yn=Zn;function Xn(t,e,n){if(e&&e.length&&t>=0&&t<=1){var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=Wn(e[r]),s=Wn(e[o]),l=i-r,u=Kn([Pn(zn(a[0],s[0],l)),Pn(zn(a[1],s[1],l)),Pn(zn(a[2],s[2],l)),Ln(zn(a[3],s[3],l))],"rgba");return n?{color:u,leftIndex:r,rightIndex:o,value:i}:u}}var jn=Xn;function qn(t,e){var n=Wn(t);if(n&&null!=e)return n[3]=Ln(e),Kn(n,"rgba")}function Kn(t,e){if(t&&t.length){var n=t[0]+","+t[1]+","+t[2];return"rgba"!==e&&"hsva"!==e&&"hsla"!==e||(n+=","+t[3]),e+"("+n+")"}}function $n(t,e){var n=Wn(t);return n?(.299*n[0]+.587*n[1]+.114*n[2])*n[3]/255+(1-n[3])*e:0}var Qn=new kn(100);function Jn(t){if(Z(t)){var e=Qn.get(t);return e||(e=Un(t,-.1),Qn.put(t,e)),e}if(Q(t)){var n=k({},t);return n.colorStops=E(t.colorStops,(function(t){return{offset:t.offset,color:Un(t.color,-.1)}})),n}return t}var ti=Object.freeze({__proto__:null,parse:Wn,lift:Un,toHex:function(t){var e=Wn(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)},fastLerp:Zn,fastMapToColor:Yn,lerp:Xn,mapToColor:jn,modifyHSL:function(t,e,n,i){var r,o=Wn(t);if(t)return o=function(t){if(t){var e,n,i=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(i,r,o),s=Math.max(i,r,o),l=s-a,u=(s+a)/2;if(0===l)e=0,n=0;else{n=u<.5?l/(s+a):l/(2-s-a);var h=((s-i)/6+l/2)/l,c=((s-r)/6+l/2)/l,p=((s-o)/6+l/2)/l;i===s?e=p-c:r===s?e=1/3+h-p:o===s&&(e=2/3+c-h),e<0&&(e+=1),e>1&&(e-=1)}var d=[360*e,n,u];return null!=t[3]&&d.push(t[3]),d}}(o),null!=e&&(o[0]=(r=e,(r=Math.round(r))<0?0:r>360?360:r)),null!=n&&(o[1]=Rn(n)),null!=i&&(o[2]=Rn(i)),Kn(Gn(o),"rgba")},modifyAlpha:qn,stringify:Kn,lum:$n,random:function(){return Kn([Math.round(255*Math.random()),Math.round(255*Math.random()),Math.round(255*Math.random())],"rgb")},liftColor:Jn}),ei=Math.round;function ni(t){var e;if(t&&"transparent"!==t){if("string"==typeof t&&t.indexOf("rgba")>-1){var n=Wn(t);n&&(t="rgb("+n[0]+","+n[1]+","+n[2]+")",e=n[3])}}else t="none";return{color:t,opacity:null==e?1:e}}var ii=1e-4;function ri(t){return t-1e-4}function oi(t){return ei(1e3*t)/1e3}function ai(t){return ei(1e4*t)/1e4}var si={left:"start",right:"end",center:"middle",middle:"middle"};function li(t){return t&&!!t.image}function ui(t){return li(t)||function(t){return t&&!!t.svgElement}(t)}function hi(t){return"linear"===t.type}function ci(t){return"radial"===t.type}function pi(t){return t&&("linear"===t.type||"radial"===t.type)}function di(t){return"url(#"+t+")"}function fi(t){var e=t.getGlobalScale(),n=Math.max(e[0],e[1]);return Math.max(Math.ceil(Math.log(n)/Math.log(10)),1)}function gi(t){var e=t.x||0,n=t.y||0,i=(t.rotation||0)*wt,r=it(t.scaleX,1),o=it(t.scaleY,1),a=t.skewX||0,s=t.skewY||0,l=[];return(e||n)&&l.push("translate("+e+"px,"+n+"px)"),i&&l.push("rotate("+i+")"),1===r&&1===o||l.push("scale("+r+","+o+")"),(a||s)&&l.push("skew("+ei(a*wt)+"deg, "+ei(s*wt)+"deg)"),l.join(" ")}var vi=r.hasGlobalWindow&&U(window.btoa)?function(t){return window.btoa(unescape(encodeURIComponent(t)))}:"undefined"!=typeof Buffer?function(t){return Buffer.from(t).toString("base64")}:function(t){return null},yi=Array.prototype.slice;function mi(t,e,n){return(e-t)*n+t}function _i(t,e,n,i){for(var r=e.length,o=0;oi?e:t,o=Math.min(n,i),a=r[o-1]||{color:[0,0,0,0],offset:0},s=o;sa)i.length=a;else for(var s=o;s=1},t.prototype.getAdditiveTrack=function(){return this._additiveTrack},t.prototype.addKeyframe=function(t,e,n){this._needsSort=!0;var i=this.keyframes,r=i.length,o=!1,a=6,s=e;if(N(e)){var l=function(t){return N(t&&t[0])?2:1}(e);a=l,(1===l&&!X(e[0])||2===l&&!X(e[0][0]))&&(o=!0)}else if(X(e)&&!et(e))a=0;else if(Z(e))if(isNaN(+e)){var u=Wn(e);u&&(s=u,a=3)}else a=0;else if(Q(e)){var h=k({},s);h.colorStops=E(e.colorStops,(function(t){return{offset:t.offset,color:Wn(t.color)}})),hi(e)?a=4:ci(e)&&(a=5),s=h}0===r?this.valType=a:a===this.valType&&6!==a||(o=!0),this.discrete=this.discrete||o;var c={time:t,value:s,rawValue:e,percent:0};return n&&(c.easing=n,c.easingFunc=U(n)?n:tn[n]||Cn(n)),i.push(c),c},t.prototype.prepare=function(t,e){var n=this.keyframes;this._needsSort&&n.sort((function(t,e){return t.time-e.time}));for(var i=this.valType,r=n.length,o=n[r-1],a=this.discrete,s=Ii(i),l=Ti(i),u=0;u=0&&!(l[n].percent<=e);n--);n=d(n,u-2)}else{for(n=p;ne);n++);n=d(n-1,u-2)}r=l[n+1],i=l[n]}if(i&&r){this._lastFr=n,this._lastFrP=e;var f=r.percent-i.percent,g=0===f?1:d((e-i.percent)/f,1);r.easingFunc&&(g=r.easingFunc(g));var v=o?this._additiveValue:c?Di:t[h];if(!Ii(s)&&!c||v||(v=this._additiveValue=[]),this.discrete)t[h]=g<1?i.rawValue:r.rawValue;else if(Ii(s))1===s?_i(v,i[a],r[a],g):function(t,e,n,i){for(var r=e.length,o=r&&e[0].length,a=0;a0&&s.addKeyframe(0,Mi(l),i),this._trackKeys.push(a)}s.addKeyframe(t,Mi(e[a]),i)}return this._maxTime=Math.max(this._maxTime,t),this},t.prototype.pause=function(){this._clip.pause(),this._paused=!0},t.prototype.resume=function(){this._clip.resume(),this._paused=!1},t.prototype.isPaused=function(){return!!this._paused},t.prototype.duration=function(t){return this._maxTime=t,this._force=!0,this},t.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var t=this._doneCbs;if(t)for(var e=t.length,n=0;n0)){this._started=1;for(var e=this,n=[],i=this._maxTime||0,r=0;r1){var a=o.pop();r.addKeyframe(a.time,t[i]),r.prepare(this._maxTime,r.getAdditiveTrack())}}}},t}();function Pi(){return(new Date).getTime()}var Li,Oi,Ri=function(t){function e(e){var n=t.call(this)||this;return n._running=!1,n._time=0,n._pausedTime=0,n._pauseStart=0,n._paused=!1,e=e||{},n.stage=e.stage||{},n}return n(e,t),e.prototype.addClip=function(t){t.animation&&this.removeClip(t),this._head?(this._tail.next=t,t.prev=this._tail,t.next=null,this._tail=t):this._head=this._tail=t,t.animation=this},e.prototype.addAnimator=function(t){t.animation=this;var e=t.getClip();e&&this.addClip(e)},e.prototype.removeClip=function(t){if(t.animation){var e=t.prev,n=t.next;e?e.next=n:this._head=n,n?n.prev=e:this._tail=e,t.next=t.prev=t.animation=null}},e.prototype.removeAnimator=function(t){var e=t.getClip();e&&this.removeClip(e),t.animation=null},e.prototype.update=function(t){for(var e=Pi()-this._pausedTime,n=e-this._time,i=this._head;i;){var r=i.next;i.step(e,n)?(i.ondestroy(),this.removeClip(i),i=r):i=r}this._time=e,t||(this.trigger("frame",n),this.stage.update&&this.stage.update())},e.prototype._startLoop=function(){var t=this;this._running=!0,Je((function e(){t._running&&(Je(e),!t._paused&&t.update())}))},e.prototype.start=function(){this._running||(this._time=Pi(),this._pausedTime=0,this._startLoop())},e.prototype.stop=function(){this._running=!1},e.prototype.pause=function(){this._paused||(this._pauseStart=Pi(),this._paused=!0)},e.prototype.resume=function(){this._paused&&(this._pausedTime+=Pi()-this._pauseStart,this._paused=!1)},e.prototype.clear=function(){for(var t=this._head;t;){var e=t.next;t.prev=t.next=t.animation=null,t=e}this._head=this._tail=null},e.prototype.isFinished=function(){return null==this._head},e.prototype.animate=function(t,e){e=e||{},this.start();var n=new Ai(t,e.loop);return this.addAnimator(n),n},e}(Ut),Ni=r.domSupported,zi=(Oi={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},{mouse:Li=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],touch:["touchstart","touchend","touchmove"],pointer:E(Li,(function(t){var e=t.replace("mouse","pointer");return Oi.hasOwnProperty(e)?e:t}))}),Ei=["mousemove","mouseup"],Bi=["pointermove","pointerup"],Vi=!1;function Fi(t){var e=t.pointerType;return"pen"===e||"touch"===e}function Hi(t){t&&(t.zrByTouch=!0)}function Wi(t,e){for(var n=e,i=!1;n&&9!==n.nodeType&&!(i=n.domBelongToZr||n!==e&&n===t.painterRoot);)n=n.parentNode;return i}var Gi=function(t,e){this.stopPropagation=xt,this.stopImmediatePropagation=xt,this.preventDefault=xt,this.type=e.type,this.target=this.currentTarget=t.dom,this.pointerType=e.pointerType,this.clientX=e.clientX,this.clientY=e.clientY},Ui={mousedown:function(t){t=se(this.dom,t),this.__mayPointerCapture=[t.zrX,t.zrY],this.trigger("mousedown",t)},mousemove:function(t){t=se(this.dom,t);var e=this.__mayPointerCapture;!e||t.zrX===e[0]&&t.zrY===e[1]||this.__togglePointerCapture(!0),this.trigger("mousemove",t)},mouseup:function(t){t=se(this.dom,t),this.__togglePointerCapture(!1),this.trigger("mouseup",t)},mouseout:function(t){Wi(this,(t=se(this.dom,t)).toElement||t.relatedTarget)||(this.__pointerCapturing&&(t.zrEventControl="no_globalout"),this.trigger("mouseout",t))},wheel:function(t){Vi=!0,t=se(this.dom,t),this.trigger("mousewheel",t)},mousewheel:function(t){Vi||(t=se(this.dom,t),this.trigger("mousewheel",t))},touchstart:function(t){Hi(t=se(this.dom,t)),this.__lastTouchMoment=new Date,this.handler.processGesture(t,"start"),Ui.mousemove.call(this,t),Ui.mousedown.call(this,t)},touchmove:function(t){Hi(t=se(this.dom,t)),this.handler.processGesture(t,"change"),Ui.mousemove.call(this,t)},touchend:function(t){Hi(t=se(this.dom,t)),this.handler.processGesture(t,"end"),Ui.mouseup.call(this,t),+new Date-+this.__lastTouchMoment<300&&Ui.click.call(this,t)},pointerdown:function(t){Ui.mousedown.call(this,t)},pointermove:function(t){Fi(t)||Ui.mousemove.call(this,t)},pointerup:function(t){Ui.mouseup.call(this,t)},pointerout:function(t){Fi(t)||Ui.mouseout.call(this,t)}};z(["click","dblclick","contextmenu"],(function(t){Ui[t]=function(e){e=se(this.dom,e),this.trigger(t,e)}}));var Zi={pointermove:function(t){Fi(t)||Zi.mousemove.call(this,t)},pointerup:function(t){Zi.mouseup.call(this,t)},mousemove:function(t){this.trigger("mousemove",t)},mouseup:function(t){var e=this.__pointerCapturing;this.__togglePointerCapture(!1),this.trigger("mouseup",t),e&&(t.zrEventControl="only_globalout",this.trigger("mouseout",t))}};function Yi(t,e){var n=e.domHandlers;r.pointerEventsSupported?z(zi.pointer,(function(i){ji(e,i,(function(e){n[i].call(t,e)}))})):(r.touchEventsSupported&&z(zi.touch,(function(i){ji(e,i,(function(r){n[i].call(t,r),function(t){t.touching=!0,null!=t.touchTimer&&(clearTimeout(t.touchTimer),t.touchTimer=null),t.touchTimer=setTimeout((function(){t.touching=!1,t.touchTimer=null}),700)}(e)}))})),z(zi.mouse,(function(i){ji(e,i,(function(r){r=ae(r),e.touching||n[i].call(t,r)}))})))}function Xi(t,e){function n(n){ji(e,n,(function(i){i=ae(i),Wi(t,i.target)||(i=function(t,e){return se(t.dom,new Gi(t,e),!0)}(t,i),e.domHandlers[n].call(t,i))}),{capture:!0})}r.pointerEventsSupported?z(Bi,n):r.touchEventsSupported||z(Ei,n)}function ji(t,e,n,i){t.mounted[e]=n,t.listenerOpts[e]=i,le(t.domTarget,e,n,i)}function qi(t){var e,n,i,r,o=t.mounted;for(var a in o)o.hasOwnProperty(a)&&(e=t.domTarget,n=a,i=o[a],r=t.listenerOpts[a],e.removeEventListener(n,i,r));t.mounted={}}var Ki=function(t,e){this.mounted={},this.listenerOpts={},this.touching=!1,this.domTarget=t,this.domHandlers=e},$i=function(t){function e(e,n){var i=t.call(this)||this;return i.__pointerCapturing=!1,i.dom=e,i.painterRoot=n,i._localHandlerScope=new Ki(e,Ui),Ni&&(i._globalHandlerScope=new Ki(document,Zi)),Yi(i,i._localHandlerScope),i}return n(e,t),e.prototype.dispose=function(){qi(this._localHandlerScope),Ni&&qi(this._globalHandlerScope)},e.prototype.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||"default")},e.prototype.__togglePointerCapture=function(t){if(this.__mayPointerCapture=null,Ni&&+this.__pointerCapturing^+t){this.__pointerCapturing=t;var e=this._globalHandlerScope;t?Xi(this,e):qi(e)}},e}(Ut),Qi=1;r.hasGlobalWindow&&(Qi=Math.max(window.devicePixelRatio||window.screen&&window.screen.deviceXDPI/window.screen.logicalXDPI||1,1));var Ji=Qi,tr="#333",er="#ccc",nr=ge,ir=5e-5;function rr(t){return t>ir||t<-5e-5}var or=[],ar=[],sr=[1,0,0,1,0,0],lr=Math.abs,ur=function(){function t(){}return t.prototype.getLocalTransform=function(e){return t.getLocalTransform(this,e)},t.prototype.setPosition=function(t){this.x=t[0],this.y=t[1]},t.prototype.setScale=function(t){this.scaleX=t[0],this.scaleY=t[1]},t.prototype.setSkew=function(t){this.skewX=t[0],this.skewY=t[1]},t.prototype.setOrigin=function(t){this.originX=t[0],this.originY=t[1]},t.prototype.needLocalTransform=function(){return rr(this.rotation)||rr(this.x)||rr(this.y)||rr(this.scaleX-1)||rr(this.scaleY-1)||rr(this.skewX)||rr(this.skewY)},t.prototype.updateTransform=function(){var t=this.parent&&this.parent.transform,e=this.needLocalTransform(),n=this.transform;e||t?(n=n||[1,0,0,1,0,0],e?this.getLocalTransform(n):nr(n),t&&(e?ye(n,t,n):ve(n,t)),this.transform=n,this._resolveGlobalScaleRatio(n)):n&&(nr(n),this.invTransform=null)},t.prototype._resolveGlobalScaleRatio=function(t){var e=this.globalScaleRatio;if(null!=e&&1!==e){this.getGlobalScale(or);var n=or[0]<0?-1:1,i=or[1]<0?-1:1,r=((or[0]-n)*e+n)/or[0]||0,o=((or[1]-i)*e+i)/or[1]||0;t[0]*=r,t[1]*=r,t[2]*=o,t[3]*=o}this.invTransform=this.invTransform||[1,0,0,1,0,0],we(this.invTransform,t)},t.prototype.getComputedTransform=function(){for(var t=this,e=[];t;)e.push(t),t=t.parent;for(;t=e.pop();)t.updateTransform();return this.transform},t.prototype.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],n=t[2]*t[2]+t[3]*t[3],i=Math.atan2(t[1],t[0]),r=Math.PI/2+i-Math.atan2(t[3],t[2]);n=Math.sqrt(n)*Math.cos(r),e=Math.sqrt(e),this.skewX=r,this.skewY=0,this.rotation=-i,this.x=+t[4],this.y=+t[5],this.scaleX=e,this.scaleY=n,this.originX=0,this.originY=0}},t.prototype.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(t.invTransform=t.invTransform||[1,0,0,1,0,0],ye(ar,t.invTransform,e),e=ar);var n=this.originX,i=this.originY;(n||i)&&(sr[4]=n,sr[5]=i,ye(ar,e,sr),ar[4]-=n,ar[5]-=i,e=ar),this.setLocalTransform(e)}},t.prototype.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},t.prototype.transformCoordToLocal=function(t,e){var n=[t,e],i=this.invTransform;return i&&Bt(n,n,i),n},t.prototype.transformCoordToGlobal=function(t,e){var n=[t,e],i=this.transform;return i&&Bt(n,n,i),n},t.prototype.getLineScale=function(){var t=this.transform;return t&&lr(t[0]-1)>1e-10&&lr(t[3]-1)>1e-10?Math.sqrt(lr(t[0]*t[3]-t[2]*t[1])):1},t.prototype.copyTransform=function(t){cr(this,t)},t.getLocalTransform=function(t,e){e=e||[];var n=t.originX||0,i=t.originY||0,r=t.scaleX,o=t.scaleY,a=t.anchorX,s=t.anchorY,l=t.rotation||0,u=t.x,h=t.y,c=t.skewX?Math.tan(t.skewX):0,p=t.skewY?Math.tan(-t.skewY):0;if(n||i||a||s){var d=n+a,f=i+s;e[4]=-d*r-c*f*o,e[5]=-f*o-p*d*r}else e[4]=e[5]=0;return e[0]=r,e[3]=o,e[1]=p*r,e[2]=c*o,l&&_e(e,e,l),e[4]+=n+u,e[5]+=i+h,e},t.initDefaultProps=function(){var e=t.prototype;e.scaleX=e.scaleY=e.globalScaleRatio=1,e.x=e.y=e.originX=e.originY=e.skewX=e.skewY=e.rotation=e.anchorX=e.anchorY=0}(),t}(),hr=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function cr(t,e){for(var n=0;n=0?parseFloat(t)/100*e:parseFloat(t):t}function xr(t,e,n){var i=e.position||"inside",r=null!=e.distance?e.distance:5,o=n.height,a=n.width,s=o/2,l=n.x,u=n.y,h="left",c="top";if(i instanceof Array)l+=_r(i[0],n.width),u+=_r(i[1],n.height),h=null,c=null;else switch(i){case"left":l-=r,u+=s,h="right",c="middle";break;case"right":l+=r+a,u+=s,c="middle";break;case"top":l+=a/2,u-=r,h="center",c="bottom";break;case"bottom":l+=a/2,u+=o+r,h="center";break;case"inside":l+=a/2,u+=s,h="center",c="middle";break;case"insideLeft":l+=r,u+=s,c="middle";break;case"insideRight":l+=a-r,u+=s,h="right",c="middle";break;case"insideTop":l+=a/2,u+=r,h="center";break;case"insideBottom":l+=a/2,u+=o-r,h="center",c="bottom";break;case"insideTopLeft":l+=r,u+=r;break;case"insideTopRight":l+=a-r,u+=r,h="right";break;case"insideBottomLeft":l+=r,u+=o-r,c="bottom";break;case"insideBottomRight":l+=a-r,u+=o-r,h="right",c="bottom"}return(t=t||{}).x=l,t.y=u,t.align=h,t.verticalAlign=c,t}var wr="__zr_normal__",br=hr.concat(["ignore"]),Sr=B(hr,(function(t,e){return t[e]=!0,t}),{ignore:!1}),Mr={},Cr=new Le(0,0,0,0),Tr=function(){function t(t){this.id=M(),this.animators=[],this.currentStates=[],this.states={},this._init(t)}return t.prototype._init=function(t){this.attr(t)},t.prototype.drift=function(t,e,n){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0}var i=this.transform;i||(i=this.transform=[1,0,0,1,0,0]),i[4]+=t,i[5]+=e,this.decomposeTransform(),this.markRedraw()},t.prototype.beforeUpdate=function(){},t.prototype.afterUpdate=function(){},t.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},t.prototype.updateInnerText=function(t){var e=this._textContent;if(e&&(!e.ignore||t)){this.textConfig||(this.textConfig={});var n=this.textConfig,i=n.local,r=e.innerTransformable,o=void 0,a=void 0,s=!1;r.parent=i?this:null;var l=!1;if(r.copyTransform(e),null!=n.position){var u=Cr;n.layoutRect?u.copy(n.layoutRect):u.copy(this.getBoundingRect()),i||u.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(Mr,n,u):xr(Mr,n,u),r.x=Mr.x,r.y=Mr.y,o=Mr.align,a=Mr.verticalAlign;var h=n.origin;if(h&&null!=n.rotation){var c=void 0,p=void 0;"center"===h?(c=.5*u.width,p=.5*u.height):(c=_r(h[0],u.width),p=_r(h[1],u.height)),l=!0,r.originX=-r.x+c+(i?0:u.x),r.originY=-r.y+p+(i?0:u.y)}}null!=n.rotation&&(r.rotation=n.rotation);var d=n.offset;d&&(r.x+=d[0],r.y+=d[1],l||(r.originX=-d[0],r.originY=-d[1]));var f=null==n.inside?"string"==typeof n.position&&n.position.indexOf("inside")>=0:n.inside,g=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),v=void 0,y=void 0,m=void 0;f&&this.canBeInsideText()?(v=n.insideFill,y=n.insideStroke,null!=v&&"auto"!==v||(v=this.getInsideTextFill()),null!=y&&"auto"!==y||(y=this.getInsideTextStroke(v),m=!0)):(v=n.outsideFill,y=n.outsideStroke,null!=v&&"auto"!==v||(v=this.getOutsideFill()),null!=y&&"auto"!==y||(y=this.getOutsideStroke(v),m=!0)),(v=v||"#000")===g.fill&&y===g.stroke&&m===g.autoStroke&&o===g.align&&a===g.verticalAlign||(s=!0,g.fill=v,g.stroke=y,g.autoStroke=m,g.align=o,g.verticalAlign=a,e.setDefaultTextStyle(g)),e.__dirty|=1,s&&e.dirtyStyle(!0)}},t.prototype.canBeInsideText=function(){return!0},t.prototype.getInsideTextFill=function(){return"#fff"},t.prototype.getInsideTextStroke=function(t){return"#000"},t.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?er:tr},t.prototype.getOutsideStroke=function(t){var e=this.__zr&&this.__zr.getBackgroundColor(),n="string"==typeof e&&Wn(e);n||(n=[255,255,255,1]);for(var i=n[3],r=this.__zr.isDarkMode(),o=0;o<3;o++)n[o]=n[o]*i+(r?0:255)*(1-i);return n[3]=1,Kn(n,"rgba")},t.prototype.traverse=function(t,e){},t.prototype.attrKV=function(t,e){"textConfig"===t?this.setTextConfig(e):"textContent"===t?this.setTextContent(e):"clipPath"===t?this.setClipPath(e):"extra"===t?(this.extra=this.extra||{},k(this.extra,e)):this[t]=e},t.prototype.hide=function(){this.ignore=!0,this.markRedraw()},t.prototype.show=function(){this.ignore=!1,this.markRedraw()},t.prototype.attr=function(t,e){if("string"==typeof t)this.attrKV(t,e);else if(j(t))for(var n=F(t),i=0;i0},t.prototype.getState=function(t){return this.states[t]},t.prototype.ensureState=function(t){var e=this.states;return e[t]||(e[t]={}),e[t]},t.prototype.clearStates=function(t){this.useState(wr,!1,t)},t.prototype.useState=function(t,e,n,i){var r=t===wr;if(this.hasState()||!r){var o=this.currentStates,a=this.stateTransition;if(!(L(o,t)>=0)||!e&&1!==o.length){var s;if(this.stateProxy&&!r&&(s=this.stateProxy(t)),s||(s=this.states&&this.states[t]),s||r){r||this.saveCurrentToNormalState(s);var l=!!(s&&s.hoverLayer||i);l&&this._toggleHoverLayerFlag(!0),this._applyStateObj(t,s,this._normalState,e,!n&&!this.__inHover&&a&&a.duration>0,a);var u=this._textContent,h=this._textGuide;return u&&u.useState(t,e,n,l),h&&h.useState(t,e,n,l),r?(this.currentStates=[],this._normalState={}):e?this.currentStates.push(t):this.currentStates=[t],this._updateAnimationTargets(),this.markRedraw(),!l&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=-2),s}C("State "+t+" not exists.")}}},t.prototype.useStates=function(t,e,n){if(t.length){var i=[],r=this.currentStates,o=t.length,a=o===r.length;if(a)for(var s=0;s0,d);var f=this._textContent,g=this._textGuide;f&&f.useStates(t,e,c),g&&g.useStates(t,e,c),this._updateAnimationTargets(),this.currentStates=t.slice(),this.markRedraw(),!c&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=-2)}else this.clearStates()},t.prototype.isSilent=function(){for(var t=this.silent,e=this.parent;!t&&e;){if(e.silent){t=!0;break}e=e.parent}return t},t.prototype._updateAnimationTargets=function(){for(var t=0;t=0){var n=this.currentStates.slice();n.splice(e,1),this.useStates(n)}},t.prototype.replaceState=function(t,e,n){var i=this.currentStates.slice(),r=L(i,t),o=L(i,e)>=0;r>=0?o?i.splice(r,1):i[r]=e:n&&!o&&i.push(e),this.useStates(i)},t.prototype.toggleState=function(t,e){e?this.useState(t,!0):this.removeState(t)},t.prototype._mergeStates=function(t){for(var e,n={},i=0;i=0&&e.splice(n,1)})),this.animators.push(t),n&&n.animation.addAnimator(t),n&&n.wakeUp()},t.prototype.updateDuringAnimation=function(t){this.markRedraw()},t.prototype.stopAnimation=function(t,e){for(var n=this.animators,i=n.length,r=[],o=0;o0&&n.during&&o[0].during((function(t,e){n.during(e)}));for(var p=0;p0||r.force&&!a.length){var b,S=void 0,M=void 0,C=void 0;if(s){M={},p&&(S={});for(x=0;x<_;x++){M[y=g[x]]=n[y],p?S[y]=i[y]:n[y]=i[y]}}else if(p){C={};for(x=0;x<_;x++){C[y=g[x]]=Mi(n[y]),kr(n,i,y)}}(b=new Ai(n,!1,!1,c?V(f,(function(t){return t.targetName===e})):null)).targetName=e,r.scope&&(b.scope=r.scope),p&&S&&b.whenWithKeys(0,S,g),C&&b.whenWithKeys(0,C,g),b.whenWithKeys(null==u?500:u,s?M:i,g).delay(h||0),t.addAnimator(b,e),a.push(b)}}R(Tr,Ut),R(Tr,ur);var Pr=function(t){function e(e){var n=t.call(this)||this;return n.isGroup=!0,n._children=[],n.attr(e),n}return n(e,t),e.prototype.childrenRef=function(){return this._children},e.prototype.children=function(){return this._children.slice()},e.prototype.childAt=function(t){return this._children[t]},e.prototype.childOfName=function(t){for(var e=this._children,n=0;n=0&&(n.splice(i,0,t),this._doAdd(t))}return this},e.prototype.replace=function(t,e){var n=L(this._children,t);return n>=0&&this.replaceAt(e,n),this},e.prototype.replaceAt=function(t,e){var n=this._children,i=n[e];if(t&&t!==this&&t.parent!==this&&t!==i){n[e]=t,i.parent=null;var r=this.__zr;r&&i.removeSelfFromZr(r),this._doAdd(t)}return this},e.prototype._doAdd=function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__zr;e&&e!==t.__zr&&t.addSelfToZr(e),e&&e.refresh()},e.prototype.remove=function(t){var e=this.__zr,n=this._children,i=L(n,t);return i<0||(n.splice(i,1),t.parent=null,e&&t.removeSelfFromZr(e),e&&e.refresh()),this},e.prototype.removeAll=function(){for(var t=this._children,e=this.__zr,n=0;n0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},t.prototype.setSleepAfterStill=function(t){this._sleepAfterStill=t},t.prototype.wakeUp=function(){this.animation.start(),this._stillFrameAccum=0},t.prototype.refreshHover=function(){this._needsRefreshHover=!0},t.prototype.refreshHoverImmediately=function(){this._needsRefreshHover=!1,this.painter.refreshHover&&"canvas"===this.painter.getType()&&this.painter.refreshHover()},t.prototype.resize=function(t){t=t||{},this.painter.resize(t.width,t.height),this.handler.resize()},t.prototype.clearAnimation=function(){this.animation.clear()},t.prototype.getWidth=function(){return this.painter.getWidth()},t.prototype.getHeight=function(){return this.painter.getHeight()},t.prototype.setCursorStyle=function(t){this.handler.setCursorStyle(t)},t.prototype.findHover=function(t,e){return this.handler.findHover(t,e)},t.prototype.on=function(t,e,n){return this.handler.on(t,e,n),this},t.prototype.off=function(t,e){this.handler.off(t,e)},t.prototype.trigger=function(t,e){this.handler.trigger(t,e)},t.prototype.clear=function(){for(var t=this.storage.getRoots(),e=0;e0){if(t<=r)return a;if(t>=o)return s}else{if(t>=r)return a;if(t<=o)return s}else{if(t===r)return a;if(t===o)return s}return(t-r)/l*u+a}function Dr(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return Z(t)?(n=t,n.replace(/^\s+|\s+$/g,"")).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t;var n}function kr(t,e,n){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),n?t:+t}function Ar(t){return t.sort((function(t,e){return t-e})),t}function Pr(t){if(t=+t,isNaN(t))return 0;if(t>1e-14)for(var e=1,n=0;n<15;n++,e*=10)if(Math.round(t*e)/e===t)return n;return Lr(t)}function Lr(t){var e=t.toString().toLowerCase(),n=e.indexOf("e"),i=n>0?+e.slice(n+1):0,r=n>0?n:e.length,o=e.indexOf("."),a=o<0?0:r-1-o;return Math.max(0,a-i)}function Or(t,e){var n=Math.log,i=Math.LN10,r=Math.floor(n(t[1]-t[0])/i),o=Math.round(n(Math.abs(e[1]-e[0]))/i),a=Math.min(Math.max(-r+o,0),20);return isFinite(a)?a:20}function Rr(t,e,n){if(!t[e])return 0;var i=B(t,(function(t,e){return t+(isNaN(e)?0:e)}),0);if(0===i)return 0;for(var r=Math.pow(10,n),o=z(t,(function(t){return(isNaN(t)?0:t)/i*r*100})),a=100*r,s=z(o,(function(t){return Math.floor(t)})),l=B(s,(function(t,e){return t+e}),0),u=z(o,(function(t,e){return t-s[e]}));lh&&(h=u[p],c=p);++s[c],u[c]=0,++l}return s[e]/r}function Nr(t,e){var n=Math.max(Pr(t),Pr(e)),i=t+e;return n>20?i:kr(i,n)}function Er(t){var e=2*Math.PI;return(t%e+e)%e}function zr(t){return t>-1e-4&&t=10&&e++,e}function Wr(t,e){var n=Hr(t),i=Math.pow(10,n),r=t/i;return t=(e?r<1.5?1:r<2.5?2:r<4?3:r<7?5:10:r<1?1:r<2?2:r<3?3:r<5?5:10)*i,n>=-20?+t.toFixed(n<0?-n:0):t}function Gr(t){var e=parseFloat(t);return e==t&&(0!==e||!Z(t)||t.indexOf("x")<=0)?e:NaN}function Ur(t){return!isNaN(Gr(t))}function Zr(){return Math.round(9*Math.random())}function Yr(t,e){return 0===e?t:Yr(e,t%e)}function Xr(t,e){return null==t?e:null==e?t:t*e/Yr(t,e)}"undefined"!=typeof console&&console.warn&&console.log;function jr(t){0}function qr(t){throw new Error(t)}function Kr(t,e,n){return(e-t)*n+t}var $r="series\0",Qr="\0_ec_\0";function Jr(t){return t instanceof Array?t:null==t?[]:[t]}function to(t,e,n){if(t){t[e]=t[e]||{},t.emphasis=t.emphasis||{},t.emphasis[e]=t.emphasis[e]||{};for(var i=0,r=n.length;i=0||r&&L(r,s)<0)){var l=n.getShallow(s,e);null!=l&&(o[t[a][0]]=l)}}return o}}var Ao=ko([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),Po=function(){function t(){}return t.prototype.getAreaStyle=function(t,e){return Ao(this,t,e)},t}(),Lo=new en(50);function Oo(t){if("string"==typeof t){var e=Lo.get(t);return e&&e.image}return t}function Ro(t,e,n,i,r){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc===t||!n)return e;var o=Lo.get(t),a={hostEl:n,cb:i,cbPayload:r};return o?!Eo(e=o.image)&&o.pending.push(a):((e=h.loadImage(t,No,No)).__zrImageSrc=t,Lo.put(t,e.__cachedImgObj={image:e,pending:[a]})),e}return t}return e}function No(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e=a;l++)s-=a;var u=er(n,e);return u>s&&(n="",u=0),s=t-u,r.ellipsis=n,r.ellipsisWidth=u,r.contentWidth=s,r.containerWidth=t,r}function Fo(t,e){var n=e.containerWidth,i=e.font,r=e.contentWidth;if(!n)return"";var o=er(t,i);if(o<=n)return t;for(var a=0;;a++){if(o<=r||a>=e.maxIterations){t+=e.ellipsis;break}var s=0===a?Ho(t,r,e.ascCharWidth,e.cnCharWidth):o>0?Math.floor(t.length*r/o):0;o=er(t=t.substr(0,s),i)}return""===t&&(t=e.placeholder),t}function Ho(t,e,n,i){for(var r=0,o=0,a=t.length;o0&&f+i.accumWidth>i.width&&(o=e.split("\n"),c=!0),i.accumWidth=f}else{var g=jo(e,h,i.width,i.breakAll,i.accumWidth);i.accumWidth=g.accumWidth+d,a=g.linesWidths,o=g.lines}}else o=e.split("\n");for(var v=0;v=33&&e<=383}(t)||!!Yo[t]}function jo(t,e,n,i,r){for(var o=[],a=[],s="",l="",u=0,h=0,c=0;cn:r+h+d>n)?h?(s||l)&&(f?(s||(s=l,l="",h=u=0),o.push(s),a.push(h-u),l+=p,s="",h=u+=d):(l&&(s+=l,l="",u=0),o.push(s),a.push(h),s=p,h=d)):f?(o.push(l),a.push(u),l=p,u=d):(o.push(p),a.push(d)):(h+=d,f?(l+=p,u+=d):(l&&(s+=l,l="",u=0),s+=p))}else l&&(s+=l,h+=u),o.push(s),a.push(h),s="",l="",u=0,h=0}return o.length||s||(s=t,l="",u=0),l&&(s+=l),s&&(o.push(s),a.push(h)),1===o.length&&(h+=r),{accumWidth:h,lines:o,linesWidths:a}}var qo="__zr_style_"+Math.round(10*Math.random()),Ko={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},$o={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};Ko[qo]=!0;var Qo=["z","z2","invisible"],Jo=["invisible"],ta=function(t){function e(e){return t.call(this,e)||this}var i;return n(e,t),e.prototype._init=function(e){for(var n=F(e),i=0;i1e-4)return s[0]=t-n,s[1]=e-i,l[0]=t+n,void(l[1]=e+i);if(la[0]=aa(r)*n+t,la[1]=oa(r)*i+e,ua[0]=aa(o)*n+t,ua[1]=oa(o)*i+e,u(s,la,ua),h(l,la,ua),(r%=sa)<0&&(r+=sa),(o%=sa)<0&&(o+=sa),r>o&&!a?o+=sa:rr&&(ha[0]=aa(d)*n+t,ha[1]=oa(d)*i+e,u(s,ha,s),h(l,ha,l))}var ya={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},ma=[],_a=[],xa=[],wa=[],ba=[],Sa=[],Ma=Math.min,Ca=Math.max,Ia=Math.cos,Ta=Math.sin,Da=Math.abs,ka=Math.PI,Aa=2*ka,Pa="undefined"!=typeof Float32Array,La=[];function Oa(t){return Math.round(t/ka*1e8)/1e8%2*ka}var Ra=function(){function t(t){this.dpr=1,this._xi=0,this._yi=0,this._x0=0,this._y0=0,this._len=0,t&&(this._saveData=!1),this._saveData&&(this.data=[])}return t.prototype.increaseVersion=function(){this._version++},t.prototype.getVersion=function(){return this._version},t.prototype.setScale=function(t,e,n){(n=n||0)>0&&(this._ux=Da(n/bi/t)||0,this._uy=Da(n/bi/e)||0)},t.prototype.setDPR=function(t){this.dpr=t},t.prototype.setContext=function(t){this._ctx=t},t.prototype.getContext=function(){return this._ctx},t.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},t.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},t.prototype.moveTo=function(t,e){return this._drawPendingPt(),this.addData(ya.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},t.prototype.lineTo=function(t,e){var n=Da(t-this._xi),i=Da(e-this._yi),r=n>this._ux||i>this._uy;if(this.addData(ya.L,t,e),this._ctx&&r&&this._ctx.lineTo(t,e),r)this._xi=t,this._yi=e,this._pendingPtDist=0;else{var o=n*n+i*i;o>this._pendingPtDist&&(this._pendingPtX=t,this._pendingPtY=e,this._pendingPtDist=o)}return this},t.prototype.bezierCurveTo=function(t,e,n,i,r,o){return this._drawPendingPt(),this.addData(ya.C,t,e,n,i,r,o),this._ctx&&this._ctx.bezierCurveTo(t,e,n,i,r,o),this._xi=r,this._yi=o,this},t.prototype.quadraticCurveTo=function(t,e,n,i){return this._drawPendingPt(),this.addData(ya.Q,t,e,n,i),this._ctx&&this._ctx.quadraticCurveTo(t,e,n,i),this._xi=n,this._yi=i,this},t.prototype.arc=function(t,e,n,i,r,o){this._drawPendingPt(),La[0]=i,La[1]=r,function(t,e){var n=Oa(t[0]);n<0&&(n+=Aa);var i=n-t[0],r=t[1];r+=i,!e&&r-n>=Aa?r=n+Aa:e&&n-r>=Aa?r=n-Aa:!e&&n>r?r=n+(Aa-Oa(n-r)):e&&nu.length&&(this._expandData(),u=this.data);for(var h=0;h0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},t.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var t=[],e=0;e11&&(this.data=new Float32Array(t)))}},t.prototype.getBoundingRect=function(){xa[0]=xa[1]=ba[0]=ba[1]=Number.MAX_VALUE,wa[0]=wa[1]=Sa[0]=Sa[1]=-Number.MAX_VALUE;var t,e=this.data,n=0,i=0,r=0,o=0;for(t=0;tn||Da(v)>i||c===e-1)&&(f=Math.sqrt(k*k+v*v),r=g,o=_);break;case ya.C:var y=t[c++],m=t[c++],_=(g=t[c++],t[c++]),x=t[c++],w=t[c++];f=Ue(r,o,y,m,g,_,x,w,10),r=x,o=w;break;case ya.Q:f=qe(r,o,y=t[c++],m=t[c++],g=t[c++],_=t[c++],10),r=g,o=_;break;case ya.A:var b=t[c++],S=t[c++],M=t[c++],C=t[c++],I=t[c++],T=t[c++],D=T+I;c+=1;t[c++];d&&(a=Ia(I)*M+b,s=Ta(I)*C+S),f=Ca(M,C)*Ma(Aa,Math.abs(T)),r=Ia(D)*M+b,o=Ta(D)*C+S;break;case ya.R:a=r=t[c++],s=o=t[c++],f=2*t[c++]+2*t[c++];break;case ya.Z:var k=a-r;v=s-o;f=Math.sqrt(k*k+v*v),r=a,o=s}f>=0&&(l[h++]=f,u+=f)}return this._pathLen=u,u},t.prototype.rebuildPath=function(t,e){var n,i,r,o,a,s,l,u,h,c,p=this.data,d=this._ux,f=this._uy,g=this._len,v=e<1,y=0,m=0,_=0;if(!v||(this._pathSegLen||this._calculateLength(),l=this._pathSegLen,u=e*this._pathLen))t:for(var x=0;x0&&(t.lineTo(h,c),_=0),w){case ya.M:n=r=p[x++],i=o=p[x++],t.moveTo(r,o);break;case ya.L:a=p[x++],s=p[x++];var S=Da(a-r),M=Da(s-o);if(S>d||M>f){if(v){if(y+(j=l[m++])>u){var C=(u-y)/j;t.lineTo(r*(1-C)+a*C,o*(1-C)+s*C);break t}y+=j}t.lineTo(a,s),r=a,o=s,_=0}else{var I=S*S+M*M;I>_&&(h=a,c=s,_=I)}break;case ya.C:var T=p[x++],D=p[x++],k=p[x++],A=p[x++],P=p[x++],L=p[x++];if(v){if(y+(j=l[m++])>u){Ge(r,T,k,P,C=(u-y)/j,ma),Ge(o,D,A,L,C,_a),t.bezierCurveTo(ma[1],_a[1],ma[2],_a[2],ma[3],_a[3]);break t}y+=j}t.bezierCurveTo(T,D,k,A,P,L),r=P,o=L;break;case ya.Q:T=p[x++],D=p[x++],k=p[x++],A=p[x++];if(v){if(y+(j=l[m++])>u){je(r,T,k,C=(u-y)/j,ma),je(o,D,A,C,_a),t.quadraticCurveTo(ma[1],_a[1],ma[2],_a[2]);break t}y+=j}t.quadraticCurveTo(T,D,k,A),r=k,o=A;break;case ya.A:var O=p[x++],R=p[x++],N=p[x++],E=p[x++],z=p[x++],B=p[x++],V=p[x++],F=!p[x++],H=N>E?N:E,W=Da(N-E)>.001,G=z+B,U=!1;if(v)y+(j=l[m++])>u&&(G=z+B*(u-y)/j,U=!0),y+=j;if(W&&t.ellipse?t.ellipse(O,R,N,E,V,z,G,F):t.arc(O,R,H,z,G,F),U)break t;b&&(n=Ia(z)*N+O,i=Ta(z)*E+R),r=Ia(G)*N+O,o=Ta(G)*E+R;break;case ya.R:n=r=p[x],i=o=p[x+1],a=p[x++],s=p[x++];var Z=p[x++],Y=p[x++];if(v){if(y+(j=l[m++])>u){var X=u-y;t.moveTo(a,s),t.lineTo(a+Ma(X,Z),s),(X-=Z)>0&&t.lineTo(a+Z,s+Ma(X,Y)),(X-=Y)>0&&t.lineTo(a+Ca(Z-X,0),s+Y),(X-=Z)>0&&t.lineTo(a,s+Ca(Y-X,0));break t}y+=j}t.rect(a,s,Z,Y);break;case ya.Z:if(v){var j;if(y+(j=l[m++])>u){C=(u-y)/j;t.lineTo(r*(1-C)+n*C,o*(1-C)+i*C);break t}y+=j}t.closePath(),r=n,o=i}}},t.prototype.clone=function(){var e=new t,n=this.data;return e.data=n.slice?n.slice():Array.prototype.slice.call(n),e._len=this._len,e},t.CMD=ya,t.initDefaultProps=function(){var e=t.prototype;e._saveData=!0,e._ux=0,e._uy=0,e._pendingPtDist=0,e._version=0}(),t}();function Na(t,e,n,i,r,o,a){if(0===r)return!1;var s=r,l=0;if(a>e+s&&a>i+s||at+s&&o>n+s||oe+c&&h>i+c&&h>o+c&&h>s+c||ht+c&&u>n+c&&u>r+c&&u>a+c||u=0&&fe+u&&l>i+u&&l>o+u||lt+u&&s>n+u&&s>r+u||s=0&&vn||h+ur&&(r+=Fa);var p=Math.atan2(l,s);return p<0&&(p+=Fa),p>=i&&p<=r||p+Fa>=i&&p+Fa<=r}function Wa(t,e,n,i,r,o){if(o>e&&o>i||or?s:0}var Ga=Ra.CMD,Ua=2*Math.PI;var Za=[-1,-1,-1],Ya=[-1,-1];function Xa(t,e,n,i,r,o,a,s,l,u){if(u>e&&u>i&&u>o&&u>s||u1&&(h=void 0,h=Ya[0],Ya[0]=Ya[1],Ya[1]=h),f=Ve(e,i,o,s,Ya[0]),d>1&&(g=Ve(e,i,o,s,Ya[1]))),2===d?ye&&s>i&&s>o||s=0&&h<=1&&(r[l++]=h);else{var u=a*a-4*o*s;if(ze(u))(h=-a/(2*o))>=0&&h<=1&&(r[l++]=h);else if(u>0){var h,c=ke(u),p=(-a-c)/(2*o);(h=(-a+c)/(2*o))>=0&&h<=1&&(r[l++]=h),p>=0&&p<=1&&(r[l++]=p)}}return l}(e,i,o,s,Za);if(0===l)return 0;var u=Xe(e,i,o);if(u>=0&&u<=1){for(var h=0,c=Ze(e,i,o,u),p=0;pn||s<-n)return 0;var l=Math.sqrt(n*n-s*s);Za[0]=-l,Za[1]=l;var u=Math.abs(i-r);if(u<1e-4)return 0;if(u>=Ua-1e-4){i=0,r=Ua;var h=o?1:-1;return a>=Za[0]+t&&a<=Za[1]+t?h:0}if(i>r){var c=i;i=r,r=c}i<0&&(i+=Ua,r+=Ua);for(var p=0,d=0;d<2;d++){var f=Za[d];if(f+t>a){var g=Math.atan2(s,f);h=o?1:-1;g<0&&(g=Ua+g),(g>=i&&g<=r||g+Ua>=i&&g+Ua<=r)&&(g>Math.PI/2&&g<1.5*Math.PI&&(h=-h),p+=h)}}return p}function Ka(t,e,n,i,r){for(var o,a,s,l,u=t.data,h=t.len(),c=0,p=0,d=0,f=0,g=0,v=0;v1&&(n||(c+=Wa(p,d,f,g,i,r))),m&&(f=p=u[v],g=d=u[v+1]),y){case Ga.M:p=f=u[v++],d=g=u[v++];break;case Ga.L:if(n){if(Na(p,d,u[v],u[v+1],e,i,r))return!0}else c+=Wa(p,d,u[v],u[v+1],i,r)||0;p=u[v++],d=u[v++];break;case Ga.C:if(n){if(Ea(p,d,u[v++],u[v++],u[v++],u[v++],u[v],u[v+1],e,i,r))return!0}else c+=Xa(p,d,u[v++],u[v++],u[v++],u[v++],u[v],u[v+1],i,r)||0;p=u[v++],d=u[v++];break;case Ga.Q:if(n){if(za(p,d,u[v++],u[v++],u[v],u[v+1],e,i,r))return!0}else c+=ja(p,d,u[v++],u[v++],u[v],u[v+1],i,r)||0;p=u[v++],d=u[v++];break;case Ga.A:var _=u[v++],x=u[v++],w=u[v++],b=u[v++],S=u[v++],M=u[v++];v+=1;var C=!!(1-u[v++]);o=Math.cos(S)*w+_,a=Math.sin(S)*b+x,m?(f=o,g=a):c+=Wa(p,d,o,a,i,r);var I=(i-_)*b/w+_;if(n){if(Ha(_,x,b,S,S+M,C,e,I,r))return!0}else c+=qa(_,x,b,S,S+M,C,I,r);p=Math.cos(S+M)*w+_,d=Math.sin(S+M)*b+x;break;case Ga.R:if(f=p=u[v++],g=d=u[v++],o=f+u[v++],a=g+u[v++],n){if(Na(f,g,o,g,e,i,r)||Na(o,g,o,a,e,i,r)||Na(o,a,f,a,e,i,r)||Na(f,a,f,g,e,i,r))return!0}else c+=Wa(o,g,o,a,i,r),c+=Wa(f,a,f,g,i,r);break;case Ga.Z:if(n){if(Na(p,d,f,g,e,i,r))return!0}else c+=Wa(p,d,f,g,i,r);p=f,d=g}}return n||(s=d,l=g,Math.abs(s-l)<1e-4)||(c+=Wa(p,d,f,g,i,r)||0),0!==c}var $a=A({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},Ko),Qa={style:A({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},$o.style)},Ja=Wi.concat(["invisible","culling","z","z2","zlevel","parent"]),ts=function(t){function e(e){return t.call(this,e)||this}var i;return n(e,t),e.prototype.update=function(){var n=this;t.prototype.update.call(this);var i=this.style;if(i.decal){var r=this._decalEl=this._decalEl||new e;r.buildPath===e.prototype.buildPath&&(r.buildPath=function(t){n.buildPath(t,n.shape)}),r.silent=!0;var o=r.style;for(var a in i)o[a]!==i[a]&&(o[a]=i[a]);o.fill=i.fill?i.decal:null,o.decal=null,o.shadowColor=null,i.strokeFirst&&(o.stroke=null);for(var s=0;s.5?Si:e>.2?"#eee":Mi}if(t)return Mi}return Si},e.prototype.getInsideTextStroke=function(t){var e=this.style.fill;if(Z(e)){var n=this.__zr;if(!(!n||!n.isDarkMode())===Mn(t,0)<.4)return e}},e.prototype.buildPath=function(t,e,n){},e.prototype.pathUpdated=function(){this.__dirty&=-5},e.prototype.getUpdatedPathProxy=function(t){return!this.path&&this.createPathProxy(),this.path.beginPath(),this.buildPath(this.path,this.shape,t),this.path},e.prototype.createPathProxy=function(){this.path=new Ra(!1)},e.prototype.hasStroke=function(){var t=this.style,e=t.stroke;return!(null==e||"none"===e||!(t.lineWidth>0))},e.prototype.hasFill=function(){var t=this.style.fill;return null!=t&&"none"!==t},e.prototype.getBoundingRect=function(){var t=this._rect,e=this.style,n=!t;if(n){var i=!1;this.path||(i=!0,this.createPathProxy());var r=this.path;(i||4&this.__dirty)&&(r.beginPath(),this.buildPath(r,this.shape,!1),this.pathUpdated()),t=r.getBoundingRect()}if(this._rect=t,this.hasStroke()&&this.path&&this.path.len()>0){var o=this._rectStroke||(this._rectStroke=t.clone());if(this.__dirty||n){o.copy(t);var a=e.strokeNoScale?this.getLineScale():1,s=e.lineWidth;if(!this.hasFill()){var l=this.strokeContainThreshold;s=Math.max(s,null==l?4:l)}a>1e-10&&(o.width+=s/a,o.height+=s/a,o.x-=s/a/2,o.y-=s/a/2)}return o}return t},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect(),r=this.style;if(t=n[0],e=n[1],i.contain(t,e)){var o=this.path;if(this.hasStroke()){var a=r.lineWidth,s=r.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(this.hasFill()||(a=Math.max(a,this.strokeContainThreshold)),function(t,e,n,i){return Ka(t,e,!0,n,i)}(o,a/s,t,e)))return!0}if(this.hasFill())return function(t,e,n){return Ka(t,0,!1,e,n)}(o,t,e)}return!1},e.prototype.dirtyShape=function(){this.__dirty|=4,this._rect&&(this._rect=null),this._decalEl&&this._decalEl.dirtyShape(),this.markRedraw()},e.prototype.dirty=function(){this.dirtyStyle(),this.dirtyShape()},e.prototype.animateShape=function(t){return this.animate("shape",t)},e.prototype.updateDuringAnimation=function(t){"style"===t?this.dirtyStyle():"shape"===t?this.dirtyShape():this.markRedraw()},e.prototype.attrKV=function(e,n){"shape"===e?this.setShape(n):t.prototype.attrKV.call(this,e,n)},e.prototype.setShape=function(t,e){var n=this.shape;return n||(n=this.shape={}),"string"==typeof t?n[t]=e:k(n,t),this.dirtyShape(),this},e.prototype.shapeChanged=function(){return!!(4&this.__dirty)},e.prototype.createStyle=function(t){return gt($a,t)},e.prototype._innerSaveToNormal=function(e){t.prototype._innerSaveToNormal.call(this,e);var n=this._normalState;e.shape&&!n.shape&&(n.shape=k({},this.shape))},e.prototype._applyStateObj=function(e,n,i,r,o,a){t.prototype._applyStateObj.call(this,e,n,i,r,o,a);var s,l=!(n&&r);if(n&&n.shape?o?r?s=n.shape:(s=k({},i.shape),k(s,n.shape)):(s=k({},r?this.shape:i.shape),k(s,n.shape)):l&&(s=i.shape),s)if(o){this.shape=k({},this.shape);for(var u={},h=F(s),c=0;c0},e.prototype.hasFill=function(){var t=this.style.fill;return null!=t&&"none"!==t},e.prototype.createStyle=function(t){return gt(es,t)},e.prototype.setBoundingRect=function(t){this._rect=t},e.prototype.getBoundingRect=function(){var t=this.style;if(!this._rect){var e=t.text;null!=e?e+="":e="";var n=ir(e,t.font,t.textAlign,t.textBaseline);if(n.x+=t.x||0,n.y+=t.y||0,this.hasStroke()){var i=t.lineWidth;n.x-=i/2,n.y-=i/2,n.width+=i,n.height+=i}this._rect=n}return this._rect},e.initDefaultProps=void(e.prototype.dirtyRectTolerance=10),e}(ta);ns.prototype.type="tspan";var is=A({x:0,y:0},Ko),rs={style:A({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},$o.style)};var os=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.createStyle=function(t){return gt(is,t)},e.prototype._getSize=function(t){var e=this.style,n=e[t];if(null!=n)return n;var i,r=(i=e.image)&&"string"!=typeof i&&i.width&&i.height?e.image:this.__image;if(!r)return 0;var o="width"===t?"height":"width",a=e[o];return null==a?r[t]:r[t]/r[o]*a},e.prototype.getWidth=function(){return this._getSize("width")},e.prototype.getHeight=function(){return this._getSize("height")},e.prototype.getAnimationStyleProps=function(){return rs},e.prototype.getBoundingRect=function(){var t=this.style;return this._rect||(this._rect=new Ji(t.x||0,t.y||0,this.getWidth(),this.getHeight())),this._rect},e}(ta);os.prototype.type="image";var as=Math.round;function ss(t,e,n){if(e){var i=e.x1,r=e.x2,o=e.y1,a=e.y2;t.x1=i,t.x2=r,t.y1=o,t.y2=a;var s=n&&n.lineWidth;return s?(as(2*i)===as(2*r)&&(t.x1=t.x2=us(i,s,!0)),as(2*o)===as(2*a)&&(t.y1=t.y2=us(o,s,!0)),t):t}}function ls(t,e,n){if(e){var i=e.x,r=e.y,o=e.width,a=e.height;t.x=i,t.y=r,t.width=o,t.height=a;var s=n&&n.lineWidth;return s?(t.x=us(i,s,!0),t.y=us(r,s,!0),t.width=Math.max(us(i+o,s,!1)-t.x,0===o?0:1),t.height=Math.max(us(r+a,s,!1)-t.y,0===a?0:1),t):t}}function us(t,e,n){if(!e)return t;var i=as(2*t);return(i+as(e))%2==0?i/2:(i+(n?1:-1))/2}var hs=function(){this.x=0,this.y=0,this.width=0,this.height=0},cs={},ps=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new hs},e.prototype.buildPath=function(t,e){var n,i,r,o;if(this.subPixelOptimize){var a=ls(cs,e,this.style);n=a.x,i=a.y,r=a.width,o=a.height,a.r=e.r,e=a}else n=e.x,i=e.y,r=e.width,o=e.height;e.r?function(t,e){var n,i,r,o,a,s=e.x,l=e.y,u=e.width,h=e.height,c=e.r;u<0&&(s+=u,u=-u),h<0&&(l+=h,h=-h),"number"==typeof c?n=i=r=o=c:c instanceof Array?1===c.length?n=i=r=o=c[0]:2===c.length?(n=r=c[0],i=o=c[1]):3===c.length?(n=c[0],i=o=c[1],r=c[2]):(n=c[0],i=c[1],r=c[2],o=c[3]):n=i=r=o=0,n+i>u&&(n*=u/(a=n+i),i*=u/a),r+o>u&&(r*=u/(a=r+o),o*=u/a),i+r>h&&(i*=h/(a=i+r),r*=h/a),n+o>h&&(n*=h/(a=n+o),o*=h/a),t.moveTo(s+n,l),t.lineTo(s+u-i,l),0!==i&&t.arc(s+u-i,l+i,i,-Math.PI/2,0),t.lineTo(s+u,l+h-r),0!==r&&t.arc(s+u-r,l+h-r,r,0,Math.PI/2),t.lineTo(s+o,l+h),0!==o&&t.arc(s+o,l+h-o,o,Math.PI/2,Math.PI),t.lineTo(s,l+n),0!==n&&t.arc(s+n,l+n,n,Math.PI,1.5*Math.PI)}(t,e):t.rect(n,i,r,o)},e.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},e}(ts);ps.prototype.type="rect";var ds={fill:"#000"},fs={style:A({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},$o.style)},gs=function(t){function e(e){var n=t.call(this)||this;return n.type="text",n._children=[],n._defaultStyle=ds,n.attr(e),n}return n(e,t),e.prototype.childrenRef=function(){return this._children},e.prototype.update=function(){t.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var e=0;ed&&h){var f=Math.floor(d/l);n=n.slice(0,f)}if(t&&a&&null!=c)for(var g=Vo(c,o,e.ellipsis,{minChar:e.truncateMinChar,placeholder:e.placeholder}),v=0;v0,I=null!=t.width&&("truncate"===t.overflow||"break"===t.overflow||"breakAll"===t.overflow),T=i.calculatedLineHeight,D=0;Dl&&Zo(n,t.substring(l,u),e,s),Zo(n,i[2],e,s,i[1]),l=zo.lastIndex}lo){w>0?(m.tokens=m.tokens.slice(0,w),v(m,x,_),n.lines=n.lines.slice(0,y+1)):n.lines=n.lines.slice(0,y);break t}var T=b.width,D=null==T||"auto"===T;if("string"==typeof T&&"%"===T.charAt(T.length-1))L.percentWidth=T,h.push(L),L.contentWidth=er(L.text,C);else{if(D){var k=b.backgroundColor,A=k&&k.image;A&&Eo(A=Oo(A))&&(L.width=Math.max(L.width,A.width*I/A.height))}var P=f&&null!=r?r-x:null;null!=P&&P=0&&"right"===(T=_[I]).align;)this._placeToken(T,t,w,f,C,"right",v),b-=T.width,C-=T.width,I--;for(M+=(n-(M-d)-(g-C)-b)/2;S<=I;)T=_[S],this._placeToken(T,t,w,f,M+T.width/2,"center",v),M+=T.width,S++;f+=w}},e.prototype._placeToken=function(t,e,n,i,r,o,s){var l=e.rich[t.styleName]||{};l.text=t.text;var u=t.verticalAlign,h=i+n/2;"top"===u?h=i+t.height/2:"bottom"===u&&(h=i+n-t.height/2),!t.isLineHolder&&Ts(l)&&this._renderBackground(l,e,"right"===o?r-t.width:"center"===o?r-t.width/2:r,h-t.height/2,t.width,t.height);var c=!!l.backgroundColor,p=t.textPadding;p&&(r=Cs(r,o,p),h-=t.height/2-p[0]-t.innerHeight/2);var d=this._getOrCreateChild(ns),f=d.createStyle();d.useStyle(f);var g=this._defaultStyle,v=!1,y=0,m=Ms("fill"in l?l.fill:"fill"in e?e.fill:(v=!0,g.fill)),_=Ss("stroke"in l?l.stroke:"stroke"in e?e.stroke:c||s||g.autoStroke&&!v?null:(y=2,g.stroke)),x=l.textShadowBlur>0||e.textShadowBlur>0;f.text=t.text,f.x=r,f.y=h,x&&(f.shadowBlur=l.textShadowBlur||e.textShadowBlur||0,f.shadowColor=l.textShadowColor||e.textShadowColor||"transparent",f.shadowOffsetX=l.textShadowOffsetX||e.textShadowOffsetX||0,f.shadowOffsetY=l.textShadowOffsetY||e.textShadowOffsetY||0),f.textAlign=o,f.textBaseline="middle",f.font=t.font||a,f.opacity=rt(l.opacity,e.opacity,1),xs(f,l),_&&(f.lineWidth=rt(l.lineWidth,e.lineWidth,y),f.lineDash=it(l.lineDash,e.lineDash),f.lineDashOffset=e.lineDashOffset||0,f.stroke=_),m&&(f.fill=m);var w=t.contentWidth,b=t.contentHeight;d.setBoundingRect(new Ji(rr(f.x,w,f.textAlign),or(f.y,b,f.textBaseline),w,b))},e.prototype._renderBackground=function(t,e,n,i,r,o){var a,s,l,u=t.backgroundColor,h=t.borderWidth,c=t.borderColor,p=u&&u.image,d=u&&!p,f=t.borderRadius,g=this;if(d||t.lineHeight||h&&c){(a=this._getOrCreateChild(ps)).useStyle(a.createStyle()),a.style.fill=null;var v=a.shape;v.x=n,v.y=i,v.width=r,v.height=o,v.r=f,a.dirtyShape()}if(d)(l=a.style).fill=u||null,l.fillOpacity=it(t.fillOpacity,1);else if(p){(s=this._getOrCreateChild(os)).onload=function(){g.dirtyStyle()};var y=s.style;y.image=u.image,y.x=n,y.y=i,y.width=r,y.height=o}h&&c&&((l=a.style).lineWidth=h,l.stroke=c,l.strokeOpacity=it(t.strokeOpacity,1),l.lineDash=t.borderDash,l.lineDashOffset=t.borderDashOffset||0,a.strokeContainThreshold=0,a.hasFill()&&a.hasStroke()&&(l.strokeFirst=!0,l.lineWidth*=2));var m=(a||s).style;m.shadowBlur=t.shadowBlur||0,m.shadowColor=t.shadowColor||"transparent",m.shadowOffsetX=t.shadowOffsetX||0,m.shadowOffsetY=t.shadowOffsetY||0,m.opacity=rt(t.opacity,e.opacity,1)},e.makeFont=function(t){var e="";return ws(t)&&(e=[t.fontStyle,t.fontWeight,_s(t.fontSize),t.fontFamily||"sans-serif"].join(" ")),e&<(e)||t.textFont||t.font},e}(ta),vs={left:!0,right:1,center:1},ys={top:1,bottom:1,middle:1},ms=["fontStyle","fontWeight","fontSize","fontFamily"];function _s(t){return"string"!=typeof t||-1===t.indexOf("px")&&-1===t.indexOf("rem")&&-1===t.indexOf("em")?isNaN(+t)?"12px":t+"px":t}function xs(t,e){for(var n=0;n=0,o=!1;if(t instanceof ts){var a=Ps(t),s=r&&a.selectFill||a.normalFill,l=r&&a.selectStroke||a.normalStroke;if(Fs(s)||Fs(l)){var u=(i=i||{}).style||{};"inherit"===u.fill?(o=!0,i=k({},i),(u=k({},u)).fill=s):!Fs(u.fill)&&Fs(s)?(o=!0,i=k({},i),(u=k({},u)).fill=Ws(s)):!Fs(u.stroke)&&Fs(l)&&(o||(i=k({},i),u=k({},u)),u.stroke=Ws(l)),i.style=u}}if(i&&null==i.z2){o||(i=k({},i));var h=t.z2EmphasisLift;i.z2=t.z2+(null!=h?h:10)}return i}(this,0,e,n);if("blur"===t)return function(t,e,n){var i=L(t.currentStates,e)>=0,r=t.style.opacity,o=i?null:function(t,e,n,i){for(var r=t.style,o={},a=0;a0){var o={dataIndex:r,seriesIndex:t.seriesIndex};null!=i&&(o.dataType=i),e.push(o)}}))})),e}function vl(t,e,n){wl(t,!0),$s(t,tl),function(t,e,n){var i=Ds(t);null!=e?(i.focus=e,i.blurScope=n):i.focus&&(i.focus=null)}(t,e,n)}function yl(t,e,n,i){i?function(t){wl(t,!1)}(t):vl(t,e,n)}var ml=["emphasis","blur","select"],_l={itemStyle:"getItemStyle",lineStyle:"getLineStyle",areaStyle:"getAreaStyle"};function xl(t,e,n,i){n=n||"itemStyle";for(var r=0;r1&&(a*=kl(f),s*=kl(f));var g=(r===o?-1:1)*kl((a*a*(s*s)-a*a*(d*d)-s*s*(p*p))/(a*a*(d*d)+s*s*(p*p)))||0,v=g*a*d/s,y=g*-s*p/a,m=(t+n)/2+Pl(c)*v-Al(c)*y,_=(e+i)/2+Al(c)*v+Pl(c)*y,x=Nl([1,0],[(p-v)/a,(d-y)/s]),w=[(p-v)/a,(d-y)/s],b=[(-1*p-v)/a,(-1*d-y)/s],S=Nl(w,b);if(Rl(w,b)<=-1&&(S=Ll),Rl(w,b)>=1&&(S=0),S<0){var M=Math.round(S/Ll*1e6)/1e6;S=2*Ll+M%2*Ll}h.addData(u,m,_,a,s,x,S,c,o)}var zl=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi,Bl=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;var Vl=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.applyTransform=function(t){},e}(ts);function Fl(t){return null!=t.setData}function Hl(t,e){var n=function(t){var e=new Ra;if(!t)return e;var n,i=0,r=0,o=i,a=r,s=Ra.CMD,l=t.match(zl);if(!l)return e;for(var u=0;uA*A+P*P&&(M=I,C=T),{cx:M,cy:C,x0:-h,y0:-c,x1:M*(r/w-1),y1:C*(r/w-1)}}function ru(t,e){var n,i=tu(e.r,0),r=tu(e.r0||0,0),o=i>0;if(o||r>0){if(o||(i=r,r=0),r>i){var a=i;i=r,r=a}var s=e.startAngle,l=e.endAngle;if(!isNaN(s)&&!isNaN(l)){var u=e.cx,h=e.cy,c=!!e.clockwise,p=Ql(l-s),d=p>Xl&&p%Xl;if(d>nu&&(p=d),i>nu)if(p>Xl-nu)t.moveTo(u+i*ql(s),h+i*jl(s)),t.arc(u,h,i,s,l,!c),r>nu&&(t.moveTo(u+r*ql(l),h+r*jl(l)),t.arc(u,h,r,l,s,c));else{var f=void 0,g=void 0,v=void 0,y=void 0,m=void 0,_=void 0,x=void 0,w=void 0,b=void 0,S=void 0,M=void 0,C=void 0,I=void 0,T=void 0,D=void 0,k=void 0,A=i*ql(s),P=i*jl(s),L=r*ql(l),O=r*jl(l),R=p>nu;if(R){var N=e.cornerRadius;N&&(f=(n=function(t){var e;if(G(t)){var n=t.length;if(!n)return t;e=1===n?[t[0],t[0],0,0]:2===n?[t[0],t[0],t[1],t[1]]:3===n?t.concat(t[2]):t}else e=[t,t,t,t];return e}(N))[0],g=n[1],v=n[2],y=n[3]);var E=Ql(i-r)/2;if(m=eu(E,v),_=eu(E,y),x=eu(E,f),w=eu(E,g),M=b=tu(m,_),C=S=tu(x,w),(b>nu||S>nu)&&(I=i*ql(l),T=i*jl(l),D=r*ql(s),k=r*jl(s),pnu){var Z=eu(v,M),Y=eu(y,M),X=iu(D,k,A,P,i,Z,c),j=iu(I,T,L,O,i,Y,c);t.moveTo(u+X.cx+X.x0,h+X.cy+X.y0),M0&&t.arc(u+X.cx,h+X.cy,Z,$l(X.y0,X.x0),$l(X.y1,X.x1),!c),t.arc(u,h,i,$l(X.cy+X.y1,X.cx+X.x1),$l(j.cy+j.y1,j.cx+j.x1),!c),Y>0&&t.arc(u+j.cx,h+j.cy,Y,$l(j.y1,j.x1),$l(j.y0,j.x0),!c))}else t.moveTo(u+A,h+P),t.arc(u,h,i,s,l,!c);else t.moveTo(u+A,h+P);if(r>nu&&R)if(C>nu){Z=eu(f,C),X=iu(L,O,I,T,r,-(Y=eu(g,C)),c),j=iu(A,P,D,k,r,-Z,c);t.lineTo(u+X.cx+X.x0,h+X.cy+X.y0),C0&&t.arc(u+X.cx,h+X.cy,Y,$l(X.y0,X.x0),$l(X.y1,X.x1),!c),t.arc(u,h,r,$l(X.cy+X.y1,X.cx+X.x1),$l(j.cy+j.y1,j.cx+j.x1),c),Z>0&&t.arc(u+j.cx,h+j.cy,Z,$l(j.y1,j.x1),$l(j.y0,j.x0),!c))}else t.lineTo(u+L,h+O),t.arc(u,h,r,l,s,c);else t.lineTo(u+L,h+O)}else t.moveTo(u,h);t.closePath()}}}var ou=function(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=2*Math.PI,this.clockwise=!0,this.cornerRadius=0},au=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new ou},e.prototype.buildPath=function(t,e){ru(t,e)},e.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},e}(ts);au.prototype.type="sector";var su=function(){this.cx=0,this.cy=0,this.r=0,this.r0=0},lu=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new su},e.prototype.buildPath=function(t,e){var n=e.cx,i=e.cy,r=2*Math.PI;t.moveTo(n+e.r,i),t.arc(n,i,e.r,0,r,!1),t.moveTo(n+e.r0,i),t.arc(n,i,e.r0,0,r,!0)},e}(ts);function uu(t,e,n){var i=e.smooth,r=e.points;if(r&&r.length>=2){if(i){var o=function(t,e,n,i){var r,o,a,s,l=[],u=[],h=[],c=[];if(i){a=[1/0,1/0],s=[-1/0,-1/0];for(var p=0,d=t.length;pDu[1]){if(a=!1,r)return a;var u=Math.abs(Du[0]-Tu[1]),h=Math.abs(Tu[0]-Du[1]);Math.min(u,h)>i.len()&&(u0){var c={duration:h.duration,delay:h.delay||0,easing:h.easing,done:o,force:!!o||!!a,setToFinal:!u,scope:t,during:a};l?e.animateFrom(n,c):e.animateTo(n,c)}else e.stopAnimation(),!l&&e.attr(n),a&&a(1),o&&o()}function zu(t,e,n,i,r,o){Eu("update",t,e,n,i,r,o)}function Bu(t,e,n,i,r,o){Eu("enter",t,e,n,i,r,o)}function Vu(t){if(!t.__zr)return!0;for(var e=0;eMath.abs(o[1])?o[0]>0?"right":"left":o[1]>0?"bottom":"top"}function sh(t){return!t.isGroup}function lh(t,e,n){if(t&&e){var i,r=(i={},t.traverse((function(t){sh(t)&&t.anid&&(i[t.anid]=t)})),i);e.traverse((function(t){if(sh(t)&&t.anid){var e=r[t.anid];if(e){var i=o(t);t.attr(o(e)),zu(t,i,n,Ds(t).dataIndex)}}}))}function o(t){var e={x:t.x,y:t.y,rotation:t.rotation};return function(t){return null!=t.shape}(t)&&(e.shape=k({},t.shape)),e}}function uh(t,e){return z(t,(function(t){var n=t[0];n=Uu(n,e.x),n=Zu(n,e.x+e.width);var i=t[1];return i=Uu(i,e.y),[n,i=Zu(i,e.y+e.height)]}))}function hh(t,e){var n=Uu(t.x,e.x),i=Zu(t.x+t.width,e.x+e.width),r=Uu(t.y,e.y),o=Zu(t.y+t.height,e.y+e.height);if(i>=n&&o>=r)return{x:n,y:r,width:i-n,height:o-r}}function ch(t,e,n){var i=k({rectHover:!0},e),r=i.style={strokeNoScale:!0};if(n=n||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf("image://")?(r.image=t.slice(8),A(r,n),new os(i)):Qu(t.replace("path://",""),i,n,"center")}function ph(t,e,n,i,r,o,a,s){var l,u=n-t,h=i-e,c=a-r,p=s-o,d=dh(c,p,u,h);if((l=d)<=1e-6&&l>=-1e-6)return!1;var f=t-r,g=e-o,v=dh(f,g,u,h)/d;if(v<0||v>1)return!1;var y=dh(f,g,c,p)/d;return!(y<0||y>1)}function dh(t,e,n,i){return t*i-n*e}function fh(t){var e=t.itemTooltipOption,n=t.componentModel,i=t.itemName,r=Z(e)?{formatter:e}:e,o=n.mainType,a=n.componentIndex,s={componentType:o,name:i,$vars:["name"]};s[o+"Index"]=a;var l=t.formatterParamsExtra;l&&E(F(l),(function(t){yt(s,t)||(s[t]=l[t],s.$vars.push(t))}));var u=Ds(t.el);u.componentMainType=o,u.componentIndex=a,u.tooltipConfig={name:i,option:A({content:i,formatterParams:s},r)}}function gh(t,e){var n;t.isGroup&&(n=e(t)),n||t.traverse(e)}function vh(t,e){if(t)if(G(t))for(var n=0;n-1?Zh:Xh;function $h(t,e){t=t.toUpperCase(),qh[t]=new Hh(e),jh[t]=e}$h(Yh,{time:{month:["January","February","March","April","May","June","July","August","September","October","November","December"],monthAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayOfWeekAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},legend:{selector:{all:"All",inverse:"Inv"}},toolbox:{brush:{title:{rect:"Box Select",polygon:"Lasso Select",lineX:"Horizontally Select",lineY:"Vertically Select",keep:"Keep Selections",clear:"Clear Selections"}},dataView:{title:"Data View",lang:["Data View","Close","Refresh"]},dataZoom:{title:{zoom:"Zoom",back:"Zoom Reset"}},magicType:{title:{line:"Switch to Line Chart",bar:"Switch to Bar Chart",stack:"Stack",tiled:"Tile"}},restore:{title:"Restore"},saveAsImage:{title:"Save as Image",lang:["Right Click to Save Image"]}},series:{typeNames:{pie:"Pie chart",bar:"Bar chart",line:"Line chart",scatter:"Scatter plot",effectScatter:"Ripple scatter plot",radar:"Radar chart",tree:"Tree",treemap:"Treemap",boxplot:"Boxplot",candlestick:"Candlestick",k:"K line chart",heatmap:"Heat map",map:"Map",parallel:"Parallel coordinate map",lines:"Line graph",graph:"Relationship graph",sankey:"Sankey diagram",funnel:"Funnel chart",gauge:"Gauge",pictorialBar:"Pictorial bar",themeRiver:"Theme River Map",sunburst:"Sunburst"}},aria:{general:{withTitle:'This is a chart about "{title}"',withoutTitle:"This is a chart"},series:{single:{prefix:"",withName:" with type {seriesType} named {seriesName}.",withoutName:" with type {seriesType}."},multiple:{prefix:". It consists of {seriesCount} series count.",withName:" The {seriesId} series is a {seriesType} representing {seriesName}.",withoutName:" The {seriesId} series is a {seriesType}.",separator:{middle:"",end:""}}},data:{allData:"The data is as follows: ",partialData:"The first {displayCnt} items are: ",withName:"the data for {name} is {value}",withoutName:"{value}",separator:{middle:", ",end:". "}}}}),$h(Zh,{time:{month:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthAbbr:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayOfWeekAbbr:["日","一","二","三","四","五","六"]},legend:{selector:{all:"全选",inverse:"反选"}},toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}});var Qh=1e3,Jh=6e4,tc=36e5,ec=864e5,nc=31536e6,ic={year:"{yyyy}",month:"{MMM}",day:"{d}",hour:"{HH}:{mm}",minute:"{HH}:{mm}",second:"{HH}:{mm}:{ss}",millisecond:"{HH}:{mm}:{ss} {SSS}",none:"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"},rc="{yyyy}-{MM}-{dd}",oc={year:"{yyyy}",month:"{yyyy}-{MM}",day:rc,hour:"{yyyy}-{MM}-{dd} "+ic.hour,minute:"{yyyy}-{MM}-{dd} "+ic.minute,second:"{yyyy}-{MM}-{dd} "+ic.second,millisecond:ic.none},ac=["year","month","day","hour","minute","second","millisecond"],sc=["year","half-year","quarter","month","week","half-week","day","half-day","quarter-day","hour","minute","second","millisecond"];function lc(t,e){return"0000".substr(0,e-(t+="").length)+t}function uc(t){switch(t){case"half-year":case"quarter":return"month";case"week":case"half-week":return"day";case"half-day":case"quarter-day":return"hour";default:return t}}function hc(t){return t===uc(t)}function cc(t,e,n,i){var r=Vr(t),o=r[fc(n)](),a=r[gc(n)]()+1,s=Math.floor((a-1)/3)+1,l=r[vc(n)](),u=r["get"+(n?"UTC":"")+"Day"](),h=r[yc(n)](),c=(h-1)%12+1,p=r[mc(n)](),d=r[_c(n)](),f=r[xc(n)](),g=(i instanceof Hh?i:function(t){return qh[t]}(i||Kh)||qh.EN).getModel("time"),v=g.get("month"),y=g.get("monthAbbr"),m=g.get("dayOfWeek"),_=g.get("dayOfWeekAbbr");return(e||"").replace(/{yyyy}/g,o+"").replace(/{yy}/g,o%100+"").replace(/{Q}/g,s+"").replace(/{MMMM}/g,v[a-1]).replace(/{MMM}/g,y[a-1]).replace(/{MM}/g,lc(a,2)).replace(/{M}/g,a+"").replace(/{dd}/g,lc(l,2)).replace(/{d}/g,l+"").replace(/{eeee}/g,m[u]).replace(/{ee}/g,_[u]).replace(/{e}/g,u+"").replace(/{HH}/g,lc(h,2)).replace(/{H}/g,h+"").replace(/{hh}/g,lc(c+"",2)).replace(/{h}/g,c+"").replace(/{mm}/g,lc(p,2)).replace(/{m}/g,p+"").replace(/{ss}/g,lc(d,2)).replace(/{s}/g,d+"").replace(/{SSS}/g,lc(f,3)).replace(/{S}/g,f+"")}function pc(t,e){var n=Vr(t),i=n[gc(e)]()+1,r=n[vc(e)](),o=n[yc(e)](),a=n[mc(e)](),s=n[_c(e)](),l=0===n[xc(e)](),u=l&&0===s,h=u&&0===a,c=h&&0===o,p=c&&1===r;return p&&1===i?"year":p?"month":c?"day":h?"hour":u?"minute":l?"second":"millisecond"}function dc(t,e,n){var i=X(t)?Vr(t):t;switch(e=e||pc(t,n)){case"year":return i[fc(n)]();case"half-year":return i[gc(n)]()>=6?1:0;case"quarter":return Math.floor((i[gc(n)]()+1)/4);case"month":return i[gc(n)]();case"day":return i[vc(n)]();case"half-day":return i[yc(n)]()/24;case"hour":return i[yc(n)]();case"minute":return i[mc(n)]();case"second":return i[_c(n)]();case"millisecond":return i[xc(n)]()}}function fc(t){return t?"getUTCFullYear":"getFullYear"}function gc(t){return t?"getUTCMonth":"getMonth"}function vc(t){return t?"getUTCDate":"getDate"}function yc(t){return t?"getUTCHours":"getHours"}function mc(t){return t?"getUTCMinutes":"getMinutes"}function _c(t){return t?"getUTCSeconds":"getSeconds"}function xc(t){return t?"getUTCMilliseconds":"getMilliseconds"}function wc(t){return t?"setUTCFullYear":"setFullYear"}function bc(t){return t?"setUTCMonth":"setMonth"}function Sc(t){return t?"setUTCDate":"setDate"}function Mc(t){return t?"setUTCHours":"setHours"}function Cc(t){return t?"setUTCMinutes":"setMinutes"}function Ic(t){return t?"setUTCSeconds":"setSeconds"}function Tc(t){return t?"setUTCMilliseconds":"setMilliseconds"}function Dc(t){if(!Ur(t))return Z(t)?t:"-";var e=(t+"").split(".");return e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(e.length>1?"."+e[1]:"")}function kc(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,(function(t,e){return e.toUpperCase()})),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}var Ac=at,Pc=/([&<>"'])/g,Lc={"&":"&","<":"<",">":">",'"':""","'":"'"};function Oc(t){return null==t?"":(t+"").replace(Pc,(function(t,e){return Lc[e]}))}function Rc(t,e,n){function i(t){return t&<(t)?t:"-"}function r(t){return!(null==t||isNaN(t)||!isFinite(t))}var o="time"===e,a=t instanceof Date;if(o||a){var s=o?Vr(t):t;if(!isNaN(+s))return cc(s,"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}",n);if(a)return"-"}if("ordinal"===e)return Y(t)?i(t):X(t)&&r(t)?t+"":"-";var l=Gr(t);return r(l)?Dc(l):Y(t)?i(t):"boolean"==typeof t?t+"":"-"}var Nc=["a","b","c","d","e","f","g"],Ec=function(t,e){return"{"+t+(null==e?"":e)+"}"};function zc(t,e,n){G(e)||(e=[e]);var i=e.length;if(!i)return"";for(var r=e[0].$vars||[],o=0;o':'':{renderMode:o,content:"{"+(n.markerId||"markerX")+"|} ",style:"subItem"===r?{width:4,height:4,borderRadius:2,backgroundColor:i}:{width:10,height:10,borderRadius:5,backgroundColor:i}}:""}function Vc(t,e){return e=e||"transparent",Z(t)?t:j(t)&&t.colorStops&&(t.colorStops[0]||{}).color||e}function Fc(t,e){if("_blank"===e||"blank"===e){var n=window.open();n.opener=null,n.location.href=t}else window.open(t,e)}var Hc=E,Wc=["left","right","top","bottom","width","height"],Gc=[["width","left","right"],["height","top","bottom"]];function Uc(t,e,n,i,r){var o=0,a=0;null==i&&(i=1/0),null==r&&(r=1/0);var s=0;e.eachChild((function(l,u){var h,c,p=l.getBoundingRect(),d=e.childAt(u+1),f=d&&d.getBoundingRect();if("horizontal"===t){var g=p.width+(f?-f.x+p.x:0);(h=o+g)>i||l.newline?(o=0,h=g,a+=s+n,s=p.height):s=Math.max(s,p.height)}else{var v=p.height+(f?-f.y+p.y:0);(c=a+v)>r||l.newline?(o+=s+n,a=0,c=v,s=p.width):s=Math.max(s,p.width)}l.newline||(l.x=o,l.y=a,l.markRedraw(),"horizontal"===t?o=h+n:a=c+n)}))}var Zc=Uc;W(Uc,"vertical"),W(Uc,"horizontal");function Yc(t,e,n){n=Ac(n||0);var i=e.width,r=e.height,o=Dr(t.left,i),a=Dr(t.top,r),s=Dr(t.right,i),l=Dr(t.bottom,r),u=Dr(t.width,i),h=Dr(t.height,r),c=n[2]+n[0],p=n[1]+n[3],d=t.aspect;switch(isNaN(u)&&(u=i-s-p-o),isNaN(h)&&(h=r-l-c-a),null!=d&&(isNaN(u)&&isNaN(h)&&(d>i/r?u=.8*i:h=.8*r),isNaN(u)&&(u=d*h),isNaN(h)&&(h=u/d)),isNaN(o)&&(o=i-s-u-p),isNaN(a)&&(a=r-l-h-c),t.left||t.right){case"center":o=i/2-u/2-n[3];break;case"right":o=i-u-p}switch(t.top||t.bottom){case"middle":case"center":a=r/2-h/2-n[0];break;case"bottom":a=r-h-c}o=o||0,a=a||0,isNaN(u)&&(u=i-p-o-(s||0)),isNaN(h)&&(h=r-c-a-(l||0));var f=new Ji(o+n[3],a+n[0],u,h);return f.margin=n,f}function Xc(t,e,n,i,r,o){var a,s=!r||!r.hv||r.hv[0],l=!r||!r.hv||r.hv[1],u=r&&r.boundingMode||"all";if((o=o||t).x=t.x,o.y=t.y,!s&&!l)return!1;if("raw"===u)a="group"===t.type?new Ji(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(a=t.getBoundingRect(),t.needLocalTransform()){var h=t.getLocalTransform();(a=a.clone()).applyTransform(h)}var c=Yc(A({width:a.width,height:a.height},e),n,i),p=s?c.x-a.x:0,d=l?c.y-a.y:0;return"raw"===u?(o.x=p,o.y=d):(o.x+=p,o.y+=d),o===t&&t.markRedraw(),!0}function jc(t){var e=t.layoutMode||t.constructor.layoutMode;return j(e)?e:e?{type:e}:null}function qc(t,e,n){var i=n&&n.ignoreSize;!G(i)&&(i=[i,i]);var r=a(Gc[0],0),o=a(Gc[1],1);function a(n,r){var o={},a=0,u={},h=0;if(Hc(n,(function(e){u[e]=t[e]})),Hc(n,(function(t){s(e,t)&&(o[t]=u[t]=e[t]),l(o,t)&&a++,l(u,t)&&h++})),i[r])return l(e,n[1])?u[n[2]]=null:l(e,n[2])&&(u[n[1]]=null),u;if(2!==h&&a){if(a>=2)return o;for(var c=0;c=0;a--)o=T(o,n[a],!0);e.defaultOption=o}return e.defaultOption},e.prototype.getReferringComponents=function(t,e){var n=t+"Index",i=t+"Id";return mo(this.ecModel,t,{index:this.get(n,!0),id:this.get(i,!0)},e)},e.prototype.getBoxLayoutParams=function(){var t=this;return{left:t.get("left"),top:t.get("top"),right:t.get("right"),bottom:t.get("bottom"),width:t.get("width"),height:t.get("height")}},e.prototype.getZLevelKey=function(){return""},e.prototype.setZLevel=function(t){this.option.zlevel=t},e.protoInitialize=function(){var t=e.prototype;t.type="component",t.id="",t.name="",t.mainType="",t.subType="",t.componentIndex=0}(),e}(Hh);Mo(Jc,Hh),Do(Jc),function(t){var e={};t.registerSubTypeDefaulter=function(t,n){var i=bo(t);e[i.main]=n},t.determineSubType=function(n,i){var r=i.type;if(!r){var o=bo(n).main;t.hasSubTypes(n)&&e[o]&&(r=e[o](i))}return r}}(Jc),function(t,e){function n(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}t.topologicalTravel=function(t,i,r,o){if(t.length){var a=function(t){var i={},r=[];return E(t,(function(o){var a=n(i,o),s=function(t,e){var n=[];return E(t,(function(t){L(e,t)>=0&&n.push(t)})),n}(a.originalDeps=e(o),t);a.entryCount=s.length,0===a.entryCount&&r.push(o),E(s,(function(t){L(a.predecessor,t)<0&&a.predecessor.push(t);var e=n(i,t);L(e.successor,t)<0&&e.successor.push(o)}))})),{graph:i,noEntryList:r}}(i),s=a.graph,l=a.noEntryList,u={};for(E(t,(function(t){u[t]=!0}));l.length;){var h=l.pop(),c=s[h],p=!!u[h];p&&(r.call(o,h,c.originalDeps.slice()),delete u[h]),E(c.successor,p?f:d)}E(u,(function(){var t="";throw new Error(t)}))}function d(t){s[t].entryCount--,0===s[t].entryCount&&l.push(t)}function f(t){u[t]=!0,d(t)}}}(Jc,(function(t){var e=[];E(Jc.getClassesByMainType(t),(function(t){e=e.concat(t.dependencies||t.prototype.dependencies||[])})),e=z(e,(function(t){return bo(t).main})),"dataset"!==t&&L(e,"dataset")<=0&&e.unshift("dataset");return e}));var tp="";"undefined"!=typeof navigator&&(tp=navigator.platform||"");var ep="rgba(0, 0, 0, 0.2)",np={darkMode:"auto",colorBy:"series",color:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:ep,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:ep,symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:ep,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:ep,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:ep,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:ep,symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:tp.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,stateAnimation:{duration:300,easing:"cubicOut"},animation:"auto",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicInOut",animationEasingUpdate:"cubicInOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},ip=dt(["tooltip","label","itemName","itemId","itemGroupId","seriesName"]),rp="original",op="arrayRows",ap="objectRows",sp="keyedColumns",lp="typedArray",up="unknown",hp="column",cp="row",pp=1,dp=2,fp=3,gp=co();function vp(t,e,n){var i={},r=mp(e);if(!r||!t)return i;var o,a,s=[],l=[],u=e.ecModel,h=gp(u).datasetMap,c=r.uid+"_"+n.seriesLayoutBy;E(t=t.slice(),(function(e,n){var r=j(e)?e:t[n]={name:e};"ordinal"===r.type&&null==o&&(o=n,a=f(r)),i[r.name]=[]}));var p=h.get(c)||h.set(c,{categoryWayDim:a,valueWayDim:0});function d(t,e,n){for(var i=0;ie)return t[i];return t[n-1]}(i,a):n;if((h=h||n)&&h.length){var c=h[l];return r&&(u[r]=c),s.paletteIdx=(l+1)%h.length,c}}var Ap=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.init=function(t,e,n,i,r,o){i=i||{},this.option=null,this._theme=new Hh(i),this._locale=new Hh(r),this._optionManager=o},e.prototype.setOption=function(t,e,n){var i=Op(e);this._optionManager.setOption(t,n,i),this._resetOption(null,i)},e.prototype.resetOption=function(t,e){return this._resetOption(t,Op(e))},e.prototype._resetOption=function(t,e){var n=!1,i=this._optionManager;if(!t||"recreate"===t){var r=i.mountOption("recreate"===t);0,this.option&&"recreate"!==t?(this.restoreData(),this._mergeOption(r,e)):Mp(this,r),n=!0}if("timeline"!==t&&"media"!==t||this.restoreData(),!t||"recreate"===t||"timeline"===t){var o=i.getTimelineOption(this);o&&(n=!0,this._mergeOption(o,e))}if(!t||"recreate"===t||"media"===t){var a=i.getMediaOption(this);a.length&&E(a,(function(t){n=!0,this._mergeOption(t,e)}),this)}return n},e.prototype.mergeOption=function(t){this._mergeOption(t,null)},e.prototype._mergeOption=function(t,e){var n=this.option,i=this._componentsMap,r=this._componentsCount,o=[],a=dt(),s=e&&e.replaceMergeMainTypeMap;gp(this).datasetMap=dt(),E(t,(function(t,e){null!=t&&(Jc.hasClass(e)?e&&(o.push(e),a.set(e,!0)):n[e]=null==n[e]?I(t):T(n[e],t,!0))})),s&&s.each((function(t,e){Jc.hasClass(e)&&!a.get(e)&&(o.push(e),a.set(e,!0))})),Jc.topologicalTravel(o,Jc.getAllClassMainTypes(),(function(e){var o=function(t,e,n){var i=wp.get(e);if(!i)return n;var r=i(t);return r?n.concat(r):n}(this,e,Jr(t[e])),a=i.get(e),l=a?s&&s.get(e)?"replaceMerge":"normalMerge":"replaceAll",u=ro(a,o,l);(function(t,e,n){E(t,(function(t){var i=t.newOption;j(i)&&(t.keyInfo.mainType=e,t.keyInfo.subType=function(t,e,n,i){return e.type?e.type:n?n.subType:i.determineSubType(t,e)}(e,i,t.existing,n))}))})(u,e,Jc),n[e]=null,i.set(e,null),r.set(e,0);var h,c=[],p=[],d=0;E(u,(function(t,n){var i=t.existing,r=t.newOption;if(r){var o="series"===e,a=Jc.getClass(e,t.keyInfo.subType,!o);if(!a)return;if("tooltip"===e){if(h)return void 0;h=!0}if(i&&i.constructor===a)i.name=t.keyInfo.name,i.mergeOption(r,this),i.optionUpdated(r,!1);else{var s=k({componentIndex:n},t.keyInfo);k(i=new a(r,this,this,s),s),t.brandNew&&(i.__requireNewView=!0),i.init(r,this,this),i.optionUpdated(null,!0)}}else i&&(i.mergeOption({},this),i.optionUpdated({},!1));i?(c.push(i.option),p.push(i),d++):(c.push(void 0),p.push(void 0))}),this),n[e]=c,i.set(e,p),r.set(e,d),"series"===e&&bp(this)}),this),this._seriesIndices||bp(this)},e.prototype.getOption=function(){var t=I(this.option);return E(t,(function(e,n){if(Jc.hasClass(n)){for(var i=Jr(e),r=i.length,o=!1,a=r-1;a>=0;a--)i[a]&&!uo(i[a])?o=!0:(i[a]=null,!o&&r--);i.length=r,t[n]=i}})),delete t["\0_ec_inner"],t},e.prototype.getTheme=function(){return this._theme},e.prototype.getLocaleModel=function(){return this._locale},e.prototype.setUpdatePayload=function(t){this._payload=t},e.prototype.getUpdatePayload=function(){return this._payload},e.prototype.getComponent=function(t,e){var n=this._componentsMap.get(t);if(n){var i=n[e||0];if(i)return i;if(null==e)for(var r=0;r=e:"max"===n?t<=e:t===e})(i[a],t,o)||(r=!1)}})),r}var Hp=E,Wp=j,Gp=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function Up(t){var e=t&&t.itemStyle;if(e)for(var n=0,i=Gp.length;n=0;g--){var v=t[g];if(s||(p=v.data.rawIndexOf(v.stackedByDimension,c)),p>=0){var y=v.data.getByRawIndex(v.stackResultDimension,p);if("all"===l||"positive"===l&&y>0||"negative"===l&&y<0||"samesign"===l&&d>=0&&y>0||"samesign"===l&&d<=0&&y<0){d=Nr(d,y),f=y;break}}}return i[0]=d,i[1]=f,i}))}))}var ld,ud,hd,cd,pd,dd=function(t){this.data=t.data||(t.sourceFormat===sp?{}:[]),this.sourceFormat=t.sourceFormat||up,this.seriesLayoutBy=t.seriesLayoutBy||hp,this.startIndex=t.startIndex||0,this.dimensionsDetectedCount=t.dimensionsDetectedCount,this.metaRawOption=t.metaRawOption;var e=this.dimensionsDefine=t.dimensionsDefine;if(e)for(var n=0;nu&&(u=d)}s[0]=l,s[1]=u}},i=function(){return this._data?this._data.length/this._dimSize:0};function r(t){for(var e=0;e=0&&(s=o.interpolatedValue[l])}return null!=s?s+"":""})):void 0},t.prototype.getRawValue=function(t,e){return Ld(this.getData(e),t)},t.prototype.formatTooltip=function(t,e,n){},t}();function Nd(t){var e,n;return j(t)?t.type&&(n=t):e=t,{text:e,frag:n}}function Ed(t){return new zd(t)}var zd=function(){function t(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0}return t.prototype.perform=function(t){var e,n=this._upstream,i=t&&t.skip;if(this._dirty&&n){var r=this.context;r.data=r.outputData=n.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this),this._plan&&!i&&(e=this._plan(this.context));var o,a=h(this._modBy),s=this._modDataCount||0,l=h(t&&t.modBy),u=t&&t.modDataCount||0;function h(t){return!(t>=1)&&(t=1),t}a===l&&s===u||(e="reset"),(this._dirty||"reset"===e)&&(this._dirty=!1,o=this._doReset(i)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=n?n._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var p=this._dueIndex,d=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!i&&(o||p1&&i>0?s:a}};return o;function a(){return e=t?null:oi?-this._resultLT:0},t}(),Hd=function(){function t(){}return t.prototype.getRawData=function(){throw new Error("not supported")},t.prototype.getRawDataItem=function(t){throw new Error("not supported")},t.prototype.cloneRawData=function(){},t.prototype.getDimensionInfo=function(t){},t.prototype.cloneAllDimensionInfo=function(){},t.prototype.count=function(){},t.prototype.retrieveValue=function(t,e){},t.prototype.retrieveValueFromItem=function(t,e){},t.prototype.convertValue=function(t,e){return Vd(t,e)},t}();function Wd(t){var e=t.sourceFormat;if(!jd(e)){var n="";0,qr(n)}return t.data}function Gd(t){var e=t.sourceFormat,n=t.data;if(!jd(e)){var i="";0,qr(i)}if(e===op){for(var r=[],o=0,a=n.length;o65535?$d:Qd}function rf(t,e,n,i,r){var o=ef[n||"float"];if(r){var a=t[e],s=a&&a.length;if(s!==i){for(var l=new o(i),u=0;ug[1]&&(g[1]=f)}return this._rawCount=this._count=s,{start:a,end:s}},t.prototype._initDataFromProvider=function(t,e,n){for(var i=this._provider,r=this._chunks,o=this._dimensions,a=o.length,s=this._rawExtent,l=z(o,(function(t){return t.property})),u=0;uv[1]&&(v[1]=g)}}!i.persistent&&i.clean&&i.clean(),this._rawCount=this._count=e,this._extent=[]},t.prototype.count=function(){return this._count},t.prototype.get=function(t,e){if(!(e>=0&&e=0&&e=this._rawCount||t<0)return-1;if(!this._indices)return t;var e=this._indices,n=e[t];if(null!=n&&nt))return o;r=o-1}}return-1},t.prototype.indicesOfNearest=function(t,e,n){var i=this._chunks[t],r=[];if(!i)return r;null==n&&(n=1/0);for(var o=1/0,a=-1,s=0,l=0,u=this.count();l=0&&a<0)&&(o=c,a=h,s=0),h===a&&(r[s++]=l))}return r.length=s,r},t.prototype.getIndices=function(){var t,e=this._indices;if(e){var n=e.constructor,i=this._count;if(n===Array){t=new n(i);for(var r=0;r=u&&_<=h||isNaN(_))&&(a[s++]=d),d++}p=!0}else if(2===r){f=c[i[0]];var v=c[i[1]],y=t[i[1]][0],m=t[i[1]][1];for(g=0;g=u&&_<=h||isNaN(_))&&(x>=y&&x<=m||isNaN(x))&&(a[s++]=d),d++}p=!0}}if(!p)if(1===r)for(g=0;g=u&&_<=h||isNaN(_))&&(a[s++]=w)}else for(g=0;gt[M][1])&&(b=!1)}b&&(a[s++]=e.getRawIndex(g))}return sv[1]&&(v[1]=g)}}}},t.prototype.lttbDownSample=function(t,e){var n,i,r,o=this.clone([t],!0),a=o._chunks[t],s=this.count(),l=0,u=Math.floor(1/e),h=this.getRawIndex(0),c=new(nf(this._rawCount))(Math.min(2*(Math.ceil(s/u)+2),s));c[l++]=h;for(var p=1;pn&&(n=i,r=C)}M>0&&Mu-d&&(s=u-d,a.length=s);for(var f=0;fh[1]&&(h[1]=v),c[p++]=y}return r._count=p,r._indices=c,r._updateGetRawIdx(),r},t.prototype.each=function(t,e){if(this._count)for(var n=t.length,i=this._chunks,r=0,o=this.count();ra&&(a=l)}return i=[o,a],this._extent[t]=i,i},t.prototype.getRawDataItem=function(t){var e=this.getRawIndex(t);if(this._provider.persistent)return this._provider.getItem(e);for(var n=[],i=this._chunks,r=0;r=0?this._indices[t]:-1},t.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},t.internalField=function(){function t(t,e,n,i){return Vd(t[i],this._dimensions[i])}qd={arrayRows:t,objectRows:function(t,e,n,i){return Vd(t[e],this._dimensions[i])},keyedColumns:t,original:function(t,e,n,i){var r=t&&(null==t.value?t:t.value);return Vd(r instanceof Array?r[i]:r,this._dimensions[i])},typedArray:function(t,e,n,i){return t[i]}}}(),t}(),af=function(){function t(t){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=t}return t.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},t.prototype._setLocalSource=function(t,e){this._sourceList=t,this._upstreamSignList=e,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},t.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase},t.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},t.prototype._createSource=function(){this._setLocalSource([],[]);var t,e,n=this._sourceHost,i=this._getUpstreamSourceManagers(),r=!!i.length;if(lf(n)){var o=n,a=void 0,s=void 0,l=void 0;if(r){var u=i[0];u.prepareSource(),a=(l=u.getSource()).data,s=l.sourceFormat,e=[u._getVersionSign()]}else s=K(a=o.get("data",!0))?lp:rp,e=[];var h=this._getSourceMetaRawOption()||{},c=l&&l.metaRawOption||{},p=it(h.seriesLayoutBy,c.seriesLayoutBy)||null,d=it(h.sourceHeader,c.sourceHeader),f=it(h.dimensions,c.dimensions);t=p!==c.seriesLayoutBy||!!d!=!!c.sourceHeader||f?[gd(a,{seriesLayoutBy:p,sourceHeader:d,dimensions:f},s)]:[]}else{var g=n;if(r){var v=this._applyTransform(i);t=v.sourceList,e=v.upstreamSignList}else{t=[gd(g.get("source",!0),this._getSourceMetaRawOption(),null)],e=[]}}this._setLocalSource(t,e)},t.prototype._applyTransform=function(t){var e,n=this._sourceHost,i=n.get("transform",!0),r=n.get("fromTransformResult",!0);if(null!=r){var o="";1!==t.length&&uf(o)}var a,s=[],l=[];return E(t,(function(t){t.prepareSource();var e=t.getSource(r||0),n="";null==r||e||uf(n),s.push(e),l.push(t._getVersionSign())})),i?e=function(t,e,n){var i=Jr(t),r=i.length,o="";r||qr(o);for(var a=0,s=r;a1||n>0&&!t.noHeader;return E(t.blocks,(function(t){var n=vf(t);n>=e&&(e=n+ +(i&&(!n||ff(t)&&!t.noHeader)))})),e}return 0}function yf(t,e,n,i){var r,o=e.noHeader,a=(r=vf(e),{html:cf[r],richText:pf[r]}),s=[],l=e.blocks||[];st(!l||G(l)),l=l||[];var u=t.orderMode;if(e.sortBlocks&&u){l=l.slice();var h={valueAsc:"asc",valueDesc:"desc"};if(yt(h,u)){var c=new Fd(h[u],null);l.sort((function(t,e){return c.evaluate(t.sortParam,e.sortParam)}))}else"seriesDesc"===u&&l.reverse()}E(l,(function(n,r){var o=e.valueFormatter,l=gf(n)(o?k(k({},t),{valueFormatter:o}):t,n,r>0?a.html:0,i);null!=l&&s.push(l)}));var p="richText"===t.renderMode?s.join(a.richText):xf(s.join(""),o?n:a.html);if(o)return p;var d=Rc(e.header,"ordinal",t.useUTC),f=hf(i,t.renderMode).nameStyle;return"richText"===t.renderMode?wf(t,d,f)+a.richText+p:xf('
    '+Oc(d)+"
    "+p,n)}function mf(t,e,n,i){var r=t.renderMode,o=e.noName,a=e.noValue,s=!e.markerType,l=e.name,u=t.useUTC,h=e.valueFormatter||t.valueFormatter||function(t){return z(t=G(t)?t:[t],(function(t,e){return Rc(t,G(d)?d[e]:d,u)}))};if(!o||!a){var c=s?"":t.markupStyleCreator.makeTooltipMarker(e.markerType,e.markerColor||"#333",r),p=o?"":Rc(l,"ordinal",u),d=e.valueType,f=a?[]:h(e.value),g=!s||!o,v=!s&&o,y=hf(i,r),m=y.nameStyle,_=y.valueStyle;return"richText"===r?(s?"":c)+(o?"":wf(t,p,m))+(a?"":function(t,e,n,i,r){var o=[r],a=i?10:20;return n&&o.push({padding:[0,0,0,a],align:"right"}),t.markupStyleCreator.wrapRichTextStyle(G(e)?e.join(" "):e,o)}(t,f,g,v,_)):xf((s?"":c)+(o?"":function(t,e,n){return''+Oc(t)+""}(p,!s,m))+(a?"":function(t,e,n,i){var r=n?"10px":"20px",o=e?"float:right;margin-left:"+r:"";return t=G(t)?t:[t],''+z(t,(function(t){return Oc(t)})).join("  ")+""}(f,g,v,_)),n)}}function _f(t,e,n,i,r,o){if(t)return gf(t)({useUTC:r,renderMode:n,orderMode:i,markupStyleCreator:e,valueFormatter:t.valueFormatter},t,0,o)}function xf(t,e){return'
    '+t+'
    '}function wf(t,e,n){return t.markupStyleCreator.wrapRichTextStyle(e,n)}function bf(t,e){var n=t.get("padding");return null!=n?n:"richText"===e?[8,10]:10}var Sf=function(){function t(){this.richTextStyles={},this._nextStyleNameId=Zr()}return t.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++},t.prototype.makeTooltipMarker=function(t,e,n){var i="richText"===n?this._generateStyleName():null,r=Bc({color:e,type:t,renderMode:n,markerId:i});return Z(r)?r:(this.richTextStyles[i]=r.style,r.content)},t.prototype.wrapRichTextStyle=function(t,e){var n={};G(e)?E(e,(function(t){return k(n,t)})):k(n,e);var i=this._generateStyleName();return this.richTextStyles[i]=n,"{"+i+"|"+t+"}"},t}();function Mf(t){var e,n,i,r,o=t.series,a=t.dataIndex,s=t.multipleSeries,l=o.getData(),u=l.mapDimensionsAll("defaultedTooltip"),h=u.length,c=o.getRawValue(a),p=G(c),d=function(t,e){return Vc(t.getData().getItemVisual(e,"style")[t.visualDrawType])}(o,a);if(h>1||p&&!h){var f=function(t,e,n,i,r){var o=e.getData(),a=B(t,(function(t,e,n){var i=o.getDimensionInfo(n);return t||i&&!1!==i.tooltip&&null!=i.displayName}),!1),s=[],l=[],u=[];function h(t,e){var n=o.getDimensionInfo(e);n&&!1!==n.otherDims.tooltip&&(a?u.push(df("nameValue",{markerType:"subItem",markerColor:r,name:n.displayName,value:t,valueType:n.type})):(s.push(t),l.push(n.type)))}return i.length?E(i,(function(t){h(Ld(o,n,t),t)})):E(t,h),{inlineValues:s,inlineValueTypes:l,blocks:u}}(c,o,a,u,d);e=f.inlineValues,n=f.inlineValueTypes,i=f.blocks,r=f.inlineValues[0]}else if(h){var g=l.getDimensionInfo(u[0]);r=e=Ld(l,a,u[0]),n=g.type}else r=e=p?c[0]:c;var v=lo(o),y=v&&o.name||"",m=l.getName(a),_=s?y:m;return df("section",{header:y,noHeader:s||!v,sortParam:r,blocks:[df("nameValue",{markerType:"item",markerColor:d,name:_,noName:!lt(_),value:e,valueType:n})].concat(i||[])})}var Cf=co();function If(t,e){return t.getName(e)||t.getId(e)}var Tf=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._selectedDataIndicesMap={},e}return n(e,t),e.prototype.init=function(t,e,n){this.seriesIndex=this.componentIndex,this.dataTask=Ed({count:kf,reset:Af}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,n),(Cf(this).sourceManager=new af(this)).prepareSource();var i=this.getInitialData(t,n);Lf(i,this),this.dataTask.context.data=i,Cf(this).dataBeforeProcessed=i,Df(this),this._initSelectedMapFromData(i)},e.prototype.mergeDefaultAndTheme=function(t,e){var n=jc(this),i=n?Kc(t):{},r=this.subType;Jc.hasClass(r)&&(r+="Series"),T(t,e.getTheme().get(this.subType)),T(t,this.getDefaultOption()),to(t,"label",["show"]),this.fillDataTextStyle(t.data),n&&qc(t,i,n)},e.prototype.mergeOption=function(t,e){t=T(this.option,t,!0),this.fillDataTextStyle(t.data);var n=jc(this);n&&qc(this.option,t,n);var i=Cf(this).sourceManager;i.dirty(),i.prepareSource();var r=this.getInitialData(t,e);Lf(r,this),this.dataTask.dirty(),this.dataTask.context.data=r,Cf(this).dataBeforeProcessed=r,Df(this),this._initSelectedMapFromData(r)},e.prototype.fillDataTextStyle=function(t){if(t&&!K(t))for(var e=["show"],n=0;nthis.getShallow("animationThreshold")&&(e=!1),!!e},e.prototype.restoreData=function(){this.dataTask.dirty()},e.prototype.getColorFromPalette=function(t,e,n){var i=this.ecModel,r=Tp.prototype.getColorFromPalette.call(this,t,e,n);return r||(r=i.getColorFromPalette(t,e,n)),r},e.prototype.coordDimToDataDim=function(t){return this.getRawData().mapDimensionsAll(t)},e.prototype.getProgressive=function(){return this.get("progressive")},e.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")},e.prototype.select=function(t,e){this._innerSelect(this.getData(e),t)},e.prototype.unselect=function(t,e){var n=this.option.selectedMap;if(n){var i=this.option.selectedMode,r=this.getData(e);if("series"===i||"all"===n)return this.option.selectedMap={},void(this._selectedDataIndicesMap={});for(var o=0;o=0&&n.push(r)}return n},e.prototype.isSelected=function(t,e){var n=this.option.selectedMap;if(!n)return!1;var i=this.getData(e);return("all"===n||n[If(i,t)])&&!i.getItemModel(t).get(["select","disabled"])},e.prototype.isUniversalTransitionEnabled=function(){if(this.__universalTransitionEnabled)return!0;var t=this.option.universalTransition;return!!t&&(!0===t||t&&t.enabled)},e.prototype._innerSelect=function(t,e){var n,i,r=this.option,o=r.selectedMode,a=e.length;if(o&&a)if("series"===o)r.selectedMap="all";else if("multiple"===o){j(r.selectedMap)||(r.selectedMap={});for(var s=r.selectedMap,l=0;l0&&this._innerSelect(t,e)}},e.registerClass=function(t){return Jc.registerClass(t)},e.protoInitialize=function(){var t=e.prototype;t.type="series.__base__",t.seriesIndex=0,t.ignoreStyleOnData=!1,t.hasSymbolVisual=!1,t.defaultSymbol="circle",t.visualStyleAccessPath="itemStyle",t.visualDrawType="fill"}(),e}(Jc);function Df(t){var e=t.name;lo(t)||(t.name=function(t){var e=t.getRawData(),n=e.mapDimensionsAll("seriesName"),i=[];return E(n,(function(t){var n=e.getDimensionInfo(t);n.displayName&&i.push(n.displayName)})),i.join(" ")}(t)||e)}function kf(t){return t.model.getRawData().count()}function Af(t){var e=t.model;return e.setData(e.getRawData().cloneShallow()),Pf}function Pf(t,e){e.outputData&&t.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function Lf(t,e){E(ft(t.CHANGABLE_METHODS,t.DOWNSAMPLE_METHODS),(function(n){t.wrapMethod(n,W(Of,e))}))}function Of(t,e){var n=Rf(t);return n&&n.setOutputEnd((e||this).count()),e}function Rf(t){var e=(t.ecModel||{}).scheduler,n=e&&e.getPipeline(t.uid);if(n){var i=n.currentTask;if(i){var r=i.agentStubMap;r&&(i=r.get(t.uid))}return i}}R(Tf,Rd),R(Tf,Tp),Mo(Tf,Jc);var Nf=function(){function t(){this.group=new _r,this.uid=Gh("viewComponent")}return t.prototype.init=function(t,e){},t.prototype.render=function(t,e,n,i){},t.prototype.dispose=function(t,e){},t.prototype.updateView=function(t,e,n,i){},t.prototype.updateLayout=function(t,e,n,i){},t.prototype.updateVisual=function(t,e,n,i){},t.prototype.toggleBlurSeries=function(t,e,n){},t.prototype.eachRendered=function(t){var e=this.group;e&&e.traverse(t)},t}();function Ef(){var t=co();return function(e){var n=t(e),i=e.pipelineContext,r=!!n.large,o=!!n.progressiveRender,a=n.large=!(!i||!i.large),s=n.progressiveRender=!(!i||!i.progressiveRender);return!(r===a&&o===s)&&"reset"}}So(Nf),Do(Nf);var zf=co(),Bf=Ef(),Vf=function(){function t(){this.group=new _r,this.uid=Gh("viewChart"),this.renderTask=Ed({plan:Wf,reset:Gf}),this.renderTask.context={view:this}}return t.prototype.init=function(t,e){},t.prototype.render=function(t,e,n,i){0},t.prototype.highlight=function(t,e,n,i){var r=t.getData(i&&i.dataType);r&&Hf(r,i,"emphasis")},t.prototype.downplay=function(t,e,n,i){var r=t.getData(i&&i.dataType);r&&Hf(r,i,"normal")},t.prototype.remove=function(t,e){this.group.removeAll()},t.prototype.dispose=function(t,e){},t.prototype.updateView=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.updateLayout=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.updateVisual=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.eachRendered=function(t){vh(this.group,t)},t.markUpdateMethod=function(t,e){zf(t).updateMethod=e},t.protoInitialize=void(t.prototype.type="chart"),t}();function Ff(t,e,n){t&&bl(t)&&("emphasis"===e?il:rl)(t,n)}function Hf(t,e,n){var i=ho(t,e),r=e&&null!=e.highlightKey?function(t){var e=As[t];return null==e&&ks<=32&&(e=As[t]=ks++),e}(e.highlightKey):null;null!=i?E(Jr(i),(function(e){Ff(t.getItemGraphicEl(e),n,r)})):t.eachItemGraphicEl((function(t){Ff(t,n,r)}))}function Wf(t){return Bf(t.model)}function Gf(t){var e=t.model,n=t.ecModel,i=t.api,r=t.payload,o=e.pipelineContext.progressiveRender,a=t.view,s=r&&zf(r).updateMethod,l=o?"incrementalPrepareRender":s&&a[s]?s:"render";return"render"!==l&&a[l](e,n,i,r),Uf[l]}So(Vf),Do(Vf);var Uf={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},Zf="\0__throttleOriginMethod",Yf="\0__throttleRate",Xf="\0__throttleType";function jf(t,e,n){var i,r,o,a,s,l=0,u=0,h=null;function c(){u=(new Date).getTime(),h=null,t.apply(o,a||[])}e=e||0;var p=function(){for(var t=[],p=0;p=0?c():h=setTimeout(c,-r),l=i};return p.clear=function(){h&&(clearTimeout(h),h=null)},p.debounceNextCall=function(t){s=t},p}function qf(t,e,n,i){var r=t[e];if(r){var o=r[Zf]||r,a=r[Xf];if(r[Yf]!==n||a!==i){if(null==n||!i)return t[e]=o;(r=t[e]=jf(o,n,"debounce"===i))[Zf]=o,r[Xf]=i,r[Yf]=n}return r}}function Kf(t,e){var n=t[e];n&&n[Zf]&&(n.clear&&n.clear(),t[e]=n[Zf])}var $f=co(),Qf={itemStyle:ko(Bh,!0),lineStyle:ko(Nh,!0)},Jf={lineStyle:"stroke",itemStyle:"fill"};function tg(t,e){var n=t.visualStyleMapper||Qf[e];return n||(console.warn("Unkown style type '"+e+"'."),Qf.itemStyle)}function eg(t,e){var n=t.visualDrawType||Jf[e];return n||(console.warn("Unkown style type '"+e+"'."),"fill")}var ng={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData(),i=t.visualStyleAccessPath||"itemStyle",r=t.getModel(i),o=tg(t,i)(r),a=r.getShallow("decal");a&&(n.setVisual("decal",a),a.dirty=!0);var s=eg(t,i),l=o[s],u=U(l)?l:null,h="auto"===o.fill||"auto"===o.stroke;if(!o[s]||u||h){var c=t.getColorFromPalette(t.name,null,e.getSeriesCount());o[s]||(o[s]=c,n.setVisual("colorFromPalette",!0)),o.fill="auto"===o.fill||U(o.fill)?c:o.fill,o.stroke="auto"===o.stroke||U(o.stroke)?c:o.stroke}if(n.setVisual("style",o),n.setVisual("drawType",s),!e.isSeriesFiltered(t)&&u)return n.setVisual("colorFromPalette",!1),{dataEach:function(e,n){var i=t.getDataParams(n),r=k({},o);r[s]=u(i),e.setItemVisual(n,"style",r)}}}},ig=new Hh,rg={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){if(!t.ignoreStyleOnData&&!e.isSeriesFiltered(t)){var n=t.getData(),i=t.visualStyleAccessPath||"itemStyle",r=tg(t,i),o=n.getVisual("drawType");return{dataEach:n.hasItemOption?function(t,e){var n=t.getRawDataItem(e);if(n&&n[i]){ig.option=n[i];var a=r(ig);k(t.ensureUniqueItemVisual(e,"style"),a),ig.option.decal&&(t.setItemVisual(e,"decal",ig.option.decal),ig.option.decal.dirty=!0),o in a&&t.setItemVisual(e,"colorFromPalette",!1)}}:null}}}},og={performRawSeries:!0,overallReset:function(t){var e=dt();t.eachSeries((function(t){var n=t.getColorBy();if(!t.isColorBySeries()){var i=t.type+"-"+n,r=e.get(i);r||(r={},e.set(i,r)),$f(t).scope=r}})),t.eachSeries((function(e){if(!e.isColorBySeries()&&!t.isSeriesFiltered(e)){var n=e.getRawData(),i={},r=e.getData(),o=$f(e).scope,a=e.visualStyleAccessPath||"itemStyle",s=eg(e,a);r.each((function(t){var e=r.getRawIndex(t);i[e]=t})),n.each((function(t){var a=i[t];if(r.getItemVisual(a,"colorFromPalette")){var l=r.ensureUniqueItemVisual(a,"style"),u=n.getName(t)||t+"",h=n.count();l[s]=e.getColorFromPalette(u,o,h)}}))}}))}},ag=Math.PI;var sg=function(){function t(t,e,n,i){this._stageTaskMap=dt(),this.ecInstance=t,this.api=e,n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice(),this._allHandlers=n.concat(i)}return t.prototype.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each((function(t){var e=t.overallTask;e&&e.dirty()}))},t.prototype.getPerformArgs=function(t,e){if(t.__pipeline){var n=this._pipelineMap.get(t.__pipeline.id),i=n.context,r=!e&&n.progressiveEnabled&&(!i||i.progressiveRender)&&t.__idxInPipeline>n.blockIndex?n.step:null,o=i&&i.modDataCount;return{step:r,modBy:null!=o?Math.ceil(o/r):null,modDataCount:o}}},t.prototype.getPipeline=function(t){return this._pipelineMap.get(t)},t.prototype.updateStreamModes=function(t,e){var n=this._pipelineMap.get(t.uid),i=t.getData().count(),r=n.progressiveEnabled&&e.incrementalPrepareRender&&i>=n.threshold,o=t.get("large")&&i>=t.get("largeThreshold"),a="mod"===t.get("progressiveChunkMode")?i:null;t.pipelineContext=n.context={progressiveRender:r,modDataCount:a,large:o}},t.prototype.restorePipelines=function(t){var e=this,n=e._pipelineMap=dt();t.eachSeries((function(t){var i=t.getProgressive(),r=t.uid;n.set(r,{id:r,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:i&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(i||700),count:0}),e._pipe(t,t.dataTask)}))},t.prototype.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.api.getModel(),n=this.api;E(this._allHandlers,(function(i){var r=t.get(i.uid)||t.set(i.uid,{}),o="";st(!(i.reset&&i.overallReset),o),i.reset&&this._createSeriesStageTask(i,r,e,n),i.overallReset&&this._createOverallStageTask(i,r,e,n)}),this)},t.prototype.prepareView=function(t,e,n,i){var r=t.renderTask,o=r.context;o.model=e,o.ecModel=n,o.api=i,r.__block=!t.incrementalPrepareRender,this._pipe(e,r)},t.prototype.performDataProcessorTasks=function(t,e){this._performStageTasks(this._dataProcessorHandlers,t,e,{block:!0})},t.prototype.performVisualTasks=function(t,e,n){this._performStageTasks(this._visualHandlers,t,e,n)},t.prototype._performStageTasks=function(t,e,n,i){i=i||{};var r=!1,o=this;function a(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}E(t,(function(t,s){if(!i.visualType||i.visualType===t.visualType){var l=o._stageTaskMap.get(t.uid),u=l.seriesTaskMap,h=l.overallTask;if(h){var c,p=h.agentStubMap;p.each((function(t){a(i,t)&&(t.dirty(),c=!0)})),c&&h.dirty(),o.updatePayload(h,n);var d=o.getPerformArgs(h,i.block);p.each((function(t){t.perform(d)})),h.perform(d)&&(r=!0)}else u&&u.each((function(s,l){a(i,s)&&s.dirty();var u=o.getPerformArgs(s,i.block);u.skip=!t.performRawSeries&&e.isSeriesFiltered(s.context.model),o.updatePayload(s,n),s.perform(u)&&(r=!0)}))}})),this.unfinished=r||this.unfinished},t.prototype.performSeriesTasks=function(t){var e;t.eachSeries((function(t){e=t.dataTask.perform()||e})),this.unfinished=e||this.unfinished},t.prototype.plan=function(){this._pipelineMap.each((function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)}))},t.prototype.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},t.prototype._createSeriesStageTask=function(t,e,n,i){var r=this,o=e.seriesTaskMap,a=e.seriesTaskMap=dt(),s=t.seriesType,l=t.getTargetSeries;function u(e){var s=e.uid,l=a.set(s,o&&o.get(s)||Ed({plan:pg,reset:dg,count:vg}));l.context={model:e,ecModel:n,api:i,useClearVisual:t.isVisual&&!t.isLayout,plan:t.plan,reset:t.reset,scheduler:r},r._pipe(e,l)}t.createOnAllSeries?n.eachRawSeries(u):s?n.eachRawSeriesByType(s,u):l&&l(n,i).each(u)},t.prototype._createOverallStageTask=function(t,e,n,i){var r=this,o=e.overallTask=e.overallTask||Ed({reset:lg});o.context={ecModel:n,api:i,overallReset:t.overallReset,scheduler:r};var a=o.agentStubMap,s=o.agentStubMap=dt(),l=t.seriesType,u=t.getTargetSeries,h=!0,c=!1,p="";function d(t){var e=t.uid,n=s.set(e,a&&a.get(e)||(c=!0,Ed({reset:ug,onDirty:cg})));n.context={model:t,overallProgress:h},n.agent=o,n.__block=h,r._pipe(t,n)}st(!t.createOnAllSeries,p),l?n.eachRawSeriesByType(l,d):u?u(n,i).each(d):(h=!1,E(n.getSeries(),d)),c&&o.dirty()},t.prototype._pipe=function(t,e){var n=t.uid,i=this._pipelineMap.get(n);!i.head&&(i.head=e),i.tail&&i.tail.pipe(e),i.tail=e,e.__idxInPipeline=i.count++,e.__pipeline=i},t.wrapStageHandler=function(t,e){return U(t)&&(t={overallReset:t,seriesType:yg(t)}),t.uid=Gh("stageHandler"),e&&(t.visualType=e),t},t}();function lg(t){t.overallReset(t.ecModel,t.api,t.payload)}function ug(t){return t.overallProgress&&hg}function hg(){this.agent.dirty(),this.getDownstream().dirty()}function cg(){this.agent&&this.agent.dirty()}function pg(t){return t.plan?t.plan(t.model,t.ecModel,t.api,t.payload):null}function dg(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=Jr(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?z(e,(function(t,e){return gg(e)})):fg}var fg=gg(0);function gg(t){return function(e,n){var i=n.data,r=n.resetDefines[t];if(r&&r.dataEach)for(var o=e.start;o0&&h===r.length-u.length){var c=r.slice(0,h);"data"!==c&&(e.mainType=c,e[u.toLowerCase()]=t,s=!0)}}a.hasOwnProperty(r)&&(n[r]=t,s=!0),s||(i[r]=t)}))}return{cptQuery:e,dataQuery:n,otherQuery:i}},t.prototype.filter=function(t,e){var n=this.eventInfo;if(!n)return!0;var i=n.targetEl,r=n.packedEvent,o=n.model,a=n.view;if(!o||!a)return!0;var s=e.cptQuery,l=e.dataQuery;return u(s,o,"mainType")&&u(s,o,"subType")&&u(s,o,"index","componentIndex")&&u(s,o,"name")&&u(s,o,"id")&&u(l,r,"name")&&u(l,r,"dataIndex")&&u(l,r,"dataType")&&(!a.filterForExposedEvent||a.filterForExposedEvent(t,e.otherQuery,i,r));function u(t,e,n,i){return null==t[n]||e[i||n]===t[n]}},t.prototype.afterTrigger=function(){this.eventInfo=null},t}(),Ag=["symbol","symbolSize","symbolRotate","symbolOffset"],Pg=Ag.concat(["symbolKeepAspect"]),Lg={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData();if(t.legendIcon&&n.setVisual("legendIcon",t.legendIcon),t.hasSymbolVisual){for(var i={},r={},o=!1,a=0;a=0&&$g(l)?l:.5,t.createRadialGradient(a,s,0,a,s,l)}(t,e,n):function(t,e,n){var i=null==e.x?0:e.x,r=null==e.x2?1:e.x2,o=null==e.y?0:e.y,a=null==e.y2?0:e.y2;return e.global||(i=i*n.width+n.x,r=r*n.width+n.x,o=o*n.height+n.y,a=a*n.height+n.y),i=$g(i)?i:0,r=$g(r)?r:1,o=$g(o)?o:0,a=$g(a)?a:0,t.createLinearGradient(i,o,r,a)}(t,e,n),r=e.colorStops,o=0;o0&&(e=i.lineDash,n=i.lineWidth,e&&"solid"!==e&&n>0?"dashed"===e?[4*n,2*n]:"dotted"===e?[n]:X(e)?[e]:G(e)?e:null:null),o=i.lineDashOffset;if(r){var a=i.strokeNoScale&&t.getLineScale?t.getLineScale():1;a&&1!==a&&(r=z(r,(function(t){return t/a})),o/=a)}return[r,o]}var nv=new Ra(!0);function iv(t){var e=t.stroke;return!(null==e||"none"===e||!(t.lineWidth>0))}function rv(t){return"string"==typeof t&&"none"!==t}function ov(t){var e=t.fill;return null!=e&&"none"!==e}function av(t,e){if(null!=e.fillOpacity&&1!==e.fillOpacity){var n=t.globalAlpha;t.globalAlpha=e.fillOpacity*e.opacity,t.fill(),t.globalAlpha=n}else t.fill()}function sv(t,e){if(null!=e.strokeOpacity&&1!==e.strokeOpacity){var n=t.globalAlpha;t.globalAlpha=e.strokeOpacity*e.opacity,t.stroke(),t.globalAlpha=n}else t.stroke()}function lv(t,e,n){var i=Ro(e.image,e.__image,n);if(Eo(i)){var r=t.createPattern(i,e.repeat||"repeat");if("function"==typeof DOMMatrix&&r&&r.setTransform){var o=new DOMMatrix;o.translateSelf(e.x||0,e.y||0),o.rotateSelf(0,0,(e.rotation||0)*_t),o.scaleSelf(e.scaleX||1,e.scaleY||1),r.setTransform(o)}return r}}var uv=["shadowBlur","shadowOffsetX","shadowOffsetY"],hv=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]];function cv(t,e,n,i,r){var o=!1;if(!i&&e===(n=n||{}))return!1;if(i||e.opacity!==n.opacity){fv(t,r),o=!0;var a=Math.max(Math.min(e.opacity,1),0);t.globalAlpha=isNaN(a)?Ko.opacity:a}(i||e.blend!==n.blend)&&(o||(fv(t,r),o=!0),t.globalCompositeOperation=e.blend||Ko.blend);for(var s=0;s0&&t.unfinished);t.unfinished||this._zr.flush()}}},e.prototype.getDom=function(){return this._dom},e.prototype.getId=function(){return this.id},e.prototype.getZr=function(){return this._zr},e.prototype.isSSR=function(){return this._ssr},e.prototype.setOption=function(t,e,n){if(!this.__flagInMainProcess)if(this._disposed)ay(this.id);else{var i,r,o;if(j(e)&&(n=e.lazyUpdate,i=e.silent,r=e.replaceMerge,o=e.transition,e=e.notMerge),this.__flagInMainProcess=!0,!this._model||e){var a=new Vp(this._api),s=this._theme,l=this._model=new Ap;l.scheduler=this._scheduler,l.ssr=this._ssr,l.init(null,null,null,s,this._locale,a)}this._model.setOption(t,{replaceMerge:r},hy);var u={seriesTransition:o,optionChanged:!0};if(n)this.__pendingUpdate={silent:i,updateParams:u},this.__flagInMainProcess=!1,this.getZr().wakeUp();else{try{zv(this),Fv.update.call(this,null,u)}catch(t){throw this.__pendingUpdate=null,this.__flagInMainProcess=!1,t}this._ssr||this._zr.flush(),this.__pendingUpdate=null,this.__flagInMainProcess=!1,Uv.call(this,i),Zv.call(this,i)}}},e.prototype.setTheme=function(){jr()},e.prototype.getModel=function(){return this._model},e.prototype.getOption=function(){return this._model&&this._model.getOption()},e.prototype.getWidth=function(){return this._zr.getWidth()},e.prototype.getHeight=function(){return this._zr.getHeight()},e.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||Dv&&window.devicePixelRatio||1},e.prototype.getRenderedCanvas=function(t){return this.renderToCanvas(t)},e.prototype.renderToCanvas=function(t){t=t||{};var e=this._zr.painter;return e.getRenderedCanvas({backgroundColor:t.backgroundColor||this._model.get("backgroundColor"),pixelRatio:t.pixelRatio||this.getDevicePixelRatio()})},e.prototype.renderToSVGString=function(t){t=t||{};var e=this._zr.painter;return e.renderToString({useViewBox:t.useViewBox})},e.prototype.getSvgDataURL=function(){if(r.svgSupported){var t=this._zr;return E(t.storage.getDisplayList(),(function(t){t.stopAnimation(null,!0)})),t.painter.toDataURL()}},e.prototype.getDataURL=function(t){if(!this._disposed){var e=(t=t||{}).excludeComponents,n=this._model,i=[],r=this;E(e,(function(t){n.eachComponent({mainType:t},(function(t){var e=r._componentsMap[t.__viewId];e.group.ignore||(i.push(e),e.group.ignore=!0)}))}));var o="svg"===this._zr.painter.getType()?this.getSvgDataURL():this.renderToCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return E(i,(function(t){t.group.ignore=!1})),o}ay(this.id)},e.prototype.getConnectedDataURL=function(t){if(!this._disposed){var e="svg"===t.type,n=this.group,i=Math.min,r=Math.max,o=1/0;if(gy[n]){var a=o,s=o,l=-1/0,u=-1/0,c=[],p=t&&t.pixelRatio||this.getDevicePixelRatio();E(fy,(function(o,h){if(o.group===n){var p=e?o.getZr().painter.getSvgDom().innerHTML:o.renderToCanvas(I(t)),d=o.getDom().getBoundingClientRect();a=i(d.left,a),s=i(d.top,s),l=r(d.right,l),u=r(d.bottom,u),c.push({dom:p,left:d.left,top:d.top})}}));var d=(l*=p)-(a*=p),f=(u*=p)-(s*=p),g=h.createCanvas(),v=Sr(g,{renderer:e?"svg":"canvas"});if(v.resize({width:d,height:f}),e){var y="";return E(c,(function(t){var e=t.left-a,n=t.top-s;y+=''+t.dom+""})),v.painter.getSvgRoot().innerHTML=y,t.connectedBackgroundColor&&v.painter.setBackgroundColor(t.connectedBackgroundColor),v.refreshImmediately(),v.painter.toDataURL()}return t.connectedBackgroundColor&&v.add(new ps({shape:{x:0,y:0,width:d,height:f},style:{fill:t.connectedBackgroundColor}})),E(c,(function(t){var e=new os({style:{x:t.left*p-a,y:t.top*p-s,image:t.dom}});v.add(e)})),v.refreshImmediately(),g.toDataURL("image/"+(t&&t.type||"png"))}return this.getDataURL(t)}ay(this.id)},e.prototype.convertToPixel=function(t,e){return Hv(this,"convertToPixel",t,e)},e.prototype.convertFromPixel=function(t,e){return Hv(this,"convertFromPixel",t,e)},e.prototype.containPixel=function(t,e){var n;if(!this._disposed)return E(fo(this._model,t),(function(t,i){i.indexOf("Models")>=0&&E(t,(function(t){var r=t.coordinateSystem;if(r&&r.containPoint)n=n||!!r.containPoint(e);else if("seriesModels"===i){var o=this._chartsMap[t.__viewId];o&&o.containPoint&&(n=n||o.containPoint(e,t))}else 0}),this)}),this),!!n;ay(this.id)},e.prototype.getVisual=function(t,e){var n=fo(this._model,t,{defaultMainType:"series"}),i=n.seriesModel;var r=i.getData(),o=n.hasOwnProperty("dataIndexInside")?n.dataIndexInside:n.hasOwnProperty("dataIndex")?r.indexOfRawIndex(n.dataIndex):null;return null!=o?function(t,e,n){switch(n){case"color":return t.getItemVisual(e,"style")[t.getVisual("drawType")];case"opacity":return t.getItemVisual(e,"style").opacity;case"symbol":case"symbolSize":case"liftZ":return t.getItemVisual(e,n)}}(r,o,e):Rg(r,e)},e.prototype.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},e.prototype.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]},e.prototype._initEvents=function(){var t,e,n,i=this;E(oy,(function(t){var e=function(e){var n,r=i.getModel(),o=e.target,a="globalout"===t;if(a?n={}:o&&Eg(o,(function(t){var e=Ds(t);if(e&&null!=e.dataIndex){var i=e.dataModel||r.getSeriesByIndex(e.seriesIndex);return n=i&&i.getDataParams(e.dataIndex,e.dataType)||{},!0}if(e.eventData)return n=k({},e.eventData),!0}),!0),n){var s=n.componentType,l=n.componentIndex;"markLine"!==s&&"markPoint"!==s&&"markArea"!==s||(s="series",l=n.seriesIndex);var u=s&&null!=l&&r.getComponent(s,l),h=u&&i["series"===u.mainType?"_chartsMap":"_componentsMap"][u.__viewId];0,n.event=e,n.type=t,i._$eventProcessor.eventInfo={targetEl:o,packedEvent:n,model:u,view:h},i.trigger(t,n)}};e.zrEventfulCallAtLast=!0,i._zr.on(t,e,i)})),E(ly,(function(t,e){i._messageCenter.on(e,(function(t){this.trigger(e,t)}),i)})),E(["selectchanged"],(function(t){i._messageCenter.on(t,(function(e){this.trigger(t,e)}),i)})),t=this._messageCenter,e=this,n=this._api,t.on("selectchanged",(function(t){var i=n.getModel();t.isFromClick?(Ng("map","selectchanged",e,i,t),Ng("pie","selectchanged",e,i,t)):"select"===t.fromAction?(Ng("map","selected",e,i,t),Ng("pie","selected",e,i,t)):"unselect"===t.fromAction&&(Ng("map","unselected",e,i,t),Ng("pie","unselected",e,i,t))}))},e.prototype.isDisposed=function(){return this._disposed},e.prototype.clear=function(){this._disposed?ay(this.id):this.setOption({series:[]},!0)},e.prototype.dispose=function(){if(this._disposed)ay(this.id);else{this._disposed=!0,this.getDom()&&_o(this.getDom(),my,"");var t=this,e=t._api,n=t._model;E(t._componentsViews,(function(t){t.dispose(n,e)})),E(t._chartsViews,(function(t){t.dispose(n,e)})),t._zr.dispose(),t._dom=t._model=t._chartsMap=t._componentsMap=t._chartsViews=t._componentsViews=t._scheduler=t._api=t._zr=t._throttledZrFlush=t._theme=t._coordSysMgr=t._messageCenter=null,delete fy[t.id]}},e.prototype.resize=function(t){if(!this.__flagInMainProcess)if(this._disposed)ay(this.id);else{this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var n=e.resetOption("media"),i=t&&t.silent;this.__pendingUpdate&&(null==i&&(i=this.__pendingUpdate.silent),n=!0,this.__pendingUpdate=null),this.__flagInMainProcess=!0;try{n&&zv(this),Fv.update.call(this,{type:"resize",animation:k({duration:0},t&&t.animation)})}catch(t){throw this.__flagInMainProcess=!1,t}this.__flagInMainProcess=!1,Uv.call(this,i),Zv.call(this,i)}}},e.prototype.showLoading=function(t,e){if(this._disposed)ay(this.id);else if(j(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),dy[t]){var n=dy[t](this._api,e),i=this._zr;this._loadingFX=n,i.add(n)}},e.prototype.hideLoading=function(){this._disposed?ay(this.id):(this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null)},e.prototype.makeActionFromEvent=function(t){var e=k({},t);return e.type=ly[t.type],e},e.prototype.dispatchAction=function(t,e){if(this._disposed)ay(this.id);else if(j(e)||(e={silent:!!e}),sy[t.type]&&this._model)if(this.__flagInMainProcess)this._pendingActions.push(t);else{var n=e.silent;Gv.call(this,t,n);var i=e.flush;i?this._zr.flush():!1!==i&&r.browser.weChat&&this._throttledZrFlush(),Uv.call(this,n),Zv.call(this,n)}},e.prototype.updateLabelLayout=function(){Cv.trigger("series:layoutlabels",this._model,this._api,{updatedSeries:[]})},e.prototype.appendData=function(t){if(this._disposed)ay(this.id);else{var e=t.seriesIndex,n=this.getModel().getSeriesByIndex(e);0,n.appendData(t),this._scheduler.unfinished=!0,this.getZr().wakeUp()}},e.internalField=function(){function t(t){t.clearColorPalette(),t.eachSeries((function(t){t.clearColorPalette()}))}function e(t){for(var e=[],n=t.currentStates,i=0;i0?{duration:o,delay:i.get("delay"),easing:i.get("easing")}:null;n.eachRendered((function(t){if(t.states&&t.states.emphasis){if(Vu(t))return;if(t instanceof ts&&function(t){var e=Ps(t);e.normalFill=t.style.fill,e.normalStroke=t.style.stroke;var n=t.states.select||{};e.selectFill=n.style&&n.style.fill||null,e.selectStroke=n.style&&n.style.stroke||null}(t),t.__dirty){var n=t.prevStates;n&&t.useStates(n)}if(r){t.stateTransition=a;var i=t.getTextContent(),o=t.getTextGuideLine();i&&(i.stateTransition=a),o&&(o.stateTransition=a)}t.__dirty&&e(t)}}))}zv=function(t){var e=t._scheduler;e.restorePipelines(t._model),e.prepareStageTasks(),Bv(t,!0),Bv(t,!1),e.plan()},Bv=function(t,e){for(var n=t._model,i=t._scheduler,r=e?t._componentsViews:t._chartsViews,o=e?t._componentsMap:t._chartsMap,a=t._zr,s=t._api,l=0;le.get("hoverLayerThreshold")&&!r.node&&!r.worker&&e.eachSeries((function(e){if(!e.preventUsingHoverLayer){var n=t._chartsMap[e.__viewId];n.__alive&&n.eachRendered((function(t){t.states.emphasis&&(t.states.emphasis.hoverLayer=!0)}))}}))}(t,e),Cv.trigger("series:afterupdate",e,n,l)},Jv=function(t){t.__needsUpdateStatus=!0,t.getZr().wakeUp()},ty=function(t){t.__needsUpdateStatus&&(t.getZr().storage.traverse((function(t){Vu(t)||e(t)})),t.__needsUpdateStatus=!1)},$v=function(t){return new(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return n(i,e),i.prototype.getCoordinateSystems=function(){return t._coordSysMgr.getCoordinateSystems()},i.prototype.getComponentByElement=function(e){for(;e;){var n=e.__ecComponentInfo;if(null!=n)return t._model.getComponent(n.mainType,n.index);e=e.parent}},i.prototype.enterEmphasis=function(e,n){il(e,n),Jv(t)},i.prototype.leaveEmphasis=function(e,n){rl(e,n),Jv(t)},i.prototype.enterBlur=function(e){ol(e),Jv(t)},i.prototype.leaveBlur=function(e){al(e),Jv(t)},i.prototype.enterSelect=function(e){sl(e),Jv(t)},i.prototype.leaveSelect=function(e){ll(e),Jv(t)},i.prototype.getModel=function(){return t.getModel()},i.prototype.getViewOfComponentModel=function(e){return t.getViewOfComponentModel(e)},i.prototype.getViewOfSeriesModel=function(e){return t.getViewOfSeriesModel(e)},i}(Np))(t)},Qv=function(t){function e(t,e){for(var n=0;n=0)){Ly.push(n);var o=sg.wrapStageHandler(n,r);o.__prio=e,o.__raw=n,t.push(o)}}function Ry(t,e){dy[t]=e}function Ny(t,e,n){var i=Tv("registerMap");i&&i(t,e,n)}var Ey=function(t){var e=(t=I(t)).type,n="";e||qr(n);var i=e.split(":");2!==i.length&&qr(n);var r=!1;"echarts"===i[0]&&(e=i[1],r=!0),t.__isBuiltIn=r,Yd.set(e,t)};Py(kv,ng),Py(Av,rg),Py(Av,og),Py(kv,Lg),Py(Av,Og),Py(7e3,(function(t,e){t.eachRawSeries((function(n){if(!t.isSeriesFiltered(n)){var i=n.getData();i.hasItemVisual()&&i.each((function(t){var n=i.getItemVisual(t,"decal");n&&(i.ensureUniqueItemVisual(t,"style").decal=wv(n,e))}));var r=i.getVisual("decal");if(r)i.getVisual("style").decal=wv(r,e)}}))})),Sy(ad),My(900,(function(t){var e=dt();t.eachSeries((function(t){var n=t.get("stack");if(n){var i=e.get(n)||e.set(n,[]),r=t.getData(),o={stackResultDimension:r.getCalculationInfo("stackResultDimension"),stackedOverDimension:r.getCalculationInfo("stackedOverDimension"),stackedDimension:r.getCalculationInfo("stackedDimension"),stackedByDimension:r.getCalculationInfo("stackedByDimension"),isStackedByIndex:r.getCalculationInfo("isStackedByIndex"),data:r,seriesModel:t};if(!o.stackedDimension||!o.isStackedByIndex&&!o.stackedByDimension)return;i.length&&r.setCalculationInfo("stackedOnSeries",i[i.length-1].seriesModel),i.push(o)}})),e.each(sd)})),Ry("default",(function(t,e){A(e=e||{},{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var n=new _r,i=new ps({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4});n.add(i);var r,o=new gs({style:{text:e.text,fill:e.textColor,fontSize:e.fontSize,fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:e.fontFamily},zlevel:e.zlevel,z:10001}),a=new ps({style:{fill:"none"},textContent:o,textConfig:{position:"right",distance:10},zlevel:e.zlevel,z:10001});return n.add(a),e.showSpinner&&((r=new bu({shape:{startAngle:-ag/2,endAngle:-ag/2+.1,r:e.spinnerRadius},style:{stroke:e.color,lineCap:"round",lineWidth:e.lineWidth},zlevel:e.zlevel,z:10001})).animateShape(!0).when(1e3,{endAngle:3*ag/2}).start("circularInOut"),r.animateShape(!0).when(1e3,{startAngle:3*ag/2}).delay(300).start("circularInOut"),n.add(r)),n.resize=function(){var n=o.getBoundingRect().width,s=e.showSpinner?e.spinnerRadius:0,l=(t.getWidth()-2*s-(e.showSpinner&&n?10:0)-n)/2-(e.showSpinner&&n?0:5+n/2)+(e.showSpinner?0:n/2)+(n?0:s),u=t.getHeight()/2;e.showSpinner&&r.setShape({cx:l,cy:u}),a.setShape({x:l-s,y:u-s,width:2*s,height:2*s}),i.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},n.resize(),n})),Dy({type:Ns,event:Ns,update:Ns},mt),Dy({type:Es,event:Es,update:Es},mt),Dy({type:zs,event:zs,update:zs},mt),Dy({type:Bs,event:Bs,update:Bs},mt),Dy({type:Vs,event:Vs,update:Vs},mt),by("light",Sg),by("dark",Dg);var zy=[],By={registerPreprocessor:Sy,registerProcessor:My,registerPostInit:Cy,registerPostUpdate:Iy,registerUpdateLifecycle:Ty,registerAction:Dy,registerCoordinateSystem:ky,registerLayout:Ay,registerVisual:Py,registerTransform:Ey,registerLoading:Ry,registerMap:Ny,registerImpl:function(t,e){Iv[t]=e},PRIORITY:Pv,ComponentModel:Jc,ComponentView:Nf,SeriesModel:Tf,ChartView:Vf,registerComponentModel:function(t){Jc.registerClass(t)},registerComponentView:function(t){Nf.registerClass(t)},registerSeriesModel:function(t){Tf.registerClass(t)},registerChartView:function(t){Vf.registerClass(t)},registerSubTypeDefaulter:function(t,e){Jc.registerSubTypeDefaulter(t,e)},registerPainter:function(t,e){Mr(t,e)}};function Vy(t){G(t)?E(t,(function(t){Vy(t)})):L(zy,t)>=0||(zy.push(t),U(t)&&(t={install:t}),t.install(By))}function Fy(t){return null==t?0:t.length||1}function Hy(t){return t}var Wy=function(){function t(t,e,n,i,r,o){this._old=t,this._new=e,this._oldKeyGetter=n||Hy,this._newKeyGetter=i||Hy,this.context=r,this._diffModeMultiple="multiple"===o}return t.prototype.add=function(t){return this._add=t,this},t.prototype.update=function(t){return this._update=t,this},t.prototype.updateManyToOne=function(t){return this._updateManyToOne=t,this},t.prototype.updateOneToMany=function(t){return this._updateOneToMany=t,this},t.prototype.updateManyToMany=function(t){return this._updateManyToMany=t,this},t.prototype.remove=function(t){return this._remove=t,this},t.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()},t.prototype._executeOneToOne=function(){var t=this._old,e=this._new,n={},i=new Array(t.length),r=new Array(e.length);this._initIndexMap(t,null,i,"_oldKeyGetter"),this._initIndexMap(e,n,r,"_newKeyGetter");for(var o=0;o1){var u=s.shift();1===s.length&&(n[a]=s[0]),this._update&&this._update(u,o)}else 1===l?(n[a]=null,this._update&&this._update(s,o)):this._remove&&this._remove(o)}this._performRestAdd(r,n)},t.prototype._executeMultiple=function(){var t=this._old,e=this._new,n={},i={},r=[],o=[];this._initIndexMap(t,n,r,"_oldKeyGetter"),this._initIndexMap(e,i,o,"_newKeyGetter");for(var a=0;a1&&1===c)this._updateManyToOne&&this._updateManyToOne(u,l),i[s]=null;else if(1===h&&c>1)this._updateOneToMany&&this._updateOneToMany(u,l),i[s]=null;else if(1===h&&1===c)this._update&&this._update(u,l),i[s]=null;else if(h>1&&c>1)this._updateManyToMany&&this._updateManyToMany(u,l),i[s]=null;else if(h>1)for(var p=0;p1)for(var a=0;a30}var Jy,tm,em,nm,im,rm,om,am=j,sm=z,lm="undefined"==typeof Int32Array?Array:Int32Array,um=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_dimSummary","userOutput","_rawData","_dimValueGetter","_nameDimIdx","_idDimIdx","_nameRepeatCount"],hm=["_approximateExtent"],cm=function(){function t(t,e){var n;this.type="list",this._dimOmitted=!1,this._nameList=[],this._idList=[],this._visual={},this._layout={},this._itemVisuals=[],this._itemLayouts=[],this._graphicEls=[],this._approximateExtent={},this._calculationInfo={},this.hasItemOption=!1,this.TRANSFERABLE_METHODS=["cloneShallow","downSample","lttbDownSample","map"],this.CHANGABLE_METHODS=["filterSelf","selectRange"],this.DOWNSAMPLE_METHODS=["downSample","lttbDownSample"];var i=!1;qy(t)?(n=t.dimensions,this._dimOmitted=t.isDimensionOmitted(),this._schema=t):(i=!0,n=t),n=n||["x","y"];for(var r={},o=[],a={},s=!1,l={},u=0;u=e)){var n=this._store.getProvider();this._updateOrdinalMeta();var i=this._nameList,r=this._idList;if(n.getSource().sourceFormat===rp&&!n.pure)for(var o=[],a=t;a0},t.prototype.ensureUniqueItemVisual=function(t,e){var n=this._itemVisuals,i=n[t];i||(i=n[t]={});var r=i[e];return null==r&&(G(r=this.getVisual(e))?r=r.slice():am(r)&&(r=k({},r)),i[e]=r),r},t.prototype.setItemVisual=function(t,e,n){var i=this._itemVisuals[t]||{};this._itemVisuals[t]=i,am(e)?k(i,e):i[e]=n},t.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},t.prototype.setLayout=function(t,e){am(t)?k(this._layout,t):this._layout[t]=e},t.prototype.getLayout=function(t){return this._layout[t]},t.prototype.getItemLayout=function(t){return this._itemLayouts[t]},t.prototype.setItemLayout=function(t,e,n){this._itemLayouts[t]=n?k(this._itemLayouts[t]||{},e):e},t.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},t.prototype.setItemGraphicEl=function(t,e){!function(t,e,n,i){if(i){var r=Ds(i);r.dataIndex=n,r.dataType=e,r.seriesIndex=t,"group"===i.type&&i.traverse((function(i){var r=Ds(i);r.seriesIndex=t,r.dataIndex=n,r.dataType=e}))}}(this.hostModel&&this.hostModel.seriesIndex,this.dataType,t,e),this._graphicEls[t]=e},t.prototype.getItemGraphicEl=function(t){return this._graphicEls[t]},t.prototype.eachItemGraphicEl=function(t,e){E(this._graphicEls,(function(n,i){n&&t&&t.call(e,n,i)}))},t.prototype.cloneShallow=function(e){return e||(e=new t(this._schema?this._schema:sm(this.dimensions,this._getDimInfo,this),this.hostModel)),im(e,this),e._store=this._store,e},t.prototype.wrapMethod=function(t,e){var n=this[t];U(n)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=n.apply(this,arguments);return e.apply(this,[t].concat(ot(arguments)))})},t.internalField=(Jy=function(t){var e=t._invertedIndicesMap;E(e,(function(n,i){var r=t._dimInfos[i],o=r.ordinalMeta,a=t._store;if(o){n=e[i]=new lm(o.categories.length);for(var s=0;s1&&(s+="__ec__"+u),i[e]=s}})),t}();function pm(t,e){fd(t)||(t=vd(t));var n=(e=e||{}).coordDimensions||[],i=e.dimensionsDefine||t.dimensionsDefine||[],r=dt(),o=[],a=function(t,e,n,i){var r=Math.max(t.dimensionsDetectedCount||1,e.length,n.length,i||0);return E(e,(function(t){var e;j(t)&&(e=t.dimsDef)&&(r=Math.max(r,e.length))})),r}(t,n,i,e.dimensionsCount),s=e.canOmitUnusedDimensions&&Qy(a),l=i===t.dimensionsDefine,u=l?$y(t):Ky(i),h=e.encodeDefine;!h&&e.encodeDefaulter&&(h=e.encodeDefaulter(t,a));for(var c=dt(h),p=new Jd(a),d=0;d0&&(i.name=r+(o-1)),o++,e.set(r,o)}}(o),new jy({source:t,dimensions:o,fullDimensionCount:a,dimensionOmitted:s})}function dm(t,e,n){var i=e.data;if(n||i.hasOwnProperty(t)){for(var r=0;i.hasOwnProperty(t+r);)r++;t+=r}return e.set(t,!0),t}var fm=function(t){this.coordSysDims=[],this.axisMap=dt(),this.categoryAxisMap=dt(),this.coordSysName=t};var gm={cartesian2d:function(t,e,n,i){var r=t.getReferringComponents("xAxis",vo).models[0],o=t.getReferringComponents("yAxis",vo).models[0];e.coordSysDims=["x","y"],n.set("x",r),n.set("y",o),vm(r)&&(i.set("x",r),e.firstCategoryDimIndex=0),vm(o)&&(i.set("y",o),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=1))},singleAxis:function(t,e,n,i){var r=t.getReferringComponents("singleAxis",vo).models[0];e.coordSysDims=["single"],n.set("single",r),vm(r)&&(i.set("single",r),e.firstCategoryDimIndex=0)},polar:function(t,e,n,i){var r=t.getReferringComponents("polar",vo).models[0],o=r.findAxisModel("radiusAxis"),a=r.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],n.set("radius",o),n.set("angle",a),vm(o)&&(i.set("radius",o),e.firstCategoryDimIndex=0),vm(a)&&(i.set("angle",a),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=1))},geo:function(t,e,n,i){e.coordSysDims=["lng","lat"]},parallel:function(t,e,n,i){var r=t.ecModel,o=r.getComponent("parallel",t.get("parallelIndex")),a=e.coordSysDims=o.dimensions.slice();E(o.parallelAxisIndex,(function(t,o){var s=r.getComponent("parallelAxis",t),l=a[o];n.set(l,s),vm(s)&&(i.set(l,s),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=o))}))}};function vm(t){return"category"===t.get("type")}function ym(t,e,n){var i,r,o,a=(n=n||{}).byIndex,s=n.stackedCoordDimension;!function(t){return!qy(t.schema)}(e)?(r=e.schema,i=r.dimensions,o=e.store):i=e;var l,u,h,c,p=!(!t||!t.get("stack"));if(E(i,(function(t,e){Z(t)&&(i[e]=t={name:t}),p&&!t.isExtraCoord&&(a||l||!t.ordinalMeta||(l=t),u||"ordinal"===t.type||"time"===t.type||s&&s!==t.coordDim||(u=t))})),!u||a||l||(a=!0),u){h="__\0ecstackresult_"+t.id,c="__\0ecstackedover_"+t.id,l&&(l.createInvertedIndices=!0);var d=u.coordDim,f=u.type,g=0;E(i,(function(t){t.coordDim===d&&g++}));var v={name:h,coordDim:d,coordDimIndex:g,type:f,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:i.length},y={name:c,coordDim:c,coordDimIndex:g+1,type:f,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:i.length+1};r?(o&&(v.storeDimIndex=o.ensureCalculationDimension(c,f),y.storeDimIndex=o.ensureCalculationDimension(h,f)),r.appendCalculationDimension(v),r.appendCalculationDimension(y)):(i.push(v),i.push(y))}return{stackedDimension:u&&u.name,stackedByDimension:l&&l.name,isStackedByIndex:a,stackedOverDimension:c,stackResultDimension:h}}function mm(t,e){return!!e&&e===t.getCalculationInfo("stackedDimension")}function _m(t,e){return mm(t,e)?t.getCalculationInfo("stackResultDimension"):e}function xm(t,e,n){n=n||{};var i,r=e.getSourceManager(),o=!1;t?(o=!0,i=vd(t)):o=(i=r.getSource()).sourceFormat===rp;var a=function(t){var e=t.get("coordinateSystem"),n=new fm(e),i=gm[e];if(i)return i(t,n,n.axisMap,n.categoryAxisMap),n}(e),s=function(t,e){var n,i=t.get("coordinateSystem"),r=zp.get(i);return e&&e.coordSysDims&&(n=z(e.coordSysDims,(function(t){var n={name:t},i=e.axisMap.get(t);if(i){var r=i.get("type");n.type=function(t){return"category"===t?"ordinal":"time"===t?"time":"float"}(r)}return n}))),n||(n=r&&(r.getDimensionsInfo?r.getDimensionsInfo():r.dimensions.slice())||["x","y"]),n}(e,a),l=n.useEncodeDefaulter,u=U(l)?l:l?W(vp,s,e):null,h=pm(i,{coordDimensions:s,generateCoord:n.generateCoord,encodeDefine:e.getEncode(),encodeDefaulter:u,canOmitUnusedDimensions:!o}),c=function(t,e,n){var i,r;return n&&E(t,(function(t,o){var a=t.coordDim,s=n.categoryAxisMap.get(a);s&&(null==i&&(i=o),t.ordinalMeta=s.getOrdinalMeta(),e&&(t.createInvertedIndices=!0)),null!=t.otherDims.itemName&&(r=!0)})),r||null==i||(t[i].otherDims.itemName=0),i}(h.dimensions,n.createInvertedIndices,a),p=o?null:r.getSharedDataStore(h),d=ym(e,{schema:h,store:p}),f=new cm(h,e);f.setCalculationInfo(d);var g=null!=c&&function(t){if(t.sourceFormat===rp){return!G(no(function(t){var e=0;for(;ee[1]&&(e[1]=t[1])},t.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},t.prototype.getExtent=function(){return this._extent.slice()},t.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=t),isNaN(e)||(n[1]=e)},t.prototype.isInExtentRange=function(t){return this._extent[0]<=t&&this._extent[1]>=t},t.prototype.isBlank=function(){return this._isBlank},t.prototype.setBlank=function(t){this._isBlank=t},t}();Do(wm);var bm=0,Sm=function(){function t(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this.uid=++bm}return t.createByAxisModel=function(e){var n=e.option,i=n.data,r=i&&z(i,Mm);return new t({categories:r,needCollect:!r,deduplication:!1!==n.dedplication})},t.prototype.getOrdinal=function(t){return this._getOrCreateMap().get(t)},t.prototype.parseAndCollect=function(t){var e,n=this._needCollect;if(!Z(t)&&!n)return t;if(n&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var i=this._getOrCreateMap();return null==(e=i.get(t))&&(n?(e=this.categories.length,this.categories[e]=t,i.set(t,e)):e=NaN),e},t.prototype._getOrCreateMap=function(){return this._map||(this._map=dt(this.categories))},t}();function Mm(t){return j(t)&&null!=t.value?t.value:t+""}function Cm(t){return"interval"===t.type||"log"===t.type}function Im(t,e,n,i){var r={},o=t[1]-t[0],a=r.interval=Wr(o/e,!0);null!=n&&ai&&(a=r.interval=i);var s=r.intervalPrecision=Dm(a);return function(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),km(t,0,e),km(t,1,e),t[0]>t[1]&&(t[0]=t[1])}(r.niceTickExtent=[kr(Math.ceil(t[0]/a)*a,s),kr(Math.floor(t[1]/a)*a,s)],t),r}function Tm(t){var e=Math.pow(10,Hr(t)),n=t/e;return n?2===n?n=3:3===n?n=5:n*=2:n=1,kr(n*e)}function Dm(t){return Pr(t)+2}function km(t,e,n){t[e]=Math.max(Math.min(t[e],n[1]),n[0])}function Am(t,e){return t>=e[0]&&t<=e[1]}function Pm(t,e){return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])}function Lm(t,e){return t*(e[1]-e[0])+e[0]}var Om=function(t){function e(e){var n=t.call(this,e)||this;n.type="ordinal";var i=n.getSetting("ordinalMeta");return i||(i=new Sm({})),G(i)&&(i=new Sm({categories:z(i,(function(t){return j(t)?t.value:t}))})),n._ordinalMeta=i,n._extent=n.getSetting("extent")||[0,i.categories.length-1],n}return n(e,t),e.prototype.parse=function(t){return null==t?NaN:Z(t)?this._ordinalMeta.getOrdinal(t):Math.round(t)},e.prototype.contain=function(t){return Am(t=this.parse(t),this._extent)&&null!=this._ordinalMeta.categories[t]},e.prototype.normalize=function(t){return Pm(t=this._getTickNumber(this.parse(t)),this._extent)},e.prototype.scale=function(t){return t=Math.round(Lm(t,this._extent)),this.getRawOrdinalNumber(t)},e.prototype.getTicks=function(){for(var t=[],e=this._extent,n=e[0];n<=e[1];)t.push({value:n}),n++;return t},e.prototype.getMinorTicks=function(t){},e.prototype.setSortInfo=function(t){if(null!=t){for(var e=t.ordinalNumbers,n=this._ordinalNumbersByTick=[],i=this._ticksByOrdinalNumber=[],r=0,o=this._ordinalMeta.categories.length,a=Math.min(o,e.length);r=0&&t=0&&t=t},e.prototype.getOrdinalMeta=function(){return this._ordinalMeta},e.prototype.calcNiceTicks=function(){},e.prototype.calcNiceExtent=function(){},e.type="ordinal",e}(wm);wm.registerClass(Om);var Rm=kr,Nm=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="interval",e._interval=0,e._intervalPrecision=2,e}return n(e,t),e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return Am(t,this._extent)},e.prototype.normalize=function(t){return Pm(t,this._extent)},e.prototype.scale=function(t){return Lm(t,this._extent)},e.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=parseFloat(t)),isNaN(e)||(n[1]=parseFloat(e))},e.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),this.setExtent(e[0],e[1])},e.prototype.getInterval=function(){return this._interval},e.prototype.setInterval=function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Dm(t)},e.prototype.getTicks=function(t){var e=this._interval,n=this._extent,i=this._niceExtent,r=this._intervalPrecision,o=[];if(!e)return o;n[0]1e4)return[];var s=o.length?o[o.length-1].value:i[1];return n[1]>s&&(t?o.push({value:Rm(s+e,r)}):o.push({value:n[1]})),o},e.prototype.getMinorTicks=function(t){for(var e=this.getTicks(!0),n=[],i=this.getExtent(),r=1;ri[0]&&h0&&(o=null===o?s:Math.min(o,s))}n[i]=o}}return n}(t),n=[];return E(t,(function(t){var i,r=t.coordinateSystem.getBaseAxis(),o=r.getExtent();if("category"===r.type)i=r.getBandWidth();else if("value"===r.type||"time"===r.type){var a=r.dim+"_"+r.index,s=e[a],l=Math.abs(o[1]-o[0]),u=r.scale.getExtent(),h=Math.abs(u[1]-u[0]);i=s?l/h*s:l}else{var c=t.getData();i=Math.abs(o[1]-o[0])/c.count()}var p=Dr(t.get("barWidth"),i),d=Dr(t.get("barMaxWidth"),i),f=Dr(t.get("barMinWidth")||(Zm(t)?.5:1),i),g=t.get("barGap"),v=t.get("barCategoryGap");n.push({bandWidth:i,barWidth:p,barMaxWidth:d,barMinWidth:f,barGap:g,barCategoryGap:v,axisKey:Fm(r),stackId:Vm(t)})})),function(t){var e={};E(t,(function(t,n){var i=t.axisKey,r=t.bandWidth,o=e[i]||{bandWidth:r,remainedWidth:r,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},a=o.stacks;e[i]=o;var s=t.stackId;a[s]||o.autoWidthCount++,a[s]=a[s]||{width:0,maxWidth:0};var l=t.barWidth;l&&!a[s].width&&(a[s].width=l,l=Math.min(o.remainedWidth,l),o.remainedWidth-=l);var u=t.barMaxWidth;u&&(a[s].maxWidth=u);var h=t.barMinWidth;h&&(a[s].minWidth=h);var c=t.barGap;null!=c&&(o.gap=c);var p=t.barCategoryGap;null!=p&&(o.categoryGap=p)}));var n={};return E(e,(function(t,e){n[e]={};var i=t.stacks,r=t.bandWidth,o=t.categoryGap;if(null==o){var a=F(i).length;o=Math.max(35-4*a,15)+"%"}var s=Dr(o,r),l=Dr(t.gap,1),u=t.remainedWidth,h=t.autoWidthCount,c=(u-s)/(h+(h-1)*l);c=Math.max(c,0),E(i,(function(t){var e=t.maxWidth,n=t.minWidth;if(t.width){i=t.width;e&&(i=Math.min(i,e)),n&&(i=Math.max(i,n)),t.width=i,u-=i+l*i,h--}else{var i=c;e&&ei&&(i=n),i!==c&&(t.width=i,u-=i+l*i,h--)}})),c=(u-s)/(h+(h-1)*l),c=Math.max(c,0);var p,d=0;E(i,(function(t,e){t.width||(t.width=c),p=t,d+=t.width*(1+l)})),p&&(d-=p.width*l);var f=-d/2;E(i,(function(t,i){n[e][i]=n[e][i]||{bandWidth:r,offset:f,width:t.width},f+=t.width*(1+l)}))})),n}(n)}function Gm(t,e){var n=Hm(t,e),i=Wm(n);E(n,(function(t){var e=t.getData(),n=t.coordinateSystem.getBaseAxis(),r=Vm(t),o=i[Fm(n)][r],a=o.offset,s=o.width;e.setLayout({bandWidth:o.bandWidth,offset:a,size:s})}))}function Um(t){return t.coordinateSystem&&"cartesian2d"===t.coordinateSystem.type}function Zm(t){return t.pipelineContext&&t.pipelineContext.large}var Ym=function(t){function e(e){var n=t.call(this,e)||this;return n.type="time",n}return n(e,t),e.prototype.getLabel=function(t){var e=this.getSetting("useUTC");return cc(t.value,oc[function(t){switch(t){case"year":case"month":return"day";case"millisecond":return"millisecond";default:return"second"}}(uc(this._minLevelUnit))]||oc.second,e,this.getSetting("locale"))},e.prototype.getFormattedLabel=function(t,e,n){var i=this.getSetting("useUTC");return function(t,e,n,i,r){var o=null;if(Z(n))o=n;else if(U(n))o=n(t.value,e,{level:t.level});else{var a=k({},ic);if(t.level>0)for(var s=0;s=0;--s)if(l[u]){o=l[u];break}o=o||a.none}if(G(o)){var h=null==t.level?0:t.level>=0?t.level:o.length+t.level;o=o[h=Math.min(h,o.length-1)]}}return cc(new Date(t.value),o,r,i)}(t,e,n,this.getSetting("locale"),i)},e.prototype.getTicks=function(){var t=this._interval,e=this._extent,n=[];if(!t)return n;n.push({value:e[0],level:0});var i=this.getSetting("useUTC"),r=function(t,e,n,i){var r=1e4,o=sc,a=0;function s(t,e,n,r,o,a,s){for(var l=new Date(e),u=e,h=l[r]();u1&&0===u&&o.unshift({value:o[0].value-p})}}for(u=0;u=i[0]&&y<=i[1]&&c++)}var m=(i[1]-i[0])/e;if(c>1.5*m&&p>m/1.5)break;if(u.push(g),c>m||t===o[d])break}h=[]}}0;var _=V(z(u,(function(t){return V(t,(function(t){return t.value>=i[0]&&t.value<=i[1]&&!t.notAdd}))})),(function(t){return t.length>0})),x=[],w=_.length-1;for(d=0;d<_.length;++d)for(var b=_[d],S=0;Sn&&(this._approxInterval=n);var o=Xm.length,a=Math.min(function(t,e,n,i){for(;n>>1;t[r][1]16?16:t>7.5?7:t>3.5?4:t>1.5?2:1}function qm(t){return(t/=2592e6)>6?6:t>3?3:t>2?2:1}function Km(t){return(t/=tc)>12?12:t>6?6:t>3.5?4:t>2?2:1}function $m(t,e){return(t/=e?Jh:Qh)>30?30:t>20?20:t>15?15:t>10?10:t>5?5:t>2?2:1}function Qm(t){return Wr(t,!0)}function Jm(t,e,n){var i=new Date(t);switch(uc(e)){case"year":case"month":i[bc(n)](0);case"day":i[Sc(n)](1);case"hour":i[Mc(n)](0);case"minute":i[Cc(n)](0);case"second":i[Ic(n)](0),i[Tc(n)](0)}return i.getTime()}wm.registerClass(Ym);var t_=wm.prototype,e_=Nm.prototype,n_=kr,i_=Math.floor,r_=Math.ceil,o_=Math.pow,a_=Math.log,s_=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="log",e.base=10,e._originalScale=new Nm,e._interval=0,e}return n(e,t),e.prototype.getTicks=function(t){var e=this._originalScale,n=this._extent,i=e.getExtent();return z(e_.getTicks.call(this,t),(function(t){var e=t.value,r=kr(o_(this.base,e));return r=e===n[0]&&this._fixMin?u_(r,i[0]):r,{value:r=e===n[1]&&this._fixMax?u_(r,i[1]):r}}),this)},e.prototype.setExtent=function(t,e){var n=this.base;t=a_(t)/a_(n),e=a_(e)/a_(n),e_.setExtent.call(this,t,e)},e.prototype.getExtent=function(){var t=this.base,e=t_.getExtent.call(this);e[0]=o_(t,e[0]),e[1]=o_(t,e[1]);var n=this._originalScale.getExtent();return this._fixMin&&(e[0]=u_(e[0],n[0])),this._fixMax&&(e[1]=u_(e[1],n[1])),e},e.prototype.unionExtent=function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=a_(t[0])/a_(e),t[1]=a_(t[1])/a_(e),t_.unionExtent.call(this,t)},e.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},e.prototype.calcNiceTicks=function(t){t=t||10;var e=this._extent,n=e[1]-e[0];if(!(n===1/0||n<=0)){var i=Fr(n);for(t/n*i<=.5&&(i*=10);!isNaN(i)&&Math.abs(i)<1&&Math.abs(i)>0;)i*=10;var r=[kr(r_(e[0]/i)*i),kr(i_(e[1]/i)*i)];this._interval=i,this._niceExtent=r}},e.prototype.calcNiceExtent=function(t){e_.calcNiceExtent.call(this,t),this._fixMin=t.fixMin,this._fixMax=t.fixMax},e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return Am(t=a_(t)/a_(this.base),this._extent)},e.prototype.normalize=function(t){return Pm(t=a_(t)/a_(this.base),this._extent)},e.prototype.scale=function(t){return t=Lm(t,this._extent),o_(this.base,t)},e.type="log",e}(wm),l_=s_.prototype;function u_(t,e){return n_(t,Pr(e))}l_.getMinorTicks=e_.getMinorTicks,l_.getLabel=e_.getLabel,wm.registerClass(s_);var h_=function(){function t(t,e,n){this._prepareParams(t,e,n)}return t.prototype._prepareParams=function(t,e,n){n[1]0&&s>0&&!l&&(a=0),a<0&&s<0&&!u&&(s=0));var c=this._determinedMin,p=this._determinedMax;return null!=c&&(a=c,l=!0),null!=p&&(s=p,u=!0),{min:a,max:s,minFixed:l,maxFixed:u,isBlank:h}},t.prototype.modifyDataMinMax=function(t,e){this[p_[t]]=e},t.prototype.setDeterminedMinMax=function(t,e){var n=c_[t];this[n]=e},t.prototype.freeze=function(){this.frozen=!0},t}(),c_={min:"_determinedMin",max:"_determinedMax"},p_={min:"_dataMin",max:"_dataMax"};function d_(t,e,n){var i=t.rawExtentInfo;return i||(i=new h_(t,e,n),t.rawExtentInfo=i,i)}function f_(t,e){return null==e?null:et(e)?NaN:t.parse(e)}function g_(t,e){var n=t.type,i=d_(t,e,t.getExtent()).calculate();t.setBlank(i.isBlank);var r=i.min,o=i.max,a=e.ecModel;if(a&&"time"===n){var s=Hm("bar",a),l=!1;if(E(s,(function(t){l=l||t.getBaseAxis()===e.axis})),l){var u=Wm(s),h=function(t,e,n,i){var r=n.axis.getExtent(),o=r[1]-r[0],a=function(t,e,n){if(t&&e){var i=t[Fm(e)];return null!=i&&null!=n?i[Vm(n)]:i}}(i,n.axis);if(void 0===a)return{min:t,max:e};var s=1/0;E(a,(function(t){s=Math.min(t.offset,s)}));var l=-1/0;E(a,(function(t){l=Math.max(t.offset+t.width,l)})),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/o)-h;return{min:t-=c*(s/u),max:e+=c*(l/u)}}(r,o,e,u);r=h.min,o=h.max}}return{extent:[r,o],fixMin:i.minFixed,fixMax:i.maxFixed}}function v_(t,e){var n=e,i=g_(t,n),r=i.extent,o=n.get("splitNumber");t instanceof s_&&(t.base=n.get("logBase"));var a=t.type,s=n.get("interval"),l="interval"===a||"time"===a;t.setExtent(r[0],r[1]),t.calcNiceExtent({splitNumber:o,fixMin:i.fixMin,fixMax:i.fixMax,minInterval:l?n.get("minInterval"):null,maxInterval:l?n.get("maxInterval"):null}),null!=s&&t.setInterval&&t.setInterval(s)}function y_(t,e){if(e=e||t.get("type"))switch(e){case"category":return new Om({ordinalMeta:t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),extent:[1/0,-1/0]});case"time":return new Ym({locale:t.ecModel.getLocaleModel(),useUTC:t.ecModel.get("useUTC")});default:return new(wm.getClass(e)||Nm)}}function m_(t){var e,n,i=t.getLabelModel().get("formatter"),r="category"===t.type?t.scale.getExtent()[0]:null;return"time"===t.scale.type?(n=i,function(e,i){return t.scale.getFormattedLabel(e,i,n)}):Z(i)?function(e){return function(n){var i=t.scale.getLabel(n);return e.replace("{value}",null!=i?i:"")}}(i):U(i)?(e=i,function(n,i){return null!=r&&(i=n.value-r),e(__(t,n),i,null!=n.level?{level:n.level}:null)}):function(e){return t.scale.getLabel(e)}}function __(t,e){return"category"===t.type?t.scale.getLabel(e):e.value}function x_(t,e){var n=e*Math.PI/180,i=t.width,r=t.height,o=i*Math.abs(Math.cos(n))+Math.abs(r*Math.sin(n)),a=i*Math.abs(Math.sin(n))+Math.abs(r*Math.cos(n));return new Ji(t.x,t.y,o,a)}function w_(t){var e=t.get("interval");return null==e?"auto":e}function b_(t){return"category"===t.type&&0===w_(t.getLabelModel())}function S_(t,e){var n={};return E(t.mapDimensionsAll(e),(function(e){n[_m(t,e)]=!0})),F(n)}var M_=function(){function t(){}return t.prototype.getNeedCrossZero=function(){return!this.option.scale},t.prototype.getCoordSysModel=function(){},t}();var C_={isDimensionStacked:mm,enableDataStack:ym,getStackedDimension:_m};var I_=Object.freeze({__proto__:null,createList:function(t){return xm(null,t)},getLayoutRect:Yc,dataStack:C_,createScale:function(t,e){var n=e;e instanceof Hh||(n=new Hh(e));var i=y_(n);return i.setExtent(t[0],t[1]),v_(i,n),i},mixinAxisModelCommonMethods:function(t){R(t,M_)},getECData:Ds,createTextStyle:function(t,e){return bh(t,null,null,"normal"!==(e=e||{}).state)},createDimensions:function(t,e){return pm(t,e).dimensions},createSymbol:jg,enableHoverEmphasis:vl});function T_(t,e){return Math.abs(t-e)<1e-8}function D_(t,e,n){var i=0,r=t[0];if(!r)return!1;for(var o=1;on&&(t=r,n=a)}if(t)return function(t){for(var e=0,n=0,i=0,r=t.length,o=t[r-1][0],a=t[r-1][1],s=0;s>1^-(1&s),l=l>>1^-(1&l),r=s+=r,o=l+=o,i.push([s/n,l/n])}return i}function B_(t,e){return z(V((t=function(t){if(!t.UTF8Encoding)return t;var e=t,n=e.UTF8Scale;return null==n&&(n=1024),E(e.features,(function(t){var e=t.geometry,i=e.encodeOffsets,r=e.coordinates;if(i)switch(e.type){case"LineString":e.coordinates=z_(r,i,n);break;case"Polygon":case"MultiLineString":E_(r,i,n);break;case"MultiPolygon":E(r,(function(t,e){return E_(t,i[e],n)}))}})),e.UTF8Encoding=!1,e}(t)).features,(function(t){return t.geometry&&t.properties&&t.geometry.coordinates.length>0})),(function(t){var n=t.properties,i=t.geometry,r=[];switch(i.type){case"Polygon":var o=i.coordinates;r.push(new O_(o[0],o.slice(1)));break;case"MultiPolygon":E(i.coordinates,(function(t){t[0]&&r.push(new O_(t[0],t.slice(1)))}));break;case"LineString":r.push(new R_([i.coordinates]));break;case"MultiLineString":r.push(new R_(i.coordinates))}var a=new N_(n[e||"name"],r,n.cp);return a.properties=n,a}))}var V_=Object.freeze({__proto__:null,linearMap:Tr,round:kr,asc:Ar,getPrecision:Pr,getPrecisionSafe:Lr,getPixelPrecision:Or,getPercentWithPrecision:Rr,MAX_SAFE_INTEGER:9007199254740991,remRadian:Er,isRadianAroundZero:zr,parseDate:Vr,quantity:Fr,quantityExponent:Hr,nice:Wr,quantile:function(t,e){var n=(t.length-1)*e+1,i=Math.floor(n),r=+t[i-1],o=n-i;return o?r+o*(t[i]-r):r},reformIntervals:function(t){t.sort((function(t,e){return s(t,e,0)?-1:1}));for(var e=-1/0,n=1,i=0;i1&&h/l>2&&(u=Math.round(Math.ceil(u/l)*l));var c=b_(t),p=a.get("showMinLabel")||c,d=a.get("showMaxLabel")||c;p&&u!==o[0]&&g(o[0]);for(var f=u;f<=o[1];f+=l)g(f);function g(t){var e={value:t};s.push(n?t:{formattedLabel:i(e),rawLabel:r.getLabel(e),tickValue:t})}return d&&f-l!==o[1]&&g(o[1]),s}function Q_(t,e,n){var i=t.scale,r=m_(t),o=[];return E(i.getTicks(),(function(t){var a=i.getLabel(t),s=t.value;e(t.value,a)&&o.push(n?s:{formattedLabel:r(t),rawLabel:a,tickValue:s})})),o}var J_=[0,1],tx=function(){function t(t,e,n){this.onBand=!1,this.inverse=!1,this.dim=t,this.scale=e,this._extent=n||[0,0]}return t.prototype.contain=function(t){var e=this._extent,n=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return t>=n&&t<=i},t.prototype.containData=function(t){return this.scale.contain(t)},t.prototype.getExtent=function(){return this._extent.slice()},t.prototype.getPixelPrecision=function(t){return Or(t||this.scale.getExtent(),this._extent)},t.prototype.setExtent=function(t,e){var n=this._extent;n[0]=t,n[1]=e},t.prototype.dataToCoord=function(t,e){var n=this._extent,i=this.scale;return t=i.normalize(t),this.onBand&&"ordinal"===i.type&&ex(n=n.slice(),i.count()),Tr(t,J_,n,e)},t.prototype.coordToData=function(t,e){var n=this._extent,i=this.scale;this.onBand&&"ordinal"===i.type&&ex(n=n.slice(),i.count());var r=Tr(t,n,J_,e);return this.scale.scale(r)},t.prototype.pointToData=function(t,e){},t.prototype.getTicksCoords=function(t){var e=(t=t||{}).tickModel||this.getTickModel(),n=z(Y_(this,e).ticks,(function(t){return{coord:this.dataToCoord("ordinal"===this.scale.type?this.scale.getRawOrdinalNumber(t):t),tickValue:t}}),this);return function(t,e,n,i){var r=e.length;if(!t.onBand||n||!r)return;var o,a,s=t.getExtent();if(1===r)e[0].coord=s[0],o=e[1]={coord:s[0]};else{var l=e[r-1].tickValue-e[0].tickValue,u=(e[r-1].coord-e[0].coord)/l;E(e,(function(t){t.coord-=u/2})),a=1+t.scale.getExtent()[1]-e[r-1].tickValue,o={coord:e[r-1].coord+u*a},e.push(o)}var h=s[0]>s[1];c(e[0].coord,s[0])&&(i?e[0].coord=s[0]:e.shift());i&&c(s[0],e[0].coord)&&e.unshift({coord:s[0]});c(s[1],o.coord)&&(i?o.coord=s[1]:e.pop());i&&c(o.coord,s[1])&&e.push({coord:s[1]});function c(t,e){return t=kr(t),e=kr(e),h?t>e:t0&&t<100||(t=5),z(this.scale.getMinorTicks(t),(function(t){return z(t,(function(t){return{coord:this.dataToCoord(t),tickValue:t}}),this)}),this)},t.prototype.getViewLabels=function(){return Z_(this).labels},t.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")},t.prototype.getTickModel=function(){return this.model.getModel("axisTick")},t.prototype.getBandWidth=function(){var t=this._extent,e=this.scale.getExtent(),n=e[1]-e[0]+(this.onBand?1:0);0===n&&(n=1);var i=Math.abs(t[1]-t[0]);return Math.abs(i)/n},t.prototype.calculateCategoryInterval=function(){return function(t){var e=function(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}(t),n=m_(t),i=(e.axisRotate-e.labelRotate)/180*Math.PI,r=t.scale,o=r.getExtent(),a=r.count();if(o[1]-o[0]<1)return 0;var s=1;a>40&&(s=Math.max(1,Math.floor(a/40)));for(var l=o[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(i)),c=Math.abs(u*Math.sin(i)),p=0,d=0;l<=o[1];l+=s){var f,g,v=ir(n({value:l}),e.font,"center","top");f=1.3*v.width,g=1.3*v.height,p=Math.max(p,f,7),d=Math.max(d,g,7)}var y=p/h,m=d/c;isNaN(y)&&(y=1/0),isNaN(m)&&(m=1/0);var _=Math.max(0,Math.floor(Math.min(y,m))),x=U_(t.model),w=t.getExtent(),b=x.lastAutoInterval,S=x.lastTickCount;return null!=b&&null!=S&&Math.abs(b-_)<=1&&Math.abs(S-a)<=1&&b>_&&x.axisExtent0===w[0]&&x.axisExtent1===w[1]?_=b:(x.lastTickCount=a,x.lastAutoInterval=_,x.axisExtent0=w[0],x.axisExtent1=w[1]),_}(this)},t}();function ex(t,e){var n=(t[1]-t[0])/e/2;t[0]+=n,t[1]-=n}function nx(t,e,n,i,r,o,a,s){var l=r-t,u=o-e,h=n-t,c=i-e,p=Math.sqrt(h*h+c*c),d=(l*(h/=p)+u*(c/=p))/p;s&&(d=Math.min(Math.max(d,0),1)),d*=p;var f=a[0]=t+d*h,g=a[1]=e+d*c;return Math.sqrt((f-r)*(f-r)+(g-o)*(g-o))}var ix=new Ui,rx=new Ui,ox=new Ui,ax=new Ui,sx=new Ui,lx=[],ux=new Ui;function hx(t,e){if(e<=180&&e>0){e=e/180*Math.PI,ix.fromArray(t[0]),rx.fromArray(t[1]),ox.fromArray(t[2]),Ui.sub(ax,ix,rx),Ui.sub(sx,ox,rx);var n=ax.len(),i=sx.len();if(!(n<.001||i<.001)){ax.scale(1/n),sx.scale(1/i);var r=ax.dot(sx);if(Math.cos(e)1&&Ui.copy(ux,ox),ux.toArray(t[1])}}}}function cx(t,e,n){if(n<=180&&n>0){n=n/180*Math.PI,ix.fromArray(t[0]),rx.fromArray(t[1]),ox.fromArray(t[2]),Ui.sub(ax,rx,ix),Ui.sub(sx,ox,rx);var i=ax.len(),r=sx.len();if(!(i<.001||r<.001))if(ax.scale(1/i),sx.scale(1/r),ax.dot(e)=a)Ui.copy(ux,ox);else{ux.scaleAndAdd(sx,o/Math.tan(Math.PI/2-s));var l=ox.x!==rx.x?(ux.x-rx.x)/(ox.x-rx.x):(ux.y-rx.y)/(ox.y-rx.y);if(isNaN(l))return;l<0?Ui.copy(ux,rx):l>1&&Ui.copy(ux,ox)}ux.toArray(t[1])}}}function px(t,e,n,i){var r="normal"===n,o=r?t:t.ensureState(n);o.ignore=e;var a=i.get("smooth");a&&!0===a&&(a=.3),o.shape=o.shape||{},a>0&&(o.shape.smooth=a);var s=i.getModel("lineStyle").getLineStyle();r?t.useStyle(s):o.style=s}function dx(t,e){var n=e.smooth,i=e.points;if(i)if(t.moveTo(i[0][0],i[0][1]),n>0&&i.length>=3){var r=Lt(i[0],i[1]),o=Lt(i[1],i[2]);if(!r||!o)return t.lineTo(i[1][0],i[1][1]),void t.lineTo(i[2][0],i[2][1]);var a=Math.min(r,o)*n,s=Nt([],i[1],i[0],a/r),l=Nt([],i[1],i[2],a/o),u=Nt([],s,l,.5);t.bezierCurveTo(s[0],s[1],s[0],s[1],u[0],u[1]),t.bezierCurveTo(l[0],l[1],l[0],l[1],i[2][0],i[2][1])}else for(var h=1;h0&&o&&x(-h/a,0,a);var f,g,v=t[0],y=t[a-1];return m(),f<0&&w(-f,.8),g<0&&w(g,.8),m(),_(f,g,1),_(g,f,-1),m(),f<0&&b(-f),g<0&&b(g),u}function m(){f=v.rect[e]-i,g=r-y.rect[e]-y.rect[n]}function _(t,e,n){if(t<0){var i=Math.min(e,-t);if(i>0){x(i*n,0,a);var r=i+t;r<0&&w(-r*n,1)}else w(-t*n,1)}}function x(n,i,r){0!==n&&(u=!0);for(var o=i;o0)for(l=0;l0;l--)x(-o[l-1]*c,l,a)}}function b(t){var e=t<0?-1:1;t=Math.abs(t);for(var n=Math.ceil(t/(a-1)),i=0;i0?x(n,0,i+1):x(-n,a-i-1,a),(t-=n)<=0)return}}(t,"y","height",e,n,i)}var gx=Math.sin,vx=Math.cos,yx=Math.PI,mx=2*Math.PI,_x=180/yx,xx=function(){function t(){}return t.prototype.reset=function(t){this._start=!0,this._d=[],this._str="",this._p=Math.pow(10,t||4)},t.prototype.moveTo=function(t,e){this._add("M",t,e)},t.prototype.lineTo=function(t,e){this._add("L",t,e)},t.prototype.bezierCurveTo=function(t,e,n,i,r,o){this._add("C",t,e,n,i,r,o)},t.prototype.quadraticCurveTo=function(t,e,n,i){this._add("Q",t,e,n,i)},t.prototype.arc=function(t,e,n,i,r,o){this.ellipse(t,e,n,n,0,i,r,o)},t.prototype.ellipse=function(t,e,n,i,r,o,a,s){var l=a-o,u=!s,h=Math.abs(l),c=kn(h-mx)||(u?l>=mx:-l>=mx),p=l>0?l%mx:l%mx+mx,d=!1;d=!!c||!kn(h)&&p>=yx==!!u;var f=t+n*vx(o),g=e+i*gx(o);this._start&&this._add("M",f,g);var v=Math.round(r*_x);if(c){var y=1/this._p,m=(u?1:-1)*(mx-y);this._add("A",n,i,v,1,+u,t+n*vx(o+m),e+i*gx(o+m)),y>.01&&this._add("A",n,i,v,0,+u,f,g)}else{var _=t+n*vx(a),x=e+i*gx(a);this._add("A",n,i,v,+d,+u,_,x)}},t.prototype.rect=function(t,e,n,i){this._add("M",t,e),this._add("l",n,0),this._add("l",0,i),this._add("l",-n,0),this._add("Z")},t.prototype.closePath=function(){this._d.length>0&&this._add("Z")},t.prototype._add=function(t,e,n,i,r,o,a,s,l){for(var u=[],h=this._p,c=1;c"}(r,e.attrs)+(e.text||"")+(i?""+n+z(i,(function(e){return t(e)})).join(n)+n:"")+("")}(t)}function Lx(t){return{zrId:t,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssClassIdx:0,cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function Ox(t,e,n,i){return Ax("svg","root",{width:t,height:e,xmlns:Tx,"xmlns:xlink":Dx,version:"1.1",baseProfile:"full",viewBox:!!i&&"0 0 "+t+" "+e},n)}var Rx={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},Nx="transform-origin";function Ex(t,e,n){var i=k({},t.shape);k(i,e),t.buildPath(n,i);var r=new xx;return r.reset(zn(t)),n.rebuildPath(r,1),r.generateStr(),r.getStr()}function zx(t,e){var n=e.originX,i=e.originY;(n||i)&&(t[Nx]=n+"px "+i+"px")}var Bx={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function Vx(t,e){var n=e.zrId+"-ani-"+e.cssAnimIdx++;return e.cssAnims[n]=t,n}function Fx(t){return Z(t)?Rx[t]?"cubic-bezier("+Rx[t]+")":$e(t)?t:"":""}function Hx(t,e,n,i){var r=t.animators,o=r.length,a=[];if(t instanceof Su){if(v=function(t,e,n){var i,r,o=t.shape.paths,a={};if(E(o,(function(t){var e=Lx(n.zrId);e.animation=!0,Hx(t,{},e,!0);var o=e.cssAnims,s=e.cssNodes,l=F(o),u=l.length;if(u){var h=o[r=l[u-1]];for(var c in h){var p=h[c];a[c]=a[c]||{d:""},a[c].d+=p.d||""}for(var d in s){var f=s[d].animation;f.indexOf(r)>=0&&(i=f)}}})),i){e.d=!1;var s=Vx(a,n);return i.replace(r,s)}}(t,e,n))a.push(v);else if(!o)return}else if(!o)return;for(var s={},l=0;l0})).length)return Vx(h,n)+" "+r[0]+" both"}for(var g in s){var v;(v=f(s[g]))&&a.push(v)}if(a.length){var y=n.zrId+"-cls-"+n.cssClassIdx++;n.cssNodes["."+y]={animation:a.join(",")},e.class=y}}var Wx=Math.round;function Gx(t){return t&&Z(t.src)}function Ux(t){return t&&U(t.toDataURL)}function Zx(t,e,n,i){Ix((function(r,o){var a="fill"===r||"stroke"===r;a&&function(t){return t&&("linear"===t.type||"radial"===t.type)}(o)?function(t,e,n,i){var r,o=t[n],a={gradientUnits:o.global?"userSpaceOnUse":"objectBoundingBox"};if(Rn(o))r="linearGradient",a.x1=o.x,a.y1=o.y,a.x2=o.x2,a.y2=o.y2;else{if(!Nn(o))return void 0;r="radialGradient",a.cx=it(o.x,.5),a.cy=it(o.y,.5),a.r=it(o.r,.5)}for(var s=o.colorStops,l=[],u=0,h=s.length;ul?gw(t,null==n[c+1]?null:n[c+1].elm,n,s,c):vw(t,e,a,l))}(n,i,r):cw(r)?(cw(t.text)&&lw(n,""),gw(n,null,r,0,r.length-1)):cw(i)?vw(n,i,0,i.length-1):cw(t.text)&&lw(n,""):t.text!==e.text&&(cw(i)&&vw(n,i,0,i.length-1),lw(n,e.text)))}var _w=0,xw=function(){function t(t,e,n){if(this.type="svg",this.refreshHover=ww("refreshHover"),this.configLayer=ww("configLayer"),this.storage=e,this._opts=n=k({},n),this.root=t,this._id="zr"+_w++,this._oldVNode=Ox(n.width,n.height),t&&!n.ssr){var i=this._viewport=document.createElement("div");i.style.cssText="position:relative;overflow:hidden";var r=this._svgDom=this._oldVNode.elm=kx("svg");yw(null,this._oldVNode),i.appendChild(r),t.appendChild(i)}this.resize(n.width,n.height)}return t.prototype.getType=function(){return this.type},t.prototype.getViewportRoot=function(){return this._viewport},t.prototype.getViewportRootOffset=function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},t.prototype.getSvgDom=function(){return this._svgDom},t.prototype.refresh=function(){if(this.root){var t=this.renderToVNode({willUpdate:!0});t.attrs.style="position:absolute;left:0;top:0;user-select:none",function(t,e){if(dw(t,e))mw(t,e);else{var n=t.elm,i=aw(n);fw(e),null!==i&&(iw(i,e.elm,sw(n)),vw(i,[t],0,0))}}(this._oldVNode,t),this._oldVNode=t}},t.prototype.renderOneToVNode=function(t){return tw(t,Lx(this._id))},t.prototype.renderToVNode=function(t){t=t||{};var e=this.storage.getDisplayList(!0),n=this._backgroundColor,i=this._width,r=this._height,o=Lx(this._id);o.animation=t.animation,o.willUpdate=t.willUpdate,o.compress=t.compress;var a=[];if(n&&"none"!==n){var s=Tn(n),l=s.color,u=s.opacity;this._bgVNode=Ax("rect","bg",{width:i,height:r,x:"0",y:"0",id:"0",fill:l,"fill-opacity":u}),a.push(this._bgVNode)}else this._bgVNode=null;var h=t.compress?null:this._mainVNode=Ax("g","main",{},[]);this._paintList(e,o,h?h.children:a),h&&a.push(h);var c=z(F(o.defs),(function(t){return o.defs[t]}));if(c.length&&a.push(Ax("defs","defs",{},c)),t.animation){var p=function(t,e,n){var i=(n=n||{}).newline?"\n":"",r=" {"+i,o=i+"}",a=z(F(t),(function(e){return e+r+z(F(t[e]),(function(n){return n+":"+t[e][n]+";"})).join(i)+o})).join(i),s=z(F(e),(function(t){return"@keyframes "+t+r+z(F(e[t]),(function(n){return n+r+z(F(e[t][n]),(function(i){var r=e[t][n][i];return"d"===i&&(r='path("'+r+'")'),i+":"+r+";"})).join(i)+o})).join(i)+o})).join(i);return a||s?[""].join(i):""}(o.cssNodes,o.cssAnims,{newline:!0});if(p){var d=Ax("style","stl",{},[],p);a.push(d)}}return Ox(i,r,a,t.useViewBox)},t.prototype.renderToString=function(t){return t=t||{},Px(this.renderToVNode({animation:it(t.cssAnimation,!0),willUpdate:!1,compress:!0,useViewBox:it(t.useViewBox,!0)}),{newline:!0})},t.prototype.setBackgroundColor=function(t){this._backgroundColor=t;var e=this._bgVNode;if(e&&e.elm){var n=Tn(t),i=n.color,r=n.opacity;e.elm.setAttribute("fill",i),r<1&&e.elm.setAttribute("fill-opacity",r)}},t.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},t.prototype._paintList=function(t,e,n){for(var i,r,o=t.length,a=[],s=0,l=0,u=0;u=0&&(!c||!r||c[f]!==r[f]);f--);for(var g=d-1;g>f;g--)i=a[--s-1];for(var v=f+1;v=a)}}for(var h=this.__startIndex;h15)break}n.prevElClipPaths&&u.restore()};if(p)if(0===p.length)s=l.__endIndex;else for(var x=d.dpr,w=0;w0&&t>i[0]){for(s=0;st);s++);a=n[i[s]]}if(i.splice(s+1,0,t),n[t]=e,!e.virtual)if(a){var l=a.dom;l.nextSibling?o.insertBefore(e.dom,l.nextSibling):o.appendChild(e.dom)}else o.firstChild?o.insertBefore(e.dom,o.firstChild):o.appendChild(e.dom);e.__painter=this}},t.prototype.eachLayer=function(t,e){for(var n=this._zlevelList,i=0;i0?Iw:0),this._needsManuallyCompositing),u.__builtin__||C("ZLevel "+l+" has been used by unkown layer "+u.id),u!==o&&(u.__used=!0,u.__startIndex!==r&&(u.__dirty=!0),u.__startIndex=r,u.incremental?u.__drawIndex=-1:u.__drawIndex=r,e(r),o=u),1&s.__dirty&&!s.__inHover&&(u.__dirty=!0,u.incremental&&u.__drawIndex<0&&(u.__drawIndex=r))}e(r),this.eachBuiltinLayer((function(t,e){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)}))},t.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},t.prototype._clearLayer=function(t){t.clear()},t.prototype.setBackgroundColor=function(t){this._backgroundColor=t,E(this._layers,(function(t){t.setUnpainted()}))},t.prototype.configLayer=function(t,e){if(e){var n=this._layerConfig;n[t]?T(n[t],e,!0):n[t]=e;for(var i=0;i-1&&(s.style.stroke=s.style.fill,s.style.fill="#fff",s.style.lineWidth=2),e},e.type="series.line",e.dependencies=["grid","polar"],e.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},e}(Tf);function kw(t,e){var n=t.mapDimensionsAll("defaultedLabel"),i=n.length;if(1===i){var r=Ld(t,e,n[0]);return null!=r?r+"":null}if(i){for(var o=[],a=0;a=0&&i.push(e[o])}return i.join(" ")}var Pw=function(t){function e(e,n,i,r){var o=t.call(this)||this;return o.updateData(e,n,i,r),o}return n(e,t),e.prototype._createSymbol=function(t,e,n,i,r){this.removeAll();var o=jg(t,-1,-1,2,2,null,r);o.attr({z2:100,culling:!0,scaleX:i[0]/2,scaleY:i[1]/2}),o.drift=Lw,this._symbolType=t,this.add(o)},e.prototype.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(null,t)},e.prototype.getSymbolType=function(){return this._symbolType},e.prototype.getSymbolPath=function(){return this.childAt(0)},e.prototype.highlight=function(){il(this.childAt(0))},e.prototype.downplay=function(){rl(this.childAt(0))},e.prototype.setZ=function(t,e){var n=this.childAt(0);n.zlevel=t,n.z=e},e.prototype.setDraggable=function(t,e){var n=this.childAt(0);n.draggable=t,n.cursor=!e&&t?"move":n.cursor},e.prototype.updateData=function(t,n,i,r){this.silent=!1;var o=t.getItemVisual(n,"symbol")||"circle",a=t.hostModel,s=e.getSymbolSize(t,n),l=o!==this._symbolType,u=r&&r.disableAnimation;if(l){var h=t.getItemVisual(n,"symbolKeepAspect");this._createSymbol(o,t,n,s,h)}else{(p=this.childAt(0)).silent=!1;var c={scaleX:s[0]/2,scaleY:s[1]/2};u?p.attr(c):zu(p,c,a,n),Gu(p)}if(this._updateCommon(t,n,s,i,r),l){var p=this.childAt(0);if(!u){c={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:p.style.opacity}};p.scaleX=p.scaleY=0,p.style.opacity=0,Bu(p,c,a,n)}}u&&this.childAt(0).stopAnimation("leave")},e.prototype._updateCommon=function(t,e,n,i,r){var o,a,s,l,u,h,c,p,d,f=this.childAt(0),g=t.hostModel;if(i&&(o=i.emphasisItemStyle,a=i.blurItemStyle,s=i.selectItemStyle,l=i.focus,u=i.blurScope,c=i.labelStatesModels,p=i.hoverScale,d=i.cursorStyle,h=i.emphasisDisabled),!i||t.hasItemOption){var v=i&&i.itemModel?i.itemModel:t.getItemModel(e),y=v.getModel("emphasis");o=y.getModel("itemStyle").getItemStyle(),s=v.getModel(["select","itemStyle"]).getItemStyle(),a=v.getModel(["blur","itemStyle"]).getItemStyle(),l=y.get("focus"),u=y.get("blurScope"),h=y.get("disabled"),c=wh(v),p=y.getShallow("scale"),d=v.getShallow("cursor")}var m=t.getItemVisual(e,"symbolRotate");f.attr("rotation",(m||0)*Math.PI/180||0);var _=Kg(t.getItemVisual(e,"symbolOffset"),n);_&&(f.x=_[0],f.y=_[1]),d&&f.attr("cursor",d);var x=t.getItemVisual(e,"style"),w=x.fill;if(f instanceof os){var b=f.style;f.useStyle(k({image:b.image,x:b.x,y:b.y,width:b.width,height:b.height},x))}else f.__isEmptyBrush?f.useStyle(k({},x)):f.useStyle(x),f.style.decal=null,f.setColor(w,r&&r.symbolInnerColor),f.style.strokeNoScale=!0;var S=t.getItemVisual(e,"liftZ"),M=this._z2;null!=S?null==M&&(this._z2=f.z2,f.z2+=S):null!=M&&(f.z2=M,this._z2=null);var C=r&&r.useNameLabel;xh(f,c,{labelFetcher:g,labelDataIndex:e,defaultText:function(e){return C?t.getName(e):kw(t,e)},inheritColor:w,defaultOpacity:x.opacity}),this._sizeX=n[0]/2,this._sizeY=n[1]/2;var I=f.ensureState("emphasis");if(I.style=o,f.ensureState("select").style=s,f.ensureState("blur").style=a,p){var T=Math.max(X(p)?p:1.1,3/this._sizeY);I.scaleX=this._sizeX*T,I.scaleY=this._sizeY*T}this.setSymbolScale(1),yl(this,l,u,h)},e.prototype.setSymbolScale=function(t){this.scaleX=this.scaleY=t},e.prototype.fadeOut=function(t,e,n){var i=this.childAt(0),r=Ds(this).dataIndex,o=n&&n.animation;if(this.silent=i.silent=!0,n&&n.fadeLabel){var a=i.getTextContent();a&&Fu(a,{style:{opacity:0}},e,{dataIndex:r,removeOpt:o,cb:function(){i.removeTextContent()}})}else i.removeTextContent();Fu(i,{style:{opacity:0},scaleX:0,scaleY:0},e,{dataIndex:r,cb:t,removeOpt:o})},e.getSymbolSize=function(t,e){return qg(t.getItemVisual(e,"symbolSize"))},e}(_r);function Lw(t,e){this.parent.drift(t,e)}function Ow(t,e,n,i){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(i.isIgnore&&i.isIgnore(n))&&!(i.clipShape&&!i.clipShape.contain(e[0],e[1]))&&"none"!==t.getItemVisual(n,"symbol")}function Rw(t){return null==t||j(t)||(t={isIgnore:t}),t||{}}function Nw(t){var e=t.hostModel,n=e.getModel("emphasis");return{emphasisItemStyle:n.getModel("itemStyle").getItemStyle(),blurItemStyle:e.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:e.getModel(["select","itemStyle"]).getItemStyle(),focus:n.get("focus"),blurScope:n.get("blurScope"),emphasisDisabled:n.get("disabled"),hoverScale:n.get("scale"),labelStatesModels:wh(e),cursorStyle:e.get("cursor")}}var Ew=function(){function t(t){this.group=new _r,this._SymbolCtor=t||Pw}return t.prototype.updateData=function(t,e){this._progressiveEls=null,e=Rw(e);var n=this.group,i=t.hostModel,r=this._data,o=this._SymbolCtor,a=e.disableAnimation,s=Nw(t),l={disableAnimation:a},u=e.getSymbolPoint||function(e){return t.getItemLayout(e)};r||n.removeAll(),t.diff(r).add((function(i){var r=u(i);if(Ow(t,r,i,e)){var a=new o(t,i,s,l);a.setPosition(r),t.setItemGraphicEl(i,a),n.add(a)}})).update((function(h,c){var p=r.getItemGraphicEl(c),d=u(h);if(Ow(t,d,h,e)){var f=t.getItemVisual(h,"symbol")||"circle",g=p&&p.getSymbolType&&p.getSymbolType();if(!p||g&&g!==f)n.remove(p),(p=new o(t,h,s,l)).setPosition(d);else{p.updateData(t,h,s,l);var v={x:d[0],y:d[1]};a?p.attr(v):zu(p,v,i)}n.add(p),t.setItemGraphicEl(h,p)}else n.remove(p)})).remove((function(t){var e=r.getItemGraphicEl(t);e&&e.fadeOut((function(){n.remove(e)}),i)})).execute(),this._getSymbolPoint=u,this._data=t},t.prototype.updateLayout=function(){var t=this,e=this._data;e&&e.eachItemGraphicEl((function(e,n){var i=t._getSymbolPoint(n);e.setPosition(i),e.markRedraw()}))},t.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=Nw(t),this._data=null,this.group.removeAll()},t.prototype.incrementalUpdate=function(t,e,n){function i(t){t.isGroup||(t.incremental=!0,t.ensureState("emphasis").hoverLayer=!0)}this._progressiveEls=[],n=Rw(n);for(var r=t.start;r0?n=i[0]:i[1]<0&&(n=i[1]);return n}(r,n),a=i.dim,s=r.dim,l=e.mapDimension(s),u=e.mapDimension(a),h="x"===s||"radius"===s?1:0,c=z(t.dimensions,(function(t){return e.mapDimension(t)})),p=!1,d=e.getCalculationInfo("stackResultDimension");return mm(e,c[0])&&(p=!0,c[0]=d),mm(e,c[1])&&(p=!0,c[1]=d),{dataDimsForPoint:c,valueStart:o,valueAxisDim:s,baseAxisDim:a,stacked:!!p,valueDim:l,baseDim:u,baseDataOffset:h,stackedOverDimension:e.getCalculationInfo("stackedOverDimension")}}function Bw(t,e,n,i){var r=NaN;t.stacked&&(r=n.get(n.getCalculationInfo("stackedOverDimension"),i)),isNaN(r)&&(r=t.valueStart);var o=t.baseDataOffset,a=[];return a[o]=n.get(t.baseDim,i),a[1-o]=r,e.dataToPoint(a)}var Vw=Math.min,Fw=Math.max;function Hw(t,e){return isNaN(t)||isNaN(e)}function Ww(t,e,n,i,r,o,a,s,l){for(var u,h,c,p,d,f,g=n,v=0;v=r||g<0)break;if(Hw(y,m)){if(l){g+=o;continue}break}if(g===n)t[o>0?"moveTo":"lineTo"](y,m),c=y,p=m;else{var _=y-u,x=m-h;if(_*_+x*x<.5){g+=o;continue}if(a>0){for(var w=g+o,b=e[2*w],S=e[2*w+1];b===y&&S===m&&v=i||Hw(b,S))d=y,f=m;else{I=b-u,T=S-h;var A=y-u,P=b-y,L=m-h,O=S-m,R=void 0,N=void 0;if("x"===s){var E=I>0?1:-1;d=y-E*(R=Math.abs(A))*a,f=m,D=y+E*(N=Math.abs(P))*a,k=m}else if("y"===s){var z=T>0?1:-1;d=y,f=m-z*(R=Math.abs(L))*a,D=y,k=m+z*(N=Math.abs(O))*a}else R=Math.sqrt(A*A+L*L),d=y-I*a*(1-(C=(N=Math.sqrt(P*P+O*O))/(N+R))),f=m-T*a*(1-C),k=m+T*a*C,D=Vw(D=y+I*a*C,Fw(b,y)),k=Vw(k,Fw(S,m)),D=Fw(D,Vw(b,y)),f=m-(T=(k=Fw(k,Vw(S,m)))-m)*R/N,d=Vw(d=y-(I=D-y)*R/N,Fw(u,y)),f=Vw(f,Fw(h,m)),D=y+(I=y-(d=Fw(d,Vw(u,y))))*N/R,k=m+(T=m-(f=Fw(f,Vw(h,m))))*N/R}t.bezierCurveTo(c,p,d,f,y,m),c=D,p=k}else t.lineTo(y,m)}u=y,h=m,g+=o}return v}var Gw=function(){this.smooth=0,this.smoothConstraint=!0},Uw=function(t){function e(e){var n=t.call(this,e)||this;return n.type="ec-polyline",n}return n(e,t),e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new Gw},e.prototype.buildPath=function(t,e){var n=e.points,i=0,r=n.length/2;if(e.connectNulls){for(;r>0&&Hw(n[2*r-2],n[2*r-1]);r--);for(;i=0){var v=a?(h-i)*g+i:(u-n)*g+n;return a?[t,v]:[v,t]}n=u,i=h;break;case o.C:u=r[l++],h=r[l++],c=r[l++],p=r[l++],d=r[l++],f=r[l++];var y=a?He(n,u,c,d,t,s):He(i,h,p,f,t,s);if(y>0)for(var m=0;m=0){v=a?Ve(i,h,p,f,_):Ve(n,u,c,d,_);return a?[t,v]:[v,t]}}n=d,i=f}}},e}(ts),Zw=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e}(Gw),Yw=function(t){function e(e){var n=t.call(this,e)||this;return n.type="ec-polygon",n}return n(e,t),e.prototype.getDefaultShape=function(){return new Zw},e.prototype.buildPath=function(t,e){var n=e.points,i=e.stackedOnPoints,r=0,o=n.length/2,a=e.smoothMonotone;if(e.connectNulls){for(;o>0&&Hw(n[2*o-2],n[2*o-1]);o--);for(;r=0;a--){var s=t.getDimensionInfo(i[a].dimension);if("x"===(r=s&&s.coordDim)||"y"===r){o=i[a];break}}if(o){var l=e.getAxis(r),u=z(o.stops,(function(t){return{coord:l.toGlobalCoord(l.dataToCoord(t.value)),color:t.color}})),h=u.length,c=o.outerColors.slice();h&&u[0].coord>u[h-1].coord&&(u.reverse(),c.reverse());var p=function(t,e){var n,i,r=[],o=t.length;function a(t,e,n){var i=t.coord;return{coord:n,color:xn((n-i)/(e.coord-i),[t.color,e.color])}}for(var s=0;se){i?r.push(a(i,l,e)):n&&r.push(a(n,l,0),a(n,l,e));break}n&&(r.push(a(n,l,0)),n=null),r.push(l),i=l}}return r}(u,"x"===r?n.getWidth():n.getHeight()),d=p.length;if(!d&&h)return u[0].coord<0?c[1]?c[1]:u[h-1].color:c[0]?c[0]:u[0].color;var f=p[0].coord-10,g=p[d-1].coord+10,v=g-f;if(v<.001)return"transparent";E(p,(function(t){t.offset=(t.coord-f)/v})),p.push({offset:d?p[d-1].offset:.5,color:c[1]||"transparent"}),p.unshift({offset:d?p[0].offset:.5,color:c[0]||"transparent"});var y=new Cu(0,0,0,0,p,!0);return y[r]=f,y[r+"2"]=g,y}}}function nb(t,e,n){var i=t.get("showAllSymbol"),r="auto"===i;if(!i||r){var o=n.getAxesByScale("ordinal")[0];if(o&&(!r||!function(t,e){var n=t.getExtent(),i=Math.abs(n[1]-n[0])/t.scale.count();isNaN(i)&&(i=0);for(var r=e.count(),o=Math.max(1,Math.round(r/5)),a=0;ai)return!1;return!0}(o,e))){var a=e.mapDimension(o.dim),s={};return E(o.getViewLabels(),(function(t){var e=o.scale.getRawOrdinalNumber(t.tickValue);s[e]=1})),function(t){return!s.hasOwnProperty(e.get(a,t))}}}}function ib(t,e){return[t[2*e],t[2*e+1]]}function rb(t){if(t.get(["endLabel","show"]))return!0;for(var e=0;e0&&"bolder"===t.get(["emphasis","lineStyle","width"]))&&(d.getState("emphasis").style.lineWidth=+d.style.lineWidth+1);Ds(d).seriesIndex=t.seriesIndex,yl(d,P,L,O);var R=Jw(t.get("smooth")),N=t.get("smoothMonotone");if(d.setShape({smooth:R,smoothMonotone:N,connectNulls:b}),f){var E=a.getCalculationInfo("stackedOnSeries"),z=0;f.useStyle(A(l.getAreaStyle(),{fill:T,opacity:.7,lineJoin:"bevel",decal:a.getVisual("style").decal})),E&&(z=Jw(E.get("smooth"))),f.setShape({smooth:R,stackedOnSmooth:z,smoothMonotone:N,connectNulls:b}),xl(f,t,"areaStyle"),Ds(f).seriesIndex=t.seriesIndex,yl(f,P,L,O)}var B=function(t){i._changePolyState(t)};a.eachItemGraphicEl((function(t){t&&(t.onHoverStateChange=B)})),this._polyline.onHoverStateChange=B,this._data=a,this._coordSys=r,this._stackedOnPoints=x,this._points=u,this._step=I,this._valueOrigin=m,t.get("triggerLineEvent")&&(this.packEventData(t,d),f&&this.packEventData(t,f))},e.prototype.packEventData=function(t,e){Ds(e).eventData={componentType:"series",componentSubType:"line",componentIndex:t.componentIndex,seriesIndex:t.seriesIndex,seriesName:t.name,seriesType:"line"}},e.prototype.highlight=function(t,e,n,i){var r=t.getData(),o=ho(r,i);if(this._changePolyState("emphasis"),!(o instanceof Array)&&null!=o&&o>=0){var a=r.getLayout("points"),s=r.getItemGraphicEl(o);if(!s){var l=a[2*o],u=a[2*o+1];if(isNaN(l)||isNaN(u))return;if(this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(l,u))return;var h=t.get("zlevel"),c=t.get("z");(s=new Pw(r,o)).x=l,s.y=u,s.setZ(h,c);var p=s.getSymbolPath().getTextContent();p&&(p.zlevel=h,p.z=c,p.z2=this._polyline.z2+1),s.__temp=!0,r.setItemGraphicEl(o,s),s.stopSymbolAnimation(!0),this.group.add(s)}s.highlight()}else Vf.prototype.highlight.call(this,t,e,n,i)},e.prototype.downplay=function(t,e,n,i){var r=t.getData(),o=ho(r,i);if(this._changePolyState("normal"),null!=o&&o>=0){var a=r.getItemGraphicEl(o);a&&(a.__temp?(r.setItemGraphicEl(o,null),this.group.remove(a)):a.downplay())}else Vf.prototype.downplay.call(this,t,e,n,i)},e.prototype._changePolyState=function(t){var e=this._polygon;Qs(this._polyline,t),e&&Qs(e,t)},e.prototype._newPolyline=function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new Uw({shape:{points:t},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(e),this._polyline=e,e},e.prototype._newPolygon=function(t,e){var n=this._polygon;return n&&this._lineGroup.remove(n),n=new Yw({shape:{points:t,stackedOnPoints:e},segmentIgnoreThreshold:2}),this._lineGroup.add(n),this._polygon=n,n},e.prototype._initSymbolLabelAnimation=function(t,e,n){var i,r,o=e.getBaseAxis(),a=o.inverse;"cartesian2d"===e.type?(i=o.isHorizontal(),r=!1):"polar"===e.type&&(i="angle"===o.dim,r=!0);var s=t.hostModel,l=s.get("animationDuration");U(l)&&(l=l(null));var u=s.get("animationDelay")||0,h=U(u)?u(null):u;t.eachItemGraphicEl((function(t,o){var s=t;if(s){var c=[t.x,t.y],p=void 0,d=void 0,f=void 0;if(n)if(r){var g=n,v=e.pointToCoord(c);i?(p=g.startAngle,d=g.endAngle,f=-v[1]/180*Math.PI):(p=g.r0,d=g.r,f=v[0])}else{var y=n;i?(p=y.x,d=y.x+y.width,f=t.x):(p=y.y+y.height,d=y.y,f=t.y)}var m=d===p?0:(f-p)/(d-p);a&&(m=1-m);var _=U(u)?u(o):l*m+h,x=s.getSymbolPath(),w=x.getTextContent();s.attr({scaleX:0,scaleY:0}),s.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:_}),w&&w.animateFrom({style:{opacity:0}},{duration:300,delay:_}),x.disableLabelAnimation=!0}}))},e.prototype._initOrUpdateEndLabel=function(t,e,n){var i=t.getModel("endLabel");if(rb(t)){var r=t.getData(),o=this._polyline,a=r.getLayout("points");if(!a)return o.removeTextContent(),void(this._endLabel=null);var s=this._endLabel;s||((s=this._endLabel=new gs({z2:200})).ignoreClip=!0,o.setTextContent(this._endLabel),o.disableLabelAnimation=!0);var l=function(t){for(var e,n,i=t.length/2;i>0&&(e=t[2*i-2],n=t[2*i-1],isNaN(e)||isNaN(n));i--);return i-1}(a);l>=0&&(xh(o,wh(t,"endLabel"),{inheritColor:n,labelFetcher:t,labelDataIndex:l,defaultText:function(t,e,n){return null!=n?Aw(r,n):kw(r,t)},enableTextSetter:!0},function(t,e){var n=e.getBaseAxis(),i=n.isHorizontal(),r=n.inverse,o=i?r?"right":"left":"center",a=i?"middle":r?"top":"bottom";return{normal:{align:t.get("align")||o,verticalAlign:t.get("verticalAlign")||a}}}(i,e)),o.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},e.prototype._endLabelOnDuring=function(t,e,n,i,r,o,a){var s=this._endLabel,l=this._polyline;if(s){t<1&&null==i.originalX&&(i.originalX=s.x,i.originalY=s.y);var u=n.getLayout("points"),h=n.hostModel,c=h.get("connectNulls"),p=o.get("precision"),d=o.get("distance")||0,f=a.getBaseAxis(),g=f.isHorizontal(),v=f.inverse,y=e.shape,m=v?g?y.x:y.y+y.height:g?y.x+y.width:y.y,_=(g?d:0)*(v?-1:1),x=(g?0:-d)*(v?-1:1),w=g?"x":"y",b=function(t,e,n){for(var i,r,o=t.length/2,a="x"===n?0:1,s=0,l=-1,u=0;u=e||i>=e&&r<=e){l=u;break}s=u,i=r}else i=r;return{range:[s,l],t:(e-i)/(r-i)}}(u,m,w),S=b.range,M=S[1]-S[0],C=void 0;if(M>=1){if(M>1&&!c){var I=ib(u,S[0]);s.attr({x:I[0]+_,y:I[1]+x}),r&&(C=h.getRawValue(S[0]))}else{(I=l.getPointOn(m,w))&&s.attr({x:I[0]+_,y:I[1]+x});var T=h.getRawValue(S[0]),D=h.getRawValue(S[1]);r&&(C=function(t,e,n,i,r){var o=null==e||"auto"===e;if(null==i)return i;if(X(i))return kr(f=Kr(n||0,i,r),o?Math.max(Pr(n||0),Pr(i)):e);if(Z(i))return r<1?n:i;for(var a=[],s=n,l=i,u=Math.max(s?s.length:0,l.length),h=0;h0?S[0]:0;I=ib(u,k);r&&(C=h.getRawValue(k)),s.attr({x:I[0]+_,y:I[1]+x})}r&&Dh(s).setLabelText(C)}},e.prototype._doUpdateAnimation=function(t,e,n,i,r,o,a){var s=this._polyline,l=this._polygon,u=t.hostModel,h=function(t,e,n,i,r,o,a,s){for(var l=function(t,e){var n=[];return e.diff(t).add((function(t){n.push({cmd:"+",idx:t})})).update((function(t,e){n.push({cmd:"=",idx:e,idx1:t})})).remove((function(t){n.push({cmd:"-",idx:t})})).execute(),n}(t,e),u=[],h=[],c=[],p=[],d=[],f=[],g=[],v=zw(r,e,a),y=t.getLayout("points")||[],m=e.getLayout("points")||[],_=0;_3e3||l&&Qw(p,f)>3e3)return s.stopAnimation(),s.setShape({points:d}),void(l&&(l.stopAnimation(),l.setShape({points:d,stackedOnPoints:f})));s.shape.__points=h.current,s.shape.points=c;var g={shape:{points:d}};h.current!==c&&(g.shape.__points=h.next),s.stopAnimation(),zu(s,g,u),l&&(l.setShape({points:c,stackedOnPoints:p}),l.stopAnimation(),zu(l,{shape:{stackedOnPoints:f}},u),s.shape.points!==l.shape.points&&(l.shape.points=s.shape.points));for(var v=[],y=h.status,m=0;me&&(e=t[n]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,n=0;n10&&"cartesian2d"===o.type&&r){var s=o.getBaseAxis(),l=o.getOtherAxis(s),u=s.getExtent(),h=n.getDevicePixelRatio(),c=Math.abs(u[1]-u[0])*(h||1),p=Math.round(a/c);if(isFinite(p)&&p>1){"lttb"===r&&t.setData(i.lttbDownSample(i.mapDimension(l.dim),1/p));var d=void 0;Z(r)?d=lb[r]:U(r)&&(d=r),d&&t.setData(i.downSample(i.mapDimension(l.dim),1/p,d,ub))}}}}}var cb=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.getInitialData=function(t,e){return xm(null,this,{useEncodeDefaulter:!0})},e.prototype.getMarkerPosition=function(t){var e=this.coordinateSystem;if(e&&e.clampData){var n=e.dataToPoint(e.clampData(t)),i=this.getData(),r=i.getLayout("offset"),o=i.getLayout("size");return n[e.getBaseAxis().isHorizontal()?0:1]+=r+o/2,n}return[NaN,NaN]},e.type="series.__base_bar__",e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod"},e}(Tf);Tf.registerClass(cb);var pb=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.getInitialData=function(){return xm(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})},e.prototype.getProgressive=function(){return!!this.get("large")&&this.get("progressive")},e.prototype.getProgressiveThreshold=function(){var t=this.get("progressiveThreshold"),e=this.get("largeThreshold");return e>t&&(t=e),t},e.prototype.brushSelector=function(t,e,n){return n.rect(e.getItemLayout(t))},e.type="series.bar",e.dependencies=["grid","polar"],e.defaultOption=Uh(cb.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:"#212121"}},realtimeSort:!1}),e}(cb),db=function(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=2*Math.PI,this.clockwise=!0},fb=function(t){function e(e){var n=t.call(this,e)||this;return n.type="sausage",n}return n(e,t),e.prototype.getDefaultShape=function(){return new db},e.prototype.buildPath=function(t,e){var n=e.cx,i=e.cy,r=Math.max(e.r0||0,0),o=Math.max(e.r,0),a=.5*(o-r),s=r+a,l=e.startAngle,u=e.endAngle,h=e.clockwise,c=2*Math.PI,p=h?u-lo)return!0;o=u}return!1},e.prototype._isOrderDifferentInView=function(t,e){for(var n=e.scale,i=n.getExtent(),r=Math.max(0,i[0]),o=Math.min(i[1],n.getOrdinalMeta().categories.length-1);r<=o;++r)if(t.ordinalNumbers[r]!==n.getRawOrdinalNumber(r))return!0},e.prototype._updateSortWithinSameData=function(t,e,n,i){if(this._isOrderChangedWithinSameData(t,e,n)){var r=this._dataSort(t,n,e);this._isOrderDifferentInView(r,n)&&(this._removeOnRenderedListener(i),i.dispatchAction({type:"changeAxisOrder",componentType:n.dim+"Axis",axisId:n.index,sortInfo:r}))}},e.prototype._dispatchInitSort=function(t,e,n){var i=e.baseAxis,r=this._dataSort(t,i,(function(n){return t.get(t.mapDimension(e.otherAxis.dim),n)}));n.dispatchAction({type:"changeAxisOrder",componentType:i.dim+"Axis",isInitSort:!0,axisId:i.index,sortInfo:r})},e.prototype.remove=function(t,e){this._clear(this._model),this._removeOnRenderedListener(e)},e.prototype.dispose=function(t,e){this._removeOnRenderedListener(e)},e.prototype._removeOnRenderedListener=function(t){this._onRendered&&(t.getZr().off("rendered",this._onRendered),this._onRendered=null)},e.prototype._clear=function(t){var e=this.group,n=this._data;t&&t.isAnimationEnabled()&&n&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],n.eachItemGraphicEl((function(e){Wu(e,t,Ds(e).dataIndex)}))):e.removeAll(),this._data=null,this._isFirstFrame=!0},e.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},e.type="bar",e}(Vf),xb={cartesian2d:function(t,e){var n=e.width<0?-1:1,i=e.height<0?-1:1;n<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height);var r=t.x+t.width,o=t.y+t.height,a=yb(e.x,t.x),s=mb(e.x+e.width,r),l=yb(e.y,t.y),u=mb(e.y+e.height,o),h=sr?s:a,e.y=c&&l>o?u:l,e.width=h?0:s-a,e.height=c?0:u-l,n<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height),h||c},polar:function(t,e){var n=e.r0<=e.r?1:-1;if(n<0){var i=e.r;e.r=e.r0,e.r0=i}var r=mb(e.r,t.r),o=yb(e.r0,t.r0);e.r=r,e.r0=o;var a=r-o<0;if(n<0){i=e.r;e.r=e.r0,e.r0=i}return a}},wb={cartesian2d:function(t,e,n,i,r,o,a,s,l){var u=new ps({shape:k({},i),z2:1});(u.__dataIndex=n,u.name="item",o)&&(u.shape[r?"height":"width"]=0);return u},polar:function(t,e,n,i,r,o,a,s,l){var u=!r&&l?fb:au,h=new u({shape:i,z2:1});h.name="item";var c,p,d=Db(r);if(h.calculateTextPosition=(c=d,p=({isRoundCap:u===fb}||{}).isRoundCap,function(t,e,n){var i=e.position;if(!i||i instanceof Array)return lr(t,e,n);var r=c(i),o=null!=e.distance?e.distance:5,a=this.shape,s=a.cx,l=a.cy,u=a.r,h=a.r0,d=(u+h)/2,f=a.startAngle,g=a.endAngle,v=(f+g)/2,y=p?Math.abs(u-h)/2:0,m=Math.cos,_=Math.sin,x=s+u*m(f),w=l+u*_(f),b="left",S="top";switch(r){case"startArc":x=s+(h-o)*m(v),w=l+(h-o)*_(v),b="center",S="top";break;case"insideStartArc":x=s+(h+o)*m(v),w=l+(h+o)*_(v),b="center",S="bottom";break;case"startAngle":x=s+d*m(f)+gb(f,o+y,!1),w=l+d*_(f)+vb(f,o+y,!1),b="right",S="middle";break;case"insideStartAngle":x=s+d*m(f)+gb(f,-o+y,!1),w=l+d*_(f)+vb(f,-o+y,!1),b="left",S="middle";break;case"middle":x=s+d*m(v),w=l+d*_(v),b="center",S="middle";break;case"endArc":x=s+(u+o)*m(v),w=l+(u+o)*_(v),b="center",S="bottom";break;case"insideEndArc":x=s+(u-o)*m(v),w=l+(u-o)*_(v),b="center",S="top";break;case"endAngle":x=s+d*m(g)+gb(g,o+y,!0),w=l+d*_(g)+vb(g,o+y,!0),b="left",S="middle";break;case"insideEndAngle":x=s+d*m(g)+gb(g,-o+y,!0),w=l+d*_(g)+vb(g,-o+y,!0),b="right",S="middle";break;default:return lr(t,e,n)}return(t=t||{}).x=x,t.y=w,t.align=b,t.verticalAlign=S,t}),o){var f=r?"r":"endAngle",g={};h.shape[f]=r?0:i.startAngle,g[f]=i[f],(s?zu:Bu)(h,{shape:g},o)}return h}};function bb(t,e,n,i,r,o,a,s){var l,u;o?(u={x:i.x,width:i.width},l={y:i.y,height:i.height}):(u={y:i.y,height:i.height},l={x:i.x,width:i.width}),s||(a?zu:Bu)(n,{shape:l},e,r,null),(a?zu:Bu)(n,{shape:u},e?t.baseAxis.model:null,r)}function Sb(t,e){for(var n=0;n0?1:-1,a=i.height>0?1:-1;return{x:i.x+o*r/2,y:i.y+a*r/2,width:i.width-o*r,height:i.height-a*r}},polar:function(t,e,n){var i=t.getItemLayout(e);return{cx:i.cx,cy:i.cy,r0:i.r0,r:i.r,startAngle:i.startAngle,endAngle:i.endAngle,clockwise:i.clockwise}}};function Db(t){return function(t){var e=t?"Arc":"Angle";return function(t){switch(t){case"start":case"insideStart":case"end":case"insideEnd":return t+e;default:return t}}}(t)}function kb(t,e,n,i,r,o,a,s){var l=e.getItemVisual(n,"style");s||t.setShape("r",i.get(["itemStyle","borderRadius"])||0),t.useStyle(l);var u=i.getShallow("cursor");u&&t.attr("cursor",u);var h=s?a?r.r>=r.r0?"endArc":"startArc":r.endAngle>=r.startAngle?"endAngle":"startAngle":a?r.height>=0?"bottom":"top":r.width>=0?"right":"left",c=wh(i);xh(t,c,{labelFetcher:o,labelDataIndex:n,defaultText:kw(o.getData(),n),inheritColor:l.fill,defaultOpacity:l.opacity,defaultOutsidePosition:h});var p=t.getTextContent();if(s&&p){var d=i.get(["label","position"]);t.textConfig.inside="middle"===d||null,function(t,e,n,i){if(X(i))t.setTextConfig({rotation:i});else if(G(e))t.setTextConfig({rotation:0});else{var r,o=t.shape,a=o.clockwise?o.startAngle:o.endAngle,s=o.clockwise?o.endAngle:o.startAngle,l=(a+s)/2,u=n(e);switch(u){case"startArc":case"insideStartArc":case"middle":case"insideEndArc":case"endArc":r=l;break;case"startAngle":case"insideStartAngle":r=a;break;case"endAngle":case"insideEndAngle":r=s;break;default:return void t.setTextConfig({rotation:0})}var h=1.5*Math.PI-r;"middle"===u&&h>Math.PI/2&&h<1.5*Math.PI&&(h-=Math.PI),t.setTextConfig({rotation:h})}}(t,"outside"===d?h:d,Db(a),i.get(["label","rotate"]))}!function(t,e,n,i){if(t){var r=Dh(t);r.prevValue=r.value,r.value=n;var o=e.normal;r.valueAnimation=o.get("valueAnimation"),r.valueAnimation&&(r.precision=o.get("precision"),r.defaultInterpolatedText=i,r.statesModels=e)}}(p,c,o.getRawValue(n),(function(t){return Aw(e,t)}));var f=i.getModel(["emphasis"]);yl(t,f.get("focus"),f.get("blurScope"),f.get("disabled")),xl(t,i),function(t){return null!=t.startAngle&&null!=t.endAngle&&t.startAngle===t.endAngle}(r)&&(t.style.fill="none",t.style.stroke="none",E(t.states,(function(t){t.style&&(t.style.fill=t.style.stroke="none")})))}var Ab=function(){},Pb=function(t){function e(e){var n=t.call(this,e)||this;return n.type="largeBar",n}return n(e,t),e.prototype.getDefaultShape=function(){return new Ab},e.prototype.buildPath=function(t,e){for(var n=e.points,i=this.baseDimIdx,r=1-this.baseDimIdx,o=[],a=[],s=this.barWidth,l=0;l=s[0]&&e<=s[0]+l[0]&&n>=s[1]&&n<=s[1]+l[1])return a[h]}return-1}(this,t.offsetX,t.offsetY);Ds(this).dataIndex=e>=0?e:null}),30,!1);function Rb(t,e,n){if(qw(n,"cartesian2d")){var i=e,r=n.getArea();return{x:t?i.x:r.x,y:t?r.y:i.y,width:t?i.width:r.width,height:t?r.height:i.height}}var o=e;return{cx:(r=n.getArea()).cx,cy:r.cy,r0:t?r.r0:o.r0,r:t?r.r:o.r,startAngle:t?o.startAngle:0,endAngle:t?o.endAngle:2*Math.PI}}var Nb=2*Math.PI,Eb=Math.PI/180;function zb(t,e){return Yc(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function Bb(t,e){var n=zb(t,e),i=t.get("center"),r=t.get("radius");G(r)||(r=[0,r]),G(i)||(i=[i,i]);var o=Dr(n.width,e.getWidth()),a=Dr(n.height,e.getHeight()),s=Math.min(o,a);return{cx:Dr(i[0],o)+n.x,cy:Dr(i[1],a)+n.y,r0:Dr(r[0],s/2),r:Dr(r[1],s/2)}}function Vb(t,e,n){e.eachSeriesByType(t,(function(t){var e=t.getData(),i=e.mapDimension("value"),r=zb(t,n),o=Bb(t,n),a=o.cx,s=o.cy,l=o.r,u=o.r0,h=-t.get("startAngle")*Eb,c=t.get("minAngle")*Eb,p=0;e.each(i,(function(t){!isNaN(t)&&p++}));var d=e.getSum(i),f=Math.PI/(d||p)*2,g=t.get("clockwise"),v=t.get("roseType"),y=t.get("stillShowZeroSum"),m=e.getDataExtent(i);m[0]=0;var _=Nb,x=0,w=h,b=g?1:-1;if(e.setLayout({viewRect:r,r:l}),e.each(i,(function(t,n){var i;if(isNaN(t))e.setItemLayout(n,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:g,cx:a,cy:s,r0:u,r:v?NaN:l});else{(i="area"!==v?0===d&&y?f:t*f:Nb/p)n?a:o,h=Math.abs(l.label.y-n);if(h>=u.maxY){var c=l.label.x-e-l.len2*r,p=i+l.len,f=Math.abs(c)t.unconstrainedWidth?null:d:null;i.setStyle("width",f)}var g=i.getBoundingRect();o.width=g.width;var v=(i.style.margin||0)+2.1;o.height=g.height+v,o.y-=(o.height-c)/2}}}function Gb(t){return"center"===t.position}function Ub(t){var e,n,i=t.getData(),r=[],o=!1,a=(t.get("minShowLabelAngle")||0)*Fb,s=i.getLayout("viewRect"),l=i.getLayout("r"),u=s.width,h=s.x,c=s.y,p=s.height;function d(t){t.ignore=!0}i.each((function(t){var s=i.getItemGraphicEl(t),c=s.shape,p=s.getTextContent(),f=s.getTextGuideLine(),g=i.getItemModel(t),v=g.getModel("label"),y=v.get("position")||g.get(["emphasis","label","position"]),m=v.get("distanceToLabelLine"),_=v.get("alignTo"),x=Dr(v.get("edgeDistance"),u),w=v.get("bleedMargin"),b=g.getModel("labelLine"),S=b.get("length");S=Dr(S,u);var M=b.get("length2");if(M=Dr(M,u),Math.abs(c.endAngle-c.startAngle)0?"right":"left":A>0?"left":"right"}var V=Math.PI,F=0,H=v.get("rotate");if(X(H))F=H*(V/180);else if("center"===y)F=0;else if("radial"===H||!0===H){F=A<0?-k+V:-k}else if("tangential"===H&&"outside"!==y&&"outer"!==y){var W=Math.atan2(A,P);W<0&&(W=2*V+W),P>0&&(W=V+W),F=W-V}if(o=!!F,p.x=C,p.y=I,p.rotation=F,p.setStyle({verticalAlign:"middle"}),L){p.setStyle({align:D});var G=p.states.select;G&&(G.x+=p.x,G.y+=p.y)}else{var U=p.getBoundingRect().clone();U.applyTransform(p.getComputedTransform());var Z=(p.style.margin||0)+2.1;U.y-=Z/2,U.height+=Z,r.push({label:p,labelLine:f,position:y,len:S,len2:M,minTurnAngle:b.get("minTurnAngle"),maxSurfaceAngle:b.get("maxSurfaceAngle"),surfaceNormal:new Ui(A,P),linePoints:T,textAlign:D,labelDistance:m,labelAlignTo:_,edgeDistance:x,bleedMargin:w,rect:U,unconstrainedWidth:U.width,labelStyleWidth:p.style.width})}s.setTextConfig({inside:L})}})),!o&&t.get("avoidLabelOverlap")&&function(t,e,n,i,r,o,a,s){for(var l=[],u=[],h=Number.MAX_VALUE,c=-Number.MAX_VALUE,p=0;p0){for(var l=o.getItemLayout(0),u=1;isNaN(l&&l.startAngle)&&u=n.r0}},e.type="pie",e}(Vf);var jb=function(){function t(t,e){this._getDataWithEncodedVisual=t,this._getRawData=e}return t.prototype.getAllNames=function(){var t=this._getRawData();return t.mapArray(t.getName)},t.prototype.containName=function(t){return this._getRawData().indexOfName(t)>=0},t.prototype.indexOfName=function(t){return this._getDataWithEncodedVisual().indexOfName(t)},t.prototype.getItemVisual=function(t,e){return this._getDataWithEncodedVisual().getItemVisual(t,e)},t}(),qb=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments),this.legendVisualProvider=new jb(H(this.getData,this),H(this.getRawData,this)),this._defaultLabelLine(e)},e.prototype.mergeOption=function(){t.prototype.mergeOption.apply(this,arguments)},e.prototype.getInitialData=function(){return function(t,e,n){e=G(e)&&{coordDimensions:e}||k({encodeDefine:t.getEncode()},e);var i=t.getSource(),r=pm(i,e).dimensions,o=new cm(r,t);return o.initData(i,n),o}(this,{coordDimensions:["value"],encodeDefaulter:W(yp,this)})},e.prototype.getDataParams=function(e){var n=this.getData(),i=t.prototype.getDataParams.call(this,e),r=[];return n.each(n.mapDimension("value"),(function(t){r.push(t)})),i.percent=Rr(r,e,n.hostModel.get("percentPrecision")),i.$vars.push("percent"),i},e.prototype._defaultLabelLine=function(t){to(t,"labelLine",["show"]);var e=t.labelLine,n=t.emphasis.labelLine;e.show=e.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},e.type="series.pie",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1,borderJoin:"round"},showEmptyCircle:!0,emptyCircleStyle:{color:"lightgray",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1e3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"},e}(Tf);var Kb=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n}return n(e,t),e.prototype.getInitialData=function(t,e){return xm(null,this,{useEncodeDefaulter:!0})},e.prototype.getProgressive=function(){var t=this.option.progressive;return null==t?this.option.large?5e3:this.get("progressive"):t},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?1e4:this.get("progressiveThreshold"):t},e.prototype.brushSelector=function(t,e,n){return n.point(e.getItemLayout(t))},e.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:""},e.type="series.scatter",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}},universalTransition:{divideShape:"clone"}},e}(Tf),$b=function(){},Qb=function(t){function e(e){var n=t.call(this,e)||this;return n._off=0,n.hoverDataIdx=-1,n}return n(e,t),e.prototype.getDefaultShape=function(){return new $b},e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.buildPath=function(t,e){var n,i=e.points,r=e.size,o=this.symbolProxy,a=o.shape,s=t.getContext?t.getContext():t,l=s&&r[0]<4,u=this.softClipShape;if(l)this._ctx=s;else{for(this._ctx=null,n=this._off;n=0;s--){var l=2*s,u=i[l]-o/2,h=i[l+1]-a/2;if(t>=u&&e>=h&&t<=u+o&&e<=h+a)return s}return-1},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect();return t=n[0],e=n[1],i.contain(t,e)?(this.hoverDataIdx=this.findDataIndex(t,e))>=0:(this.hoverDataIdx=-1,!1)},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var e=this.shape,n=e.points,i=e.size,r=i[0],o=i[1],a=1/0,s=1/0,l=-1/0,u=-1/0,h=0;h=0&&(l.dataIndex=n+(t.startIndex||0))}))},t.prototype.remove=function(){this._clear()},t.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},t}(),tS=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).updateData(i,{clipShape:this._getClipShape(t)}),this._finished=!0},e.prototype.incrementalPrepareRender=function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).incrementalPrepareUpdate(i),this._finished=!1},e.prototype.incrementalRender=function(t,e,n){this._symbolDraw.incrementalUpdate(t,e.getData(),{clipShape:this._getClipShape(e)}),this._finished=t.end===e.getData().count()},e.prototype.updateTransform=function(t,e,n){var i=t.getData();if(this.group.dirty(),!this._finished||i.count()>1e4)return{update:!0};var r=sb("").reset(t,e,n);r.progress&&r.progress({start:0,end:i.count(),count:i.count()},i),this._symbolDraw.updateLayout(i)},e.prototype.eachRendered=function(t){this._symbolDraw&&this._symbolDraw.eachRendered(t)},e.prototype._getClipShape=function(t){var e=t.coordinateSystem,n=e&&e.getArea&&e.getArea();return t.get("clip",!0)?n:null},e.prototype._updateSymbolDraw=function(t,e){var n=this._symbolDraw,i=e.pipelineContext.large;return n&&i===this._isLargeDraw||(n&&n.remove(),n=this._symbolDraw=i?new Jb:new Ew,this._isLargeDraw=i,this.group.removeAll()),this.group.add(n.group),n},e.prototype.remove=function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},e.prototype.dispose=function(){},e.type="scatter",e}(Vf),eS=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.type="grid",e.dependencies=["xAxis","yAxis"],e.layoutMode="box",e.defaultOption={show:!1,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"},e}(Jc),nS=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",vo).models[0]},e.type="cartesian2dAxis",e}(Jc);R(nS,M_);var iS={show:!0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#6E7079",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},rS=T({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},iS),oS=T({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#F4F7FD",width:1}}},iS),aS={category:rS,value:oS,time:T({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},oS),log:A({logBase:10},oS)},sS={value:1,category:1,time:1,log:1};function lS(t,e,i,r){E(sS,(function(o,a){var s=T(T({},aS[a],!0),r,!0),l=function(t){function i(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e+"Axis."+a,n}return n(i,t),i.prototype.mergeDefaultAndTheme=function(t,e){var n=jc(this),i=n?Kc(t):{};T(t,e.getTheme().get(a+"Axis")),T(t,this.getDefaultOption()),t.type=uS(t),n&&qc(t,i,n)},i.prototype.optionUpdated=function(){"category"===this.option.type&&(this.__ordinalMeta=Sm.createByAxisModel(this))},i.prototype.getCategories=function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},i.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},i.type=e+"Axis."+a,i.defaultOption=s,i}(i);t.registerComponentModel(l)})),t.registerSubTypeDefaulter(e+"Axis",uS)}function uS(t){return t.type||(t.data?"category":"value")}var hS=function(){function t(t){this.type="cartesian",this._dimList=[],this._axes={},this.name=t||""}return t.prototype.getAxis=function(t){return this._axes[t]},t.prototype.getAxes=function(){return z(this._dimList,(function(t){return this._axes[t]}),this)},t.prototype.getAxesByScale=function(t){return t=t.toLowerCase(),V(this.getAxes(),(function(e){return e.scale.type===t}))},t.prototype.addAxis=function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},t}(),cS=["x","y"];function pS(t){return"interval"===t.type||"time"===t.type}var dS=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="cartesian2d",e.dimensions=cS,e}return n(e,t),e.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var t=this.getAxis("x").scale,e=this.getAxis("y").scale;if(pS(t)&&pS(e)){var n=t.getExtent(),i=e.getExtent(),r=this.dataToPoint([n[0],i[0]]),o=this.dataToPoint([n[1],i[1]]),a=n[1]-n[0],s=i[1]-i[0];if(a&&s){var l=(o[0]-r[0])/a,u=(o[1]-r[1])/s,h=r[0]-n[0]*l,c=r[1]-i[0]*u,p=this._transform=[l,0,0,u,h,c];this._invTransform=Li([],p)}}},e.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},e.prototype.containPoint=function(t){var e=this.getAxis("x"),n=this.getAxis("y");return e.contain(e.toLocalCoord(t[0]))&&n.contain(n.toLocalCoord(t[1]))},e.prototype.containData=function(t){return this.getAxis("x").containData(t[0])&&this.getAxis("y").containData(t[1])},e.prototype.containZone=function(t,e){var n=this.dataToPoint(t),i=this.dataToPoint(e),r=this.getArea(),o=new Ji(n[0],n[1],i[0]-n[0],i[1]-n[1]);return r.intersect(o)},e.prototype.dataToPoint=function(t,e,n){n=n||[];var i=t[0],r=t[1];if(this._transform&&null!=i&&isFinite(i)&&null!=r&&isFinite(r))return Et(n,t,this._transform);var o=this.getAxis("x"),a=this.getAxis("y");return n[0]=o.toGlobalCoord(o.dataToCoord(i,e)),n[1]=a.toGlobalCoord(a.dataToCoord(r,e)),n},e.prototype.clampData=function(t,e){var n=this.getAxis("x").scale,i=this.getAxis("y").scale,r=n.getExtent(),o=i.getExtent(),a=n.parse(t[0]),s=i.parse(t[1]);return(e=e||[])[0]=Math.min(Math.max(Math.min(r[0],r[1]),a),Math.max(r[0],r[1])),e[1]=Math.min(Math.max(Math.min(o[0],o[1]),s),Math.max(o[0],o[1])),e},e.prototype.pointToData=function(t,e){var n=[];if(this._invTransform)return Et(n,t,this._invTransform);var i=this.getAxis("x"),r=this.getAxis("y");return n[0]=i.coordToData(i.toLocalCoord(t[0]),e),n[1]=r.coordToData(r.toLocalCoord(t[1]),e),n},e.prototype.getOtherAxis=function(t){return this.getAxis("x"===t.dim?"y":"x")},e.prototype.getArea=function(){var t=this.getAxis("x").getGlobalExtent(),e=this.getAxis("y").getGlobalExtent(),n=Math.min(t[0],t[1]),i=Math.min(e[0],e[1]),r=Math.max(t[0],t[1])-n,o=Math.max(e[0],e[1])-i;return new Ji(n,i,r,o)},e}(hS),fS=function(t){function e(e,n,i,r,o){var a=t.call(this,e,n,i)||this;return a.index=0,a.type=r||"value",a.position=o||"bottom",a}return n(e,t),e.prototype.isHorizontal=function(){var t=this.position;return"top"===t||"bottom"===t},e.prototype.getGlobalExtent=function(t){var e=this.getExtent();return e[0]=this.toGlobalCoord(e[0]),e[1]=this.toGlobalCoord(e[1]),t&&e[0]>e[1]&&e.reverse(),e},e.prototype.pointToData=function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},e.prototype.setCategorySortInfo=function(t){if("category"!==this.type)return!1;this.model.option.categorySortInfo=t,this.scale.setSortInfo(t)},e}(tx);function gS(t,e,n){n=n||{};var i=t.coordinateSystem,r=e.axis,o={},a=r.getAxesOnZeroOf()[0],s=r.position,l=a?"onZero":s,u=r.dim,h=i.getRect(),c=[h.x,h.x+h.width,h.y,h.y+h.height],p={left:0,right:1,top:0,bottom:1,onZero:2},d=e.get("offset")||0,f="x"===u?[c[2]-d,c[3]+d]:[c[0]-d,c[1]+d];if(a){var g=a.toGlobalCoord(a.dataToCoord(0));f[p.onZero]=Math.max(Math.min(g,f[1]),f[0])}o.position=["y"===u?f[p[l]]:c[0],"x"===u?f[p[l]]:c[3]],o.rotation=Math.PI/2*("x"===u?0:1);o.labelDirection=o.tickDirection=o.nameDirection={top:-1,bottom:1,left:-1,right:1}[s],o.labelOffset=a?f[p[s]]-f[p.onZero]:0,e.get(["axisTick","inside"])&&(o.tickDirection=-o.tickDirection),nt(n.labelInside,e.get(["axisLabel","inside"]))&&(o.labelDirection=-o.labelDirection);var v=e.get(["axisLabel","rotate"]);return o.labelRotate="top"===l?-v:v,o.z2=1,o}function vS(t){return"cartesian2d"===t.get("coordinateSystem")}function yS(t){var e={xAxisModel:null,yAxisModel:null};return E(e,(function(n,i){var r=i.replace(/Model$/,""),o=t.getReferringComponents(r,vo).models[0];e[i]=o})),e}var mS=Math.log;function _S(t,e,n){var i=Nm.prototype,r=i.getTicks.call(n),o=i.getTicks.call(n,!0),a=r.length-1,s=i.getInterval.call(n),l=g_(t,e),u=l.extent,h=l.fixMin,c=l.fixMax;if("log"===t.type){var p=mS(t.base);u=[mS(u[0])/p,mS(u[1])/p]}t.setExtent(u[0],u[1]),t.calcNiceExtent({splitNumber:a,fixMin:h,fixMax:c});var d=i.getExtent.call(t);h&&(u[0]=d[0]),c&&(u[1]=d[1]);var f=i.getInterval.call(t),g=u[0],v=u[1];if(h&&c)f=(v-g)/a;else if(h)for(v=u[0]+f*a;vu[0]&&isFinite(g)&&isFinite(u[0]);)f=Tm(f),g=u[1]-f*a;else{t.getTicks().length-1>a&&(f=Tm(f));var y=f*a;(g=kr((v=Math.ceil(u[1]/f)*f)-y))<0&&u[0]>=0?(g=0,v=kr(y)):v>0&&u[1]<=0&&(v=0,g=-kr(y))}var m=(r[0].value-o[0].value)/s,_=(r[a].value-o[a].value)/s;i.setExtent.call(t,g+f*m,v+f*_),i.setInterval.call(t,f),(m||_)&&i.setNiceExtent.call(t,g+f,v-f)}var xS=function(){function t(t,e,n){this.type="grid",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=cS,this._initCartesian(t,e,n),this.model=t}return t.prototype.getRect=function(){return this._rect},t.prototype.update=function(t,e){var n=this._axesMap;function i(t){var e,n=F(t),i=n.length;if(i){for(var r=[],o=i-1;o>=0;o--){var a=t[+n[o]],s=a.model,l=a.scale;Cm(l)&&s.get("alignTicks")&&null==s.get("interval")?r.push(a):(v_(l,s),Cm(l)&&(e=a))}r.length&&(e||v_((e=r.pop()).scale,e.model),E(r,(function(t){_S(t.scale,t.model,e.scale)})))}}this._updateScale(t,this.model),i(n.x),i(n.y);var r={};E(n.x,(function(t){bS(n,"y",t,r)})),E(n.y,(function(t){bS(n,"x",t,r)})),this.resize(this.model,e)},t.prototype.resize=function(t,e,n){var i=t.getBoxLayoutParams(),r=!n&&t.get("containLabel"),o=Yc(i,{width:e.getWidth(),height:e.getHeight()});this._rect=o;var a=this._axesList;function s(){E(a,(function(t){var e=t.isHorizontal(),n=e?[0,o.width]:[0,o.height],i=t.inverse?1:0;t.setExtent(n[i],n[1-i]),function(t,e){var n=t.getExtent(),i=n[0]+n[1];t.toGlobalCoord="x"===t.dim?function(t){return t+e}:function(t){return i-t+e},t.toLocalCoord="x"===t.dim?function(t){return t-e}:function(t){return i-t+e}}(t,e?o.x:o.y)}))}s(),r&&(E(a,(function(t){if(!t.model.get(["axisLabel","inside"])){var e=function(t){var e=t.model,n=t.scale;if(e.get(["axisLabel","show"])&&!n.isBlank()){var i,r,o=n.getExtent();r=n instanceof Om?n.count():(i=n.getTicks()).length;var a,s=t.getLabelModel(),l=m_(t),u=1;r>40&&(u=Math.ceil(r/40));for(var h=0;h0&&i>0||n<0&&i<0)}(t)}var MS=Math.PI,CS=function(){function t(t,e){this.group=new _r,this.opt=e,this.axisModel=t,A(e,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0,handleAutoShown:function(){return!0}});var n=new _r({x:e.position[0],y:e.position[1],rotation:e.rotation});n.updateTransform(),this._transformGroup=n}return t.prototype.hasBuilder=function(t){return!!IS[t]},t.prototype.add=function(t){IS[t](this.opt,this.axisModel,this.group,this._transformGroup)},t.prototype.getGroup=function(){return this.group},t.innerTextLayout=function(t,e,n){var i,r,o=Er(e-t);return zr(o)?(r=n>0?"top":"bottom",i="center"):zr(o-MS)?(r=n>0?"bottom":"top",i="center"):(r="middle",i=o>0&&o0?"right":"left":n>0?"left":"right"),{rotation:o,textAlign:i,textVerticalAlign:r}},t.makeAxisEventDataBase=function(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e},t.isLabelSilent=function(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)},t}(),IS={axisLine:function(t,e,n,i){var r=e.get(["axisLine","show"]);if("auto"===r&&t.handleAutoShown&&(r=t.handleAutoShown("axisLine")),r){var o=e.axis.getExtent(),a=i.transform,s=[o[0],0],l=[o[1],0];a&&(Et(s,s,a),Et(l,l,a));var u=k({lineCap:"round"},e.getModel(["axisLine","lineStyle"]).getLineStyle()),h=new vu({subPixelOptimize:!0,shape:{x1:s[0],y1:s[1],x2:l[0],y2:l[1]},style:u,strokeContainThreshold:t.strokeContainThreshold||5,silent:!0,z2:1});h.anid="line",n.add(h);var c=e.get(["axisLine","symbol"]);if(null!=c){var p=e.get(["axisLine","symbolSize"]);Z(c)&&(c=[c,c]),(Z(p)||X(p))&&(p=[p,p]);var d=Kg(e.get(["axisLine","symbolOffset"])||0,p),f=p[0],g=p[1];E([{rotate:t.rotation+Math.PI/2,offset:d[0],r:0},{rotate:t.rotation-Math.PI/2,offset:d[1],r:Math.sqrt((s[0]-l[0])*(s[0]-l[0])+(s[1]-l[1])*(s[1]-l[1]))}],(function(e,i){if("none"!==c[i]&&null!=c[i]){var r=jg(c[i],-f/2,-g/2,f,g,u.stroke,!0),o=e.r+e.offset;r.attr({rotation:e.rotate,x:s[0]+o*Math.cos(t.rotation),y:s[1]-o*Math.sin(t.rotation),silent:!0,z2:11}),n.add(r)}}))}}},axisTickLabel:function(t,e,n,i){var r=function(t,e,n,i){var r=n.axis,o=n.getModel("axisTick"),a=o.get("show");"auto"===a&&i.handleAutoShown&&(a=i.handleAutoShown("axisTick"));if(!a||r.scale.isBlank())return;for(var s=o.getModel("lineStyle"),l=i.tickDirection*o.get("length"),u=AS(r.getTicksCoords(),e.transform,l,A(s.getLineStyle(),{stroke:n.get(["axisLine","lineStyle","color"])}),"ticks"),h=0;hc[1]?-1:1,d=["start"===s?c[0]-p*h:"end"===s?c[1]+p*h:(c[0]+c[1])/2,kS(s)?t.labelOffset+l*h:0],f=e.get("nameRotate");null!=f&&(f=f*MS/180),kS(s)?o=CS.innerTextLayout(t.rotation,null!=f?f:t.rotation,l):(o=function(t,e,n,i){var r,o,a=Er(n-t),s=i[0]>i[1],l="start"===e&&!s||"start"!==e&&s;zr(a-MS/2)?(o=l?"bottom":"top",r="center"):zr(a-1.5*MS)?(o=l?"top":"bottom",r="center"):(o="middle",r=a<1.5*MS&&a>MS/2?l?"left":"right":l?"right":"left");return{rotation:a,textAlign:r,textVerticalAlign:o}}(t.rotation,s,f||0,c),null!=(a=t.axisNameAvailableWidth)&&(a=Math.abs(a/Math.sin(o.rotation)),!isFinite(a)&&(a=null)));var g=u.getFont(),v=e.get("nameTruncate",!0)||{},y=v.ellipsis,m=nt(t.nameTruncateMaxWidth,v.maxWidth,a),_=new gs({x:d[0],y:d[1],rotation:o.rotation,silent:CS.isLabelSilent(e),style:bh(u,{text:r,font:g,overflow:"truncate",width:m,ellipsis:y,fill:u.getTextColor()||e.get(["axisLine","lineStyle","color"]),align:u.get("align")||o.textAlign,verticalAlign:u.get("verticalAlign")||o.textVerticalAlign}),z2:1});if(fh({el:_,componentModel:e,itemName:r}),_.__fullText=r,_.anid="name",e.get("triggerEvent")){var x=CS.makeAxisEventDataBase(e);x.targetType="axisName",x.name=r,Ds(_).eventData=x}i.add(_),_.updateTransform(),n.add(_),_.decomposeTransform()}}};function TS(t){t&&(t.ignore=!0)}function DS(t,e){var n=t&&t.getBoundingRect().clone(),i=e&&e.getBoundingRect().clone();if(n&&i){var r=Ii([]);return Ai(r,r,-t.rotation),n.applyTransform(Di([],r,t.getLocalTransform())),i.applyTransform(Di([],r,e.getLocalTransform())),n.intersect(i)}}function kS(t){return"middle"===t||"center"===t}function AS(t,e,n,i,r){for(var o=[],a=[],s=[],l=0;l=0||t===e}function OS(t){var e=RS(t);if(e){var n=e.axisPointerModel,i=e.axis.scale,r=n.option,o=n.get("status"),a=n.get("value");null!=a&&(a=i.parse(a));var s=NS(n);null==o&&(r.status=s?"show":"hide");var l=i.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==a||a>l[1])&&(a=l[1]),aa)return!0;if(o){var s=RS(t).seriesDataCount,l=i.getExtent();return Math.abs(l[0]-l[1])/s>a}return!1}return!0===n},t.prototype.makeElOption=function(t,e,n,i,r){},t.prototype.createPointerEl=function(t,e,n,i){var r=e.pointer;if(r){var o=qS(t).pointerEl=new yh[r.type](KS(e.pointer));t.add(o)}},t.prototype.createLabelEl=function(t,e,n,i){if(e.label){var r=qS(t).labelEl=new gs(KS(e.label));t.add(r),tM(r,i)}},t.prototype.updatePointerEl=function(t,e,n){var i=qS(t).pointerEl;i&&e.pointer&&(i.setStyle(e.pointer.style),n(i,{shape:e.pointer.shape}))},t.prototype.updateLabelEl=function(t,e,n,i){var r=qS(t).labelEl;r&&(r.setStyle(e.label.style),n(r,{x:e.label.x,y:e.label.y}),tM(r,i))},t.prototype._renderHandle=function(t){if(!this._dragging&&this.updateHandleTransform){var e,n=this._axisPointerModel,i=this._api.getZr(),r=this._handle,o=n.getModel("handle"),a=n.get("status");if(!o.get("show")||!a||"hide"===a)return r&&i.remove(r),void(this._handle=null);this._handle||(e=!0,r=this._handle=ch(o.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){ie(t.event)},onmousedown:$S(this._onHandleDragMove,this,0,0),drift:$S(this._onHandleDragMove,this),ondragend:$S(this._onHandleDragEnd,this)}),i.add(r)),nM(r,n,!1),r.setStyle(o.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var s=o.get("size");G(s)||(s=[s,s]),r.scaleX=s[0]/2,r.scaleY=s[1]/2,qf(this,"_doDispatchAxisPointer",o.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,e)}},t.prototype._moveHandleToValue=function(t,e){QS(this._axisPointerModel,!e&&this._moveAnimation,this._handle,eM(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},t.prototype._onHandleDragMove=function(t,e){var n=this._handle;if(n){this._dragging=!0;var i=this.updateHandleTransform(eM(n),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=i,n.stopAnimation(),n.attr(eM(i)),qS(n).lastProp=null,this._doDispatchAxisPointer()}},t.prototype._doDispatchAxisPointer=function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},t.prototype._onHandleDragEnd=function(){if(this._dragging=!1,this._handle){var t=this._axisPointerModel.get("value");this._moveHandleToValue(t),this._api.dispatchAction({type:"hideTip"})}},t.prototype.clear=function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),n=this._group,i=this._handle;e&&n&&(this._lastGraphicKey=null,n&&e.remove(n),i&&e.remove(i),this._group=null,this._handle=null,this._payloadInfo=null),Kf(this,"_doDispatchAxisPointer")},t.prototype.doClear=function(){},t.prototype.buildLabel=function(t,e,n){return{x:t[n=n||0],y:t[1-n],width:e[n],height:e[1-n]}},t}());function sM(t,e){var n={};return n[e.dim+"AxisIndex"]=e.index,t.getCartesian(n)}var lM={line:function(t,e,n){var i,r,o;return{type:"Line",subPixelOptimize:!0,shape:(i=[e,n[0]],r=[e,n[1]],o=uM(t),{x1:i[o=o||0],y1:i[1-o],x2:r[o],y2:r[1-o]})}},shadow:function(t,e,n){var i,r,o,a=Math.max(1,t.getBandWidth()),s=n[1]-n[0];return{type:"Rect",shape:(i=[e-a/2,n[0]],r=[a,s],o=uM(t),{x:i[o=o||0],y:i[1-o],width:r[o],height:r[1-o]})}}};function uM(t){return"x"===t.dim?0:1}var hM=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="axisPointer",e.defaultOption={show:"auto",z:50,type:"line",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}},e}(Jc),cM=co(),pM=E;function dM(t,e,n){if(!r.node){var i=e.getZr();cM(i).records||(cM(i).records={}),function(t,e){if(cM(t).initialized)return;function n(n,i){t.on(n,(function(n){var r=function(t){var e={showTip:[],hideTip:[]},n=function(i){var r=e[i.type];r?r.push(i):(i.dispatchAction=n,t.dispatchAction(i))};return{dispatchAction:n,pendings:e}}(e);pM(cM(t).records,(function(t){t&&i(t,n,r.dispatchAction)})),function(t,e){var n,i=t.showTip.length,r=t.hideTip.length;i?n=t.showTip[i-1]:r&&(n=t.hideTip[r-1]);n&&(n.dispatchAction=null,e.dispatchAction(n))}(r.pendings,e)}))}cM(t).initialized=!0,n("click",W(gM,"click")),n("mousemove",W(gM,"mousemove")),n("globalout",fM)}(i,e),(cM(i).records[t]||(cM(i).records[t]={})).handler=n}}function fM(t,e,n){t.handler("leave",null,n)}function gM(t,e,n,i){e.handler(t,n,i)}function vM(t,e){if(!r.node){var n=e.getZr();(cM(n).records||{})[t]&&(cM(n).records[t]=null)}}var yM=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=e.getComponent("tooltip"),r=t.get("triggerOn")||i&&i.get("triggerOn")||"mousemove|click";dM("axisPointer",n,(function(t,e,n){"none"!==r&&("leave"===t||r.indexOf(t)>=0)&&n({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})}))},e.prototype.remove=function(t,e){vM("axisPointer",e)},e.prototype.dispose=function(t,e){vM("axisPointer",e)},e.type="axisPointer",e}(Nf);function mM(t,e){var n,i=[],r=t.seriesIndex;if(null==r||!(n=e.getSeriesByIndex(r)))return{point:[]};var o=n.getData(),a=ho(o,t);if(null==a||a<0||G(a))return{point:[]};var s=o.getItemGraphicEl(a),l=n.coordinateSystem;if(n.getTooltipPosition)i=n.getTooltipPosition(a)||[];else if(l&&l.dataToPoint)if(t.isStacked){var u=l.getBaseAxis(),h=l.getOtherAxis(u).dim,c=u.dim,p="x"===h||"radius"===h?1:0,d=o.mapDimension(c),f=[];f[p]=o.get(d,a),f[1-p]=o.get(o.getCalculationInfo("stackResultDimension"),a),i=l.dataToPoint(f)||[]}else i=l.dataToPoint(o.getValues(z(l.dimensions,(function(t){return o.mapDimension(t)})),a))||[];else if(s){var g=s.getBoundingRect().clone();g.applyTransform(s.transform),i=[g.x+g.width/2,g.y+g.height/2]}return{point:i,el:s}}var _M=co();function xM(t,e,n){var i=t.currTrigger,r=[t.x,t.y],o=t,a=t.dispatchAction||H(n.dispatchAction,n),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){CM(r)&&(r=mM({seriesIndex:o.seriesIndex,dataIndex:o.dataIndex},e).point);var l=CM(r),u=o.axesInfo,h=s.axesInfo,c="leave"===i||CM(r),p={},d={},f={list:[],map:{}},g={showPointer:W(bM,d),showTooltip:W(SM,f)};E(s.coordSysMap,(function(t,e){var n=l||t.containPoint(r);E(s.coordSysAxesInfo[e],(function(t,e){var i=t.axis,o=function(t,e){for(var n=0;n<(t||[]).length;n++){var i=t[n];if(e.axis.dim===i.axisDim&&e.axis.model.componentIndex===i.axisIndex)return i}}(u,t);if(!c&&n&&(!u||o)){var a=o&&o.value;null!=a||l||(a=i.pointToData(r)),null!=a&&wM(t,a,g,!1,p)}}))}));var v={};return E(h,(function(t,e){var n=t.linkGroup;n&&!d[e]&&E(n.axesInfo,(function(e,i){var r=d[i];if(e!==t&&r){var o=r.value;n.mapper&&(o=t.axis.scale.parse(n.mapper(o,MM(e),MM(t)))),v[t.key]=o}}))})),E(v,(function(t,e){wM(h[e],t,g,!0,p)})),function(t,e,n){var i=n.axesInfo=[];E(e,(function(e,n){var r=e.axisPointerModel.option,o=t[n];o?(!e.useHandle&&(r.status="show"),r.value=o.value,r.seriesDataIndices=(o.payloadBatch||[]).slice()):!e.useHandle&&(r.status="hide"),"show"===r.status&&i.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:r.value})}))}(d,h,p),function(t,e,n,i){if(CM(e)||!t.list.length)return void i({type:"hideTip"});var r=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};i({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:n.tooltipOption,position:n.position,dataIndexInside:r.dataIndexInside,dataIndex:r.dataIndex,seriesIndex:r.seriesIndex,dataByCoordSys:t.list})}(f,r,t,a),function(t,e,n){var i=n.getZr(),r="axisPointerLastHighlights",o=_M(i)[r]||{},a=_M(i)[r]={};E(t,(function(t,e){var n=t.axisPointerModel.option;"show"===n.status&&E(n.seriesDataIndices,(function(t){var e=t.seriesIndex+" | "+t.dataIndex;a[e]=t}))}));var s=[],l=[];E(o,(function(t,e){!a[e]&&l.push(t)})),E(a,(function(t,e){!o[e]&&s.push(t)})),l.length&&n.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:l}),s.length&&n.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:s})}(h,0,n),p}}function wM(t,e,n,i,r){var o=t.axis;if(!o.scale.isBlank()&&o.containData(e))if(t.involveSeries){var a=function(t,e){var n=e.axis,i=n.dim,r=t,o=[],a=Number.MAX_VALUE,s=-1;return E(e.seriesModels,(function(e,l){var u,h,c=e.getData().mapDimensionsAll(i);if(e.getAxisTooltipData){var p=e.getAxisTooltipData(c,t,n);h=p.dataIndices,u=p.nestestValue}else{if(!(h=e.getData().indicesOfNearest(c[0],t,"category"===n.type?.5:null)).length)return;u=e.getData().get(c[0],h[0])}if(null!=u&&isFinite(u)){var d=t-u,f=Math.abs(d);f<=a&&((f=0&&s<0)&&(a=f,s=d,r=u,o.length=0),E(h,(function(t){o.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})})))}})),{payloadBatch:o,snapToValue:r}}(e,t),s=a.payloadBatch,l=a.snapToValue;s[0]&&null==r.seriesIndex&&k(r,s[0]),!i&&t.snap&&o.containData(l)&&null!=l&&(e=l),n.showPointer(t,e,s),n.showTooltip(t,a,l)}else n.showPointer(t,e)}function bM(t,e,n,i){t[e.key]={value:n,payloadBatch:i}}function SM(t,e,n,i){var r=n.payloadBatch,o=e.axis,a=o.model,s=e.axisPointerModel;if(e.triggerTooltip&&r.length){var l=e.coordSys.model,u=ES(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:o.dim,axisIndex:a.componentIndex,axisType:a.type,axisId:a.id,value:i,valueLabelOpt:{precision:s.get(["label","precision"]),formatter:s.get(["label","formatter"])},seriesDataIndices:r.slice()})}}function MM(t){var e=t.axis.model,n={},i=n.axisDim=t.axis.dim;return n.axisIndex=n[i+"AxisIndex"]=e.componentIndex,n.axisName=n[i+"AxisName"]=e.name,n.axisId=n[i+"AxisId"]=e.id,n}function CM(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function IM(t){BS.registerAxisPointerClass("CartesianAxisPointer",aM),t.registerComponentModel(hM),t.registerComponentView(yM),t.registerPreprocessor((function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!G(e)&&(t.axisPointer.link=[e])}})),t.registerProcessor(t.PRIORITY.PROCESSOR.STATISTIC,(function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=PS(t,e)})),t.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},xM)}function TM(t,e){var n;return E(e,(function(e){null!=t[e]&&"auto"!==t[e]&&(n=!0)})),n}var DM=["transition","enterFrom","leaveTo"],kM=DM.concat(["enterAnimation","updateAnimation","leaveAnimation"]);function AM(t,e,n){if(n&&(!t[n]&&e[n]&&(t[n]={}),t=t[n],e=e[n]),t&&e)for(var i=n?DM:kM,r=0;r0&&(a.during=s?H(GM,{el:e,userDuring:s}):null,a.setToFinal=!0,a.scope=t),k(a,n[o]),a}function BM(t,e,n,i){var r=(i=i||{}).dataIndex,o=i.isInit,a=i.clearStyle,s=n.isAnimationEnabled(),l=EM(t),u=e.style;l.userDuring=e.during;var h={},c={};if(function(t,e,n){for(var i=0;i=0)){var c=t.getAnimationStyleProps(),p=c?c.style:null;if(p){!r&&(r=i.style={});var d=F(n);for(u=0;u0&&t.animateFrom(p,d)}else!function(t,e,n,i,r){if(r){var o=zM("update",t,e,i,n);o.duration>0&&t.animateFrom(r,o)}}(t,e,r||0,n,h);VM(t,e),u?t.dirty():t.markRedraw()}function VM(t,e){for(var n=EM(t).leaveToProps,i=0;i=0){!o&&(o=i[t]={});var p=F(a);for(h=0;h=0;l--){var p,d,f;if(f=null!=(d=so((p=n[l]).id,null))?r.get(d):null){var g=f.parent,v=(c=$M(g),{}),y=Xc(f,p,g===i?{width:o,height:a}:{width:c.width,height:c.height},null,{hv:p.hv,boundingMode:p.bounding},v);if(!$M(f).isNew&&y){for(var m=p.transition,_={},x=0;x=0)?_[w]=b:f[w]=b}zu(f,_,t,0)}else f.attr(v)}}},e.prototype._clear=function(){var t=this,e=this._elMap;e.each((function(n){eC(n,$M(n).option,e,t._lastGraphicModel)})),this._elMap=dt()},e.prototype.dispose=function(){this._clear()},e.type="graphic",e}(Nf);function JM(t){var e=yt(KM,t)?KM[t]:$u(t);var n=new e({});return $M(n).type=t,n}function tC(t,e,n,i){var r=JM(n);return e.add(r),i.set(t,r),$M(r).id=t,$M(r).isNew=!0,r}function eC(t,e,n,i){t&&t.parent&&("group"===t.type&&t.traverse((function(t){eC(t,e,n,i)})),function(t,e,n,i){if(t){var r=t.parent,o=EM(t).leaveToProps;if(o){var a=zM("update",t,e,n,0);a.done=function(){r.remove(t),i&&i()},t.animateTo(o,a)}else r.remove(t),i&&i()}}(t,e,i),n.removeKey($M(t).id))}function nC(t,e,n,i){t.isGroup||E([["cursor",ta.prototype.cursor],["zlevel",i||0],["z",n||0],["z2",0]],(function(n){var i=n[0];yt(e,i)?t[i]=it(e[i],n[1]):null==t[i]&&(t[i]=n[1])})),E(F(e),(function(n){if(0===n.indexOf("on")){var i=e[n];t[n]=U(i)?i:null}})),yt(e,"draggable")&&(t.draggable=e.draggable),null!=e.name&&(t.name=e.name),null!=e.id&&(t.id=e.id)}var iC=["x","y","radius","angle","single"],rC=["cartesian2d","polar","singleAxis"];function oC(t){return t+"Axis"}function aC(t,e){var n,i=dt(),r=[],o=dt();t.eachComponent({mainType:"dataZoom",query:e},(function(t){o.get(t.uid)||s(t)}));do{n=!1,t.eachComponent("dataZoom",a)}while(n);function a(t){!o.get(t.uid)&&function(t){var e=!1;return t.eachTargetAxis((function(t,n){var r=i.get(t);r&&r[n]&&(e=!0)})),e}(t)&&(s(t),n=!0)}function s(t){o.set(t.uid,!0),r.push(t),t.eachTargetAxis((function(t,e){(i.get(t)||i.set(t,[]))[e]=!0}))}return r}function sC(t){var e=t.ecModel,n={infoList:[],infoMap:dt()};return t.eachTargetAxis((function(t,i){var r=e.getComponent(oC(t),i);if(r){var o=r.getCoordSysModel();if(o){var a=o.uid,s=n.infoMap.get(a);s||(s={model:o,axisModels:[]},n.infoList.push(s),n.infoMap.set(a,s)),s.axisModels.push(r)}}})),n}var lC=function(){function t(){this.indexList=[],this.indexMap=[]}return t.prototype.add=function(t){this.indexMap[t]||(this.indexList.push(t),this.indexMap[t]=!0)},t}(),uC=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._autoThrottle=!0,n._noTarget=!0,n._rangePropMode=["percent","percent"],n}return n(e,t),e.prototype.init=function(t,e,n){var i=hC(t);this.settledOption=i,this.mergeDefaultAndTheme(t,n),this._doInit(i)},e.prototype.mergeOption=function(t){var e=hC(t);T(this.option,t,!0),T(this.settledOption,e,!0),this._doInit(e)},e.prototype._doInit=function(t){var e=this.option;this._setDefaultThrottle(t),this._updateRangeUse(t);var n=this.settledOption;E([["start","startValue"],["end","endValue"]],(function(t,i){"value"===this._rangePropMode[i]&&(e[t[0]]=n[t[0]]=null)}),this),this._resetTarget()},e.prototype._resetTarget=function(){var t=this.get("orient",!0),e=this._targetAxisInfoMap=dt();this._fillSpecifiedTargetAxis(e)?this._orient=t||this._makeAutoOrientByTargetAxis():(this._orient=t||"horizontal",this._fillAutoTargetAxisByOrient(e,this._orient)),this._noTarget=!0,e.each((function(t){t.indexList.length&&(this._noTarget=!1)}),this)},e.prototype._fillSpecifiedTargetAxis=function(t){var e=!1;return E(iC,(function(n){var i=this.getReferringComponents(oC(n),yo);if(i.specified){e=!0;var r=new lC;E(i.models,(function(t){r.add(t.componentIndex)})),t.set(n,r)}}),this),e},e.prototype._fillAutoTargetAxisByOrient=function(t,e){var n=this.ecModel,i=!0;if(i){var r="vertical"===e?"y":"x";o(n.findComponents({mainType:r+"Axis"}),r)}i&&o(n.findComponents({mainType:"singleAxis",filter:function(t){return t.get("orient",!0)===e}}),"single");function o(e,n){var r=e[0];if(r){var o=new lC;if(o.add(r.componentIndex),t.set(n,o),i=!1,"x"===n||"y"===n){var a=r.getReferringComponents("grid",vo).models[0];a&&E(e,(function(t){r.componentIndex!==t.componentIndex&&a===t.getReferringComponents("grid",vo).models[0]&&o.add(t.componentIndex)}))}}}i&&E(iC,(function(e){if(i){var r=n.findComponents({mainType:oC(e),filter:function(t){return"category"===t.get("type",!0)}});if(r[0]){var o=new lC;o.add(r[0].componentIndex),t.set(e,o),i=!1}}}),this)},e.prototype._makeAutoOrientByTargetAxis=function(){var t;return this.eachTargetAxis((function(e){!t&&(t=e)}),this),"y"===t?"vertical":"horizontal"},e.prototype._setDefaultThrottle=function(t){if(t.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var e=this.ecModel.option;this.option.throttle=e.animation&&e.animationDurationUpdate>0?100:20}},e.prototype._updateRangeUse=function(t){var e=this._rangePropMode,n=this.get("rangeMode");E([["start","startValue"],["end","endValue"]],(function(i,r){var o=null!=t[i[0]],a=null!=t[i[1]];o&&!a?e[r]="percent":!o&&a?e[r]="value":n?e[r]=n[r]:o&&(e[r]="percent")}))},e.prototype.noTarget=function(){return this._noTarget},e.prototype.getFirstTargetAxisModel=function(){var t;return this.eachTargetAxis((function(e,n){null==t&&(t=this.ecModel.getComponent(oC(e),n))}),this),t},e.prototype.eachTargetAxis=function(t,e){this._targetAxisInfoMap.each((function(n,i){E(n.indexList,(function(n){t.call(e,i,n)}))}))},e.prototype.getAxisProxy=function(t,e){var n=this.getAxisModel(t,e);if(n)return n.__dzAxisProxy},e.prototype.getAxisModel=function(t,e){var n=this._targetAxisInfoMap.get(t);if(n&&n.indexMap[e])return this.ecModel.getComponent(oC(t),e)},e.prototype.setRawRange=function(t){var e=this.option,n=this.settledOption;E([["start","startValue"],["end","endValue"]],(function(i){null==t[i[0]]&&null==t[i[1]]||(e[i[0]]=n[i[0]]=t[i[0]],e[i[1]]=n[i[1]]=t[i[1]])}),this),this._updateRangeUse(t)},e.prototype.setCalculatedRange=function(t){var e=this.option;E(["start","startValue","end","endValue"],(function(n){e[n]=t[n]}))},e.prototype.getPercentRange=function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},e.prototype.getValueRange=function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var n=this.findRepresentativeAxisProxy();return n?n.getDataValueWindow():void 0},e.prototype.findRepresentativeAxisProxy=function(t){if(t)return t.__dzAxisProxy;for(var e,n=this._targetAxisInfoMap.keys(),i=0;io&&(e[1-i]=e[i]+u.sign*o),e}function gC(t,e){var n=t[e]-t[1-e];return{span:Math.abs(n),sign:n>0?-1:n<0?1:e?-1:1}}function vC(t,e){return Math.min(null!=e[1]?e[1]:1/0,Math.max(null!=e[0]?e[0]:-1/0,t))}var yC=E,mC=Ar,_C=function(){function t(t,e,n,i){this._dimName=t,this._axisIndex=e,this.ecModel=i,this._dataZoomModel=n}return t.prototype.hostedBy=function(t){return this._dataZoomModel===t},t.prototype.getDataValueWindow=function(){return this._valueWindow.slice()},t.prototype.getDataPercentWindow=function(){return this._percentWindow.slice()},t.prototype.getTargetSeriesModels=function(){var t=[];return this.ecModel.eachSeries((function(e){if(function(t){var e=t.get("coordinateSystem");return L(rC,e)>=0}(e)){var n=oC(this._dimName),i=e.getReferringComponents(n,vo).models[0];i&&this._axisIndex===i.componentIndex&&t.push(e)}}),this),t},t.prototype.getAxisModel=function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},t.prototype.getMinMaxSpan=function(){return I(this._minMaxSpan)},t.prototype.calculateDataWindow=function(t){var e,n=this._dataExtent,i=this.getAxisModel().axis.scale,r=this._dataZoomModel.getRangePropMode(),o=[0,100],a=[],s=[];yC(["start","end"],(function(l,u){var h=t[l],c=t[l+"Value"];"percent"===r[u]?(null==h&&(h=o[u]),c=i.parse(Tr(h,o,n))):(e=!0,h=Tr(c=null==c?n[u]:i.parse(c),n,o)),s[u]=c,a[u]=h})),mC(s),mC(a);var l=this._minMaxSpan;function u(t,e,n,r,o){var a=o?"Span":"ValueSpan";fC(0,t,n,"all",l["min"+a],l["max"+a]);for(var s=0;s<2;s++)e[s]=Tr(t[s],n,r,!0),o&&(e[s]=i.parse(e[s]))}return e?u(s,a,n,o,!1):u(a,s,o,n,!0),{valueWindow:s,percentWindow:a}},t.prototype.reset=function(t){if(t===this._dataZoomModel){var e=this.getTargetSeriesModels();this._dataExtent=function(t,e,n){var i=[1/0,-1/0];yC(n,(function(t){!function(t,e,n){e&&E(S_(e,n),(function(n){var i=e.getApproximateExtent(n);i[0]t[1]&&(t[1]=i[1])}))}(i,t.getData(),e)}));var r=t.getAxisModel(),o=d_(r.axis.scale,r,i).calculate();return[o.min,o.max]}(this,this._dimName,e),this._updateMinMaxSpan();var n=this.calculateDataWindow(t.settledOption);this._valueWindow=n.valueWindow,this._percentWindow=n.percentWindow,this._setAxisModel()}},t.prototype.filterData=function(t,e){if(t===this._dataZoomModel){var n=this._dimName,i=this.getTargetSeriesModels(),r=t.get("filterMode"),o=this._valueWindow;"none"!==r&&yC(i,(function(t){var e=t.getData(),i=e.mapDimensionsAll(n);if(i.length){if("weakFilter"===r){var a=e.getStore(),s=z(i,(function(t){return e.getDimensionIndex(t)}),e);e.filterSelf((function(t){for(var e,n,r,l=0;lo[1];if(h&&!c&&!p)return!0;h&&(r=!0),c&&(e=!0),p&&(n=!0)}return r&&e&&n}))}else yC(i,(function(n){if("empty"===r)t.setData(e=e.map(n,(function(t){return function(t){return t>=o[0]&&t<=o[1]}(t)?t:NaN})));else{var i={};i[n]=o,e.selectRange(i)}}));yC(i,(function(t){e.setApproximateExtent(o,t)}))}}))}},t.prototype._updateMinMaxSpan=function(){var t=this._minMaxSpan={},e=this._dataZoomModel,n=this._dataExtent;yC(["min","max"],(function(i){var r=e.get(i+"Span"),o=e.get(i+"ValueSpan");null!=o&&(o=this.getAxisModel().axis.scale.parse(o)),null!=o?r=Tr(n[0]+o,n,[0,100],!0):null!=r&&(o=Tr(r,[0,100],n,!0)-n[0]),t[i+"Span"]=r,t[i+"ValueSpan"]=o}),this)},t.prototype._setAxisModel=function(){var t=this.getAxisModel(),e=this._percentWindow,n=this._valueWindow;if(e){var i=Or(n,[0,500]);i=Math.min(i,20);var r=t.axis.scale.rawExtentInfo;0!==e[0]&&r.setDeterminedMinMax("min",+n[0].toFixed(i)),100!==e[1]&&r.setDeterminedMinMax("max",+n[1].toFixed(i)),r.freeze()}},t}();var xC={getTargetSeries:function(t){function e(e){t.eachComponent("dataZoom",(function(n){n.eachTargetAxis((function(i,r){var o=t.getComponent(oC(i),r);e(i,r,o,n)}))}))}e((function(t,e,n,i){n.__dzAxisProxy=null}));var n=[];e((function(e,i,r,o){r.__dzAxisProxy||(r.__dzAxisProxy=new _C(e,i,o,t),n.push(r.__dzAxisProxy))}));var i=dt();return E(n,(function(t){E(t.getTargetSeriesModels(),(function(t){i.set(t.uid,t)}))})),i},overallReset:function(t,e){t.eachComponent("dataZoom",(function(t){t.eachTargetAxis((function(e,n){t.getAxisProxy(e,n).reset(t)})),t.eachTargetAxis((function(n,i){t.getAxisProxy(n,i).filterData(t,e)}))})),t.eachComponent("dataZoom",(function(t){var e=t.findRepresentativeAxisProxy();if(e){var n=e.getDataPercentWindow(),i=e.getDataValueWindow();t.setCalculatedRange({start:n[0],end:n[1],startValue:i[0],endValue:i[1]})}}))}};var wC=!1;function bC(t){wC||(wC=!0,t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER,xC),function(t){t.registerAction("dataZoom",(function(t,e){E(aC(e,t),(function(e){e.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})}))}))}(t),t.registerSubTypeDefaulter("dataZoom",(function(){return"slider"})))}function SC(t){t.registerComponentModel(cC),t.registerComponentView(dC),bC(t)}var MC=function(){},CC={};function IC(t,e){CC[t]=e}function TC(t){return CC[t]}var DC=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.optionUpdated=function(){t.prototype.optionUpdated.apply(this,arguments);var e=this.ecModel;E(this.option.feature,(function(t,n){var i=TC(n);i&&(i.getDefaultOption&&(i.defaultOption=i.getDefaultOption(e)),T(t,i.defaultOption))}))},e.type="toolbox",e.layoutMode={type:"box",ignoreSize:!0},e.defaultOption={show:!0,z:6,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1,position:"bottom"}},e}(Jc);function kC(t,e){var n=Ac(e.get("padding")),i=e.getItemStyle(["color","opacity"]);return i.fill=e.get("backgroundColor"),t=new ps({shape:{x:t.x-n[3],y:t.y-n[0],width:t.width+n[1]+n[3],height:t.height+n[0]+n[2],r:e.get("borderRadius")},style:i,silent:!0,z2:-1})}var AC=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n,i){var r=this.group;if(r.removeAll(),t.get("show")){var o=+t.get("itemSize"),a="vertical"===t.get("orient"),s=t.get("feature")||{},l=this._features||(this._features={}),u=[];E(s,(function(t,e){u.push(e)})),new Wy(this._featureNames||[],u).add(h).update(h).remove(W(h,null)).execute(),this._featureNames=u,function(t,e,n){var i=e.getBoxLayoutParams(),r=e.get("padding"),o={width:n.getWidth(),height:n.getHeight()},a=Yc(i,o,r);Zc(e.get("orient"),t,e.get("itemGap"),a.width,a.height),Xc(t,i,o,r)}(r,t,n),r.add(kC(r.getBoundingRect(),t)),a||r.eachChild((function(t){var e=t.__title,i=t.ensureState("emphasis"),a=i.textConfig||(i.textConfig={}),s=t.getTextContent(),l=s&&s.ensureState("emphasis");if(l&&!U(l)&&e){var u=l.style||(l.style={}),h=ir(e,gs.makeFont(u)),c=t.x+r.x,p=!1;t.y+r.y+o+h.height>n.getHeight()&&(a.position="top",p=!0);var d=p?-5-h.height:o+10;c+h.width/2>n.getWidth()?(a.position=["100%",d],u.align="right"):c-h.width/2<0&&(a.position=[0,d],u.align="left")}}))}function h(h,c){var p,d=u[h],f=u[c],g=s[d],v=new Hh(g,t,t.ecModel);if(i&&null!=i.newTitle&&i.featureName===d&&(g.title=i.newTitle),d&&!f){if(function(t){return 0===t.indexOf("my")}(d))p={onclick:v.option.onclick,featureName:d};else{var y=TC(d);if(!y)return;p=new y}l[d]=p}else if(!(p=l[f]))return;p.uid=Gh("toolbox-feature"),p.model=v,p.ecModel=e,p.api=n;var m=p instanceof MC;d||!f?!v.get("show")||m&&p.unusable?m&&p.remove&&p.remove(e,n):(!function(i,s,l){var u,h,c=i.getModel("iconStyle"),p=i.getModel(["emphasis","iconStyle"]),d=s instanceof MC&&s.getIcons?s.getIcons():i.get("icon"),f=i.get("title")||{};Z(d)?(u={})[l]=d:u=d;Z(f)?(h={})[l]=f:h=f;var g=i.iconPaths={};E(u,(function(l,u){var d=ch(l,{},{x:-o/2,y:-o/2,width:o,height:o});d.setStyle(c.getItemStyle()),d.ensureState("emphasis").style=p.getItemStyle();var f=new gs({style:{text:h[u],align:p.get("textAlign"),borderRadius:p.get("textBorderRadius"),padding:p.get("textPadding"),fill:null},ignore:!0});d.setTextContent(f),fh({el:d,componentModel:t,itemName:u,formatterParamsExtra:{title:h[u]}}),d.__title=h[u],d.on("mouseover",(function(){var e=p.getItemStyle(),i=a?null==t.get("right")&&"right"!==t.get("left")?"right":"left":null==t.get("bottom")&&"bottom"!==t.get("top")?"bottom":"top";f.setStyle({fill:p.get("textFill")||e.fill||e.stroke||"#000",backgroundColor:p.get("textBackgroundColor")}),d.setTextConfig({position:p.get("textPosition")||i}),f.ignore=!t.get("showTitle"),n.enterEmphasis(this)})).on("mouseout",(function(){"emphasis"!==i.get(["iconStatus",u])&&n.leaveEmphasis(this),f.hide()})),("emphasis"===i.get(["iconStatus",u])?il:rl)(d),r.add(d),d.on("click",H(s.onclick,s,e,n,u)),g[u]=d}))}(v,p,d),v.setIconStatus=function(t,e){var n=this.option,i=this.iconPaths;n.iconStatus=n.iconStatus||{},n.iconStatus[t]=e,i[t]&&("emphasis"===e?il:rl)(i[t])},p instanceof MC&&p.render&&p.render(v,e,n,i)):m&&p.dispose&&p.dispose(e,n)}},e.prototype.updateView=function(t,e,n,i){E(this._features,(function(t){t instanceof MC&&t.updateView&&t.updateView(t.model,e,n,i)}))},e.prototype.remove=function(t,e){E(this._features,(function(n){n instanceof MC&&n.remove&&n.remove(t,e)})),this.group.removeAll()},e.prototype.dispose=function(t,e){E(this._features,(function(n){n instanceof MC&&n.dispose&&n.dispose(t,e)}))},e.type="toolbox",e}(Nf);var PC=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.onclick=function(t,e){var n=this.model,i=n.get("name")||t.get("title.0.text")||"echarts",o="svg"===e.getZr().painter.getType(),a=o?"svg":n.get("type",!0)||"png",s=e.getConnectedDataURL({type:a,backgroundColor:n.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",connectedBackgroundColor:n.get("connectedBackgroundColor"),excludeComponents:n.get("excludeComponents"),pixelRatio:n.get("pixelRatio")}),l=r.browser;if(U(MouseEvent)&&(l.newEdge||!l.ie&&!l.edge)){var u=document.createElement("a");u.download=i+"."+a,u.target="_blank",u.href=s;var h=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});u.dispatchEvent(h)}else if(window.navigator.msSaveOrOpenBlob||o){var c=s.split(","),p=c[0].indexOf("base64")>-1,d=o?decodeURIComponent(c[1]):c[1];p&&(d=window.atob(d));var f=i+"."+a;if(window.navigator.msSaveOrOpenBlob){for(var g=d.length,v=new Uint8Array(g);g--;)v[g]=d.charCodeAt(g);var y=new Blob([v]);window.navigator.msSaveOrOpenBlob(y,f)}else{var m=document.createElement("iframe");document.body.appendChild(m);var _=m.contentWindow,x=_.document;x.open("image/svg+xml","replace"),x.write(d),x.close(),_.focus(),x.execCommand("SaveAs",!0,f),document.body.removeChild(m)}}else{var w=n.get("lang"),b='',S=window.open();S.document.write(b),S.document.title=i}},e.getDefaultOption=function(t){return{show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:t.getLocaleModel().get(["toolbox","saveAsImage","title"]),type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],lang:t.getLocaleModel().get(["toolbox","saveAsImage","lang"])}},e}(MC),LC="__ec_magicType_stack__",OC=[["line","bar"],["stack"]],RC=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getIcons=function(){var t=this.model,e=t.get("icon"),n={};return E(t.get("type"),(function(t){e[t]&&(n[t]=e[t])})),n},e.getDefaultOption=function(t){return{show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:t.getLocaleModel().get(["toolbox","magicType","title"]),option:{},seriesIndex:{}}},e.prototype.onclick=function(t,e,n){var i=this.model,r=i.get(["seriesIndex",n]);if(NC[n]){var o,a={series:[]};E(OC,(function(t){L(t,n)>=0&&E(t,(function(t){i.setIconStatus(t,"normal")}))})),i.setIconStatus(n,"emphasis"),t.eachComponent({mainType:"series",query:null==r?null:{seriesIndex:r}},(function(t){var e=t.subType,r=t.id,o=NC[n](e,r,t,i);o&&(A(o,t.option),a.series.push(o));var s=t.coordinateSystem;if(s&&"cartesian2d"===s.type&&("line"===n||"bar"===n)){var l=s.getAxesByScale("ordinal")[0];if(l){var u=l.dim+"Axis",h=t.getReferringComponents(u,vo).models[0].componentIndex;a[u]=a[u]||[];for(var c=0;c<=h;c++)a[u][h]=a[u][h]||{};a[u][h].boundaryGap="bar"===n}}}));var s=n;"stack"===n&&(o=T({stack:i.option.title.tiled,tiled:i.option.title.stack},i.option.title),"emphasis"!==i.get(["iconStatus",n])&&(s="tiled")),e.dispatchAction({type:"changeMagicType",currentType:s,newOption:a,newTitle:o,featureName:"magicType"})}},e}(MC),NC={line:function(t,e,n,i){if("bar"===t)return T({id:e,type:"line",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},i.get(["option","line"])||{},!0)},bar:function(t,e,n,i){if("line"===t)return T({id:e,type:"bar",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},i.get(["option","bar"])||{},!0)},stack:function(t,e,n,i){var r=n.get("stack")===LC;if("line"===t||"bar"===t)return i.setIconStatus("stack",r?"normal":"emphasis"),T({id:e,stack:r?"":LC},i.get(["option","stack"])||{},!0)}};Dy({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},(function(t,e){e.mergeOption(t.newOption)}));var EC=new Array(60).join("-"),zC="\t";function BC(t){return t.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}var VC=new RegExp("[\t]+","g");function FC(t,e){var n=t.split(new RegExp("\n*"+EC+"\n*","g")),i={series:[]};return E(n,(function(t,n){if(function(t){if(t.slice(0,t.indexOf("\n")).indexOf(zC)>=0)return!0}(t)){var r=function(t){for(var e=t.split(/\n+/g),n=[],i=z(BC(e.shift()).split(VC),(function(t){return{name:t,data:[]}})),r=0;r6}(t)||o){if(a&&!o){"single"===s.brushMode&&fI(t);var l=I(s);l.brushType=PI(l.brushType,a),l.panelId=a===KC?null:a.panelId,o=t._creatingCover=aI(t,l),t._covers.push(o)}if(o){var u=RI[PI(t._brushType,a)];o.__brushOption.range=u.getCreatingRange(TI(t,o,t._track)),i&&(sI(t,o),u.updateCommon(t,o)),lI(t,o),r={isEnd:i}}}else i&&"single"===s.brushMode&&s.removeOnClick&&pI(t,e,n)&&fI(t)&&(r={isEnd:i,removeOnClick:!0});return r}function PI(t,e){return"auto"===t?e.defaultBrushType:t}var LI={mousedown:function(t){if(this._dragging)OI(this,t);else if(!t.target||!t.target.draggable){DI(t);var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);this._creatingCover=null,(this._creatingPanel=pI(this,t,e))&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(t){var e=t.offsetX,n=t.offsetY,i=this.group.transformCoordToLocal(e,n);if(function(t,e,n){if(t._brushType&&!function(t,e,n){var i=t._zr;return e<0||e>i.getWidth()||n<0||n>i.getHeight()}(t,e.offsetX,e.offsetY)){var i=t._zr,r=t._covers,o=pI(t,e,n);if(!t._dragging)for(var a=0;a=0)&&t(r,i._targetInfoList)}))}return t.prototype.setOutputRanges=function(t,e){return this.matchOutputRanges(t,e,(function(t,e,n){if((t.coordRanges||(t.coordRanges=[])).push(e),!t.coordRange){t.coordRange=e;var i=jI[t.brushType](0,n,e);t.__rangeOffset={offset:KI[t.brushType](i.values,t.range,[1,1]),xyMinMax:i.xyMinMax}}})),t},t.prototype.matchOutputRanges=function(t,e,n){E(t,(function(t){var i=this.findTargetInfo(t,e);i&&!0!==i&&E(i.coordSyses,(function(i){var r=jI[t.brushType](1,i,t.range,!0);n(t,r.values,i,e)}))}),this)},t.prototype.setInputRanges=function(t,e){E(t,(function(t){var n,i,r,o,a,s=this.findTargetInfo(t,e);if(t.range=t.range||[],s&&!0!==s){t.panelId=s.panelId;var l=jI[t.brushType](0,s.coordSys,t.coordRange),u=t.__rangeOffset;t.range=u?KI[t.brushType](l.values,u.offset,(n=l.xyMinMax,i=u.xyMinMax,r=QI(n),o=QI(i),a=[r[0]/o[0],r[1]/o[1]],isNaN(a[0])&&(a[0]=1),isNaN(a[1])&&(a[1]=1),a)):l.values}}),this)},t.prototype.makePanelOpts=function(t,e){return z(this._targetInfoList,(function(n){var i=n.getPanelRect();return{panelId:n.panelId,defaultBrushType:e?e(n):null,clipPath:zI(i),isTargetByCursor:VI(i,t,n.coordSysModel),getLinearBrushOtherExtent:BI(i)}}))},t.prototype.controlSeries=function(t,e,n){var i=this.findTargetInfo(t,n);return!0===i||i&&L(i.coordSyses,e.coordinateSystem)>=0},t.prototype.findTargetInfo=function(t,e){for(var n=this._targetInfoList,i=UI(e,t),r=0;rt[1]&&t.reverse(),t}function UI(t,e){return fo(t,e,{includeMainTypes:HI})}var ZI={grid:function(t,e){var n=t.xAxisModels,i=t.yAxisModels,r=t.gridModels,o=dt(),a={},s={};(n||i||r)&&(E(n,(function(t){var e=t.axis.grid.model;o.set(e.id,e),a[e.id]=!0})),E(i,(function(t){var e=t.axis.grid.model;o.set(e.id,e),s[e.id]=!0})),E(r,(function(t){o.set(t.id,t),a[t.id]=!0,s[t.id]=!0})),o.each((function(t){var r=t.coordinateSystem,o=[];E(r.getCartesians(),(function(t,e){(L(n,t.getAxis("x").model)>=0||L(i,t.getAxis("y").model)>=0)&&o.push(t)})),e.push({panelId:"grid--"+t.id,gridModel:t,coordSysModel:t,coordSys:o[0],coordSyses:o,getPanelRect:XI.grid,xAxisDeclared:a[t.id],yAxisDeclared:s[t.id]})})))},geo:function(t,e){E(t.geoModels,(function(t){var n=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:n,coordSyses:[n],getPanelRect:XI.geo})}))}},YI=[function(t,e){var n=t.xAxisModel,i=t.yAxisModel,r=t.gridModel;return!r&&n&&(r=n.axis.grid.model),!r&&i&&(r=i.axis.grid.model),r&&r===e.gridModel},function(t,e){var n=t.geoModel;return n&&n===e.geoModel}],XI={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(rh(t)),e}},jI={lineX:W(qI,0),lineY:W(qI,1),rect:function(t,e,n,i){var r=t?e.pointToData([n[0][0],n[1][0]],i):e.dataToPoint([n[0][0],n[1][0]],i),o=t?e.pointToData([n[0][1],n[1][1]],i):e.dataToPoint([n[0][1],n[1][1]],i),a=[GI([r[0],o[0]]),GI([r[1],o[1]])];return{values:a,xyMinMax:a}},polygon:function(t,e,n,i){var r=[[1/0,-1/0],[1/0,-1/0]];return{values:z(n,(function(n){var o=t?e.pointToData(n,i):e.dataToPoint(n,i);return r[0][0]=Math.min(r[0][0],o[0]),r[1][0]=Math.min(r[1][0],o[1]),r[0][1]=Math.max(r[0][1],o[0]),r[1][1]=Math.max(r[1][1],o[1]),o})),xyMinMax:r}}};function qI(t,e,n,i){var r=n.getAxis(["x","y"][t]),o=GI(z([0,1],(function(t){return e?r.coordToData(r.toLocalCoord(i[t]),!0):r.toGlobalCoord(r.dataToCoord(i[t]))}))),a=[];return a[t]=o,a[1-t]=[NaN,NaN],{values:o,xyMinMax:a}}var KI={lineX:W($I,0),lineY:W($I,1),rect:function(t,e,n){return[[t[0][0]-n[0]*e[0][0],t[0][1]-n[0]*e[0][1]],[t[1][0]-n[1]*e[1][0],t[1][1]-n[1]*e[1][1]]]},polygon:function(t,e,n){return z(t,(function(t,i){return[t[0]-n[0]*e[i][0],t[1]-n[1]*e[i][1]]}))}};function $I(t,e,n,i){return[e[0]-i[t]*n[0],e[1]-i[t]*n[1]]}function QI(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}var JI,tT,eT=E,nT=Qr+"toolbox-dataZoom_",iT=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n,i){this._brushController||(this._brushController=new oI(n.getZr()),this._brushController.on("brush",H(this._onBrush,this)).mount()),function(t,e,n,i,r){var o=n._isZoomActive;i&&"takeGlobalCursor"===i.type&&(o="dataZoomSelect"===i.key&&i.dataZoomSelectActive);n._isZoomActive=o,t.setIconStatus("zoom",o?"emphasis":"normal");var a=new WI(oT(t),e,{include:["grid"]}).makePanelOpts(r,(function(t){return t.xAxisDeclared&&!t.yAxisDeclared?"lineX":!t.xAxisDeclared&&t.yAxisDeclared?"lineY":"rect"}));n._brushController.setPanels(a).enableBrush(!(!o||!a.length)&&{brushType:"auto",brushStyle:t.getModel("brushStyle").getItemStyle()})}(t,e,this,i,n),function(t,e){t.setIconStatus("back",function(t){return ZC(t).length}(e)>1?"emphasis":"normal")}(t,e)},e.prototype.onclick=function(t,e,n){rT[n].call(this)},e.prototype.remove=function(t,e){this._brushController&&this._brushController.unmount()},e.prototype.dispose=function(t,e){this._brushController&&this._brushController.dispose()},e.prototype._onBrush=function(t){var e=t.areas;if(t.isEnd&&e.length){var n={},i=this.ecModel;this._brushController.updateCovers([]),new WI(oT(this.model),i,{include:["grid"]}).matchOutputRanges(e,i,(function(t,e,n){if("cartesian2d"===n.type){var i=t.brushType;"rect"===i?(r("x",n,e[0]),r("y",n,e[1])):r({lineX:"x",lineY:"y"}[i],n,e)}})),function(t,e){var n=ZC(t);GC(e,(function(e,i){for(var r=n.length-1;r>=0&&!n[r][i];r--);if(r<0){var o=t.queryComponents({mainType:"dataZoom",subType:"select",id:i})[0];if(o){var a=o.getPercentRange();n[0][i]={dataZoomId:i,start:a[0],end:a[1]}}}})),n.push(e)}(i,n),this._dispatchZoomAction(n)}function r(t,e,r){var o=e.getAxis(t),a=o.model,s=function(t,e,n){var i;return n.eachComponent({mainType:"dataZoom",subType:"select"},(function(n){n.getAxisModel(t,e.componentIndex)&&(i=n)})),i}(t,a,i),l=s.findRepresentativeAxisProxy(a).getMinMaxSpan();null==l.minValueSpan&&null==l.maxValueSpan||(r=fC(0,r.slice(),o.scale.getExtent(),0,l.minValueSpan,l.maxValueSpan)),s&&(n[s.id]={dataZoomId:s.id,startValue:r[0],endValue:r[1]})}},e.prototype._dispatchZoomAction=function(t){var e=[];eT(t,(function(t,n){e.push(I(t))})),e.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:e})},e.getDefaultOption=function(t){return{show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:t.getLocaleModel().get(["toolbox","dataZoom","title"]),brushStyle:{borderWidth:0,color:"rgba(210,219,238,0.2)"}}},e}(MC),rT={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(function(t){var e=ZC(t),n=e[e.length-1];e.length>1&&e.pop();var i={};return GC(n,(function(t,n){for(var r=e.length-1;r>=0;r--)if(t=e[r][n]){i[n]=t;break}})),i}(this.ecModel))}};function oT(t){var e={xAxisIndex:t.get("xAxisIndex",!0),yAxisIndex:t.get("yAxisIndex",!0),xAxisId:t.get("xAxisId",!0),yAxisId:t.get("yAxisId",!0)};return null==e.xAxisIndex&&null==e.xAxisId&&(e.xAxisIndex="all"),null==e.yAxisIndex&&null==e.yAxisId&&(e.yAxisIndex="all"),e}JI="dataZoom",tT=function(t){var e=t.getComponent("toolbox",0),n=["feature","dataZoom"];if(e&&null!=e.get(n)){var i=e.getModel(n),r=[],o=fo(t,oT(i));return eT(o.xAxisModels,(function(t){return a(t,"xAxis","xAxisIndex")})),eT(o.yAxisModels,(function(t){return a(t,"yAxis","yAxisIndex")})),r}function a(t,e,n){var o=t.componentIndex,a={type:"select",$fromToolbox:!0,filterMode:i.get("filterMode",!0)||"filter",id:nT+e+o};a[n]=o,r.push(a)}},st(null==wp.get(JI)&&tT),wp.set(JI,tT);var aT=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="tooltip",e.dependencies=["axisPointer"],e.defaultOption={z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"#fff",shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#666",fontSize:14}},e}(Jc);function sT(t){var e=t.get("confine");return null!=e?!!e:"richText"===t.get("renderMode")}function lT(t){if(r.domSupported)for(var e=document.documentElement.style,n=0,i=t.length;n-1?(u+="top:50%",h+="translateY(-50%) rotate("+(a="left"===s?-225:-45)+"deg)"):(u+="left:50%",h+="translateX(-50%) rotate("+(a="top"===s?225:45)+"deg)");var c=a*Math.PI/180,p=l+r,d=p*Math.abs(Math.cos(c))+p*Math.abs(Math.sin(c)),f=e+" solid "+r+"px;";return'
    '}(n,i,r)),Z(t))o.innerHTML=t+a;else if(t){o.innerHTML="",G(t)||(t=[t]);for(var s=0;s=0?this._tryShow(n,i):"leave"===e&&this._hide(i))}),this))},e.prototype._keepShow=function(){var t=this._tooltipModel,e=this._ecModel,n=this._api,i=t.get("triggerOn");if(null!=this._lastX&&null!=this._lastY&&"none"!==i&&"click"!==i){var r=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout((function(){!n.isDisposed()&&r.manuallyShowTip(t,e,n,{x:r._lastX,y:r._lastY,dataByCoordSys:r._lastDataByCoordSys})}))}},e.prototype.manuallyShowTip=function(t,e,n,i){if(i.from!==this.uid&&!r.node&&n.getDom()){var o=CT(i,n);this._ticket="";var a=i.dataByCoordSys,s=function(t,e,n){var i=go(t).queryOptionMap,r=i.keys()[0];if(!r||"series"===r)return;var o,a=mo(e,r,i.get(r),{useDefault:!1,enableAll:!1,enableNone:!1}).models[0];if(!a)return;if(n.getViewOfComponentModel(a).group.traverse((function(e){var n=Ds(e).tooltipConfig;if(n&&n.name===t.name)return o=e,!0})),o)return{componentMainType:r,componentIndex:a.componentIndex,el:o}}(i,e,n);if(s){var l=s.el.getBoundingRect().clone();l.applyTransform(s.el.transform),this._tryShow({offsetX:l.x+l.width/2,offsetY:l.y+l.height/2,target:s.el,position:i.position,positionDefault:"bottom"},o)}else if(i.tooltip&&null!=i.x&&null!=i.y){var u=bT;u.x=i.x,u.y=i.y,u.update(),Ds(u).tooltipConfig={name:null,option:i.tooltip},this._tryShow({offsetX:i.x,offsetY:i.y,target:u},o)}else if(a)this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,dataByCoordSys:a,tooltipOption:i.tooltipOption},o);else if(null!=i.seriesIndex){if(this._manuallyAxisShowTip(t,e,n,i))return;var h=mM(i,e),c=h.point[0],p=h.point[1];null!=c&&null!=p&&this._tryShow({offsetX:c,offsetY:p,target:h.el,position:i.position,positionDefault:"bottom"},o)}else null!=i.x&&null!=i.y&&(n.dispatchAction({type:"updateAxisPointer",x:i.x,y:i.y}),this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,target:n.getZr().findHover(i.x,i.y).target},o))}},e.prototype.manuallyHideTip=function(t,e,n,i){var r=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&r.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=this._lastDataByCoordSys=null,i.from!==this.uid&&this._hide(CT(i,n))},e.prototype._manuallyAxisShowTip=function(t,e,n,i){var r=i.seriesIndex,o=i.dataIndex,a=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=r&&null!=o&&null!=a){var s=e.getSeriesByIndex(r);if(s)if("axis"===MT([s.getData().getItemModel(o),s,(s.coordinateSystem||{}).model],this._tooltipModel).get("trigger"))return n.dispatchAction({type:"updateAxisPointer",seriesIndex:r,dataIndex:o,position:i.position}),!0}},e.prototype._tryShow=function(t,e){var n=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var i=t.dataByCoordSys;if(i&&i.length)this._showAxisTooltip(i,t);else if(n){var r,o;this._lastDataByCoordSys=null,Eg(n,(function(t){return null!=Ds(t).dataIndex?(r=t,!0):null!=Ds(t).tooltipConfig?(o=t,!0):void 0}),!0),r?this._showSeriesItemTooltip(t,r,e):o?this._showComponentItemTooltip(t,o,e):this._hide(e)}else this._lastDataByCoordSys=null,this._hide(e)}},e.prototype._showOrMove=function(t,e){var n=t.get("showDelay");e=H(e,this),clearTimeout(this._showTimout),n>0?this._showTimout=setTimeout(e,n):e()},e.prototype._showAxisTooltip=function(t,e){var n=this._ecModel,i=this._tooltipModel,r=[e.offsetX,e.offsetY],o=MT([e.tooltipOption],i),a=this._renderMode,s=[],l=df("section",{blocks:[],noHeader:!0}),u=[],h=new Sf;E(t,(function(t){E(t.dataByAxis,(function(t){var e=n.getComponent(t.axisDim+"Axis",t.axisIndex),r=t.value;if(e&&null!=r){var o=rM(r,e.axis,n,t.seriesDataIndices,t.valueLabelOpt),c=df("section",{header:o,noHeader:!lt(o),sortBlocks:!0,blocks:[]});l.blocks.push(c),E(t.seriesDataIndices,(function(l){var p=n.getSeriesByIndex(l.seriesIndex),d=l.dataIndexInside,f=p.getDataParams(d);if(!(f.dataIndex<0)){f.axisDim=t.axisDim,f.axisIndex=t.axisIndex,f.axisType=t.axisType,f.axisId=t.axisId,f.axisValue=__(e.axis,{value:r}),f.axisValueLabel=o,f.marker=h.makeTooltipMarker("item",Vc(f.color),a);var g=Nd(p.formatTooltip(d,!0,null)),v=g.frag;if(v){var y=MT([p],i).get("valueFormatter");c.blocks.push(y?k({valueFormatter:y},v):v)}g.text&&u.push(g.text),s.push(f)}}))}}))})),l.blocks.reverse(),u.reverse();var c=e.position,p=o.get("order"),d=_f(l,h,a,p,n.get("useUTC"),o.get("textStyle"));d&&u.unshift(d);var f="richText"===a?"\n\n":"
    ",g=u.join(f);this._showOrMove(o,(function(){this._updateContentNotChangedOnAxis(t,s)?this._updatePosition(o,c,r[0],r[1],this._tooltipContent,s):this._showTooltipContent(o,g,s,Math.random()+"",r[0],r[1],c,null,h)}))},e.prototype._showSeriesItemTooltip=function(t,e,n){var i=this._ecModel,r=Ds(e),o=r.seriesIndex,a=i.getSeriesByIndex(o),s=r.dataModel||a,l=r.dataIndex,u=r.dataType,h=s.getData(u),c=this._renderMode,p=t.positionDefault,d=MT([h.getItemModel(l),s,a&&(a.coordinateSystem||{}).model],this._tooltipModel,p?{position:p}:null),f=d.get("trigger");if(null==f||"item"===f){var g=s.getDataParams(l,u),v=new Sf;g.marker=v.makeTooltipMarker("item",Vc(g.color),c);var y=Nd(s.formatTooltip(l,!1,u)),m=d.get("order"),_=d.get("valueFormatter"),x=y.frag,w=x?_f(_?k({valueFormatter:_},x):x,v,c,m,i.get("useUTC"),d.get("textStyle")):y.text,b="item_"+s.name+"_"+l;this._showOrMove(d,(function(){this._showTooltipContent(d,w,g,b,t.offsetX,t.offsetY,t.position,t.target,v)})),n({type:"showTip",dataIndexInside:l,dataIndex:h.getRawIndex(l),seriesIndex:o,from:this.uid})}},e.prototype._showComponentItemTooltip=function(t,e,n){var i=Ds(e),r=i.tooltipConfig.option||{};if(Z(r)){r={content:r,formatter:r}}var o=[r],a=this._ecModel.getComponent(i.componentMainType,i.componentIndex);a&&o.push(a),o.push({formatter:r.content});var s=t.positionDefault,l=MT(o,this._tooltipModel,s?{position:s}:null),u=l.get("content"),h=Math.random()+"",c=new Sf;this._showOrMove(l,(function(){var n=I(l.get("formatterParams")||{});this._showTooltipContent(l,u,n,h,t.offsetX,t.offsetY,t.position,e,c)})),n({type:"showTip",from:this.uid})},e.prototype._showTooltipContent=function(t,e,n,i,r,o,a,s,l){if(this._ticket="",t.get("showContent")&&t.get("show")){var u=this._tooltipContent;u.setEnterable(t.get("enterable"));var h=t.get("formatter");a=a||t.get("position");var c=e,p=this._getNearestPoint([r,o],n,t.get("trigger"),t.get("borderColor")).color;if(h)if(Z(h)){var d=t.ecModel.get("useUTC"),f=G(n)?n[0]:n;c=h,f&&f.axisType&&f.axisType.indexOf("time")>=0&&(c=cc(f.axisValue,c,d)),c=zc(c,n,!0)}else if(U(h)){var g=H((function(e,i){e===this._ticket&&(u.setContent(i,l,t,p,a),this._updatePosition(t,a,r,o,u,n,s))}),this);this._ticket=i,c=h(n,i,g)}else c=h;u.setContent(c,l,t,p,a),u.show(t,p),this._updatePosition(t,a,r,o,u,n,s)}},e.prototype._getNearestPoint=function(t,e,n,i){return"axis"===n||G(e)?{color:i||("html"===this._renderMode?"#fff":"none")}:G(e)?void 0:{color:i||e.color||e.borderColor}},e.prototype._updatePosition=function(t,e,n,i,r,o,a){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get("position");var u=r.getSize(),h=t.get("align"),c=t.get("verticalAlign"),p=a&&a.getBoundingRect().clone();if(a&&p.applyTransform(a.transform),U(e)&&(e=e([n,i],o,r.el,p,{viewSize:[s,l],contentSize:u.slice()})),G(e))n=Dr(e[0],s),i=Dr(e[1],l);else if(j(e)){var d=e;d.width=u[0],d.height=u[1];var f=Yc(d,{width:s,height:l});n=f.x,i=f.y,h=null,c=null}else if(Z(e)&&a){var g=function(t,e,n,i){var r=n[0],o=n[1],a=Math.ceil(Math.SQRT2*i)+8,s=0,l=0,u=e.width,h=e.height;switch(t){case"inside":s=e.x+u/2-r/2,l=e.y+h/2-o/2;break;case"top":s=e.x+u/2-r/2,l=e.y-o-a;break;case"bottom":s=e.x+u/2-r/2,l=e.y+h+a;break;case"left":s=e.x-r-a,l=e.y+h/2-o/2;break;case"right":s=e.x+u+a,l=e.y+h/2-o/2}return[s,l]}(e,p,u,t.get("borderWidth"));n=g[0],i=g[1]}else{g=function(t,e,n,i,r,o,a){var s=n.getSize(),l=s[0],u=s[1];null!=o&&(t+l+o+2>i?t-=l+o:t+=o);null!=a&&(e+u+a>r?e-=u+a:e+=a);return[t,e]}(n,i,r,s,l,h?null:20,c?null:20);n=g[0],i=g[1]}if(h&&(n-=IT(h)?u[0]/2:"right"===h?u[0]:0),c&&(i-=IT(c)?u[1]/2:"bottom"===c?u[1]:0),sT(t)){g=function(t,e,n,i,r){var o=n.getSize(),a=o[0],s=o[1];return t=Math.min(t+a,i)-a,e=Math.min(e+s,r)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}(n,i,r,s,l);n=g[0],i=g[1]}r.moveTo(n,i)},e.prototype._updateContentNotChangedOnAxis=function(t,e){var n=this._lastDataByCoordSys,i=this._cbParamsList,r=!!n&&n.length===t.length;return r&&E(n,(function(n,o){var a=n.dataByAxis||[],s=(t[o]||{}).dataByAxis||[];(r=r&&a.length===s.length)&&E(a,(function(t,n){var o=s[n]||{},a=t.seriesDataIndices||[],l=o.seriesDataIndices||[];(r=r&&t.value===o.value&&t.axisType===o.axisType&&t.axisId===o.axisId&&a.length===l.length)&&E(a,(function(t,e){var n=l[e];r=r&&t.seriesIndex===n.seriesIndex&&t.dataIndex===n.dataIndex})),i&&E(t.seriesDataIndices,(function(t){var n=t.seriesIndex,o=e[n],a=i[n];o&&a&&a.data!==o.data&&(r=!1)}))}))})),this._lastDataByCoordSys=t,this._cbParamsList=e,!!r},e.prototype._hide=function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},e.prototype.dispose=function(t,e){!r.node&&e.getDom()&&(Kf(this,"_updatePosition"),this._tooltipContent.dispose(),vM("itemTooltip",e))},e.type="tooltip",e}(Nf);function MT(t,e,n){var i,r=e.ecModel;n?(i=new Hh(n,r,r),i=new Hh(e.option,i,r)):i=e;for(var o=t.length-1;o>=0;o--){var a=t[o];a&&(a instanceof Hh&&(a=a.get("tooltip",!0)),Z(a)&&(a={formatter:a}),a&&(i=new Hh(a,i,r)))}return i}function CT(t,e){return t.dispatchAction||H(e.dispatchAction,e)}function IT(t){return"center"===t||"middle"===t}var TT=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.layoutMode={type:"box",ignoreSize:!0},n}return n(e,t),e.type="title",e.defaultOption={z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}},e}(Jc),DT=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){if(this.group.removeAll(),t.get("show")){var i=this.group,r=t.getModel("textStyle"),o=t.getModel("subtextStyle"),a=t.get("textAlign"),s=it(t.get("textBaseline"),t.get("textVerticalAlign")),l=new gs({style:bh(r,{text:t.get("text"),fill:r.getTextColor()},{disableBox:!0}),z2:10}),u=l.getBoundingRect(),h=t.get("subtext"),c=new gs({style:bh(o,{text:h,fill:o.getTextColor(),y:u.height+t.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),p=t.get("link"),d=t.get("sublink"),f=t.get("triggerEvent",!0);l.silent=!p&&!f,c.silent=!d&&!f,p&&l.on("click",(function(){Fc(p,"_"+t.get("target"))})),d&&c.on("click",(function(){Fc(d,"_"+t.get("subtarget"))})),Ds(l).eventData=Ds(c).eventData=f?{componentType:"title",componentIndex:t.componentIndex}:null,i.add(l),h&&i.add(c);var g=i.getBoundingRect(),v=t.getBoxLayoutParams();v.width=g.width,v.height=g.height;var y=Yc(v,{width:n.getWidth(),height:n.getHeight()},t.get("padding"));a||("middle"===(a=t.get("left")||t.get("right"))&&(a="center"),"right"===a?y.x+=y.width:"center"===a&&(y.x+=y.width/2)),s||("center"===(s=t.get("top")||t.get("bottom"))&&(s="middle"),"bottom"===s?y.y+=y.height:"middle"===s&&(y.y+=y.height/2),s=s||"top"),i.x=y.x,i.y=y.y,i.markRedraw();var m={align:a,verticalAlign:s};l.setStyle(m),c.setStyle(m),g=i.getBoundingRect();var _=y.margin,x=t.getItemStyle(["color","opacity"]);x.fill=t.get("backgroundColor");var w=new ps({shape:{x:g.x-_[3],y:g.y-_[0],width:g.width+_[1]+_[3],height:g.height+_[0]+_[2],r:t.get("borderRadius")},style:x,subPixelOptimize:!0,silent:!0});i.add(w)}},e.type="title",e}(Nf);function kT(t,e){if(!t)return!1;for(var n=G(t)?t:[t],i=0;i=0&&(a[o]=+a[o].toFixed(c)),[a,h]}var ET={min:W(NT,"min"),max:W(NT,"max"),average:W(NT,"average"),median:W(NT,"median")};function zT(t,e){var n=t.getData(),i=t.coordinateSystem;if(e&&!function(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}(e)&&!G(e.coord)&&i){var r=i.dimensions,o=BT(e,n,i,t);if((e=I(e)).type&&ET[e.type]&&o.baseAxis&&o.valueAxis){var a=L(r,o.baseAxis.dim),s=L(r,o.valueAxis.dim),l=ET[e.type](n,o.baseDataDim,o.valueDataDim,a,s);e.coord=l[0],e.value=l[1]}else{for(var u=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],h=0;h<2;h++)ET[u[h]]&&(u[h]=HT(n,n.mapDimension(r[h]),u[h]));e.coord=u}}return e}function BT(t,e,n,i){var r={};return null!=t.valueIndex||null!=t.valueDim?(r.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,r.valueAxis=n.getAxis(function(t,e){var n=t.getData().getDimensionInfo(e);return n&&n.coordDim}(i,r.valueDataDim)),r.baseAxis=n.getOtherAxis(r.valueAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim)):(r.baseAxis=i.getBaseAxis(),r.valueAxis=n.getOtherAxis(r.baseAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim),r.valueDataDim=e.mapDimension(r.valueAxis.dim)),r}function VT(t,e){return!(t&&t.containData&&e.coord&&!RT(e))||t.containData(e.coord)}function FT(t,e){return t?function(t,n,i,r){return Vd(r<2?t.coord&&t.coord[r]:t.value,e[r])}:function(t,n,i,r){return Vd(t.value,e[r])}}function HT(t,e,n){if("average"===n){var i=0,r=0;return t.each(e,(function(t,e){isNaN(t)||(i+=t,r++)})),i/r}return"median"===n?t.getMedian(e):t.getDataExtent(e)["max"===n?1:0]}var WT=co(),GT=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(){this.markerGroupMap=dt()},e.prototype.render=function(t,e,n){var i=this,r=this.markerGroupMap;r.each((function(t){WT(t).keep=!1})),e.eachSeries((function(t){var r=LT.getMarkerModelFromSeries(t,i.type);r&&i.renderSeries(t,r,e,n)})),r.each((function(t){!WT(t).keep&&i.group.remove(t.group)}))},e.prototype.markKeep=function(t){WT(t).keep=!0},e.prototype.toggleBlurSeries=function(t,e){var n=this;E(t,(function(t){var i=LT.getMarkerModelFromSeries(t,n.type);i&&i.getData().eachItemGraphicEl((function(t){t&&(e?ol(t):al(t))}))}))},e.type="marker",e}(Nf);function UT(t,e,n){var i=e.coordinateSystem;t.each((function(r){var o,a=t.getItemModel(r),s=Dr(a.get("x"),n.getWidth()),l=Dr(a.get("y"),n.getHeight());if(isNaN(s)||isNaN(l)){if(e.getMarkerPosition)o=e.getMarkerPosition(t.getValues(t.dimensions,r));else if(i){var u=t.get(i.dimensions[0],r),h=t.get(i.dimensions[1],r);o=i.dataToPoint([u,h])}}else o=[s,l];isNaN(s)||(o[0]=s),isNaN(l)||(o[1]=l),t.setItemLayout(r,o)}))}var ZT=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=LT.getMarkerModelFromSeries(t,"markPoint");e&&(UT(e.getData(),t,n),this.markerGroupMap.get(t.id).updateLayout())}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,new Ew),u=function(t,e,n){var i;i=t?z(t&&t.dimensions,(function(t){return k(k({},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{}),{name:t,ordinalMeta:null})})):[{name:"value",type:"float"}];var r=new cm(i,n),o=z(n.get("data"),W(zT,e));t&&(o=V(o,W(VT,t)));var a=FT(!!t,i);return r.initData(o,null,a),r}(r,t,e);e.setData(u),UT(e.getData(),t,i),u.each((function(t){var n=u.getItemModel(t),i=n.getShallow("symbol"),r=n.getShallow("symbolSize"),o=n.getShallow("symbolRotate"),s=n.getShallow("symbolOffset"),l=n.getShallow("symbolKeepAspect");if(U(i)||U(r)||U(o)||U(s)){var h=e.getRawValue(t),c=e.getDataParams(t);U(i)&&(i=i(h,c)),U(r)&&(r=r(h,c)),U(o)&&(o=o(h,c)),U(s)&&(s=s(h,c))}var p=n.getModel("itemStyle").getItemStyle(),d=Rg(a,"color");p.fill||(p.fill=d),u.setItemVisual(t,{symbol:i,symbolSize:r,symbolRotate:o,symbolOffset:s,symbolKeepAspect:l,style:p})})),l.updateData(u),this.group.add(l.group),u.eachItemGraphicEl((function(t){t.traverse((function(t){Ds(t).dataModel=e}))})),this.markKeep(l),l.group.silent=e.get("silent")||t.get("silent")},e.type="markPoint",e}(GT);var YT=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.createMarkerModelFromSeries=function(t,n,i){return new e(t,n,i)},e.type="markLine",e.defaultOption={z:5,symbol:["circle","arrow"],symbolSize:[8,16],symbolOffset:0,precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"},e}(LT),XT=vu.prototype,jT=xu.prototype,qT=function(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.percent=1};!function(t){function e(){return null!==t&&t.apply(this,arguments)||this}n(e,t)}(qT);function KT(t){return isNaN(+t.cpx1)||isNaN(+t.cpy1)}var $T=function(t){function e(e){var n=t.call(this,e)||this;return n.type="ec-line",n}return n(e,t),e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new qT},e.prototype.buildPath=function(t,e){KT(e)?XT.buildPath.call(this,t,e):jT.buildPath.call(this,t,e)},e.prototype.pointAt=function(t){return KT(this.shape)?XT.pointAt.call(this,t):jT.pointAt.call(this,t)},e.prototype.tangentAt=function(t){var e=this.shape,n=KT(e)?[e.x2-e.x1,e.y2-e.y1]:jT.tangentAt.call(this,t);return At(n,n)},e}(ts),QT=["fromSymbol","toSymbol"];function JT(t){return"_"+t+"Type"}function tD(t,e,n){var i=e.getItemVisual(n,t);if(i&&"none"!==i){var r=e.getItemVisual(n,t+"Size"),o=e.getItemVisual(n,t+"Rotate"),a=e.getItemVisual(n,t+"Offset"),s=e.getItemVisual(n,t+"KeepAspect"),l=qg(r),u=Kg(a||0,l),h=jg(i,-l[0]/2+u[0],-l[1]/2+u[1],l[0],l[1],null,s);return h.__specifiedRotation=null==o||isNaN(o)?void 0:+o*Math.PI/180||0,h.name=t,h}}function eD(t,e){t.x1=e[0][0],t.y1=e[0][1],t.x2=e[1][0],t.y2=e[1][1],t.percent=1;var n=e[2];n?(t.cpx1=n[0],t.cpy1=n[1]):(t.cpx1=NaN,t.cpy1=NaN)}var nD=function(t){function e(e,n,i){var r=t.call(this)||this;return r._createLine(e,n,i),r}return n(e,t),e.prototype._createLine=function(t,e,n){var i=t.hostModel,r=function(t){var e=new $T({name:"line",subPixelOptimize:!0});return eD(e.shape,t),e}(t.getItemLayout(e));r.shape.percent=0,Bu(r,{shape:{percent:1}},i,e),this.add(r),E(QT,(function(n){var i=tD(n,t,e);this.add(i),this[JT(n)]=t.getItemVisual(e,n)}),this),this._updateCommonStl(t,e,n)},e.prototype.updateData=function(t,e,n){var i=t.hostModel,r=this.childOfName("line"),o=t.getItemLayout(e),a={shape:{}};eD(a.shape,o),zu(r,a,i,e),E(QT,(function(n){var i=t.getItemVisual(e,n),r=JT(n);if(this[r]!==i){this.remove(this.childOfName(n));var o=tD(n,t,e);this.add(o)}this[r]=i}),this),this._updateCommonStl(t,e,n)},e.prototype.getLinePath=function(){return this.childAt(0)},e.prototype._updateCommonStl=function(t,e,n){var i=t.hostModel,r=this.childOfName("line"),o=n&&n.emphasisLineStyle,a=n&&n.blurLineStyle,s=n&&n.selectLineStyle,l=n&&n.labelStatesModels,u=n&&n.emphasisDisabled,h=n&&n.focus,c=n&&n.blurScope;if(!n||t.hasItemOption){var p=t.getItemModel(e),d=p.getModel("emphasis");o=d.getModel("lineStyle").getLineStyle(),a=p.getModel(["blur","lineStyle"]).getLineStyle(),s=p.getModel(["select","lineStyle"]).getLineStyle(),u=d.get("disabled"),h=d.get("focus"),c=d.get("blurScope"),l=wh(p)}var f=t.getItemVisual(e,"style"),g=f.stroke;r.useStyle(f),r.style.fill=null,r.style.strokeNoScale=!0,r.ensureState("emphasis").style=o,r.ensureState("blur").style=a,r.ensureState("select").style=s,E(QT,(function(t){var e=this.childOfName(t);if(e){e.setColor(g),e.style.opacity=f.opacity;for(var n=0;n0&&(m[0]=-m[0],m[1]=-m[1]);var x=y[0]<0?-1:1;if("start"!==i.__position&&"end"!==i.__position){var w=-Math.atan2(y[1],y[0]);u[0].8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";break;case"start":i.x=-h[0]*f+l[0],i.y=-h[1]*g+l[1],c=h[0]>.8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":i.x=f*x+l[0],i.y=l[1]+b,c=y[0]<0?"right":"left",i.originX=-f*x,i.originY=-b;break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":i.x=_[0],i.y=_[1]+b,c="center",i.originY=-b;break;case"insideEndTop":case"insideEnd":case"insideEndBottom":i.x=-f*x+u[0],i.y=u[1]+b,c=y[0]>=0?"right":"left",i.originX=f*x,i.originY=-b}i.scaleX=i.scaleY=r,i.setStyle({verticalAlign:i.__verticalAlign||p,align:i.__align||c})}}}function S(t,e){var n=t.__specifiedRotation;if(null==n){var i=a.tangentAt(e);t.attr("rotation",(1===e?-1:1)*Math.PI/2-Math.atan2(i[1],i[0]))}else t.attr("rotation",n)}},e}(_r),iD=function(){function t(t){this.group=new _r,this._LineCtor=t||nD}return t.prototype.updateData=function(t){var e=this;this._progressiveEls=null;var n=this,i=n.group,r=n._lineData;n._lineData=t,r||i.removeAll();var o=rD(t);t.diff(r).add((function(n){e._doAdd(t,n,o)})).update((function(n,i){e._doUpdate(r,t,i,n,o)})).remove((function(t){i.remove(r.getItemGraphicEl(t))})).execute()},t.prototype.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl((function(e,n){e.updateLayout(t,n)}),this)},t.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=rD(t),this._lineData=null,this.group.removeAll()},t.prototype.incrementalUpdate=function(t,e){function n(t){t.isGroup||function(t){return t.animators&&t.animators.length>0}(t)||(t.incremental=!0,t.ensureState("emphasis").hoverLayer=!0)}this._progressiveEls=[];for(var i=t.start;i=0&&X(l)&&(l=+l.toFixed(Math.min(f,20))),p.coord[h]=d.coord[h]=l,r=[p,d,{type:a,valueIndex:i.valueIndex,value:l}]}else r=[]}var g=[zT(t,r[0]),zT(t,r[1]),k({},r[2])];return g[2].type=g[2].type||null,T(g[2],g[0]),T(g[2],g[1]),g};function uD(t){return!isNaN(t)&&!isFinite(t)}function hD(t,e,n,i){var r=1-t,o=i.dimensions[t];return uD(e[r])&&uD(n[r])&&e[t]===n[t]&&i.getAxis(o).containData(e[t])}function cD(t,e){if("cartesian2d"===t.type){var n=e[0].coord,i=e[1].coord;if(n&&i&&(hD(1,n,i,t)||hD(0,n,i,t)))return!0}return VT(t,e[0])&&VT(t,e[1])}function pD(t,e,n,i,r){var o,a=i.coordinateSystem,s=t.getItemModel(e),l=Dr(s.get("x"),r.getWidth()),u=Dr(s.get("y"),r.getHeight());if(isNaN(l)||isNaN(u)){if(i.getMarkerPosition)o=i.getMarkerPosition(t.getValues(t.dimensions,e));else{var h=a.dimensions,c=t.get(h[0],e),p=t.get(h[1],e);o=a.dataToPoint([c,p])}if(qw(a,"cartesian2d")){var d=a.getAxis("x"),f=a.getAxis("y");h=a.dimensions;uD(t.get(h[0],e))?o[0]=d.toGlobalCoord(d.getExtent()[n?0:1]):uD(t.get(h[1],e))&&(o[1]=f.toGlobalCoord(f.getExtent()[n?0:1]))}isNaN(l)||(o[0]=l),isNaN(u)||(o[1]=u)}else o=[l,u];t.setItemLayout(e,o)}var dD=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=LT.getMarkerModelFromSeries(t,"markLine");if(e){var i=e.getData(),r=sD(e).from,o=sD(e).to;r.each((function(e){pD(r,e,!0,t,n),pD(o,e,!1,t,n)})),i.each((function(t){i.setItemLayout(t,[r.getItemLayout(t),o.getItemLayout(t)])})),this.markerGroupMap.get(t.id).updateLayout()}}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,new iD);this.group.add(l.group);var u=function(t,e,n){var i;i=t?z(t&&t.dimensions,(function(t){return k(k({},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{}),{name:t,ordinalMeta:null})})):[{name:"value",type:"float"}];var r=new cm(i,n),o=new cm(i,n),a=new cm([],n),s=z(n.get("data"),W(lD,e,t,n));t&&(s=V(s,W(cD,t)));var l=FT(!!t,i);return r.initData(z(s,(function(t){return t[0]})),null,l),o.initData(z(s,(function(t){return t[1]})),null,l),a.initData(z(s,(function(t){return t[2]}))),a.hasItemOption=!0,{from:r,to:o,line:a}}(r,t,e),h=u.from,c=u.to,p=u.line;sD(e).from=h,sD(e).to=c,e.setData(p);var d=e.get("symbol"),f=e.get("symbolSize"),g=e.get("symbolRotate"),v=e.get("symbolOffset");function y(e,n,r){var o=e.getItemModel(n);pD(e,n,r,t,i);var s=o.getModel("itemStyle").getItemStyle();null==s.fill&&(s.fill=Rg(a,"color")),e.setItemVisual(n,{symbolKeepAspect:o.get("symbolKeepAspect"),symbolOffset:it(o.get("symbolOffset",!0),v[r?0:1]),symbolRotate:it(o.get("symbolRotate",!0),g[r?0:1]),symbolSize:it(o.get("symbolSize"),f[r?0:1]),symbol:it(o.get("symbol",!0),d[r?0:1]),style:s})}G(d)||(d=[d,d]),G(f)||(f=[f,f]),G(g)||(g=[g,g]),G(v)||(v=[v,v]),u.from.each((function(t){y(h,t,!0),y(c,t,!1)})),p.each((function(t){var e=p.getItemModel(t).getModel("lineStyle").getLineStyle();p.setItemLayout(t,[h.getItemLayout(t),c.getItemLayout(t)]),null==e.stroke&&(e.stroke=h.getItemVisual(t,"style").fill),p.setItemVisual(t,{fromSymbolKeepAspect:h.getItemVisual(t,"symbolKeepAspect"),fromSymbolOffset:h.getItemVisual(t,"symbolOffset"),fromSymbolRotate:h.getItemVisual(t,"symbolRotate"),fromSymbolSize:h.getItemVisual(t,"symbolSize"),fromSymbol:h.getItemVisual(t,"symbol"),toSymbolKeepAspect:c.getItemVisual(t,"symbolKeepAspect"),toSymbolOffset:c.getItemVisual(t,"symbolOffset"),toSymbolRotate:c.getItemVisual(t,"symbolRotate"),toSymbolSize:c.getItemVisual(t,"symbolSize"),toSymbol:c.getItemVisual(t,"symbol"),style:e})})),l.updateData(p),u.line.eachItemGraphicEl((function(t){Ds(t).dataModel=e,t.traverse((function(t){Ds(t).dataModel=e}))})),this.markKeep(l),l.group.silent=e.get("silent")||t.get("silent")},e.type="markLine",e}(GT);var fD=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.createMarkerModelFromSeries=function(t,n,i){return new e(t,n,i)},e.type="markArea",e.defaultOption={z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}},e}(LT),gD=co(),vD=function(t,e,n,i){var r=zT(t,i[0]),o=zT(t,i[1]),a=r.coord,s=o.coord;a[0]=nt(a[0],-1/0),a[1]=nt(a[1],-1/0),s[0]=nt(s[0],1/0),s[1]=nt(s[1],1/0);var l=D([{},r,o]);return l.coord=[r.coord,o.coord],l.x0=r.x,l.y0=r.y,l.x1=o.x,l.y1=o.y,l};function yD(t){return!isNaN(t)&&!isFinite(t)}function mD(t,e,n,i){var r=1-t;return yD(e[r])&&yD(n[r])}function _D(t,e){var n=e.coord[0],i=e.coord[1],r={coord:n,x:e.x0,y:e.y0},o={coord:i,x:e.x1,y:e.y1};return qw(t,"cartesian2d")?!(!n||!i||!mD(1,n,i)&&!mD(0,n,i))||function(t,e,n){return!(t&&t.containZone&&e.coord&&n.coord&&!RT(e)&&!RT(n))||t.containZone(e.coord,n.coord)}(t,r,o):VT(t,r)||VT(t,o)}function xD(t,e,n,i,r){var o,a=i.coordinateSystem,s=t.getItemModel(e),l=Dr(s.get(n[0]),r.getWidth()),u=Dr(s.get(n[1]),r.getHeight());if(isNaN(l)||isNaN(u)){if(i.getMarkerPosition)o=i.getMarkerPosition(t.getValues(n,e));else{var h=[d=t.get(n[0],e),f=t.get(n[1],e)];a.clampData&&a.clampData(h,h),o=a.dataToPoint(h,!0)}if(qw(a,"cartesian2d")){var c=a.getAxis("x"),p=a.getAxis("y"),d=t.get(n[0],e),f=t.get(n[1],e);yD(d)?o[0]=c.toGlobalCoord(c.getExtent()["x0"===n[0]?0:1]):yD(f)&&(o[1]=p.toGlobalCoord(p.getExtent()["y0"===n[1]?0:1]))}isNaN(l)||(o[0]=l),isNaN(u)||(o[1]=u)}else o=[l,u];return o}var wD=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],bD=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=LT.getMarkerModelFromSeries(t,"markArea");if(e){var i=e.getData();i.each((function(e){var r=z(wD,(function(r){return xD(i,e,r,t,n)}));i.setItemLayout(e,r),i.getItemGraphicEl(e).setShape("points",r)}))}}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,{group:new _r});this.group.add(l.group),this.markKeep(l);var u=function(t,e,n){var i,r,o=["x0","y0","x1","y1"];if(t){var a=z(t&&t.dimensions,(function(t){var n=e.getData();return k(k({},n.getDimensionInfo(n.mapDimension(t))||{}),{name:t,ordinalMeta:null})}));r=z(o,(function(t,e){return{name:t,type:a[e%2].type}})),i=new cm(r,n)}else i=new cm(r=[{name:"value",type:"float"}],n);var s=z(n.get("data"),W(vD,e,t,n));t&&(s=V(s,W(_D,t)));var l=t?function(t,e,n,i){return Vd(t.coord[Math.floor(i/2)][i%2],r[i])}:function(t,e,n,i){return Vd(t.value,r[i])};return i.initData(s,null,l),i.hasItemOption=!0,i}(r,t,e);e.setData(u),u.each((function(e){var n=z(wD,(function(n){return xD(u,e,n,t,i)})),o=r.getAxis("x").scale,s=r.getAxis("y").scale,l=o.getExtent(),h=s.getExtent(),c=[o.parse(u.get("x0",e)),o.parse(u.get("x1",e))],p=[s.parse(u.get("y0",e)),s.parse(u.get("y1",e))];Ar(c),Ar(p);var d=!!(l[0]>c[1]||l[1]p[1]||h[1]=0},e.prototype.getOrient=function(){return"vertical"===this.get("orient")?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},e.type="legend.plain",e.dependencies=["series"],e.defaultOption={z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,symbolRotate:"inherit",symbolKeepAspect:!0,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",inactiveBorderWidth:"auto",itemStyle:{color:"inherit",opacity:"inherit",borderColor:"inherit",borderWidth:"auto",borderCap:"inherit",borderJoin:"inherit",borderDashOffset:"inherit",borderMiterLimit:"inherit"},lineStyle:{width:"auto",color:"inherit",inactiveColor:"#ccc",inactiveWidth:2,opacity:"inherit",type:"inherit",cap:"inherit",join:"inherit",dashOffset:"inherit",miterLimit:"inherit"},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},e}(Jc),MD=W,CD=E,ID=_r,TD=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.newlineDisabled=!1,n}return n(e,t),e.prototype.init=function(){this.group.add(this._contentGroup=new ID),this.group.add(this._selectorGroup=new ID),this._isFirstRender=!0},e.prototype.getContentGroup=function(){return this._contentGroup},e.prototype.getSelectorGroup=function(){return this._selectorGroup},e.prototype.render=function(t,e,n){var i=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get("show",!0)){var r=t.get("align"),o=t.get("orient");r&&"auto"!==r||(r="right"===t.get("left")&&"vertical"===o?"right":"left");var a=t.get("selector",!0),s=t.get("selectorPosition",!0);!a||s&&"auto"!==s||(s="horizontal"===o?"end":"start"),this.renderInner(r,t,e,n,a,o,s);var l=t.getBoxLayoutParams(),u={width:n.getWidth(),height:n.getHeight()},h=t.get("padding"),c=Yc(l,u,h),p=this.layoutInner(t,r,c,i,a,s),d=Yc(A({width:p.width,height:p.height},l),u,h);this.group.x=d.x-p.x,this.group.y=d.y-p.y,this.group.markRedraw(),this.group.add(this._backgroundEl=kC(p,t))}},e.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},e.prototype.renderInner=function(t,e,n,i,r,o,a){var s=this.getContentGroup(),l=dt(),u=e.get("selectedMode"),h=[];n.eachRawSeries((function(t){!t.get("legendHoverLink")&&h.push(t.id)})),CD(e.getData(),(function(r,o){var a=r.get("name");if(!this.newlineDisabled&&(""===a||"\n"===a)){var c=new ID;return c.newline=!0,void s.add(c)}var p=n.getSeriesByName(a)[0];if(!l.get(a)){if(p){var d=p.getData(),f=d.getVisual("legendLineStyle")||{},g=d.getVisual("legendIcon"),v=d.getVisual("style");this._createItem(p,a,o,r,e,t,f,v,g,u,i).on("click",MD(DD,a,null,i,h)).on("mouseover",MD(AD,p.name,null,i,h)).on("mouseout",MD(PD,p.name,null,i,h)),l.set(a,!0)}else n.eachRawSeries((function(n){if(!l.get(a)&&n.legendVisualProvider){var s=n.legendVisualProvider;if(!s.containName(a))return;var c=s.indexOfName(a),p=s.getItemVisual(c,"style"),d=s.getItemVisual(c,"legendIcon"),f=gn(p.fill);f&&0===f[3]&&(f[3]=.2,p=k(k({},p),{fill:Sn(f,"rgba")})),this._createItem(n,a,o,r,e,t,{},p,d,u,i).on("click",MD(DD,null,a,i,h)).on("mouseover",MD(AD,null,a,i,h)).on("mouseout",MD(PD,null,a,i,h)),l.set(a,!0)}}),this);0}}),this),r&&this._createSelector(r,e,i,o,a)},e.prototype._createSelector=function(t,e,n,i,r){var o=this.getSelectorGroup();CD(t,(function(t){var i=t.type,r=new gs({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){n.dispatchAction({type:"all"===i?"legendAllSelect":"legendInverseSelect"})}});o.add(r),xh(r,{normal:e.getModel("selectorLabel"),emphasis:e.getModel(["emphasis","selectorLabel"])},{defaultText:t.title}),vl(r)}))},e.prototype._createItem=function(t,e,n,i,r,o,a,s,l,u,h){var c=t.visualDrawType,p=r.get("itemWidth"),d=r.get("itemHeight"),f=r.isSelected(e),g=i.get("symbolRotate"),v=i.get("symbolKeepAspect"),y=i.get("icon"),m=function(t,e,n,i,r,o,a){function s(t,e){"auto"===t.lineWidth&&(t.lineWidth=e.lineWidth>0?2:0),CD(t,(function(n,i){"inherit"===t[i]&&(t[i]=e[i])}))}var l=e.getModel("itemStyle"),u=l.getItemStyle(),h=0===t.lastIndexOf("empty",0)?"fill":"stroke",c=l.getShallow("decal");u.decal=c&&"inherit"!==c?wv(c,a):i.decal,"inherit"===u.fill&&(u.fill=i[r]);"inherit"===u.stroke&&(u.stroke=i[h]);"inherit"===u.opacity&&(u.opacity=("fill"===r?i:n).opacity);s(u,i);var p=e.getModel("lineStyle"),d=p.getLineStyle();if(s(d,n),"auto"===u.fill&&(u.fill=i.fill),"auto"===u.stroke&&(u.stroke=i.fill),"auto"===d.stroke&&(d.stroke=i.fill),!o){var f=e.get("inactiveBorderWidth"),g=u[h];u.lineWidth="auto"===f?i.lineWidth>0&&g?2:0:u.lineWidth,u.fill=e.get("inactiveColor"),u.stroke=e.get("inactiveBorderColor"),d.stroke=p.get("inactiveColor"),d.lineWidth=p.get("inactiveWidth")}return{itemStyle:u,lineStyle:d}}(l=y||l||"roundRect",i,a,s,c,f,h),_=new ID,x=i.getModel("textStyle");if(!U(t.getLegendIcon)||y&&"inherit"!==y){var w="inherit"===y&&t.getData().getVisual("symbol")?"inherit"===g?t.getData().getVisual("symbolRotate"):g:0;_.add(function(t){var e=t.icon||"roundRect",n=jg(e,0,0,t.itemWidth,t.itemHeight,t.itemStyle.fill,t.symbolKeepAspect);n.setStyle(t.itemStyle),n.rotation=(t.iconRotate||0)*Math.PI/180,n.setOrigin([t.itemWidth/2,t.itemHeight/2]),e.indexOf("empty")>-1&&(n.style.stroke=n.style.fill,n.style.fill="#fff",n.style.lineWidth=2);return n}({itemWidth:p,itemHeight:d,icon:l,iconRotate:w,itemStyle:m.itemStyle,lineStyle:m.lineStyle,symbolKeepAspect:v}))}else _.add(t.getLegendIcon({itemWidth:p,itemHeight:d,icon:l,iconRotate:g,itemStyle:m.itemStyle,lineStyle:m.lineStyle,symbolKeepAspect:v}));var b="left"===o?p+5:-5,S=o,M=r.get("formatter"),C=e;Z(M)&&M?C=M.replace("{name}",null!=e?e:""):U(M)&&(C=M(e));var I=i.get("inactiveColor");_.add(new gs({style:bh(x,{text:C,x:b,y:d/2,fill:f?x.getTextColor():I,align:S,verticalAlign:"middle"})}));var T=new ps({shape:_.getBoundingRect(),invisible:!0}),D=i.getModel("tooltip");return D.get("show")&&fh({el:T,componentModel:r,itemName:e,itemTooltipOption:D.option}),_.add(T),_.eachChild((function(t){t.silent=!0})),T.silent=!u,this.getContentGroup().add(_),vl(_),_.__legendDataIndex=n,_},e.prototype.layoutInner=function(t,e,n,i,r,o){var a=this.getContentGroup(),s=this.getSelectorGroup();Zc(t.get("orient"),a,t.get("itemGap"),n.width,n.height);var l=a.getBoundingRect(),u=[-l.x,-l.y];if(s.markRedraw(),a.markRedraw(),r){Zc("horizontal",s,t.get("selectorItemGap",!0));var h=s.getBoundingRect(),c=[-h.x,-h.y],p=t.get("selectorButtonGap",!0),d=t.getOrient().index,f=0===d?"width":"height",g=0===d?"height":"width",v=0===d?"y":"x";"end"===o?c[d]+=l[f]+p:u[d]+=h[f]+p,c[1-d]+=l[g]/2-h[g]/2,s.x=c[0],s.y=c[1],a.x=u[0],a.y=u[1];var y={x:0,y:0};return y[f]=l[f]+p+h[f],y[g]=Math.max(l[g],h[g]),y[v]=Math.min(0,h[v]+c[1-d]),y}return a.x=u[0],a.y=u[1],this.group.getBoundingRect()},e.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},e.type="legend.plain",e}(Nf);function DD(t,e,n,i){PD(t,e,n,i),n.dispatchAction({type:"legendToggleSelect",name:null!=t?t:e}),AD(t,e,n,i)}function kD(t){for(var e,n=t.getZr().storage.getDisplayList(),i=0,r=n.length;in[r],f=[-c.x,-c.y];e||(f[i]=l[s]);var g=[0,0],v=[-p.x,-p.y],y=it(t.get("pageButtonGap",!0),t.get("itemGap",!0));d&&("end"===t.get("pageButtonPosition",!0)?v[i]+=n[r]-p[r]:g[i]+=p[r]+y);v[1-i]+=c[o]/2-p[o]/2,l.setPosition(f),u.setPosition(g),h.setPosition(v);var m={x:0,y:0};if(m[r]=d?n[r]:c[r],m[o]=Math.max(c[o],p[o]),m[a]=Math.min(0,p[a]+v[1-i]),u.__rectSize=n[r],d){var _={x:0,y:0};_[r]=Math.max(n[r]-p[r]-y,0),_[o]=m[o],u.setClipPath(new ps({shape:_})),u.__rectSize=_[r]}else h.eachChild((function(t){t.attr({invisible:!0,silent:!0})}));var x=this._getPageInfo(t);return null!=x.pageIndex&&zu(l,{x:x.contentPosition[0],y:x.contentPosition[1]},d?t:null),this._updatePageInfoView(t,x),m},e.prototype._pageGo=function(t,e,n){var i=this._getPageInfo(e)[t];null!=i&&n.dispatchAction({type:"legendScroll",scrollDataIndex:i,legendId:e.id})},e.prototype._updatePageInfoView=function(t,e){var n=this._controllerGroup;E(["pagePrev","pageNext"],(function(i){var r=null!=e[i+"DataIndex"],o=n.childOfName(i);o&&(o.setStyle("fill",r?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),o.cursor=r?"pointer":"default")}));var i=n.childOfName("pageText"),r=t.get("pageFormatter"),o=e.pageIndex,a=null!=o?o+1:0,s=e.pageCount;i&&r&&i.setStyle("text",Z(r)?r.replace("{current}",null==a?"":a+"").replace("{total}",null==s?"":s+""):r({current:a,total:s}))},e.prototype._getPageInfo=function(t){var e=t.get("scrollDataIndex",!0),n=this.getContentGroup(),i=this._containerGroup.__rectSize,r=t.getOrient().index,o=BD[r],a=VD[r],s=this._findTargetItemIndex(e),l=n.children(),u=l[s],h=l.length,c=h?1:0,p={contentPosition:[n.x,n.y],pageCount:c,pageIndex:c-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!u)return p;var d=m(u);p.contentPosition[r]=-d.s;for(var f=s+1,g=d,v=d,y=null;f<=h;++f)(!(y=m(l[f]))&&v.e>g.s+i||y&&!_(y,g.s))&&(g=v.i>g.i?v:y)&&(null==p.pageNextDataIndex&&(p.pageNextDataIndex=g.i),++p.pageCount),v=y;for(f=s-1,g=d,v=d,y=null;f>=-1;--f)(y=m(l[f]))&&_(v,y.s)||!(g.i=e&&t.s<=e+i}},e.prototype._findTargetItemIndex=function(t){return this._showController?(this.getContentGroup().eachChild((function(i,r){var o=i.__legendDataIndex;null==n&&null!=o&&(n=r),o===t&&(e=r)})),null!=e?e:n):0;var e,n},e.type="legend.scroll",e}(TD);function HD(t){Vy(RD),t.registerComponentModel(ND),t.registerComponentView(FD),function(t){t.registerAction("legendScroll","legendscroll",(function(t,e){var n=t.scrollDataIndex;null!=n&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},(function(t){t.setScrollDataIndex(n)}))}))}(t)}var WD=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="dataZoom.inside",e.defaultOption=Uh(uC.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),e}(uC),GD=function(t){function e(e){var n=t.call(this)||this;n._zr=e;var i=H(n._mousedownHandler,n),r=H(n._mousemoveHandler,n),o=H(n._mouseupHandler,n),a=H(n._mousewheelHandler,n),s=H(n._pinchHandler,n);return n.enable=function(t,n){this.disable(),this._opt=A(I(n)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),null==t&&(t=!0),!0!==t&&"move"!==t&&"pan"!==t||(e.on("mousedown",i),e.on("mousemove",r),e.on("mouseup",o)),!0!==t&&"scale"!==t&&"zoom"!==t||(e.on("mousewheel",a),e.on("pinch",s))},n.disable=function(){e.off("mousedown",i),e.off("mousemove",r),e.off("mouseup",o),e.off("mousewheel",a),e.off("pinch",s)},n}return n(e,t),e.prototype.isDragging=function(){return this._dragging},e.prototype.isPinching=function(){return this._pinching},e.prototype.setPointerChecker=function(t){this.pointerChecker=t},e.prototype.dispose=function(){this.disable()},e.prototype._mousedownHandler=function(t){if(!(re(t)||t.target&&t.target.draggable)){var e=t.offsetX,n=t.offsetY;this.pointerChecker&&this.pointerChecker(t,e,n)&&(this._x=e,this._y=n,this._dragging=!0)}},e.prototype._mousemoveHandler=function(t){if(this._dragging&&YD("moveOnMouseMove",t,this._opt)&&"pinch"!==t.gestureEvent&&!jC(this._zr,"globalPan")){var e=t.offsetX,n=t.offsetY,i=this._x,r=this._y,o=e-i,a=n-r;this._x=e,this._y=n,this._opt.preventDefaultMouseMove&&ie(t.event),ZD(this,"pan","moveOnMouseMove",t,{dx:o,dy:a,oldX:i,oldY:r,newX:e,newY:n,isAvailableBehavior:null})}},e.prototype._mouseupHandler=function(t){re(t)||(this._dragging=!1)},e.prototype._mousewheelHandler=function(t){var e=YD("zoomOnMouseWheel",t,this._opt),n=YD("moveOnMouseWheel",t,this._opt),i=t.wheelDelta,r=Math.abs(i),o=t.offsetX,a=t.offsetY;if(0!==i&&(e||n)){if(e){var s=r>3?1.4:r>1?1.2:1.1;UD(this,"zoom","zoomOnMouseWheel",t,{scale:i>0?s:1/s,originX:o,originY:a,isAvailableBehavior:null})}if(n){var l=Math.abs(i);UD(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:(i>0?1:-1)*(l>3?.4:l>1?.15:.05),originX:o,originY:a,isAvailableBehavior:null})}}},e.prototype._pinchHandler=function(t){jC(this._zr,"globalPan")||UD(this,"zoom",null,t,{scale:t.pinchScale>1?1.1:1/1.1,originX:t.pinchX,originY:t.pinchY,isAvailableBehavior:null})},e}(Wt);function UD(t,e,n,i,r){t.pointerChecker&&t.pointerChecker(i,r.originX,r.originY)&&(ie(i.event),ZD(t,e,n,i,r))}function ZD(t,e,n,i,r){r.isAvailableBehavior=H(YD,null,n,i),t.trigger(e,r)}function YD(t,e,n){var i=n[t];return!t||i&&(!Z(i)||e.event[i+"Key"])}var XD=co();function jD(t,e,n){XD(t).coordSysRecordMap.each((function(t){var i=t.dataZoomInfoMap.get(e.uid);i&&(i.getRange=n)}))}function qD(t,e){if(e){t.removeKey(e.model.uid);var n=e.controller;n&&n.dispose()}}function KD(t,e){t.isDisposed()||t.dispatchAction({type:"dataZoom",animation:{easing:"cubicOut",duration:100},batch:e})}function $D(t,e,n,i){return t.coordinateSystem.containPoint([n,i])}function QD(t){t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER,(function(t,e){var n=XD(e),i=n.coordSysRecordMap||(n.coordSysRecordMap=dt());i.each((function(t){t.dataZoomInfoMap=null})),t.eachComponent({mainType:"dataZoom",subType:"inside"},(function(t){E(sC(t).infoList,(function(n){var r=n.model.uid,o=i.get(r)||i.set(r,function(t,e){var n={model:e,containsPoint:W($D,e),dispatchAction:W(KD,t),dataZoomInfoMap:null,controller:null},i=n.controller=new GD(t.getZr());return E(["pan","zoom","scrollMove"],(function(t){i.on(t,(function(e){var i=[];n.dataZoomInfoMap.each((function(r){if(e.isAvailableBehavior(r.model.option)){var o=(r.getRange||{})[t],a=o&&o(r.dzReferCoordSysInfo,n.model.mainType,n.controller,e);!r.model.get("disabled",!0)&&a&&i.push({dataZoomId:r.model.id,start:a[0],end:a[1]})}})),i.length&&n.dispatchAction(i)}))})),n}(e,n.model));(o.dataZoomInfoMap||(o.dataZoomInfoMap=dt())).set(t.uid,{dzReferCoordSysInfo:n,model:t,getRange:null})}))})),i.each((function(t){var e,n=t.controller,r=t.dataZoomInfoMap;if(r){var o=r.keys()[0];null!=o&&(e=r.get(o))}if(e){var a=function(t){var e,n="type_",i={type_true:2,type_move:1,type_false:0,type_undefined:-1},r=!0;return t.each((function(t){var o=t.model,a=!o.get("disabled",!0)&&(!o.get("zoomLock",!0)||"move");i[n+a]>i[n+e]&&(e=a),r=r&&o.get("preventDefaultMouseMove",!0)})),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!r}}}(r);n.enable(a.controlType,a.opt),n.setPointerChecker(t.containsPoint),qf(t,"dispatchAction",e.model.get("throttle",!0),"fixRate")}else qD(i,t)}))}))}var JD=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="dataZoom.inside",e}return n(e,t),e.prototype.render=function(e,n,i){t.prototype.render.apply(this,arguments),e.noTarget()?this._clear():(this.range=e.getPercentRange(),jD(i,e,{pan:H(tk.pan,this),zoom:H(tk.zoom,this),scrollMove:H(tk.scrollMove,this)}))},e.prototype.dispose=function(){this._clear(),t.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){!function(t,e){for(var n=XD(t).coordSysRecordMap,i=n.keys(),r=0;r0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(o[1]-o[0])+o[0],u=Math.max(1/i.scale,0);o[0]=(o[0]-l)*u+l,o[1]=(o[1]-l)*u+l;var h=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return fC(0,o,[0,100],0,h.minSpan,h.maxSpan),this.range=o,r[0]!==o[0]||r[1]!==o[1]?o:void 0}},pan:ek((function(t,e,n,i,r,o){var a=nk[i]([o.oldX,o.oldY],[o.newX,o.newY],e,r,n);return a.signal*(t[1]-t[0])*a.pixel/a.pixelLength})),scrollMove:ek((function(t,e,n,i,r,o){return nk[i]([0,0],[o.scrollDelta,o.scrollDelta],e,r,n).signal*(t[1]-t[0])*o.scrollDelta}))};function ek(t){return function(e,n,i,r){var o=this.range,a=o.slice(),s=e.axisModels[0];if(s)return fC(t(a,s,e,n,i,r),a,[0,100],"all"),this.range=a,o[0]!==a[0]||o[1]!==a[1]?a:void 0}}var nk={grid:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem.getRect();return t=t||[0,0],"x"===o.dim?(a.pixel=e[0]-t[0],a.pixelLength=s.width,a.pixelStart=s.x,a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=s.height,a.pixelStart=s.y,a.signal=o.inverse?-1:1),a},polar:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),"radiusAxis"===n.mainType?(a.pixel=e[0]-t[0],a.pixelLength=l[1]-l[0],a.pixelStart=l[0],a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=u[1]-u[0],a.pixelStart=u[0],a.signal=o.inverse?-1:1),a},singleAxis:function(t,e,n,i,r){var o=n.axis,a=r.model.coordinateSystem.getRect(),s={};return t=t||[0,0],"horizontal"===o.orient?(s.pixel=e[0]-t[0],s.pixelLength=a.width,s.pixelStart=a.x,s.signal=o.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=a.height,s.pixelStart=a.y,s.signal=o.inverse?-1:1),s}};function ik(t){bC(t),t.registerComponentModel(WD),t.registerComponentView(JD),QD(t)}var rk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="dataZoom.slider",e.layoutMode="box",e.defaultOption=Uh(uC.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:"#d2dbee",borderRadius:3,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#d2dbee",width:.5},areaStyle:{color:"#d2dbee",opacity:.2}},selectedDataBackground:{lineStyle:{color:"#8fb0f7",width:.5},areaStyle:{color:"#8fb0f7",opacity:.2}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:"#fff",borderColor:"#ACB8D1"},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:"#D2DBEE",opacity:.7},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#6E7079"},brushSelect:!0,brushStyle:{color:"rgba(135,175,274,0.15)"},emphasis:{handleStyle:{borderColor:"#8FB0F7"},moveHandleStyle:{color:"#8FB0F7"}}}),e}(uC),ok=ps,ak="horizontal",sk="vertical",lk=["line","bar","candlestick","scatter"],uk={easing:"cubicOut",duration:100,delay:0},hk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._displayables={},n}return n(e,t),e.prototype.init=function(t,e){this.api=e,this._onBrush=H(this._onBrush,this),this._onBrushEnd=H(this._onBrushEnd,this)},e.prototype.render=function(e,n,i,r){if(t.prototype.render.apply(this,arguments),qf(this,"_dispatchZoomAction",e.get("throttle"),"fixRate"),this._orient=e.getOrient(),!1!==e.get("show")){if(e.noTarget())return this._clear(),void this.group.removeAll();r&&"dataZoom"===r.type&&r.from===this.uid||this._buildView(),this._updateView()}else this.group.removeAll()},e.prototype.dispose=function(){this._clear(),t.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){Kf(this,"_dispatchZoomAction");var t=this.api.getZr();t.off("mousemove",this._onBrush),t.off("mouseup",this._onBrushEnd)},e.prototype._buildView=function(){var t=this.group;t.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var e=this._displayables.sliderGroup=new _r;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(e),this._positionGroup()},e.prototype._resetLocation=function(){var t=this.dataZoomModel,e=this.api,n=t.get("brushSelect")?7:0,i=this._findCoordRect(),r={width:e.getWidth(),height:e.getHeight()},o=this._orient===ak?{right:r.width-i.x-i.width,top:r.height-30-7-n,width:i.width,height:30}:{right:7,top:i.y,width:30,height:i.height},a=Kc(t.option);E(["right","top","width","height"],(function(t){"ph"===a[t]&&(a[t]=o[t])}));var s=Yc(a,r);this._location={x:s.x,y:s.y},this._size=[s.width,s.height],this._orient===sk&&this._size.reverse()},e.prototype._positionGroup=function(){var t=this.group,e=this._location,n=this._orient,i=this.dataZoomModel.getFirstTargetAxisModel(),r=i&&i.get("inverse"),o=this._displayables.sliderGroup,a=(this._dataShadowInfo||{}).otherAxisInverse;o.attr(n!==ak||r?n===ak&&r?{scaleY:a?1:-1,scaleX:-1}:n!==sk||r?{scaleY:a?-1:1,scaleX:-1,rotation:Math.PI/2}:{scaleY:a?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:a?1:-1,scaleX:1});var s=t.getBoundingRect([o]);t.x=e.x-s.x,t.y=e.y-s.y,t.markRedraw()},e.prototype._getViewExtent=function(){return[0,this._size[0]]},e.prototype._renderBackground=function(){var t=this.dataZoomModel,e=this._size,n=this._displayables.sliderGroup,i=t.get("brushSelect");n.add(new ok({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:t.get("backgroundColor")},z2:-40}));var r=new ok({shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:"transparent"},z2:0,onclick:H(this._onClickPanel,this)}),o=this.api.getZr();i?(r.on("mousedown",this._onBrushStart,this),r.cursor="crosshair",o.on("mousemove",this._onBrush),o.on("mouseup",this._onBrushEnd)):(o.off("mousemove",this._onBrush),o.off("mouseup",this._onBrushEnd)),n.add(r)},e.prototype._renderDataShadow=function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],t){var e=this._size,n=this._shadowSize||[],i=t.series,r=i.getRawData(),o=i.getShadowDim?i.getShadowDim():t.otherDim;if(null!=o){var a=this._shadowPolygonPts,s=this._shadowPolylinePts;if(r!==this._shadowData||o!==this._shadowDim||e[0]!==n[0]||e[1]!==n[1]){var l=r.getDataExtent(o),u=.3*(l[1]-l[0]);l=[l[0]-u,l[1]+u];var h,c=[0,e[1]],p=[0,e[0]],d=[[e[0],0],[0,0]],f=[],g=p[1]/(r.count()-1),v=0,y=Math.round(r.count()/e[0]);r.each([o],(function(t,e){if(y>0&&e%y)v+=g;else{var n=null==t||isNaN(t)||""===t,i=n?0:Tr(t,l,c,!0);n&&!h&&e?(d.push([d[d.length-1][0],0]),f.push([f[f.length-1][0],0])):!n&&h&&(d.push([v,0]),f.push([v,0])),d.push([v,i]),f.push([v,i]),v+=g,h=n}})),a=this._shadowPolygonPts=d,s=this._shadowPolylinePts=f}this._shadowData=r,this._shadowDim=o,this._shadowSize=[e[0],e[1]];for(var m=this.dataZoomModel,_=0;_<3;_++){var x=w(1===_);this._displayables.sliderGroup.add(x),this._displayables.dataShadowSegs.push(x)}}}function w(t){var e=m.getModel(t?"selectedDataBackground":"dataBackground"),n=new _r,i=new cu({shape:{points:a},segmentIgnoreThreshold:1,style:e.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),r=new du({shape:{points:s},segmentIgnoreThreshold:1,style:e.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return n.add(i),n.add(r),n}},e.prototype._prepareDataShadowInfo=function(){var t=this.dataZoomModel,e=t.get("showDataShadow");if(!1!==e){var n,i=this.ecModel;return t.eachTargetAxis((function(r,o){E(t.getAxisProxy(r,o).getTargetSeriesModels(),(function(t){if(!(n||!0!==e&&L(lk,t.get("type"))<0)){var a,s=i.getComponent(oC(r),o).axis,l={x:"y",y:"x",radius:"angle",angle:"radius"}[r],u=t.coordinateSystem;null!=l&&u.getOtherAxis&&(a=u.getOtherAxis(s).inverse),l=t.getData().mapDimension(l),n={thisAxis:s,series:t,thisDim:r,otherDim:l,otherAxisInverse:a}}}),this)}),this),n}},e.prototype._renderHandle=function(){var t=this.group,e=this._displayables,n=e.handles=[null,null],i=e.handleLabels=[null,null],r=this._displayables.sliderGroup,o=this._size,a=this.dataZoomModel,s=this.api,l=a.get("borderRadius")||0,u=a.get("brushSelect"),h=e.filler=new ok({silent:u,style:{fill:a.get("fillerColor")},textConfig:{position:"inside"}});r.add(h),r.add(new ok({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:o[0],height:o[1],r:l},style:{stroke:a.get("dataBackgroundColor")||a.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}})),E([0,1],(function(e){var o=a.get("handleIcon");!Zg[o]&&o.indexOf("path://")<0&&o.indexOf("image://")<0&&(o="path://"+o);var s=jg(o,-1,0,2,2,null,!0);s.attr({cursor:ck(this._orient),draggable:!0,drift:H(this._onDragMove,this,e),ondragend:H(this._onDragEnd,this),onmouseover:H(this._showDataInfo,this,!0),onmouseout:H(this._showDataInfo,this,!1),z2:5});var l=s.getBoundingRect(),u=a.get("handleSize");this._handleHeight=Dr(u,this._size[1]),this._handleWidth=l.width/l.height*this._handleHeight,s.setStyle(a.getModel("handleStyle").getItemStyle()),s.style.strokeNoScale=!0,s.rectHover=!0,s.ensureState("emphasis").style=a.getModel(["emphasis","handleStyle"]).getItemStyle(),vl(s);var h=a.get("handleColor");null!=h&&(s.style.fill=h),r.add(n[e]=s);var c=a.getModel("textStyle");t.add(i[e]=new gs({silent:!0,invisible:!0,style:bh(c,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:c.getTextColor(),font:c.getFont()}),z2:10}))}),this);var c=h;if(u){var p=Dr(a.get("moveHandleSize"),o[1]),d=e.moveHandle=new ps({style:a.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:o[1]-.5,height:p}}),f=.8*p,g=e.moveHandleIcon=jg(a.get("moveHandleIcon"),-f/2,-f/2,f,f,"#fff",!0);g.silent=!0,g.y=o[1]+p/2-.5,d.ensureState("emphasis").style=a.getModel(["emphasis","moveHandleStyle"]).getItemStyle();var v=Math.min(o[1]/2,Math.max(p,10));(c=e.moveZone=new ps({invisible:!0,shape:{y:o[1]-v,height:p+v}})).on("mouseover",(function(){s.enterEmphasis(d)})).on("mouseout",(function(){s.leaveEmphasis(d)})),r.add(d),r.add(g),r.add(c)}c.attr({draggable:!0,cursor:ck(this._orient),drift:H(this._onDragMove,this,"all"),ondragstart:H(this._showDataInfo,this,!0),ondragend:H(this._onDragEnd,this),onmouseover:H(this._showDataInfo,this,!0),onmouseout:H(this._showDataInfo,this,!1)})},e.prototype._resetInterval=function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[Tr(t[0],[0,100],e,!0),Tr(t[1],[0,100],e,!0)]},e.prototype._updateInterval=function(t,e){var n=this.dataZoomModel,i=this._handleEnds,r=this._getViewExtent(),o=n.findRepresentativeAxisProxy().getMinMaxSpan(),a=[0,100];fC(e,i,r,n.get("zoomLock")?"all":t,null!=o.minSpan?Tr(o.minSpan,a,r,!0):null,null!=o.maxSpan?Tr(o.maxSpan,a,r,!0):null);var s=this._range,l=this._range=Ar([Tr(i[0],r,a,!0),Tr(i[1],r,a,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},e.prototype._updateView=function(t){var e=this._displayables,n=this._handleEnds,i=Ar(n.slice()),r=this._size;E([0,1],(function(t){var i=e.handles[t],o=this._handleHeight;i.attr({scaleX:o/2,scaleY:o/2,x:n[t]+(t?-1:1),y:r[1]/2-o/2})}),this),e.filler.setShape({x:i[0],y:0,width:i[1]-i[0],height:r[1]});var o={x:i[0],width:i[1]-i[0]};e.moveHandle&&(e.moveHandle.setShape(o),e.moveZone.setShape(o),e.moveZone.getBoundingRect(),e.moveHandleIcon&&e.moveHandleIcon.attr("x",o.x+o.width/2));for(var a=e.dataShadowSegs,s=[0,i[0],i[1],r[0]],l=0;le[0]||n[1]<0||n[1]>e[1])){var i=this._handleEnds,r=(i[0]+i[1])/2,o=this._updateInterval("all",n[0]-r);this._updateView(),o&&this._dispatchZoomAction(!1)}},e.prototype._onBrushStart=function(t){var e=t.offsetX,n=t.offsetY;this._brushStart=new Ui(e,n),this._brushing=!0,this._brushStartTime=+new Date},e.prototype._onBrushEnd=function(t){if(this._brushing){var e=this._displayables.brushRect;if(this._brushing=!1,e){e.attr("ignore",!0);var n=e.shape;if(!(+new Date-this._brushStartTime<200&&Math.abs(n.width)<5)){var i=this._getViewExtent(),r=[0,100];this._range=Ar([Tr(n.x,i,r,!0),Tr(n.x+n.width,i,r,!0)]),this._handleEnds=[n.x,n.x+n.width],this._updateView(),this._dispatchZoomAction(!1)}}}},e.prototype._onBrush=function(t){this._brushing&&(ie(t.event),this._updateBrushRect(t.offsetX,t.offsetY))},e.prototype._updateBrushRect=function(t,e){var n=this._displayables,i=this.dataZoomModel,r=n.brushRect;r||(r=n.brushRect=new ok({silent:!0,style:i.getModel("brushStyle").getItemStyle()}),n.sliderGroup.add(r)),r.attr("ignore",!1);var o=this._brushStart,a=this._displayables.sliderGroup,s=a.transformCoordToLocal(t,e),l=a.transformCoordToLocal(o.x,o.y),u=this._size;s[0]=Math.max(Math.min(u[0],s[0]),0),r.setShape({x:l[0],y:0,width:s[0]-l[0],height:u[1]})},e.prototype._dispatchZoomAction=function(t){var e=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:t?uk:null,start:e[0],end:e[1]})},e.prototype._findCoordRect=function(){var t,e=sC(this.dataZoomModel).infoList;if(!t&&e.length){var n=e[0].model.coordinateSystem;t=n.getRect&&n.getRect()}if(!t){var i=this.api.getWidth(),r=this.api.getHeight();t={x:.2*i,y:.2*r,width:.6*i,height:.6*r}}return t},e.type="dataZoom.slider",e}(pC);function ck(t){return"vertical"===t?"ns-resize":"ew-resize"}function pk(t){t.registerComponentModel(rk),t.registerComponentView(hk),bC(t)}var dk={label:{enabled:!0},decal:{show:!1}},fk=co(),gk={};function vk(t,e){var n=t.getModel("aria");if(n.get("enabled")){var i=I(dk);T(i.label,t.getLocaleModel().get("aria"),!1),T(n.option,i,!1),function(){if(n.getModel("decal").get("show")){var e=dt();t.eachSeries((function(t){if(!t.isColorBySeries()){var n=e.get(t.type);n||(n={},e.set(t.type,n)),fk(t).scope=n}})),t.eachRawSeries((function(e){if(!t.isSeriesFiltered(e))if(U(e.enableAriaDecal))e.enableAriaDecal();else{var n=e.getData();if(e.isColorBySeries()){var i=Dp(e.ecModel,e.name,gk,t.getSeriesCount()),r=n.getVisual("decal");n.setVisual("decal",u(r,i))}else{var o=e.getRawData(),a={},s=fk(e).scope;n.each((function(t){var e=n.getRawIndex(t);a[e]=t}));var l=o.count();o.each((function(t){var i=a[t],r=o.getName(t)||t+"",h=Dp(e.ecModel,r,s,l),c=n.getItemVisual(i,"decal");n.setItemVisual(i,"decal",u(c,h))}))}}function u(t,e){var n=t?k(k({},e),t):e;return n.dirty=!0,n}}))}}(),function(){var i=t.getLocaleModel().get("aria"),o=n.getModel("label");if(o.option=A(o.option,i),!o.get("enabled"))return;var a=e.getZr().dom;if(o.get("description"))return void a.setAttribute("aria-label",o.get("description"));var s,l=t.getSeriesCount(),u=o.get(["data","maxCount"])||10,h=o.get(["series","maxCount"])||10,c=Math.min(l,h);if(l<1)return;var p=function(){var e=t.get("title");e&&e.length&&(e=e[0]);return e&&e.text}();if(p){var d=o.get(["general","withTitle"]);s=r(d,{title:p})}else s=o.get(["general","withoutTitle"]);var f=[],g=l>1?o.get(["series","multiple","prefix"]):o.get(["series","single","prefix"]);s+=r(g,{seriesCount:l}),t.eachSeries((function(e,n){if(n1?o.get(["series","multiple",a]):o.get(["series","single",a]),{seriesId:e.seriesIndex,seriesName:e.get("name"),seriesType:(_=e.subType,t.getLocaleModel().get(["series","typeNames"])[_]||"自定义图")});var s=e.getData();if(s.count()>u)i+=r(o.get(["data","partialData"]),{displayCnt:u});else i+=o.get(["data","allData"]);for(var h=o.get(["data","separator","middle"]),p=o.get(["data","separator","end"]),d=[],g=0;g0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},t.prototype.setSleepAfterStill=function(t){this._sleepAfterStill=t},t.prototype.wakeUp=function(){this._disposed||(this.animation.start(),this._stillFrameAccum=0)},t.prototype.refreshHover=function(){this._needsRefreshHover=!0},t.prototype.refreshHoverImmediately=function(){this._disposed||(this._needsRefreshHover=!1,this.painter.refreshHover&&"canvas"===this.painter.getType()&&this.painter.refreshHover())},t.prototype.resize=function(t){this._disposed||(t=t||{},this.painter.resize(t.width,t.height),this.handler.resize())},t.prototype.clearAnimation=function(){this._disposed||this.animation.clear()},t.prototype.getWidth=function(){if(!this._disposed)return this.painter.getWidth()},t.prototype.getHeight=function(){if(!this._disposed)return this.painter.getHeight()},t.prototype.setCursorStyle=function(t){this._disposed||this.handler.setCursorStyle(t)},t.prototype.findHover=function(t,e){if(!this._disposed)return this.handler.findHover(t,e)},t.prototype.on=function(t,e,n){return this._disposed||this.handler.on(t,e,n),this},t.prototype.off=function(t,e){this._disposed||this.handler.off(t,e)},t.prototype.trigger=function(t,e){this._disposed||this.handler.trigger(t,e)},t.prototype.clear=function(){if(!this._disposed){for(var t=this.storage.getRoots(),e=0;e0){if(t<=r)return a;if(t>=o)return s}else{if(t>=r)return a;if(t<=o)return s}else{if(t===r)return a;if(t===o)return s}return(t-r)/l*u+a}function Gr(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return Z(t)?(n=t,n.replace(/^\s+|\s+$/g,"")).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t;var n}function Ur(t,e,n){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),n?t:+t}function Zr(t){return t.sort((function(t,e){return t-e})),t}function Yr(t){if(t=+t,isNaN(t))return 0;if(t>1e-14)for(var e=1,n=0;n<15;n++,e*=10)if(Math.round(t*e)/e===t)return n;return Xr(t)}function Xr(t){var e=t.toString().toLowerCase(),n=e.indexOf("e"),i=n>0?+e.slice(n+1):0,r=n>0?n:e.length,o=e.indexOf("."),a=o<0?0:r-1-o;return Math.max(0,a-i)}function jr(t,e){var n=Math.log,i=Math.LN10,r=Math.floor(n(t[1]-t[0])/i),o=Math.round(n(Math.abs(e[1]-e[0]))/i),a=Math.min(Math.max(-r+o,0),20);return isFinite(a)?a:20}function qr(t,e){var n=B(t,(function(t,e){return t+(isNaN(e)?0:e)}),0);if(0===n)return[];for(var i=Math.pow(10,e),r=E(t,(function(t){return(isNaN(t)?0:t)/n*i*100})),o=100*i,a=E(r,(function(t){return Math.floor(t)})),s=B(a,(function(t,e){return t+e}),0),l=E(r,(function(t,e){return t-a[e]}));su&&(u=l[c],h=c);++a[h],l[h]=0,++s}return E(a,(function(t){return t/i}))}function Kr(t,e){var n=Math.max(Yr(t),Yr(e)),i=t+e;return n>20?i:Ur(i,n)}function $r(t){var e=2*Math.PI;return(t%e+e)%e}function Qr(t){return t>-1e-4&&t=10&&e++,e}function io(t,e){var n=no(t),i=Math.pow(10,n),r=t/i;return t=(e?r<1.5?1:r<2.5?2:r<4?3:r<7?5:10:r<1?1:r<2?2:r<3?3:r<5?5:10)*i,n>=-20?+t.toFixed(n<0?-n:0):t}function ro(t){var e=parseFloat(t);return e==t&&(0!==e||!Z(t)||t.indexOf("x")<=0)?e:NaN}function oo(t){return!isNaN(ro(t))}function ao(){return Math.round(9*Math.random())}function so(t,e){return 0===e?t:so(e,t%e)}function lo(t,e){return null==t?e:null==e?t:t*e/so(t,e)}"undefined"!=typeof console&&console.warn&&console.log;function uo(t){0}function ho(t){throw new Error(t)}function co(t,e,n){return(e-t)*n+t}var po="series\0",fo="\0_ec_\0";function go(t){return t instanceof Array?t:null==t?[]:[t]}function vo(t,e,n){if(t){t[e]=t[e]||{},t.emphasis=t.emphasis||{},t.emphasis[e]=t.emphasis[e]||{};for(var i=0,r=n.length;i=0||r&&L(r,s)<0)){var l=n.getShallow(s,e);null!=l&&(o[t[a][0]]=l)}}return o}}var Zo=Uo([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),Yo=function(){function t(){}return t.prototype.getAreaStyle=function(t,e){return Zo(this,t,e)},t}(),Xo=new kn(50);function jo(t){if("string"==typeof t){var e=Xo.get(t);return e&&e.image}return t}function qo(t,e,n,i,r){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc===t||!n)return e;var o=Xo.get(t),a={hostEl:n,cb:i,cbPayload:r};return o?!$o(e=o.image)&&o.pending.push(a):((e=h.loadImage(t,Ko,Ko)).__zrImageSrc=t,Xo.put(t,e.__cachedImgObj={image:e,pending:[a]})),e}return t}return e}function Ko(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e=a;l++)s-=a;var u=dr(n,e);return u>s&&(n="",u=0),s=t-u,r.ellipsis=n,r.ellipsisWidth=u,r.contentWidth=s,r.containerWidth=t,r}function ea(t,e){var n=e.containerWidth,i=e.font,r=e.contentWidth;if(!n)return"";var o=dr(t,i);if(o<=n)return t;for(var a=0;;a++){if(o<=r||a>=e.maxIterations){t+=e.ellipsis;break}var s=0===a?na(t,r,e.ascCharWidth,e.cnCharWidth):o>0?Math.floor(t.length*r/o):0;o=dr(t=t.substr(0,s),i)}return""===t&&(t=e.placeholder),t}function na(t,e,n,i){for(var r=0,o=0,a=t.length;o0&&f+i.accumWidth>i.width&&(o=e.split("\n"),c=!0),i.accumWidth=f}else{var g=ua(e,h,i.width,i.breakAll,i.accumWidth);i.accumWidth=g.accumWidth+d,a=g.linesWidths,o=g.lines}}else o=e.split("\n");for(var v=0;v=32&&e<=591||e>=880&&e<=4351||e>=4608&&e<=5119||e>=7680&&e<=8303}(t)||!!sa[t]}function ua(t,e,n,i,r){for(var o=[],a=[],s="",l="",u=0,h=0,c=0;cn:r+h+d>n)?h?(s||l)&&(f?(s||(s=l,l="",h=u=0),o.push(s),a.push(h-u),l+=p,s="",h=u+=d):(l&&(s+=l,l="",u=0),o.push(s),a.push(h),s=p,h=d)):f?(o.push(l),a.push(u),l=p,u=d):(o.push(p),a.push(d)):(h+=d,f?(l+=p,u+=d):(l&&(s+=l,l="",u=0),s+=p))}else l&&(s+=l,h+=u),o.push(s),a.push(h),s="",l="",u=0,h=0}return o.length||s||(s=t,l="",u=0),l&&(s+=l),s&&(o.push(s),a.push(h)),1===o.length&&(h+=r),{accumWidth:h,lines:o,linesWidths:a}}var ha="__zr_style_"+Math.round(10*Math.random()),ca={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},pa={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};ca[ha]=!0;var da=["z","z2","invisible"],fa=["invisible"],ga=function(t){function e(e){return t.call(this,e)||this}var i;return n(e,t),e.prototype._init=function(e){for(var n=F(e),i=0;i1e-4)return s[0]=t-n,s[1]=e-i,l[0]=t+n,void(l[1]=e+i);if(Sa[0]=wa(r)*n+t,Sa[1]=xa(r)*i+e,Ma[0]=wa(o)*n+t,Ma[1]=xa(o)*i+e,u(s,Sa,Ma),h(l,Sa,Ma),(r%=ba)<0&&(r+=ba),(o%=ba)<0&&(o+=ba),r>o&&!a?o+=ba:rr&&(Ca[0]=wa(d)*n+t,Ca[1]=xa(d)*i+e,u(s,Ca,s),h(l,Ca,l))}var La={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},Oa=[],Ra=[],Na=[],za=[],Ea=[],Ba=[],Va=Math.min,Fa=Math.max,Ha=Math.cos,Wa=Math.sin,Ga=Math.abs,Ua=Math.PI,Za=2*Ua,Ya="undefined"!=typeof Float32Array,Xa=[];function ja(t){return Math.round(t/Ua*1e8)/1e8%2*Ua}function qa(t,e){var n=ja(t[0]);n<0&&(n+=Za);var i=n-t[0],r=t[1];r+=i,!e&&r-n>=Za?r=n+Za:e&&n-r>=Za?r=n-Za:!e&&n>r?r=n+(Za-ja(n-r)):e&&n0&&(this._ux=Ga(n/Ji/t)||0,this._uy=Ga(n/Ji/e)||0)},t.prototype.setDPR=function(t){this.dpr=t},t.prototype.setContext=function(t){this._ctx=t},t.prototype.getContext=function(){return this._ctx},t.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},t.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},t.prototype.moveTo=function(t,e){return this._drawPendingPt(),this.addData(La.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},t.prototype.lineTo=function(t,e){var n=Ga(t-this._xi),i=Ga(e-this._yi),r=n>this._ux||i>this._uy;if(this.addData(La.L,t,e),this._ctx&&r&&this._ctx.lineTo(t,e),r)this._xi=t,this._yi=e,this._pendingPtDist=0;else{var o=n*n+i*i;o>this._pendingPtDist&&(this._pendingPtX=t,this._pendingPtY=e,this._pendingPtDist=o)}return this},t.prototype.bezierCurveTo=function(t,e,n,i,r,o){return this._drawPendingPt(),this.addData(La.C,t,e,n,i,r,o),this._ctx&&this._ctx.bezierCurveTo(t,e,n,i,r,o),this._xi=r,this._yi=o,this},t.prototype.quadraticCurveTo=function(t,e,n,i){return this._drawPendingPt(),this.addData(La.Q,t,e,n,i),this._ctx&&this._ctx.quadraticCurveTo(t,e,n,i),this._xi=n,this._yi=i,this},t.prototype.arc=function(t,e,n,i,r,o){this._drawPendingPt(),Xa[0]=i,Xa[1]=r,qa(Xa,o),i=Xa[0];var a=(r=Xa[1])-i;return this.addData(La.A,t,e,n,n,i,a,0,o?0:1),this._ctx&&this._ctx.arc(t,e,n,i,r,o),this._xi=Ha(r)*n+t,this._yi=Wa(r)*n+e,this},t.prototype.arcTo=function(t,e,n,i,r){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(t,e,n,i,r),this},t.prototype.rect=function(t,e,n,i){return this._drawPendingPt(),this._ctx&&this._ctx.rect(t,e,n,i),this.addData(La.R,t,e,n,i),this},t.prototype.closePath=function(){this._drawPendingPt(),this.addData(La.Z);var t=this._ctx,e=this._x0,n=this._y0;return t&&t.closePath(),this._xi=e,this._yi=n,this},t.prototype.fill=function(t){t&&t.fill(),this.toStatic()},t.prototype.stroke=function(t){t&&t.stroke(),this.toStatic()},t.prototype.len=function(){return this._len},t.prototype.setData=function(t){var e=t.length;this.data&&this.data.length===e||!Ya||(this.data=new Float32Array(e));for(var n=0;nu.length&&(this._expandData(),u=this.data);for(var h=0;h0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},t.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var t=[],e=0;e11&&(this.data=new Float32Array(t)))}},t.prototype.getBoundingRect=function(){Na[0]=Na[1]=Ea[0]=Ea[1]=Number.MAX_VALUE,za[0]=za[1]=Ba[0]=Ba[1]=-Number.MAX_VALUE;var t,e=this.data,n=0,i=0,r=0,o=0;for(t=0;tn||Ga(v)>i||c===e-1)&&(f=Math.sqrt(k*k+v*v),r=g,o=_);break;case La.C:var y=t[c++],m=t[c++],_=(g=t[c++],t[c++]),x=t[c++],w=t[c++];f=mn(r,o,y,m,g,_,x,w,10),r=x,o=w;break;case La.Q:f=Sn(r,o,y=t[c++],m=t[c++],g=t[c++],_=t[c++],10),r=g,o=_;break;case La.A:var b=t[c++],S=t[c++],M=t[c++],C=t[c++],T=t[c++],I=t[c++],D=I+T;c+=1,d&&(a=Ha(T)*M+b,s=Wa(T)*C+S),f=Fa(M,C)*Va(Za,Math.abs(I)),r=Ha(D)*M+b,o=Wa(D)*C+S;break;case La.R:a=r=t[c++],s=o=t[c++],f=2*t[c++]+2*t[c++];break;case La.Z:var k=a-r;v=s-o;f=Math.sqrt(k*k+v*v),r=a,o=s}f>=0&&(l[h++]=f,u+=f)}return this._pathLen=u,u},t.prototype.rebuildPath=function(t,e){var n,i,r,o,a,s,l,u,h,c,p=this.data,d=this._ux,f=this._uy,g=this._len,v=e<1,y=0,m=0,_=0;if(!v||(this._pathSegLen||this._calculateLength(),l=this._pathSegLen,u=e*this._pathLen))t:for(var x=0;x0&&(t.lineTo(h,c),_=0),w){case La.M:n=r=p[x++],i=o=p[x++],t.moveTo(r,o);break;case La.L:a=p[x++],s=p[x++];var S=Ga(a-r),M=Ga(s-o);if(S>d||M>f){if(v){if(y+(j=l[m++])>u){var C=(u-y)/j;t.lineTo(r*(1-C)+a*C,o*(1-C)+s*C);break t}y+=j}t.lineTo(a,s),r=a,o=s,_=0}else{var T=S*S+M*M;T>_&&(h=a,c=s,_=T)}break;case La.C:var I=p[x++],D=p[x++],k=p[x++],A=p[x++],P=p[x++],L=p[x++];if(v){if(y+(j=l[m++])>u){yn(r,I,k,P,C=(u-y)/j,Oa),yn(o,D,A,L,C,Ra),t.bezierCurveTo(Oa[1],Ra[1],Oa[2],Ra[2],Oa[3],Ra[3]);break t}y+=j}t.bezierCurveTo(I,D,k,A,P,L),r=P,o=L;break;case La.Q:I=p[x++],D=p[x++],k=p[x++],A=p[x++];if(v){if(y+(j=l[m++])>u){bn(r,I,k,C=(u-y)/j,Oa),bn(o,D,A,C,Ra),t.quadraticCurveTo(Oa[1],Ra[1],Oa[2],Ra[2]);break t}y+=j}t.quadraticCurveTo(I,D,k,A),r=k,o=A;break;case La.A:var O=p[x++],R=p[x++],N=p[x++],z=p[x++],E=p[x++],B=p[x++],V=p[x++],F=!p[x++],H=N>z?N:z,W=Ga(N-z)>.001,G=E+B,U=!1;if(v)y+(j=l[m++])>u&&(G=E+B*(u-y)/j,U=!0),y+=j;if(W&&t.ellipse?t.ellipse(O,R,N,z,V,E,G,F):t.arc(O,R,H,E,G,F),U)break t;b&&(n=Ha(E)*N+O,i=Wa(E)*z+R),r=Ha(G)*N+O,o=Wa(G)*z+R;break;case La.R:n=r=p[x],i=o=p[x+1],a=p[x++],s=p[x++];var Z=p[x++],Y=p[x++];if(v){if(y+(j=l[m++])>u){var X=u-y;t.moveTo(a,s),t.lineTo(a+Va(X,Z),s),(X-=Z)>0&&t.lineTo(a+Z,s+Va(X,Y)),(X-=Y)>0&&t.lineTo(a+Fa(Z-X,0),s+Y),(X-=Z)>0&&t.lineTo(a,s+Fa(Y-X,0));break t}y+=j}t.rect(a,s,Z,Y);break;case La.Z:if(v){var j;if(y+(j=l[m++])>u){C=(u-y)/j;t.lineTo(r*(1-C)+n*C,o*(1-C)+i*C);break t}y+=j}t.closePath(),r=n,o=i}}},t.prototype.clone=function(){var e=new t,n=this.data;return e.data=n.slice?n.slice():Array.prototype.slice.call(n),e._len=this._len,e},t.CMD=La,t.initDefaultProps=function(){var e=t.prototype;e._saveData=!0,e._ux=0,e._uy=0,e._pendingPtDist=0,e._version=0}(),t}();function $a(t,e,n,i,r,o,a){if(0===r)return!1;var s=r,l=0;if(a>e+s&&a>i+s||at+s&&o>n+s||oe+c&&h>i+c&&h>o+c&&h>s+c||ht+c&&u>n+c&&u>r+c&&u>a+c||u=0&&fe+u&&l>i+u&&l>o+u||lt+u&&s>n+u&&s>r+u||s=0&&vn||h+ur&&(r+=ns);var p=Math.atan2(l,s);return p<0&&(p+=ns),p>=i&&p<=r||p+ns>=i&&p+ns<=r}function rs(t,e,n,i,r,o){if(o>e&&o>i||or?s:0}var os=Ka.CMD,as=2*Math.PI;var ss=[-1,-1,-1],ls=[-1,-1];function us(t,e,n,i,r,o,a,s,l,u){if(u>e&&u>i&&u>o&&u>s||u1&&(h=void 0,h=ls[0],ls[0]=ls[1],ls[1]=h),f=dn(e,i,o,s,ls[0]),d>1&&(g=dn(e,i,o,s,ls[1]))),2===d?ye&&s>i&&s>o||s=0&&h<=1&&(r[l++]=h);else{var u=a*a-4*o*s;if(cn(u))(h=-a/(2*o))>=0&&h<=1&&(r[l++]=h);else if(u>0){var h,c=nn(u),p=(-a-c)/(2*o);(h=(-a+c)/(2*o))>=0&&h<=1&&(r[l++]=h),p>=0&&p<=1&&(r[l++]=p)}}return l}(e,i,o,s,ss);if(0===l)return 0;var u=wn(e,i,o);if(u>=0&&u<=1){for(var h=0,c=_n(e,i,o,u),p=0;pn||s<-n)return 0;var l=Math.sqrt(n*n-s*s);ss[0]=-l,ss[1]=l;var u=Math.abs(i-r);if(u<1e-4)return 0;if(u>=as-1e-4){i=0,r=as;var h=o?1:-1;return a>=ss[0]+t&&a<=ss[1]+t?h:0}if(i>r){var c=i;i=r,r=c}i<0&&(i+=as,r+=as);for(var p=0,d=0;d<2;d++){var f=ss[d];if(f+t>a){var g=Math.atan2(s,f);h=o?1:-1;g<0&&(g=as+g),(g>=i&&g<=r||g+as>=i&&g+as<=r)&&(g>Math.PI/2&&g<1.5*Math.PI&&(h=-h),p+=h)}}return p}function ps(t,e,n,i,r){for(var o,a,s,l,u=t.data,h=t.len(),c=0,p=0,d=0,f=0,g=0,v=0;v1&&(n||(c+=rs(p,d,f,g,i,r))),m&&(f=p=u[v],g=d=u[v+1]),y){case os.M:p=f=u[v++],d=g=u[v++];break;case os.L:if(n){if($a(p,d,u[v],u[v+1],e,i,r))return!0}else c+=rs(p,d,u[v],u[v+1],i,r)||0;p=u[v++],d=u[v++];break;case os.C:if(n){if(Qa(p,d,u[v++],u[v++],u[v++],u[v++],u[v],u[v+1],e,i,r))return!0}else c+=us(p,d,u[v++],u[v++],u[v++],u[v++],u[v],u[v+1],i,r)||0;p=u[v++],d=u[v++];break;case os.Q:if(n){if(Ja(p,d,u[v++],u[v++],u[v],u[v+1],e,i,r))return!0}else c+=hs(p,d,u[v++],u[v++],u[v],u[v+1],i,r)||0;p=u[v++],d=u[v++];break;case os.A:var _=u[v++],x=u[v++],w=u[v++],b=u[v++],S=u[v++],M=u[v++];v+=1;var C=!!(1-u[v++]);o=Math.cos(S)*w+_,a=Math.sin(S)*b+x,m?(f=o,g=a):c+=rs(p,d,o,a,i,r);var T=(i-_)*b/w+_;if(n){if(is(_,x,b,S,S+M,C,e,T,r))return!0}else c+=cs(_,x,b,S,S+M,C,T,r);p=Math.cos(S+M)*w+_,d=Math.sin(S+M)*b+x;break;case os.R:if(f=p=u[v++],g=d=u[v++],o=f+u[v++],a=g+u[v++],n){if($a(f,g,o,g,e,i,r)||$a(o,g,o,a,e,i,r)||$a(o,a,f,a,e,i,r)||$a(f,a,f,g,e,i,r))return!0}else c+=rs(o,g,o,a,i,r),c+=rs(f,a,f,g,i,r);break;case os.Z:if(n){if($a(p,d,f,g,e,i,r))return!0}else c+=rs(p,d,f,g,i,r);p=f,d=g}}return n||(s=d,l=g,Math.abs(s-l)<1e-4)||(c+=rs(p,d,f,g,i,r)||0),0!==c}var ds=A({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},ca),fs={style:A({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},pa.style)},gs=hr.concat(["invisible","culling","z","z2","zlevel","parent"]),vs=function(t){function e(e){return t.call(this,e)||this}var i;return n(e,t),e.prototype.update=function(){var n=this;t.prototype.update.call(this);var i=this.style;if(i.decal){var r=this._decalEl=this._decalEl||new e;r.buildPath===e.prototype.buildPath&&(r.buildPath=function(t){n.buildPath(t,n.shape)}),r.silent=!0;var o=r.style;for(var a in i)o[a]!==i[a]&&(o[a]=i[a]);o.fill=i.fill?i.decal:null,o.decal=null,o.shadowColor=null,i.strokeFirst&&(o.stroke=null);for(var s=0;s.5?tr:e>.2?"#eee":er}if(t)return er}return tr},e.prototype.getInsideTextStroke=function(t){var e=this.style.fill;if(Z(e)){var n=this.__zr;if(!(!n||!n.isDarkMode())===$n(t,0)<.4)return e}},e.prototype.buildPath=function(t,e,n){},e.prototype.pathUpdated=function(){this.__dirty&=-5},e.prototype.getUpdatedPathProxy=function(t){return!this.path&&this.createPathProxy(),this.path.beginPath(),this.buildPath(this.path,this.shape,t),this.path},e.prototype.createPathProxy=function(){this.path=new Ka(!1)},e.prototype.hasStroke=function(){var t=this.style,e=t.stroke;return!(null==e||"none"===e||!(t.lineWidth>0))},e.prototype.hasFill=function(){var t=this.style.fill;return null!=t&&"none"!==t},e.prototype.getBoundingRect=function(){var t=this._rect,e=this.style,n=!t;if(n){var i=!1;this.path||(i=!0,this.createPathProxy());var r=this.path;(i||4&this.__dirty)&&(r.beginPath(),this.buildPath(r,this.shape,!1),this.pathUpdated()),t=r.getBoundingRect()}if(this._rect=t,this.hasStroke()&&this.path&&this.path.len()>0){var o=this._rectStroke||(this._rectStroke=t.clone());if(this.__dirty||n){o.copy(t);var a=e.strokeNoScale?this.getLineScale():1,s=e.lineWidth;if(!this.hasFill()){var l=this.strokeContainThreshold;s=Math.max(s,null==l?4:l)}a>1e-10&&(o.width+=s/a,o.height+=s/a,o.x-=s/a/2,o.y-=s/a/2)}return o}return t},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect(),r=this.style;if(t=n[0],e=n[1],i.contain(t,e)){var o=this.path;if(this.hasStroke()){var a=r.lineWidth,s=r.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(this.hasFill()||(a=Math.max(a,this.strokeContainThreshold)),function(t,e,n,i){return ps(t,e,!0,n,i)}(o,a/s,t,e)))return!0}if(this.hasFill())return function(t,e,n){return ps(t,0,!1,e,n)}(o,t,e)}return!1},e.prototype.dirtyShape=function(){this.__dirty|=4,this._rect&&(this._rect=null),this._decalEl&&this._decalEl.dirtyShape(),this.markRedraw()},e.prototype.dirty=function(){this.dirtyStyle(),this.dirtyShape()},e.prototype.animateShape=function(t){return this.animate("shape",t)},e.prototype.updateDuringAnimation=function(t){"style"===t?this.dirtyStyle():"shape"===t?this.dirtyShape():this.markRedraw()},e.prototype.attrKV=function(e,n){"shape"===e?this.setShape(n):t.prototype.attrKV.call(this,e,n)},e.prototype.setShape=function(t,e){var n=this.shape;return n||(n=this.shape={}),"string"==typeof t?n[t]=e:k(n,t),this.dirtyShape(),this},e.prototype.shapeChanged=function(){return!!(4&this.__dirty)},e.prototype.createStyle=function(t){return yt(ds,t)},e.prototype._innerSaveToNormal=function(e){t.prototype._innerSaveToNormal.call(this,e);var n=this._normalState;e.shape&&!n.shape&&(n.shape=k({},this.shape))},e.prototype._applyStateObj=function(e,n,i,r,o,a){t.prototype._applyStateObj.call(this,e,n,i,r,o,a);var s,l=!(n&&r);if(n&&n.shape?o?r?s=n.shape:(s=k({},i.shape),k(s,n.shape)):(s=k({},r?this.shape:i.shape),k(s,n.shape)):l&&(s=i.shape),s)if(o){this.shape=k({},this.shape);for(var u={},h=F(s),c=0;c0},e.prototype.hasFill=function(){var t=this.style.fill;return null!=t&&"none"!==t},e.prototype.createStyle=function(t){return yt(ys,t)},e.prototype.setBoundingRect=function(t){this._rect=t},e.prototype.getBoundingRect=function(){var t=this.style;if(!this._rect){var e=t.text;null!=e?e+="":e="";var n=gr(e,t.font,t.textAlign,t.textBaseline);if(n.x+=t.x||0,n.y+=t.y||0,this.hasStroke()){var i=t.lineWidth;n.x-=i/2,n.y-=i/2,n.width+=i,n.height+=i}this._rect=n}return this._rect},e.initDefaultProps=void(e.prototype.dirtyRectTolerance=10),e}(ga);ms.prototype.type="tspan";var _s=A({x:0,y:0},ca),xs={style:A({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},pa.style)};var ws=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.createStyle=function(t){return yt(_s,t)},e.prototype._getSize=function(t){var e=this.style,n=e[t];if(null!=n)return n;var i,r=(i=e.image)&&"string"!=typeof i&&i.width&&i.height?e.image:this.__image;if(!r)return 0;var o="width"===t?"height":"width",a=e[o];return null==a?r[t]:r[t]/r[o]*a},e.prototype.getWidth=function(){return this._getSize("width")},e.prototype.getHeight=function(){return this._getSize("height")},e.prototype.getAnimationStyleProps=function(){return xs},e.prototype.getBoundingRect=function(){var t=this.style;return this._rect||(this._rect=new Le(t.x||0,t.y||0,this.getWidth(),this.getHeight())),this._rect},e}(ga);ws.prototype.type="image";var bs=Math.round;function Ss(t,e,n){if(e){var i=e.x1,r=e.x2,o=e.y1,a=e.y2;t.x1=i,t.x2=r,t.y1=o,t.y2=a;var s=n&&n.lineWidth;return s?(bs(2*i)===bs(2*r)&&(t.x1=t.x2=Cs(i,s,!0)),bs(2*o)===bs(2*a)&&(t.y1=t.y2=Cs(o,s,!0)),t):t}}function Ms(t,e,n){if(e){var i=e.x,r=e.y,o=e.width,a=e.height;t.x=i,t.y=r,t.width=o,t.height=a;var s=n&&n.lineWidth;return s?(t.x=Cs(i,s,!0),t.y=Cs(r,s,!0),t.width=Math.max(Cs(i+o,s,!1)-t.x,0===o?0:1),t.height=Math.max(Cs(r+a,s,!1)-t.y,0===a?0:1),t):t}}function Cs(t,e,n){if(!e)return t;var i=bs(2*t);return(i+bs(e))%2==0?i/2:(i+(n?1:-1))/2}var Ts=function(){this.x=0,this.y=0,this.width=0,this.height=0},Is={},Ds=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new Ts},e.prototype.buildPath=function(t,e){var n,i,r,o;if(this.subPixelOptimize){var a=Ms(Is,e,this.style);n=a.x,i=a.y,r=a.width,o=a.height,a.r=e.r,e=a}else n=e.x,i=e.y,r=e.width,o=e.height;e.r?function(t,e){var n,i,r,o,a,s=e.x,l=e.y,u=e.width,h=e.height,c=e.r;u<0&&(s+=u,u=-u),h<0&&(l+=h,h=-h),"number"==typeof c?n=i=r=o=c:c instanceof Array?1===c.length?n=i=r=o=c[0]:2===c.length?(n=r=c[0],i=o=c[1]):3===c.length?(n=c[0],i=o=c[1],r=c[2]):(n=c[0],i=c[1],r=c[2],o=c[3]):n=i=r=o=0,n+i>u&&(n*=u/(a=n+i),i*=u/a),r+o>u&&(r*=u/(a=r+o),o*=u/a),i+r>h&&(i*=h/(a=i+r),r*=h/a),n+o>h&&(n*=h/(a=n+o),o*=h/a),t.moveTo(s+n,l),t.lineTo(s+u-i,l),0!==i&&t.arc(s+u-i,l+i,i,-Math.PI/2,0),t.lineTo(s+u,l+h-r),0!==r&&t.arc(s+u-r,l+h-r,r,0,Math.PI/2),t.lineTo(s+o,l+h),0!==o&&t.arc(s+o,l+h-o,o,Math.PI/2,Math.PI),t.lineTo(s,l+n),0!==n&&t.arc(s+n,l+n,n,Math.PI,1.5*Math.PI)}(t,e):t.rect(n,i,r,o)},e.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},e}(vs);Ds.prototype.type="rect";var ks={fill:"#000"},As={style:A({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},pa.style)},Ps=function(t){function e(e){var n=t.call(this)||this;return n.type="text",n._children=[],n._defaultStyle=ks,n.attr(e),n}return n(e,t),e.prototype.childrenRef=function(){return this._children},e.prototype.update=function(){t.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var e=0;ed&&h){var f=Math.floor(d/l);n=n.slice(0,f)}if(t&&a&&null!=c)for(var g=ta(c,o,e.ellipsis,{minChar:e.truncateMinChar,placeholder:e.placeholder}),v=0;v0,T=null!=t.width&&("truncate"===t.overflow||"break"===t.overflow||"breakAll"===t.overflow),I=i.calculatedLineHeight,D=0;Dl&&aa(n,t.substring(l,u),e,s),aa(n,i[2],e,s,i[1]),l=Qo.lastIndex}lo){w>0?(m.tokens=m.tokens.slice(0,w),v(m,x,_),n.lines=n.lines.slice(0,y+1)):n.lines=n.lines.slice(0,y);break t}var I=b.width,D=null==I||"auto"===I;if("string"==typeof I&&"%"===I.charAt(I.length-1))L.percentWidth=I,h.push(L),L.contentWidth=dr(L.text,C);else{if(D){var k=b.backgroundColor,A=k&&k.image;A&&$o(A=jo(A))&&(L.width=Math.max(L.width,A.width*T/A.height))}var P=f&&null!=r?r-x:null;null!=P&&P=0&&"right"===(I=_[T]).align;)this._placeToken(I,t,w,f,C,"right",v),b-=I.width,C-=I.width,T--;for(M+=(n-(M-d)-(g-C)-b)/2;S<=T;)I=_[S],this._placeToken(I,t,w,f,M+I.width/2,"center",v),M+=I.width,S++;f+=w}},e.prototype._placeToken=function(t,e,n,i,r,o,s){var l=e.rich[t.styleName]||{};l.text=t.text;var u=t.verticalAlign,h=i+n/2;"top"===u?h=i+t.height/2:"bottom"===u&&(h=i+n-t.height/2),!t.isLineHolder&&Gs(l)&&this._renderBackground(l,e,"right"===o?r-t.width:"center"===o?r-t.width/2:r,h-t.height/2,t.width,t.height);var c=!!l.backgroundColor,p=t.textPadding;p&&(r=Hs(r,o,p),h-=t.height/2-p[0]-t.innerHeight/2);var d=this._getOrCreateChild(ms),f=d.createStyle();d.useStyle(f);var g=this._defaultStyle,v=!1,y=0,m=Fs("fill"in l?l.fill:"fill"in e?e.fill:(v=!0,g.fill)),_=Vs("stroke"in l?l.stroke:"stroke"in e?e.stroke:c||s||g.autoStroke&&!v?null:(y=2,g.stroke)),x=l.textShadowBlur>0||e.textShadowBlur>0;f.text=t.text,f.x=r,f.y=h,x&&(f.shadowBlur=l.textShadowBlur||e.textShadowBlur||0,f.shadowColor=l.textShadowColor||e.textShadowColor||"transparent",f.shadowOffsetX=l.textShadowOffsetX||e.textShadowOffsetX||0,f.shadowOffsetY=l.textShadowOffsetY||e.textShadowOffsetY||0),f.textAlign=o,f.textBaseline="middle",f.font=t.font||a,f.opacity=rt(l.opacity,e.opacity,1),zs(f,l),_&&(f.lineWidth=rt(l.lineWidth,e.lineWidth,y),f.lineDash=it(l.lineDash,e.lineDash),f.lineDashOffset=e.lineDashOffset||0,f.stroke=_),m&&(f.fill=m);var w=t.contentWidth,b=t.contentHeight;d.setBoundingRect(new Le(vr(f.x,w,f.textAlign),yr(f.y,b,f.textBaseline),w,b))},e.prototype._renderBackground=function(t,e,n,i,r,o){var a,s,l,u=t.backgroundColor,h=t.borderWidth,c=t.borderColor,p=u&&u.image,d=u&&!p,f=t.borderRadius,g=this;if(d||t.lineHeight||h&&c){(a=this._getOrCreateChild(Ds)).useStyle(a.createStyle()),a.style.fill=null;var v=a.shape;v.x=n,v.y=i,v.width=r,v.height=o,v.r=f,a.dirtyShape()}if(d)(l=a.style).fill=u||null,l.fillOpacity=it(t.fillOpacity,1);else if(p){(s=this._getOrCreateChild(ws)).onload=function(){g.dirtyStyle()};var y=s.style;y.image=u.image,y.x=n,y.y=i,y.width=r,y.height=o}h&&c&&((l=a.style).lineWidth=h,l.stroke=c,l.strokeOpacity=it(t.strokeOpacity,1),l.lineDash=t.borderDash,l.lineDashOffset=t.borderDashOffset||0,a.strokeContainThreshold=0,a.hasFill()&&a.hasStroke()&&(l.strokeFirst=!0,l.lineWidth*=2));var m=(a||s).style;m.shadowBlur=t.shadowBlur||0,m.shadowColor=t.shadowColor||"transparent",m.shadowOffsetX=t.shadowOffsetX||0,m.shadowOffsetY=t.shadowOffsetY||0,m.opacity=rt(t.opacity,e.opacity,1)},e.makeFont=function(t){var e="";return Es(t)&&(e=[t.fontStyle,t.fontWeight,Ns(t.fontSize),t.fontFamily||"sans-serif"].join(" ")),e&<(e)||t.textFont||t.font},e}(ga),Ls={left:!0,right:1,center:1},Os={top:1,bottom:1,middle:1},Rs=["fontStyle","fontWeight","fontSize","fontFamily"];function Ns(t){return"string"!=typeof t||-1===t.indexOf("px")&&-1===t.indexOf("rem")&&-1===t.indexOf("em")?isNaN(+t)?"12px":t+"px":t}function zs(t,e){for(var n=0;n=0,o=!1;if(t instanceof vs){var a=Xs(t),s=r&&a.selectFill||a.normalFill,l=r&&a.selectStroke||a.normalStroke;if(nl(s)||nl(l)){var u=(i=i||{}).style||{};"inherit"===u.fill?(o=!0,i=k({},i),(u=k({},u)).fill=s):!nl(u.fill)&&nl(s)?(o=!0,i=k({},i),(u=k({},u)).fill=Jn(s)):!nl(u.stroke)&&nl(l)&&(o||(i=k({},i),u=k({},u)),u.stroke=Jn(l)),i.style=u}}if(i&&null==i.z2){o||(i=k({},i));var h=t.z2EmphasisLift;i.z2=t.z2+(null!=h?h:10)}return i}(this,0,e,n);if("blur"===t)return function(t,e,n){var i=L(t.currentStates,e)>=0,r=t.style.opacity,o=i?null:function(t,e,n,i){for(var r=t.style,o={},a=0;a0){var o={dataIndex:r,seriesIndex:t.seriesIndex};null!=i&&(o.dataType=i),e.push(o)}}))})),e}function Al(t,e,n){Nl(t,!0),cl(t,fl),function(t,e,n){var i=Us(t);null!=e?(i.focus=e,i.blurScope=n):i.focus&&(i.focus=null)}(t,e,n)}function Pl(t,e,n,i){i?function(t){Nl(t,!1)}(t):Al(t,e,n)}var Ll=["emphasis","blur","select"],Ol={itemStyle:"getItemStyle",lineStyle:"getLineStyle",areaStyle:"getAreaStyle"};function Rl(t,e,n,i){n=n||"itemStyle";for(var r=0;r1&&(a*=Gl(f),s*=Gl(f));var g=(r===o?-1:1)*Gl((a*a*(s*s)-a*a*(d*d)-s*s*(p*p))/(a*a*(d*d)+s*s*(p*p)))||0,v=g*a*d/s,y=g*-s*p/a,m=(t+n)/2+Zl(c)*v-Ul(c)*y,_=(e+i)/2+Ul(c)*v+Zl(c)*y,x=ql([1,0],[(p-v)/a,(d-y)/s]),w=[(p-v)/a,(d-y)/s],b=[(-1*p-v)/a,(-1*d-y)/s],S=ql(w,b);if(jl(w,b)<=-1&&(S=Yl),jl(w,b)>=1&&(S=0),S<0){var M=Math.round(S/Yl*1e6)/1e6;S=2*Yl+M%2*Yl}h.addData(u,m,_,a,s,x,S,c,o)}var $l=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi,Ql=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;var Jl=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.applyTransform=function(t){},e}(vs);function tu(t){return null!=t.setData}function eu(t,e){var n=function(t){var e=new Ka;if(!t)return e;var n,i=0,r=0,o=i,a=r,s=Ka.CMD,l=t.match($l);if(!l)return e;for(var u=0;uA*A+P*P&&(M=T,C=I),{cx:M,cy:C,x0:-h,y0:-c,x1:M*(r/w-1),y1:C*(r/w-1)}}function mu(t,e){var n,i=fu(e.r,0),r=fu(e.r0||0,0),o=i>0;if(o||r>0){if(o||(i=r,r=0),r>i){var a=i;i=r,r=a}var s=e.startAngle,l=e.endAngle;if(!isNaN(s)&&!isNaN(l)){var u=e.cx,h=e.cy,c=!!e.clockwise,p=pu(l-s),d=p>su&&p%su;if(d>vu&&(p=d),i>vu)if(p>su-vu)t.moveTo(u+i*uu(s),h+i*lu(s)),t.arc(u,h,i,s,l,!c),r>vu&&(t.moveTo(u+r*uu(l),h+r*lu(l)),t.arc(u,h,r,l,s,c));else{var f=void 0,g=void 0,v=void 0,y=void 0,m=void 0,_=void 0,x=void 0,w=void 0,b=void 0,S=void 0,M=void 0,C=void 0,T=void 0,I=void 0,D=void 0,k=void 0,A=i*uu(s),P=i*lu(s),L=r*uu(l),O=r*lu(l),R=p>vu;if(R){var N=e.cornerRadius;N&&(n=function(t){var e;if(G(t)){var n=t.length;if(!n)return t;e=1===n?[t[0],t[0],0,0]:2===n?[t[0],t[0],t[1],t[1]]:3===n?t.concat(t[2]):t}else e=[t,t,t,t];return e}(N),f=n[0],g=n[1],v=n[2],y=n[3]);var z=pu(i-r)/2;if(m=gu(z,v),_=gu(z,y),x=gu(z,f),w=gu(z,g),M=b=fu(m,_),C=S=fu(x,w),(b>vu||S>vu)&&(T=i*uu(l),I=i*lu(l),D=r*uu(s),k=r*lu(s),pvu){var Z=gu(v,M),Y=gu(y,M),X=yu(D,k,A,P,i,Z,c),j=yu(T,I,L,O,i,Y,c);t.moveTo(u+X.cx+X.x0,h+X.cy+X.y0),M0&&t.arc(u+X.cx,h+X.cy,Z,cu(X.y0,X.x0),cu(X.y1,X.x1),!c),t.arc(u,h,i,cu(X.cy+X.y1,X.cx+X.x1),cu(j.cy+j.y1,j.cx+j.x1),!c),Y>0&&t.arc(u+j.cx,h+j.cy,Y,cu(j.y1,j.x1),cu(j.y0,j.x0),!c))}else t.moveTo(u+A,h+P),t.arc(u,h,i,s,l,!c);else t.moveTo(u+A,h+P);if(r>vu&&R)if(C>vu){Z=gu(f,C),X=yu(L,O,T,I,r,-(Y=gu(g,C)),c),j=yu(A,P,D,k,r,-Z,c);t.lineTo(u+X.cx+X.x0,h+X.cy+X.y0),C0&&t.arc(u+X.cx,h+X.cy,Y,cu(X.y0,X.x0),cu(X.y1,X.x1),!c),t.arc(u,h,r,cu(X.cy+X.y1,X.cx+X.x1),cu(j.cy+j.y1,j.cx+j.x1),c),Z>0&&t.arc(u+j.cx,h+j.cy,Z,cu(j.y1,j.x1),cu(j.y0,j.x0),!c))}else t.lineTo(u+L,h+O),t.arc(u,h,r,l,s,c);else t.lineTo(u+L,h+O)}else t.moveTo(u,h);t.closePath()}}}var _u=function(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=2*Math.PI,this.clockwise=!0,this.cornerRadius=0},xu=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new _u},e.prototype.buildPath=function(t,e){mu(t,e)},e.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},e}(vs);xu.prototype.type="sector";var wu=function(){this.cx=0,this.cy=0,this.r=0,this.r0=0},bu=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new wu},e.prototype.buildPath=function(t,e){var n=e.cx,i=e.cy,r=2*Math.PI;t.moveTo(n+e.r,i),t.arc(n,i,e.r,0,r,!1),t.moveTo(n+e.r0,i),t.arc(n,i,e.r0,0,r,!0)},e}(vs);function Su(t,e,n){var i=e.smooth,r=e.points;if(r&&r.length>=2){if(i){var o=function(t,e,n,i){var r,o,a,s,l=[],u=[],h=[],c=[];if(i){a=[1/0,1/0],s=[-1/0,-1/0];for(var p=0,d=t.length;pWu[1]){if(a=!1,r)return a;var u=Math.abs(Wu[0]-Hu[1]),h=Math.abs(Hu[0]-Wu[1]);Math.min(u,h)>i.len()&&(u0){var c={duration:h.duration,delay:h.delay||0,easing:h.easing,done:o,force:!!o||!!a,setToFinal:!u,scope:t,during:a};l?e.animateFrom(n,c):e.animateTo(n,c)}else e.stopAnimation(),!l&&e.attr(n),a&&a(1),o&&o()}function $u(t,e,n,i,r,o){Ku("update",t,e,n,i,r,o)}function Qu(t,e,n,i,r,o){Ku("enter",t,e,n,i,r,o)}function Ju(t){if(!t.__zr)return!0;for(var e=0;eMath.abs(o[1])?o[0]>0?"right":"left":o[1]>0?"bottom":"top"}function bh(t){return!t.isGroup}function Sh(t,e,n){if(t&&e){var i,r=(i={},t.traverse((function(t){bh(t)&&t.anid&&(i[t.anid]=t)})),i);e.traverse((function(t){if(bh(t)&&t.anid){var e=r[t.anid];if(e){var i=o(t);t.attr(o(e)),$u(t,i,n,Us(t).dataIndex)}}}))}function o(t){var e={x:t.x,y:t.y,rotation:t.rotation};return function(t){return null!=t.shape}(t)&&(e.shape=k({},t.shape)),e}}function Mh(t,e){return E(t,(function(t){var n=t[0];n=rh(n,e.x),n=oh(n,e.x+e.width);var i=t[1];return i=rh(i,e.y),[n,i=oh(i,e.y+e.height)]}))}function Ch(t,e){var n=rh(t.x,e.x),i=oh(t.x+t.width,e.x+e.width),r=rh(t.y,e.y),o=oh(t.y+t.height,e.y+e.height);if(i>=n&&o>=r)return{x:n,y:r,width:i-n,height:o-r}}function Th(t,e,n){var i=k({rectHover:!0},e),r=i.style={strokeNoScale:!0};if(n=n||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf("image://")?(r.image=t.slice(8),A(r,n),new ws(i)):ph(t.replace("path://",""),i,n,"center")}function Ih(t,e,n,i,r,o,a,s){var l,u=n-t,h=i-e,c=a-r,p=s-o,d=Dh(c,p,u,h);if((l=d)<=1e-6&&l>=-1e-6)return!1;var f=t-r,g=e-o,v=Dh(f,g,u,h)/d;if(v<0||v>1)return!1;var y=Dh(f,g,c,p)/d;return!(y<0||y>1)}function Dh(t,e,n,i){return t*i-n*e}function kh(t){var e=t.itemTooltipOption,n=t.componentModel,i=t.itemName,r=Z(e)?{formatter:e}:e,o=n.mainType,a=n.componentIndex,s={componentType:o,name:i,$vars:["name"]};s[o+"Index"]=a;var l=t.formatterParamsExtra;l&&z(F(l),(function(t){_t(s,t)||(s[t]=l[t],s.$vars.push(t))}));var u=Us(t.el);u.componentMainType=o,u.componentIndex=a,u.tooltipConfig={name:i,option:A({content:i,encodeHTMLContent:!0,formatterParams:s},r)}}function Ah(t,e){var n;t.isGroup&&(n=e(t)),n||t.traverse(e)}function Ph(t,e){if(t)if(G(t))for(var n=0;n-1?sc:uc;function dc(t,e){t=t.toUpperCase(),cc[t]=new ic(e),hc[t]=e}dc(lc,{time:{month:["January","February","March","April","May","June","July","August","September","October","November","December"],monthAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayOfWeekAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},legend:{selector:{all:"All",inverse:"Inv"}},toolbox:{brush:{title:{rect:"Box Select",polygon:"Lasso Select",lineX:"Horizontally Select",lineY:"Vertically Select",keep:"Keep Selections",clear:"Clear Selections"}},dataView:{title:"Data View",lang:["Data View","Close","Refresh"]},dataZoom:{title:{zoom:"Zoom",back:"Zoom Reset"}},magicType:{title:{line:"Switch to Line Chart",bar:"Switch to Bar Chart",stack:"Stack",tiled:"Tile"}},restore:{title:"Restore"},saveAsImage:{title:"Save as Image",lang:["Right Click to Save Image"]}},series:{typeNames:{pie:"Pie chart",bar:"Bar chart",line:"Line chart",scatter:"Scatter plot",effectScatter:"Ripple scatter plot",radar:"Radar chart",tree:"Tree",treemap:"Treemap",boxplot:"Boxplot",candlestick:"Candlestick",k:"K line chart",heatmap:"Heat map",map:"Map",parallel:"Parallel coordinate map",lines:"Line graph",graph:"Relationship graph",sankey:"Sankey diagram",funnel:"Funnel chart",gauge:"Gauge",pictorialBar:"Pictorial bar",themeRiver:"Theme River Map",sunburst:"Sunburst",custom:"Custom chart",chart:"Chart"}},aria:{general:{withTitle:'This is a chart about "{title}"',withoutTitle:"This is a chart"},series:{single:{prefix:"",withName:" with type {seriesType} named {seriesName}.",withoutName:" with type {seriesType}."},multiple:{prefix:". It consists of {seriesCount} series count.",withName:" The {seriesId} series is a {seriesType} representing {seriesName}.",withoutName:" The {seriesId} series is a {seriesType}.",separator:{middle:"",end:""}}},data:{allData:"The data is as follows: ",partialData:"The first {displayCnt} items are: ",withName:"the data for {name} is {value}",withoutName:"{value}",separator:{middle:", ",end:". "}}}}),dc(sc,{time:{month:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthAbbr:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayOfWeekAbbr:["日","一","二","三","四","五","六"]},legend:{selector:{all:"全选",inverse:"反选"}},toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图",custom:"自定义图表",chart:"图表"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}});var fc=1e3,gc=6e4,vc=36e5,yc=864e5,mc=31536e6,_c={year:"{yyyy}",month:"{MMM}",day:"{d}",hour:"{HH}:{mm}",minute:"{HH}:{mm}",second:"{HH}:{mm}:{ss}",millisecond:"{HH}:{mm}:{ss} {SSS}",none:"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"},xc="{yyyy}-{MM}-{dd}",wc={year:"{yyyy}",month:"{yyyy}-{MM}",day:xc,hour:xc+" "+_c.hour,minute:xc+" "+_c.minute,second:xc+" "+_c.second,millisecond:_c.none},bc=["year","month","day","hour","minute","second","millisecond"],Sc=["year","half-year","quarter","month","week","half-week","day","half-day","quarter-day","hour","minute","second","millisecond"];function Mc(t,e){return"0000".substr(0,e-(t+="").length)+t}function Cc(t){switch(t){case"half-year":case"quarter":return"month";case"week":case"half-week":return"day";case"half-day":case"quarter-day":return"hour";default:return t}}function Tc(t){return t===Cc(t)}function Ic(t,e,n,i){var r=to(t),o=r[Ac(n)](),a=r[Pc(n)]()+1,s=Math.floor((a-1)/3)+1,l=r[Lc(n)](),u=r["get"+(n?"UTC":"")+"Day"](),h=r[Oc(n)](),c=(h-1)%12+1,p=r[Rc(n)](),d=r[Nc(n)](),f=r[zc(n)](),g=h>=12?"pm":"am",v=g.toUpperCase(),y=i instanceof ic?i:function(t){return cc[t]}(i||pc)||cc[uc],m=y.getModel("time"),_=m.get("month"),x=m.get("monthAbbr"),w=m.get("dayOfWeek"),b=m.get("dayOfWeekAbbr");return(e||"").replace(/{a}/g,g+"").replace(/{A}/g,v+"").replace(/{yyyy}/g,o+"").replace(/{yy}/g,Mc(o%100+"",2)).replace(/{Q}/g,s+"").replace(/{MMMM}/g,_[a-1]).replace(/{MMM}/g,x[a-1]).replace(/{MM}/g,Mc(a,2)).replace(/{M}/g,a+"").replace(/{dd}/g,Mc(l,2)).replace(/{d}/g,l+"").replace(/{eeee}/g,w[u]).replace(/{ee}/g,b[u]).replace(/{e}/g,u+"").replace(/{HH}/g,Mc(h,2)).replace(/{H}/g,h+"").replace(/{hh}/g,Mc(c+"",2)).replace(/{h}/g,c+"").replace(/{mm}/g,Mc(p,2)).replace(/{m}/g,p+"").replace(/{ss}/g,Mc(d,2)).replace(/{s}/g,d+"").replace(/{SSS}/g,Mc(f,3)).replace(/{S}/g,f+"")}function Dc(t,e){var n=to(t),i=n[Pc(e)]()+1,r=n[Lc(e)](),o=n[Oc(e)](),a=n[Rc(e)](),s=n[Nc(e)](),l=0===n[zc(e)](),u=l&&0===s,h=u&&0===a,c=h&&0===o,p=c&&1===r;return p&&1===i?"year":p?"month":c?"day":h?"hour":u?"minute":l?"second":"millisecond"}function kc(t,e,n){var i=X(t)?to(t):t;switch(e=e||Dc(t,n)){case"year":return i[Ac(n)]();case"half-year":return i[Pc(n)]()>=6?1:0;case"quarter":return Math.floor((i[Pc(n)]()+1)/4);case"month":return i[Pc(n)]();case"day":return i[Lc(n)]();case"half-day":return i[Oc(n)]()/24;case"hour":return i[Oc(n)]();case"minute":return i[Rc(n)]();case"second":return i[Nc(n)]();case"millisecond":return i[zc(n)]()}}function Ac(t){return t?"getUTCFullYear":"getFullYear"}function Pc(t){return t?"getUTCMonth":"getMonth"}function Lc(t){return t?"getUTCDate":"getDate"}function Oc(t){return t?"getUTCHours":"getHours"}function Rc(t){return t?"getUTCMinutes":"getMinutes"}function Nc(t){return t?"getUTCSeconds":"getSeconds"}function zc(t){return t?"getUTCMilliseconds":"getMilliseconds"}function Ec(t){return t?"setUTCFullYear":"setFullYear"}function Bc(t){return t?"setUTCMonth":"setMonth"}function Vc(t){return t?"setUTCDate":"setDate"}function Fc(t){return t?"setUTCHours":"setHours"}function Hc(t){return t?"setUTCMinutes":"setMinutes"}function Wc(t){return t?"setUTCSeconds":"setSeconds"}function Gc(t){return t?"setUTCMilliseconds":"setMilliseconds"}function Uc(t){if(!oo(t))return Z(t)?t:"-";var e=(t+"").split(".");return e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(e.length>1?"."+e[1]:"")}function Zc(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,(function(t,e){return e.toUpperCase()})),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}var Yc=at;function Xc(t,e,n){function i(t){return t&<(t)?t:"-"}function r(t){return!(null==t||isNaN(t)||!isFinite(t))}var o="time"===e,a=t instanceof Date;if(o||a){var s=o?to(t):t;if(!isNaN(+s))return Ic(s,"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}",n);if(a)return"-"}if("ordinal"===e)return Y(t)?i(t):X(t)&&r(t)?t+"":"-";var l=ro(t);return r(l)?Uc(l):Y(t)?i(t):"boolean"==typeof t?t+"":"-"}var jc=["a","b","c","d","e","f","g"],qc=function(t,e){return"{"+t+(null==e?"":e)+"}"};function Kc(t,e,n){G(e)||(e=[e]);var i=e.length;if(!i)return"";for(var r=e[0].$vars||[],o=0;o':'':{renderMode:o,content:"{"+(n.markerId||"markerX")+"|} ",style:"subItem"===r?{width:4,height:4,borderRadius:2,backgroundColor:i}:{width:10,height:10,borderRadius:5,backgroundColor:i}}:""}function Qc(t,e){return e=e||"transparent",Z(t)?t:j(t)&&t.colorStops&&(t.colorStops[0]||{}).color||e}function Jc(t,e){if("_blank"===e||"blank"===e){var n=window.open();n.opener=null,n.location.href=t}else window.open(t,e)}var tp=z,ep=["left","right","top","bottom","width","height"],np=[["width","left","right"],["height","top","bottom"]];function ip(t,e,n,i,r){var o=0,a=0;null==i&&(i=1/0),null==r&&(r=1/0);var s=0;e.eachChild((function(l,u){var h,c,p=l.getBoundingRect(),d=e.childAt(u+1),f=d&&d.getBoundingRect();if("horizontal"===t){var g=p.width+(f?-f.x+p.x:0);(h=o+g)>i||l.newline?(o=0,h=g,a+=s+n,s=p.height):s=Math.max(s,p.height)}else{var v=p.height+(f?-f.y+p.y:0);(c=a+v)>r||l.newline?(o+=s+n,a=0,c=v,s=p.width):s=Math.max(s,p.width)}l.newline||(l.x=o,l.y=a,l.markRedraw(),"horizontal"===t?o=h+n:a=c+n)}))}var rp=ip;W(ip,"vertical"),W(ip,"horizontal");function op(t,e,n){n=Yc(n||0);var i=e.width,r=e.height,o=Gr(t.left,i),a=Gr(t.top,r),s=Gr(t.right,i),l=Gr(t.bottom,r),u=Gr(t.width,i),h=Gr(t.height,r),c=n[2]+n[0],p=n[1]+n[3],d=t.aspect;switch(isNaN(u)&&(u=i-s-p-o),isNaN(h)&&(h=r-l-c-a),null!=d&&(isNaN(u)&&isNaN(h)&&(d>i/r?u=.8*i:h=.8*r),isNaN(u)&&(u=d*h),isNaN(h)&&(h=u/d)),isNaN(o)&&(o=i-s-u-p),isNaN(a)&&(a=r-l-h-c),t.left||t.right){case"center":o=i/2-u/2-n[3];break;case"right":o=i-u-p}switch(t.top||t.bottom){case"middle":case"center":a=r/2-h/2-n[0];break;case"bottom":a=r-h-c}o=o||0,a=a||0,isNaN(u)&&(u=i-p-o-(s||0)),isNaN(h)&&(h=r-c-a-(l||0));var f=new Le(o+n[3],a+n[0],u,h);return f.margin=n,f}function ap(t,e,n,i,r,o){var a,s=!r||!r.hv||r.hv[0],l=!r||!r.hv||r.hv[1],u=r&&r.boundingMode||"all";if((o=o||t).x=t.x,o.y=t.y,!s&&!l)return!1;if("raw"===u)a="group"===t.type?new Le(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(a=t.getBoundingRect(),t.needLocalTransform()){var h=t.getLocalTransform();(a=a.clone()).applyTransform(h)}var c=op(A({width:a.width,height:a.height},e),n,i),p=s?c.x-a.x:0,d=l?c.y-a.y:0;return"raw"===u?(o.x=p,o.y=d):(o.x+=p,o.y+=d),o===t&&t.markRedraw(),!0}function sp(t){var e=t.layoutMode||t.constructor.layoutMode;return j(e)?e:e?{type:e}:null}function lp(t,e,n){var i=n&&n.ignoreSize;!G(i)&&(i=[i,i]);var r=a(np[0],0),o=a(np[1],1);function a(n,r){var o={},a=0,u={},h=0;if(tp(n,(function(e){u[e]=t[e]})),tp(n,(function(t){s(e,t)&&(o[t]=u[t]=e[t]),l(o,t)&&a++,l(u,t)&&h++})),i[r])return l(e,n[1])?u[n[2]]=null:l(e,n[2])&&(u[n[1]]=null),u;if(2!==h&&a){if(a>=2)return o;for(var c=0;c=0;a--)o=I(o,n[a],!0);e.defaultOption=o}return e.defaultOption},e.prototype.getReferringComponents=function(t,e){var n=t+"Index",i=t+"Id";return Oo(this.ecModel,t,{index:this.get(n,!0),id:this.get(i,!0)},e)},e.prototype.getBoxLayoutParams=function(){var t=this;return{left:t.get("left"),top:t.get("top"),right:t.get("right"),bottom:t.get("bottom"),width:t.get("width"),height:t.get("height")}},e.prototype.getZLevelKey=function(){return""},e.prototype.setZLevel=function(t){this.option.zlevel=t},e.protoInitialize=function(){var t=e.prototype;t.type="component",t.id="",t.name="",t.mainType="",t.subType="",t.componentIndex=0}(),e}(ic);Vo(pp,ic),Go(pp),function(t){var e={};t.registerSubTypeDefaulter=function(t,n){var i=Eo(t);e[i.main]=n},t.determineSubType=function(n,i){var r=i.type;if(!r){var o=Eo(n).main;t.hasSubTypes(n)&&e[o]&&(r=e[o](i))}return r}}(pp),function(t,e){function n(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}t.topologicalTravel=function(t,i,r,o){if(t.length){var a=function(t){var i={},r=[];return z(t,(function(o){var a=n(i,o),s=function(t,e){var n=[];return z(t,(function(t){L(e,t)>=0&&n.push(t)})),n}(a.originalDeps=e(o),t);a.entryCount=s.length,0===a.entryCount&&r.push(o),z(s,(function(t){L(a.predecessor,t)<0&&a.predecessor.push(t);var e=n(i,t);L(e.successor,t)<0&&e.successor.push(o)}))})),{graph:i,noEntryList:r}}(i),s=a.graph,l=a.noEntryList,u={};for(z(t,(function(t){u[t]=!0}));l.length;){var h=l.pop(),c=s[h],p=!!u[h];p&&(r.call(o,h,c.originalDeps.slice()),delete u[h]),z(c.successor,p?f:d)}z(u,(function(){var t="";throw new Error(t)}))}function d(t){s[t].entryCount--,0===s[t].entryCount&&l.push(t)}function f(t){u[t]=!0,d(t)}}}(pp,(function(t){var e=[];z(pp.getClassesByMainType(t),(function(t){e=e.concat(t.dependencies||t.prototype.dependencies||[])})),e=E(e,(function(t){return Eo(t).main})),"dataset"!==t&&L(e,"dataset")<=0&&e.unshift("dataset");return e}));var dp="";"undefined"!=typeof navigator&&(dp=navigator.platform||"");var fp="rgba(0, 0, 0, 0.2)",gp={darkMode:"auto",colorBy:"series",color:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:fp,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:fp,symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:fp,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:fp,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:fp,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:fp,symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:dp.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,stateAnimation:{duration:300,easing:"cubicOut"},animation:"auto",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicInOut",animationEasingUpdate:"cubicInOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},vp=gt(["tooltip","label","itemName","itemId","itemGroupId","itemChildGroupId","seriesName"]),yp="original",mp="arrayRows",_p="objectRows",xp="keyedColumns",wp="typedArray",bp="unknown",Sp="column",Mp="row",Cp=1,Tp=2,Ip=3,Dp=Io();function kp(t,e,n){var i={},r=Pp(e);if(!r||!t)return i;var o,a,s=[],l=[],u=e.ecModel,h=Dp(u).datasetMap,c=r.uid+"_"+n.seriesLayoutBy;z(t=t.slice(),(function(e,n){var r=j(e)?e:t[n]={name:e};"ordinal"===r.type&&null==o&&(o=n,a=f(r)),i[r.name]=[]}));var p=h.get(c)||h.set(c,{categoryWayDim:a,valueWayDim:0});function d(t,e,n){for(var i=0;ie)return t[i];return t[n-1]}(i,a):n;if((h=h||n)&&h.length){var c=h[l];return r&&(u[r]=c),s.paletteIdx=(l+1)%h.length,c}}var Gp="\0_ec_inner";var Up=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.init=function(t,e,n,i,r,o){i=i||{},this.option=null,this._theme=new ic(i),this._locale=new ic(r),this._optionManager=o},e.prototype.setOption=function(t,e,n){var i=Xp(e);this._optionManager.setOption(t,n,i),this._resetOption(null,i)},e.prototype.resetOption=function(t,e){return this._resetOption(t,Xp(e))},e.prototype._resetOption=function(t,e){var n=!1,i=this._optionManager;if(!t||"recreate"===t){var r=i.mountOption("recreate"===t);0,this.option&&"recreate"!==t?(this.restoreData(),this._mergeOption(r,e)):Ep(this,r),n=!0}if("timeline"!==t&&"media"!==t||this.restoreData(),!t||"recreate"===t||"timeline"===t){var o=i.getTimelineOption(this);o&&(n=!0,this._mergeOption(o,e))}if(!t||"recreate"===t||"media"===t){var a=i.getMediaOption(this);a.length&&z(a,(function(t){n=!0,this._mergeOption(t,e)}),this)}return n},e.prototype.mergeOption=function(t){this._mergeOption(t,null)},e.prototype._mergeOption=function(t,e){var n=this.option,i=this._componentsMap,r=this._componentsCount,o=[],a=gt(),s=e&&e.replaceMergeMainTypeMap;Dp(this).datasetMap=gt(),z(t,(function(t,e){null!=t&&(pp.hasClass(e)?e&&(o.push(e),a.set(e,!0)):n[e]=null==n[e]?T(t):I(n[e],t,!0))})),s&&s.each((function(t,e){pp.hasClass(e)&&!a.get(e)&&(o.push(e),a.set(e,!0))})),pp.topologicalTravel(o,pp.getAllClassMainTypes(),(function(e){var o=function(t,e,n){var i=Rp.get(e);if(!i)return n;var r=i(t);return r?n.concat(r):n}(this,e,go(t[e])),a=i.get(e),l=a?s&&s.get(e)?"replaceMerge":"normalMerge":"replaceAll",u=xo(a,o,l);(function(t,e,n){z(t,(function(t){var i=t.newOption;j(i)&&(t.keyInfo.mainType=e,t.keyInfo.subType=function(t,e,n,i){return e.type?e.type:n?n.subType:i.determineSubType(t,e)}(e,i,t.existing,n))}))})(u,e,pp),n[e]=null,i.set(e,null),r.set(e,0);var h,c=[],p=[],d=0;z(u,(function(t,n){var i=t.existing,r=t.newOption;if(r){var o="series"===e,a=pp.getClass(e,t.keyInfo.subType,!o);if(!a)return;if("tooltip"===e){if(h)return void 0;h=!0}if(i&&i.constructor===a)i.name=t.keyInfo.name,i.mergeOption(r,this),i.optionUpdated(r,!1);else{var s=k({componentIndex:n},t.keyInfo);k(i=new a(r,this,this,s),s),t.brandNew&&(i.__requireNewView=!0),i.init(r,this,this),i.optionUpdated(null,!0)}}else i&&(i.mergeOption({},this),i.optionUpdated({},!1));i?(c.push(i.option),p.push(i),d++):(c.push(void 0),p.push(void 0))}),this),n[e]=c,i.set(e,p),r.set(e,d),"series"===e&&Np(this)}),this),this._seriesIndices||Np(this)},e.prototype.getOption=function(){var t=T(this.option);return z(t,(function(e,n){if(pp.hasClass(n)){for(var i=go(e),r=i.length,o=!1,a=r-1;a>=0;a--)i[a]&&!Co(i[a])?o=!0:(i[a]=null,!o&&r--);i.length=r,t[n]=i}})),delete t[Gp],t},e.prototype.getTheme=function(){return this._theme},e.prototype.getLocaleModel=function(){return this._locale},e.prototype.setUpdatePayload=function(t){this._payload=t},e.prototype.getUpdatePayload=function(){return this._payload},e.prototype.getComponent=function(t,e){var n=this._componentsMap.get(t);if(n){var i=n[e||0];if(i)return i;if(null==e)for(var r=0;r=e:"max"===n?t<=e:t===e})(i[a],t,o)||(r=!1)}})),r}var ed=z,nd=j,id=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function rd(t){var e=t&&t.itemStyle;if(e)for(var n=0,i=id.length;n=0;g--){var v=t[g];if(s||(p=v.data.rawIndexOf(v.stackedByDimension,c)),p>=0){var y=v.data.getByRawIndex(v.stackResultDimension,p);if("all"===l||"positive"===l&&y>0||"negative"===l&&y<0||"samesign"===l&&d>=0&&y>0||"samesign"===l&&d<=0&&y<0){d=Kr(d,y),f=y;break}}}return i[0]=d,i[1]=f,i}))}))}var bd,Sd,Md,Cd,Td,Id=function(t){this.data=t.data||(t.sourceFormat===xp?{}:[]),this.sourceFormat=t.sourceFormat||bp,this.seriesLayoutBy=t.seriesLayoutBy||Sp,this.startIndex=t.startIndex||0,this.dimensionsDetectedCount=t.dimensionsDetectedCount,this.metaRawOption=t.metaRawOption;var e=this.dimensionsDefine=t.dimensionsDefine;if(e)for(var n=0;nu&&(u=d)}s[0]=l,s[1]=u}},i=function(){return this._data?this._data.length/this._dimSize:0};function r(t){for(var e=0;e=0&&(s=o.interpolatedValue[l])}return null!=s?s+"":""})):void 0},t.prototype.getRawValue=function(t,e){return Yd(this.getData(e),t)},t.prototype.formatTooltip=function(t,e,n){},t}();function qd(t){var e,n;return j(t)?t.type&&(n=t):e=t,{text:e,frag:n}}function Kd(t){return new $d(t)}var $d=function(){function t(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0}return t.prototype.perform=function(t){var e,n=this._upstream,i=t&&t.skip;if(this._dirty&&n){var r=this.context;r.data=r.outputData=n.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this),this._plan&&!i&&(e=this._plan(this.context));var o,a=h(this._modBy),s=this._modDataCount||0,l=h(t&&t.modBy),u=t&&t.modDataCount||0;function h(t){return!(t>=1)&&(t=1),t}a===l&&s===u||(e="reset"),(this._dirty||"reset"===e)&&(this._dirty=!1,o=this._doReset(i)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=n?n._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var p=this._dueIndex,d=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!i&&(o||p1&&i>0?s:a}};return o;function a(){return e=t?null:oi?-this._resultLT:0},t}(),ef=function(){function t(){}return t.prototype.getRawData=function(){throw new Error("not supported")},t.prototype.getRawDataItem=function(t){throw new Error("not supported")},t.prototype.cloneRawData=function(){},t.prototype.getDimensionInfo=function(t){},t.prototype.cloneAllDimensionInfo=function(){},t.prototype.count=function(){},t.prototype.retrieveValue=function(t,e){},t.prototype.retrieveValueFromItem=function(t,e){},t.prototype.convertValue=function(t,e){return Jd(t,e)},t}();function nf(t){var e=t.sourceFormat;if(!uf(e)){var n="";0,ho(n)}return t.data}function rf(t){var e=t.sourceFormat,n=t.data;if(!uf(e)){var i="";0,ho(i)}if(e===mp){for(var r=[],o=0,a=n.length;o65535?pf:df}function mf(t,e,n,i,r){var o=vf[n||"float"];if(r){var a=t[e],s=a&&a.length;if(s!==i){for(var l=new o(i),u=0;ug[1]&&(g[1]=f)}return this._rawCount=this._count=s,{start:a,end:s}},t.prototype._initDataFromProvider=function(t,e,n){for(var i=this._provider,r=this._chunks,o=this._dimensions,a=o.length,s=this._rawExtent,l=E(o,(function(t){return t.property})),u=0;uv[1]&&(v[1]=g)}}!i.persistent&&i.clean&&i.clean(),this._rawCount=this._count=e,this._extent=[]},t.prototype.count=function(){return this._count},t.prototype.get=function(t,e){if(!(e>=0&&e=0&&e=this._rawCount||t<0)return-1;if(!this._indices)return t;var e=this._indices,n=e[t];if(null!=n&&nt))return o;r=o-1}}return-1},t.prototype.indicesOfNearest=function(t,e,n){var i=this._chunks[t],r=[];if(!i)return r;null==n&&(n=1/0);for(var o=1/0,a=-1,s=0,l=0,u=this.count();l=0&&a<0)&&(o=c,a=h,s=0),h===a&&(r[s++]=l))}return r.length=s,r},t.prototype.getIndices=function(){var t,e=this._indices;if(e){var n=e.constructor,i=this._count;if(n===Array){t=new n(i);for(var r=0;r=u&&_<=h||isNaN(_))&&(a[s++]=d),d++}p=!0}else if(2===r){f=c[i[0]];var v=c[i[1]],y=t[i[1]][0],m=t[i[1]][1];for(g=0;g=u&&_<=h||isNaN(_))&&(x>=y&&x<=m||isNaN(x))&&(a[s++]=d),d++}p=!0}}if(!p)if(1===r)for(g=0;g=u&&_<=h||isNaN(_))&&(a[s++]=w)}else for(g=0;gt[M][1])&&(b=!1)}b&&(a[s++]=e.getRawIndex(g))}return sv[1]&&(v[1]=g)}}}},t.prototype.lttbDownSample=function(t,e){var n,i,r,o=this.clone([t],!0),a=o._chunks[t],s=this.count(),l=0,u=Math.floor(1/e),h=this.getRawIndex(0),c=new(yf(this._rawCount))(Math.min(2*(Math.ceil(s/u)+2),s));c[l++]=h;for(var p=1;pn&&(n=i,r=C)}M>0&&Mu-d&&(s=u-d,a.length=s);for(var f=0;fh[1]&&(h[1]=v),c[p++]=y}return r._count=p,r._indices=c,r._updateGetRawIdx(),r},t.prototype.each=function(t,e){if(this._count)for(var n=t.length,i=this._chunks,r=0,o=this.count();ra&&(a=l)}return i=[o,a],this._extent[t]=i,i},t.prototype.getRawDataItem=function(t){var e=this.getRawIndex(t);if(this._provider.persistent)return this._provider.getItem(e);for(var n=[],i=this._chunks,r=0;r=0?this._indices[t]:-1},t.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},t.internalField=function(){function t(t,e,n,i){return Jd(t[i],this._dimensions[i])}hf={arrayRows:t,objectRows:function(t,e,n,i){return Jd(t[e],this._dimensions[i])},keyedColumns:t,original:function(t,e,n,i){var r=t&&(null==t.value?t:t.value);return Jd(r instanceof Array?r[i]:r,this._dimensions[i])},typedArray:function(t,e,n,i){return t[i]}}}(),t}(),xf=function(){function t(t){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=t}return t.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},t.prototype._setLocalSource=function(t,e){this._sourceList=t,this._upstreamSignList=e,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},t.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase},t.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},t.prototype._createSource=function(){this._setLocalSource([],[]);var t,e,n=this._sourceHost,i=this._getUpstreamSourceManagers(),r=!!i.length;if(bf(n)){var o=n,a=void 0,s=void 0,l=void 0;if(r){var u=i[0];u.prepareSource(),a=(l=u.getSource()).data,s=l.sourceFormat,e=[u._getVersionSign()]}else s=K(a=o.get("data",!0))?wp:yp,e=[];var h=this._getSourceMetaRawOption()||{},c=l&&l.metaRawOption||{},p=it(h.seriesLayoutBy,c.seriesLayoutBy)||null,d=it(h.sourceHeader,c.sourceHeader),f=it(h.dimensions,c.dimensions);t=p!==c.seriesLayoutBy||!!d!=!!c.sourceHeader||f?[kd(a,{seriesLayoutBy:p,sourceHeader:d,dimensions:f},s)]:[]}else{var g=n;if(r){var v=this._applyTransform(i);t=v.sourceList,e=v.upstreamSignList}else{t=[kd(g.get("source",!0),this._getSourceMetaRawOption(),null)],e=[]}}this._setLocalSource(t,e)},t.prototype._applyTransform=function(t){var e,n=this._sourceHost,i=n.get("transform",!0),r=n.get("fromTransformResult",!0);if(null!=r){var o="";1!==t.length&&Sf(o)}var a,s=[],l=[];return z(t,(function(t){t.prepareSource();var e=t.getSource(r||0),n="";null==r||e||Sf(n),s.push(e),l.push(t._getVersionSign())})),i?e=function(t,e,n){var i=go(t),r=i.length,o="";r||ho(o);for(var a=0,s=r;a1||n>0&&!t.noHeader;return z(t.blocks,(function(t){var n=Pf(t);n>=e&&(e=n+ +(i&&(!n||kf(t)&&!t.noHeader)))})),e}return 0}function Lf(t,e,n,i){var r,o=e.noHeader,a=(r=Pf(e),{html:Tf[r],richText:If[r]}),s=[],l=e.blocks||[];st(!l||G(l)),l=l||[];var u=t.orderMode;if(e.sortBlocks&&u){l=l.slice();var h={valueAsc:"asc",valueDesc:"desc"};if(_t(h,u)){var c=new tf(h[u],null);l.sort((function(t,e){return c.evaluate(t.sortParam,e.sortParam)}))}else"seriesDesc"===u&&l.reverse()}z(l,(function(n,r){var o=e.valueFormatter,l=Af(n)(o?k(k({},t),{valueFormatter:o}):t,n,r>0?a.html:0,i);null!=l&&s.push(l)}));var p="richText"===t.renderMode?s.join(a.richText):Nf(s.join(""),o?n:a.html);if(o)return p;var d=Xc(e.header,"ordinal",t.useUTC),f=Cf(i,t.renderMode).nameStyle;return"richText"===t.renderMode?zf(t,d,f)+a.richText+p:Nf('
    '+te(d)+"
    "+p,n)}function Of(t,e,n,i){var r=t.renderMode,o=e.noName,a=e.noValue,s=!e.markerType,l=e.name,u=t.useUTC,h=e.valueFormatter||t.valueFormatter||function(t){return E(t=G(t)?t:[t],(function(t,e){return Xc(t,G(d)?d[e]:d,u)}))};if(!o||!a){var c=s?"":t.markupStyleCreator.makeTooltipMarker(e.markerType,e.markerColor||"#333",r),p=o?"":Xc(l,"ordinal",u),d=e.valueType,f=a?[]:h(e.value,e.dataIndex),g=!s||!o,v=!s&&o,y=Cf(i,r),m=y.nameStyle,_=y.valueStyle;return"richText"===r?(s?"":c)+(o?"":zf(t,p,m))+(a?"":function(t,e,n,i,r){var o=[r],a=i?10:20;return n&&o.push({padding:[0,0,0,a],align:"right"}),t.markupStyleCreator.wrapRichTextStyle(G(e)?e.join(" "):e,o)}(t,f,g,v,_)):Nf((s?"":c)+(o?"":function(t,e,n){return''+te(t)+""}(p,!s,m))+(a?"":function(t,e,n,i){var r=n?"10px":"20px",o=e?"float:right;margin-left:"+r:"";return t=G(t)?t:[t],''+E(t,(function(t){return te(t)})).join("  ")+""}(f,g,v,_)),n)}}function Rf(t,e,n,i,r,o){if(t)return Af(t)({useUTC:r,renderMode:n,orderMode:i,markupStyleCreator:e,valueFormatter:t.valueFormatter},t,0,o)}function Nf(t,e){return'
    '+t+'
    '}function zf(t,e,n){return t.markupStyleCreator.wrapRichTextStyle(e,n)}function Ef(t,e){var n=t.get("padding");return null!=n?n:"richText"===e?[8,10]:10}var Bf=function(){function t(){this.richTextStyles={},this._nextStyleNameId=ao()}return t.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++},t.prototype.makeTooltipMarker=function(t,e,n){var i="richText"===n?this._generateStyleName():null,r=$c({color:e,type:t,renderMode:n,markerId:i});return Z(r)?r:(this.richTextStyles[i]=r.style,r.content)},t.prototype.wrapRichTextStyle=function(t,e){var n={};G(e)?z(e,(function(t){return k(n,t)})):k(n,e);var i=this._generateStyleName();return this.richTextStyles[i]=n,"{"+i+"|"+t+"}"},t}();function Vf(t){var e,n,i,r,o=t.series,a=t.dataIndex,s=t.multipleSeries,l=o.getData(),u=l.mapDimensionsAll("defaultedTooltip"),h=u.length,c=o.getRawValue(a),p=G(c),d=function(t,e){return Qc(t.getData().getItemVisual(e,"style")[t.visualDrawType])}(o,a);if(h>1||p&&!h){var f=function(t,e,n,i,r){var o=e.getData(),a=B(t,(function(t,e,n){var i=o.getDimensionInfo(n);return t||i&&!1!==i.tooltip&&null!=i.displayName}),!1),s=[],l=[],u=[];function h(t,e){var n=o.getDimensionInfo(e);n&&!1!==n.otherDims.tooltip&&(a?u.push(Df("nameValue",{markerType:"subItem",markerColor:r,name:n.displayName,value:t,valueType:n.type})):(s.push(t),l.push(n.type)))}return i.length?z(i,(function(t){h(Yd(o,n,t),t)})):z(t,h),{inlineValues:s,inlineValueTypes:l,blocks:u}}(c,o,a,u,d);e=f.inlineValues,n=f.inlineValueTypes,i=f.blocks,r=f.inlineValues[0]}else if(h){var g=l.getDimensionInfo(u[0]);r=e=Yd(l,a,u[0]),n=g.type}else r=e=p?c[0]:c;var v=Mo(o),y=v&&o.name||"",m=l.getName(a),_=s?y:m;return Df("section",{header:y,noHeader:s||!v,sortParam:r,blocks:[Df("nameValue",{markerType:"item",markerColor:d,name:_,noName:!lt(_),value:e,valueType:n,dataIndex:a})].concat(i||[])})}var Ff=Io();function Hf(t,e){return t.getName(e)||t.getId(e)}var Wf=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._selectedDataIndicesMap={},e}return n(e,t),e.prototype.init=function(t,e,n){this.seriesIndex=this.componentIndex,this.dataTask=Kd({count:Uf,reset:Zf}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,n),(Ff(this).sourceManager=new xf(this)).prepareSource();var i=this.getInitialData(t,n);Xf(i,this),this.dataTask.context.data=i,Ff(this).dataBeforeProcessed=i,Gf(this),this._initSelectedMapFromData(i)},e.prototype.mergeDefaultAndTheme=function(t,e){var n=sp(this),i=n?up(t):{},r=this.subType;pp.hasClass(r)&&(r+="Series"),I(t,e.getTheme().get(this.subType)),I(t,this.getDefaultOption()),vo(t,"label",["show"]),this.fillDataTextStyle(t.data),n&&lp(t,i,n)},e.prototype.mergeOption=function(t,e){t=I(this.option,t,!0),this.fillDataTextStyle(t.data);var n=sp(this);n&&lp(this.option,t,n);var i=Ff(this).sourceManager;i.dirty(),i.prepareSource();var r=this.getInitialData(t,e);Xf(r,this),this.dataTask.dirty(),this.dataTask.context.data=r,Ff(this).dataBeforeProcessed=r,Gf(this),this._initSelectedMapFromData(r)},e.prototype.fillDataTextStyle=function(t){if(t&&!K(t))for(var e=["show"],n=0;nthis.getShallow("animationThreshold")&&(e=!1),!!e},e.prototype.restoreData=function(){this.dataTask.dirty()},e.prototype.getColorFromPalette=function(t,e,n){var i=this.ecModel,r=Fp.prototype.getColorFromPalette.call(this,t,e,n);return r||(r=i.getColorFromPalette(t,e,n)),r},e.prototype.coordDimToDataDim=function(t){return this.getRawData().mapDimensionsAll(t)},e.prototype.getProgressive=function(){return this.get("progressive")},e.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")},e.prototype.select=function(t,e){this._innerSelect(this.getData(e),t)},e.prototype.unselect=function(t,e){var n=this.option.selectedMap;if(n){var i=this.option.selectedMode,r=this.getData(e);if("series"===i||"all"===n)return this.option.selectedMap={},void(this._selectedDataIndicesMap={});for(var o=0;o=0&&n.push(r)}return n},e.prototype.isSelected=function(t,e){var n=this.option.selectedMap;if(!n)return!1;var i=this.getData(e);return("all"===n||n[Hf(i,t)])&&!i.getItemModel(t).get(["select","disabled"])},e.prototype.isUniversalTransitionEnabled=function(){if(this.__universalTransitionEnabled)return!0;var t=this.option.universalTransition;return!!t&&(!0===t||t&&t.enabled)},e.prototype._innerSelect=function(t,e){var n,i,r=this.option,o=r.selectedMode,a=e.length;if(o&&a)if("series"===o)r.selectedMap="all";else if("multiple"===o){j(r.selectedMap)||(r.selectedMap={});for(var s=r.selectedMap,l=0;l0&&this._innerSelect(t,e)}},e.registerClass=function(t){return pp.registerClass(t)},e.protoInitialize=function(){var t=e.prototype;t.type="series.__base__",t.seriesIndex=0,t.ignoreStyleOnData=!1,t.hasSymbolVisual=!1,t.defaultSymbol="circle",t.visualStyleAccessPath="itemStyle",t.visualDrawType="fill"}(),e}(pp);function Gf(t){var e=t.name;Mo(t)||(t.name=function(t){var e=t.getRawData(),n=e.mapDimensionsAll("seriesName"),i=[];return z(n,(function(t){var n=e.getDimensionInfo(t);n.displayName&&i.push(n.displayName)})),i.join(" ")}(t)||e)}function Uf(t){return t.model.getRawData().count()}function Zf(t){var e=t.model;return e.setData(e.getRawData().cloneShallow()),Yf}function Yf(t,e){e.outputData&&t.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function Xf(t,e){z(vt(t.CHANGABLE_METHODS,t.DOWNSAMPLE_METHODS),(function(n){t.wrapMethod(n,W(jf,e))}))}function jf(t,e){var n=qf(t);return n&&n.setOutputEnd((e||this).count()),e}function qf(t){var e=(t.ecModel||{}).scheduler,n=e&&e.getPipeline(t.uid);if(n){var i=n.currentTask;if(i){var r=i.agentStubMap;r&&(i=r.get(t.uid))}return i}}R(Wf,jd),R(Wf,Fp),Vo(Wf,pp);var Kf=function(){function t(){this.group=new Pr,this.uid=oc("viewComponent")}return t.prototype.init=function(t,e){},t.prototype.render=function(t,e,n,i){},t.prototype.dispose=function(t,e){},t.prototype.updateView=function(t,e,n,i){},t.prototype.updateLayout=function(t,e,n,i){},t.prototype.updateVisual=function(t,e,n,i){},t.prototype.toggleBlurSeries=function(t,e,n){},t.prototype.eachRendered=function(t){var e=this.group;e&&e.traverse(t)},t}();function $f(){var t=Io();return function(e){var n=t(e),i=e.pipelineContext,r=!!n.large,o=!!n.progressiveRender,a=n.large=!(!i||!i.large),s=n.progressiveRender=!(!i||!i.progressiveRender);return!(r===a&&o===s)&&"reset"}}Bo(Kf),Go(Kf);var Qf=Io(),Jf=$f(),tg=function(){function t(){this.group=new Pr,this.uid=oc("viewChart"),this.renderTask=Kd({plan:ig,reset:rg}),this.renderTask.context={view:this}}return t.prototype.init=function(t,e){},t.prototype.render=function(t,e,n,i){0},t.prototype.highlight=function(t,e,n,i){var r=t.getData(i&&i.dataType);r&&ng(r,i,"emphasis")},t.prototype.downplay=function(t,e,n,i){var r=t.getData(i&&i.dataType);r&&ng(r,i,"normal")},t.prototype.remove=function(t,e){this.group.removeAll()},t.prototype.dispose=function(t,e){},t.prototype.updateView=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.updateLayout=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.updateVisual=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.eachRendered=function(t){Ph(this.group,t)},t.markUpdateMethod=function(t,e){Qf(t).updateMethod=e},t.protoInitialize=void(t.prototype.type="chart"),t}();function eg(t,e,n){t&&zl(t)&&("emphasis"===e?yl:ml)(t,n)}function ng(t,e,n){var i=To(t,e),r=e&&null!=e.highlightKey?function(t){var e=Ys[t];return null==e&&Zs<=32&&(e=Ys[t]=Zs++),e}(e.highlightKey):null;null!=i?z(go(i),(function(e){eg(t.getItemGraphicEl(e),n,r)})):t.eachItemGraphicEl((function(t){eg(t,n,r)}))}function ig(t){return Jf(t.model)}function rg(t){var e=t.model,n=t.ecModel,i=t.api,r=t.payload,o=e.pipelineContext.progressiveRender,a=t.view,s=r&&Qf(r).updateMethod,l=o?"incrementalPrepareRender":s&&a[s]?s:"render";return"render"!==l&&a[l](e,n,i,r),og[l]}Bo(tg),Go(tg);var og={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},ag="\0__throttleOriginMethod",sg="\0__throttleRate",lg="\0__throttleType";function ug(t,e,n){var i,r,o,a,s,l=0,u=0,h=null;function c(){u=(new Date).getTime(),h=null,t.apply(o,a||[])}e=e||0;var p=function(){for(var t=[],p=0;p=0?c():h=setTimeout(c,-r),l=i};return p.clear=function(){h&&(clearTimeout(h),h=null)},p.debounceNextCall=function(t){s=t},p}function hg(t,e,n,i){var r=t[e];if(r){var o=r[ag]||r,a=r[lg];if(r[sg]!==n||a!==i){if(null==n||!i)return t[e]=o;(r=t[e]=ug(o,n,"debounce"===i))[ag]=o,r[lg]=i,r[sg]=n}return r}}function cg(t,e){var n=t[e];n&&n[ag]&&(n.clear&&n.clear(),t[e]=n[ag])}var pg=Io(),dg={itemStyle:Uo(tc,!0),lineStyle:Uo($h,!0)},fg={lineStyle:"stroke",itemStyle:"fill"};function gg(t,e){var n=t.visualStyleMapper||dg[e];return n||(console.warn("Unknown style type '"+e+"'."),dg.itemStyle)}function vg(t,e){var n=t.visualDrawType||fg[e];return n||(console.warn("Unknown style type '"+e+"'."),"fill")}var yg={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData(),i=t.visualStyleAccessPath||"itemStyle",r=t.getModel(i),o=gg(t,i)(r),a=r.getShallow("decal");a&&(n.setVisual("decal",a),a.dirty=!0);var s=vg(t,i),l=o[s],u=U(l)?l:null,h="auto"===o.fill||"auto"===o.stroke;if(!o[s]||u||h){var c=t.getColorFromPalette(t.name,null,e.getSeriesCount());o[s]||(o[s]=c,n.setVisual("colorFromPalette",!0)),o.fill="auto"===o.fill||U(o.fill)?c:o.fill,o.stroke="auto"===o.stroke||U(o.stroke)?c:o.stroke}if(n.setVisual("style",o),n.setVisual("drawType",s),!e.isSeriesFiltered(t)&&u)return n.setVisual("colorFromPalette",!1),{dataEach:function(e,n){var i=t.getDataParams(n),r=k({},o);r[s]=u(i),e.setItemVisual(n,"style",r)}}}},mg=new ic,_g={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){if(!t.ignoreStyleOnData&&!e.isSeriesFiltered(t)){var n=t.getData(),i=t.visualStyleAccessPath||"itemStyle",r=gg(t,i),o=n.getVisual("drawType");return{dataEach:n.hasItemOption?function(t,e){var n=t.getRawDataItem(e);if(n&&n[i]){mg.option=n[i];var a=r(mg);k(t.ensureUniqueItemVisual(e,"style"),a),mg.option.decal&&(t.setItemVisual(e,"decal",mg.option.decal),mg.option.decal.dirty=!0),o in a&&t.setItemVisual(e,"colorFromPalette",!1)}}:null}}}},xg={performRawSeries:!0,overallReset:function(t){var e=gt();t.eachSeries((function(t){var n=t.getColorBy();if(!t.isColorBySeries()){var i=t.type+"-"+n,r=e.get(i);r||(r={},e.set(i,r)),pg(t).scope=r}})),t.eachSeries((function(e){if(!e.isColorBySeries()&&!t.isSeriesFiltered(e)){var n=e.getRawData(),i={},r=e.getData(),o=pg(e).scope,a=e.visualStyleAccessPath||"itemStyle",s=vg(e,a);r.each((function(t){var e=r.getRawIndex(t);i[e]=t})),n.each((function(t){var a=i[t];if(r.getItemVisual(a,"colorFromPalette")){var l=r.ensureUniqueItemVisual(a,"style"),u=n.getName(t)||t+"",h=n.count();l[s]=e.getColorFromPalette(u,o,h)}}))}}))}},wg=Math.PI;var bg=function(){function t(t,e,n,i){this._stageTaskMap=gt(),this.ecInstance=t,this.api=e,n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice(),this._allHandlers=n.concat(i)}return t.prototype.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each((function(t){var e=t.overallTask;e&&e.dirty()}))},t.prototype.getPerformArgs=function(t,e){if(t.__pipeline){var n=this._pipelineMap.get(t.__pipeline.id),i=n.context,r=!e&&n.progressiveEnabled&&(!i||i.progressiveRender)&&t.__idxInPipeline>n.blockIndex?n.step:null,o=i&&i.modDataCount;return{step:r,modBy:null!=o?Math.ceil(o/r):null,modDataCount:o}}},t.prototype.getPipeline=function(t){return this._pipelineMap.get(t)},t.prototype.updateStreamModes=function(t,e){var n=this._pipelineMap.get(t.uid),i=t.getData().count(),r=n.progressiveEnabled&&e.incrementalPrepareRender&&i>=n.threshold,o=t.get("large")&&i>=t.get("largeThreshold"),a="mod"===t.get("progressiveChunkMode")?i:null;t.pipelineContext=n.context={progressiveRender:r,modDataCount:a,large:o}},t.prototype.restorePipelines=function(t){var e=this,n=e._pipelineMap=gt();t.eachSeries((function(t){var i=t.getProgressive(),r=t.uid;n.set(r,{id:r,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:i&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(i||700),count:0}),e._pipe(t,t.dataTask)}))},t.prototype.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.api.getModel(),n=this.api;z(this._allHandlers,(function(i){var r=t.get(i.uid)||t.set(i.uid,{}),o="";st(!(i.reset&&i.overallReset),o),i.reset&&this._createSeriesStageTask(i,r,e,n),i.overallReset&&this._createOverallStageTask(i,r,e,n)}),this)},t.prototype.prepareView=function(t,e,n,i){var r=t.renderTask,o=r.context;o.model=e,o.ecModel=n,o.api=i,r.__block=!t.incrementalPrepareRender,this._pipe(e,r)},t.prototype.performDataProcessorTasks=function(t,e){this._performStageTasks(this._dataProcessorHandlers,t,e,{block:!0})},t.prototype.performVisualTasks=function(t,e,n){this._performStageTasks(this._visualHandlers,t,e,n)},t.prototype._performStageTasks=function(t,e,n,i){i=i||{};var r=!1,o=this;function a(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}z(t,(function(t,s){if(!i.visualType||i.visualType===t.visualType){var l=o._stageTaskMap.get(t.uid),u=l.seriesTaskMap,h=l.overallTask;if(h){var c,p=h.agentStubMap;p.each((function(t){a(i,t)&&(t.dirty(),c=!0)})),c&&h.dirty(),o.updatePayload(h,n);var d=o.getPerformArgs(h,i.block);p.each((function(t){t.perform(d)})),h.perform(d)&&(r=!0)}else u&&u.each((function(s,l){a(i,s)&&s.dirty();var u=o.getPerformArgs(s,i.block);u.skip=!t.performRawSeries&&e.isSeriesFiltered(s.context.model),o.updatePayload(s,n),s.perform(u)&&(r=!0)}))}})),this.unfinished=r||this.unfinished},t.prototype.performSeriesTasks=function(t){var e;t.eachSeries((function(t){e=t.dataTask.perform()||e})),this.unfinished=e||this.unfinished},t.prototype.plan=function(){this._pipelineMap.each((function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)}))},t.prototype.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},t.prototype._createSeriesStageTask=function(t,e,n,i){var r=this,o=e.seriesTaskMap,a=e.seriesTaskMap=gt(),s=t.seriesType,l=t.getTargetSeries;function u(e){var s=e.uid,l=a.set(s,o&&o.get(s)||Kd({plan:Ig,reset:Dg,count:Pg}));l.context={model:e,ecModel:n,api:i,useClearVisual:t.isVisual&&!t.isLayout,plan:t.plan,reset:t.reset,scheduler:r},r._pipe(e,l)}t.createOnAllSeries?n.eachRawSeries(u):s?n.eachRawSeriesByType(s,u):l&&l(n,i).each(u)},t.prototype._createOverallStageTask=function(t,e,n,i){var r=this,o=e.overallTask=e.overallTask||Kd({reset:Sg});o.context={ecModel:n,api:i,overallReset:t.overallReset,scheduler:r};var a=o.agentStubMap,s=o.agentStubMap=gt(),l=t.seriesType,u=t.getTargetSeries,h=!0,c=!1,p="";function d(t){var e=t.uid,n=s.set(e,a&&a.get(e)||(c=!0,Kd({reset:Mg,onDirty:Tg})));n.context={model:t,overallProgress:h},n.agent=o,n.__block=h,r._pipe(t,n)}st(!t.createOnAllSeries,p),l?n.eachRawSeriesByType(l,d):u?u(n,i).each(d):(h=!1,z(n.getSeries(),d)),c&&o.dirty()},t.prototype._pipe=function(t,e){var n=t.uid,i=this._pipelineMap.get(n);!i.head&&(i.head=e),i.tail&&i.tail.pipe(e),i.tail=e,e.__idxInPipeline=i.count++,e.__pipeline=i},t.wrapStageHandler=function(t,e){return U(t)&&(t={overallReset:t,seriesType:Lg(t)}),t.uid=oc("stageHandler"),e&&(t.visualType=e),t},t}();function Sg(t){t.overallReset(t.ecModel,t.api,t.payload)}function Mg(t){return t.overallProgress&&Cg}function Cg(){this.agent.dirty(),this.getDownstream().dirty()}function Tg(){this.agent&&this.agent.dirty()}function Ig(t){return t.plan?t.plan(t.model,t.ecModel,t.api,t.payload):null}function Dg(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=go(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?E(e,(function(t,e){return Ag(e)})):kg}var kg=Ag(0);function Ag(t){return function(e,n){var i=n.data,r=n.resetDefines[t];if(r&&r.dataEach)for(var o=e.start;o0&&h===r.length-u.length){var c=r.slice(0,h);"data"!==c&&(e.mainType=c,e[u.toLowerCase()]=t,s=!0)}}a.hasOwnProperty(r)&&(n[r]=t,s=!0),s||(i[r]=t)}))}return{cptQuery:e,dataQuery:n,otherQuery:i}},t.prototype.filter=function(t,e){var n=this.eventInfo;if(!n)return!0;var i=n.targetEl,r=n.packedEvent,o=n.model,a=n.view;if(!o||!a)return!0;var s=e.cptQuery,l=e.dataQuery;return u(s,o,"mainType")&&u(s,o,"subType")&&u(s,o,"index","componentIndex")&&u(s,o,"name")&&u(s,o,"id")&&u(l,r,"name")&&u(l,r,"dataIndex")&&u(l,r,"dataType")&&(!a.filterForExposedEvent||a.filterForExposedEvent(t,e.otherQuery,i,r));function u(t,e,n,i){return null==t[n]||e[i||n]===t[n]}},t.prototype.afterTrigger=function(){this.eventInfo=null},t}(),Zg=["symbol","symbolSize","symbolRotate","symbolOffset"],Yg=Zg.concat(["symbolKeepAspect"]),Xg={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData();if(t.legendIcon&&n.setVisual("legendIcon",t.legendIcon),t.hasSymbolVisual){for(var i={},r={},o=!1,a=0;a=0&&pv(l)?l:.5,t.createRadialGradient(a,s,0,a,s,l)}(t,e,n):function(t,e,n){var i=null==e.x?0:e.x,r=null==e.x2?1:e.x2,o=null==e.y?0:e.y,a=null==e.y2?0:e.y2;return e.global||(i=i*n.width+n.x,r=r*n.width+n.x,o=o*n.height+n.y,a=a*n.height+n.y),i=pv(i)?i:0,r=pv(r)?r:1,o=pv(o)?o:0,a=pv(a)?a:0,t.createLinearGradient(i,o,r,a)}(t,e,n),r=e.colorStops,o=0;o0&&(e=i.lineDash,n=i.lineWidth,e&&"solid"!==e&&n>0?"dashed"===e?[4*n,2*n]:"dotted"===e?[n]:X(e)?[e]:G(e)?e:null:null),o=i.lineDashOffset;if(r){var a=i.strokeNoScale&&t.getLineScale?t.getLineScale():1;a&&1!==a&&(r=E(r,(function(t){return t/a})),o/=a)}return[r,o]}var yv=new Ka(!0);function mv(t){var e=t.stroke;return!(null==e||"none"===e||!(t.lineWidth>0))}function _v(t){return"string"==typeof t&&"none"!==t}function xv(t){var e=t.fill;return null!=e&&"none"!==e}function wv(t,e){if(null!=e.fillOpacity&&1!==e.fillOpacity){var n=t.globalAlpha;t.globalAlpha=e.fillOpacity*e.opacity,t.fill(),t.globalAlpha=n}else t.fill()}function bv(t,e){if(null!=e.strokeOpacity&&1!==e.strokeOpacity){var n=t.globalAlpha;t.globalAlpha=e.strokeOpacity*e.opacity,t.stroke(),t.globalAlpha=n}else t.stroke()}function Sv(t,e,n){var i=qo(e.image,e.__image,n);if($o(i)){var r=t.createPattern(i,e.repeat||"repeat");if("function"==typeof DOMMatrix&&r&&r.setTransform){var o=new DOMMatrix;o.translateSelf(e.x||0,e.y||0),o.rotateSelf(0,0,(e.rotation||0)*wt),o.scaleSelf(e.scaleX||1,e.scaleY||1),r.setTransform(o)}return r}}var Mv=["shadowBlur","shadowOffsetX","shadowOffsetY"],Cv=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]];function Tv(t,e,n,i,r){var o=!1;if(!i&&e===(n=n||{}))return!1;if(i||e.opacity!==n.opacity){kv(t,r),o=!0;var a=Math.max(Math.min(e.opacity,1),0);t.globalAlpha=isNaN(a)?ca.opacity:a}(i||e.blend!==n.blend)&&(o||(kv(t,r),o=!0),t.globalCompositeOperation=e.blend||ca.blend);for(var s=0;s0&&t.unfinished);t.unfinished||this._zr.flush()}}},e.prototype.getDom=function(){return this._dom},e.prototype.getId=function(){return this.id},e.prototype.getZr=function(){return this._zr},e.prototype.isSSR=function(){return this._ssr},e.prototype.setOption=function(t,e,n){if(!this[Yv])if(this._disposed)Sy(this.id);else{var i,r,o;if(j(e)&&(n=e.lazyUpdate,i=e.silent,r=e.replaceMerge,o=e.transition,e=e.notMerge),this[Yv]=!0,!this._model||e){var a=new Jp(this._api),s=this._theme,l=this._model=new Up;l.scheduler=this._scheduler,l.ssr=this._ssr,l.init(null,null,null,s,this._locale,a)}this._model.setOption(t,{replaceMerge:r},Iy);var u={seriesTransition:o,optionChanged:!0};if(n)this[Xv]={silent:i,updateParams:u},this[Yv]=!1,this.getZr().wakeUp();else{try{ty(this),iy.update.call(this,null,u)}catch(t){throw this[Xv]=null,this[Yv]=!1,t}this._ssr||this._zr.flush(),this[Xv]=null,this[Yv]=!1,sy.call(this,i),ly.call(this,i)}}},e.prototype.setTheme=function(){uo()},e.prototype.getModel=function(){return this._model},e.prototype.getOption=function(){return this._model&&this._model.getOption()},e.prototype.getWidth=function(){return this._zr.getWidth()},e.prototype.getHeight=function(){return this._zr.getHeight()},e.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||r.hasGlobalWindow&&window.devicePixelRatio||1},e.prototype.getRenderedCanvas=function(t){return this.renderToCanvas(t)},e.prototype.renderToCanvas=function(t){t=t||{};var e=this._zr.painter;return e.getRenderedCanvas({backgroundColor:t.backgroundColor||this._model.get("backgroundColor"),pixelRatio:t.pixelRatio||this.getDevicePixelRatio()})},e.prototype.renderToSVGString=function(t){t=t||{};var e=this._zr.painter;return e.renderToString({useViewBox:t.useViewBox})},e.prototype.getSvgDataURL=function(){if(r.svgSupported){var t=this._zr;return z(t.storage.getDisplayList(),(function(t){t.stopAnimation(null,!0)})),t.painter.toDataURL()}},e.prototype.getDataURL=function(t){if(!this._disposed){var e=(t=t||{}).excludeComponents,n=this._model,i=[],r=this;z(e,(function(t){n.eachComponent({mainType:t},(function(t){var e=r._componentsMap[t.__viewId];e.group.ignore||(i.push(e),e.group.ignore=!0)}))}));var o="svg"===this._zr.painter.getType()?this.getSvgDataURL():this.renderToCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return z(i,(function(t){t.group.ignore=!1})),o}Sy(this.id)},e.prototype.getConnectedDataURL=function(t){if(!this._disposed){var e="svg"===t.type,n=this.group,i=Math.min,r=Math.max,o=1/0;if(Ly[n]){var a=o,s=o,l=-1/0,u=-1/0,c=[],p=t&&t.pixelRatio||this.getDevicePixelRatio();z(Py,(function(o,h){if(o.group===n){var p=e?o.getZr().painter.getSvgDom().innerHTML:o.renderToCanvas(T(t)),d=o.getDom().getBoundingClientRect();a=i(d.left,a),s=i(d.top,s),l=r(d.right,l),u=r(d.bottom,u),c.push({dom:p,left:d.left,top:d.top})}}));var d=(l*=p)-(a*=p),f=(u*=p)-(s*=p),g=h.createCanvas(),v=zr(g,{renderer:e?"svg":"canvas"});if(v.resize({width:d,height:f}),e){var y="";return z(c,(function(t){var e=t.left-a,n=t.top-s;y+=''+t.dom+""})),v.painter.getSvgRoot().innerHTML=y,t.connectedBackgroundColor&&v.painter.setBackgroundColor(t.connectedBackgroundColor),v.refreshImmediately(),v.painter.toDataURL()}return t.connectedBackgroundColor&&v.add(new Ds({shape:{x:0,y:0,width:d,height:f},style:{fill:t.connectedBackgroundColor}})),z(c,(function(t){var e=new ws({style:{x:t.left*p-a,y:t.top*p-s,image:t.dom}});v.add(e)})),v.refreshImmediately(),g.toDataURL("image/"+(t&&t.type||"png"))}return this.getDataURL(t)}Sy(this.id)},e.prototype.convertToPixel=function(t,e){return ry(this,"convertToPixel",t,e)},e.prototype.convertFromPixel=function(t,e){return ry(this,"convertFromPixel",t,e)},e.prototype.containPixel=function(t,e){var n;if(!this._disposed)return z(ko(this._model,t),(function(t,i){i.indexOf("Models")>=0&&z(t,(function(t){var r=t.coordinateSystem;if(r&&r.containPoint)n=n||!!r.containPoint(e);else if("seriesModels"===i){var o=this._chartsMap[t.__viewId];o&&o.containPoint&&(n=n||o.containPoint(e,t))}else 0}),this)}),this),!!n;Sy(this.id)},e.prototype.getVisual=function(t,e){var n=ko(this._model,t,{defaultMainType:"series"}),i=n.seriesModel;var r=i.getData(),o=n.hasOwnProperty("dataIndexInside")?n.dataIndexInside:n.hasOwnProperty("dataIndex")?r.indexOfRawIndex(n.dataIndex):null;return null!=o?function(t,e,n){switch(n){case"color":return t.getItemVisual(e,"style")[t.getVisual("drawType")];case"opacity":return t.getItemVisual(e,"style").opacity;case"symbol":case"symbolSize":case"liftZ":return t.getItemVisual(e,n)}}(r,o,e):qg(r,e)},e.prototype.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},e.prototype.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]},e.prototype._initEvents=function(){var t,e,n,i=this;z(by,(function(t){var e=function(e){var n,r=i.getModel(),o=e.target,a="globalout"===t;if(a?n={}:o&&$g(o,(function(t){var e=Us(t);if(e&&null!=e.dataIndex){var i=e.dataModel||r.getSeriesByIndex(e.seriesIndex);return n=i&&i.getDataParams(e.dataIndex,e.dataType,o)||{},!0}if(e.eventData)return n=k({},e.eventData),!0}),!0),n){var s=n.componentType,l=n.componentIndex;"markLine"!==s&&"markPoint"!==s&&"markArea"!==s||(s="series",l=n.seriesIndex);var u=s&&null!=l&&r.getComponent(s,l),h=u&&i["series"===u.mainType?"_chartsMap":"_componentsMap"][u.__viewId];0,n.event=e,n.type=t,i._$eventProcessor.eventInfo={targetEl:o,packedEvent:n,model:u,view:h},i.trigger(t,n)}};e.zrEventfulCallAtLast=!0,i._zr.on(t,e,i)})),z(Cy,(function(t,e){i._messageCenter.on(e,(function(t){this.trigger(e,t)}),i)})),z(["selectchanged"],(function(t){i._messageCenter.on(t,(function(e){this.trigger(t,e)}),i)})),t=this._messageCenter,e=this,n=this._api,t.on("selectchanged",(function(t){var i=n.getModel();t.isFromClick?(Kg("map","selectchanged",e,i,t),Kg("pie","selectchanged",e,i,t)):"select"===t.fromAction?(Kg("map","selected",e,i,t),Kg("pie","selected",e,i,t)):"unselect"===t.fromAction&&(Kg("map","unselected",e,i,t),Kg("pie","unselected",e,i,t))}))},e.prototype.isDisposed=function(){return this._disposed},e.prototype.clear=function(){this._disposed?Sy(this.id):this.setOption({series:[]},!0)},e.prototype.dispose=function(){if(this._disposed)Sy(this.id);else{this._disposed=!0,this.getDom()&&Ro(this.getDom(),Ny,"");var t=this,e=t._api,n=t._model;z(t._componentsViews,(function(t){t.dispose(n,e)})),z(t._chartsViews,(function(t){t.dispose(n,e)})),t._zr.dispose(),t._dom=t._model=t._chartsMap=t._componentsMap=t._chartsViews=t._componentsViews=t._scheduler=t._api=t._zr=t._throttledZrFlush=t._theme=t._coordSysMgr=t._messageCenter=null,delete Py[t.id]}},e.prototype.resize=function(t){if(!this[Yv])if(this._disposed)Sy(this.id);else{this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var n=e.resetOption("media"),i=t&&t.silent;this[Xv]&&(null==i&&(i=this[Xv].silent),n=!0,this[Xv]=null),this[Yv]=!0;try{n&&ty(this),iy.update.call(this,{type:"resize",animation:k({duration:0},t&&t.animation)})}catch(t){throw this[Yv]=!1,t}this[Yv]=!1,sy.call(this,i),ly.call(this,i)}}},e.prototype.showLoading=function(t,e){if(this._disposed)Sy(this.id);else if(j(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),Ay[t]){var n=Ay[t](this._api,e),i=this._zr;this._loadingFX=n,i.add(n)}},e.prototype.hideLoading=function(){this._disposed?Sy(this.id):(this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null)},e.prototype.makeActionFromEvent=function(t){var e=k({},t);return e.type=Cy[t.type],e},e.prototype.dispatchAction=function(t,e){if(this._disposed)Sy(this.id);else if(j(e)||(e={silent:!!e}),My[t.type]&&this._model)if(this[Yv])this._pendingActions.push(t);else{var n=e.silent;ay.call(this,t,n);var i=e.flush;i?this._zr.flush():!1!==i&&r.browser.weChat&&this._throttledZrFlush(),sy.call(this,n),ly.call(this,n)}},e.prototype.updateLabelLayout=function(){Fv.trigger("series:layoutlabels",this._model,this._api,{updatedSeries:[]})},e.prototype.appendData=function(t){if(this._disposed)Sy(this.id);else{var e=t.seriesIndex,n=this.getModel().getSeriesByIndex(e);0,n.appendData(t),this._scheduler.unfinished=!0,this.getZr().wakeUp()}},e.internalField=function(){function t(t){t.clearColorPalette(),t.eachSeries((function(t){t.clearColorPalette()}))}function e(t){for(var e=[],n=t.currentStates,i=0;i0?{duration:o,delay:i.get("delay"),easing:i.get("easing")}:null;n.eachRendered((function(t){if(t.states&&t.states.emphasis){if(Ju(t))return;if(t instanceof vs&&function(t){var e=Xs(t);e.normalFill=t.style.fill,e.normalStroke=t.style.stroke;var n=t.states.select||{};e.selectFill=n.style&&n.style.fill||null,e.selectStroke=n.style&&n.style.stroke||null}(t),t.__dirty){var n=t.prevStates;n&&t.useStates(n)}if(r){t.stateTransition=a;var i=t.getTextContent(),o=t.getTextGuideLine();i&&(i.stateTransition=a),o&&(o.stateTransition=a)}t.__dirty&&e(t)}}))}ty=function(t){var e=t._scheduler;e.restorePipelines(t._model),e.prepareStageTasks(),ey(t,!0),ey(t,!1),e.plan()},ey=function(t,e){for(var n=t._model,i=t._scheduler,r=e?t._componentsViews:t._chartsViews,o=e?t._componentsMap:t._chartsMap,a=t._zr,s=t._api,l=0;le.get("hoverLayerThreshold")&&!r.node&&!r.worker&&e.eachSeries((function(e){if(!e.preventUsingHoverLayer){var n=t._chartsMap[e.__viewId];n.__alive&&n.eachRendered((function(t){t.states.emphasis&&(t.states.emphasis.hoverLayer=!0)}))}}))}(t,e),Fv.trigger("series:afterupdate",e,n,l)},vy=function(t){t[jv]=!0,t.getZr().wakeUp()},yy=function(t){t[jv]&&(t.getZr().storage.traverse((function(t){Ju(t)||e(t)})),t[jv]=!1)},fy=function(t){return new(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return n(i,e),i.prototype.getCoordinateSystems=function(){return t._coordSysMgr.getCoordinateSystems()},i.prototype.getComponentByElement=function(e){for(;e;){var n=e.__ecComponentInfo;if(null!=n)return t._model.getComponent(n.mainType,n.index);e=e.parent}},i.prototype.enterEmphasis=function(e,n){yl(e,n),vy(t)},i.prototype.leaveEmphasis=function(e,n){ml(e,n),vy(t)},i.prototype.enterBlur=function(e){_l(e),vy(t)},i.prototype.leaveBlur=function(e){xl(e),vy(t)},i.prototype.enterSelect=function(e){wl(e),vy(t)},i.prototype.leaveSelect=function(e){bl(e),vy(t)},i.prototype.getModel=function(){return t.getModel()},i.prototype.getViewOfComponentModel=function(e){return t.getViewOfComponentModel(e)},i.prototype.getViewOfSeriesModel=function(e){return t.getViewOfSeriesModel(e)},i}(qp))(t)},gy=function(t){function e(t,e){for(var n=0;n=0)){qy.push(n);var o=bg.wrapStageHandler(n,r);o.__prio=e,o.__raw=n,t.push(o)}}function $y(t,e){Ay[t]=e}function Qy(t,e,n){var i=Wv("registerMap");i&&i(t,e,n)}var Jy=function(t){var e=(t=T(t)).type,n="";e||ho(n);var i=e.split(":");2!==i.length&&ho(n);var r=!1;"echarts"===i[0]&&(e=i[1],r=!0),t.__isBuiltIn=r,sf.set(e,t)};jy(Gv,yg),jy(Uv,_g),jy(Uv,xg),jy(Gv,Xg),jy(Uv,jg),jy(7e3,(function(t,e){t.eachRawSeries((function(n){if(!t.isSeriesFiltered(n)){var i=n.getData();i.hasItemVisual()&&i.each((function(t){var n=i.getItemVisual(t,"decal");n&&(i.ensureUniqueItemVisual(t,"style").decal=zv(n,e))}));var r=i.getVisual("decal");if(r)i.getVisual("style").decal=zv(r,e)}}))})),Fy(xd),Hy(900,(function(t){var e=gt();t.eachSeries((function(t){var n=t.get("stack");if(n){var i=e.get(n)||e.set(n,[]),r=t.getData(),o={stackResultDimension:r.getCalculationInfo("stackResultDimension"),stackedOverDimension:r.getCalculationInfo("stackedOverDimension"),stackedDimension:r.getCalculationInfo("stackedDimension"),stackedByDimension:r.getCalculationInfo("stackedByDimension"),isStackedByIndex:r.getCalculationInfo("isStackedByIndex"),data:r,seriesModel:t};if(!o.stackedDimension||!o.isStackedByIndex&&!o.stackedByDimension)return;i.length&&r.setCalculationInfo("stackedOnSeries",i[i.length-1].seriesModel),i.push(o)}})),e.each(wd)})),$y("default",(function(t,e){A(e=e||{},{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var n=new Pr,i=new Ds({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4});n.add(i);var r,o=new Ps({style:{text:e.text,fill:e.textColor,fontSize:e.fontSize,fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:e.fontFamily},zlevel:e.zlevel,z:10001}),a=new Ds({style:{fill:"none"},textContent:o,textConfig:{position:"right",distance:10},zlevel:e.zlevel,z:10001});return n.add(a),e.showSpinner&&((r=new zu({shape:{startAngle:-wg/2,endAngle:-wg/2+.1,r:e.spinnerRadius},style:{stroke:e.color,lineCap:"round",lineWidth:e.lineWidth},zlevel:e.zlevel,z:10001})).animateShape(!0).when(1e3,{endAngle:3*wg/2}).start("circularInOut"),r.animateShape(!0).when(1e3,{startAngle:3*wg/2}).delay(300).start("circularInOut"),n.add(r)),n.resize=function(){var n=o.getBoundingRect().width,s=e.showSpinner?e.spinnerRadius:0,l=(t.getWidth()-2*s-(e.showSpinner&&n?10:0)-n)/2-(e.showSpinner&&n?0:5+n/2)+(e.showSpinner?0:n/2)+(n?0:s),u=t.getHeight()/2;e.showSpinner&&r.setShape({cx:l,cy:u}),a.setShape({x:l-s,y:u-s,width:2*s,height:2*s}),i.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},n.resize(),n})),Zy({type:$s,event:$s,update:$s},xt),Zy({type:Qs,event:Qs,update:Qs},xt),Zy({type:Js,event:Js,update:Js},xt),Zy({type:tl,event:tl,update:tl},xt),Zy({type:el,event:el,update:el},xt),Vy("light",Bg),Vy("dark",Gg);var tm=[],em={registerPreprocessor:Fy,registerProcessor:Hy,registerPostInit:Wy,registerPostUpdate:Gy,registerUpdateLifecycle:Uy,registerAction:Zy,registerCoordinateSystem:Yy,registerLayout:Xy,registerVisual:jy,registerTransform:Jy,registerLoading:$y,registerMap:Qy,registerImpl:function(t,e){Hv[t]=e},PRIORITY:Zv,ComponentModel:pp,ComponentView:Kf,SeriesModel:Wf,ChartView:tg,registerComponentModel:function(t){pp.registerClass(t)},registerComponentView:function(t){Kf.registerClass(t)},registerSeriesModel:function(t){Wf.registerClass(t)},registerChartView:function(t){tg.registerClass(t)},registerSubTypeDefaulter:function(t,e){pp.registerSubTypeDefaulter(t,e)},registerPainter:function(t,e){Er(t,e)}};function nm(t){G(t)?z(t,(function(t){nm(t)})):L(tm,t)>=0||(tm.push(t),U(t)&&(t={install:t}),t.install(em))}function im(t){return null==t?0:t.length||1}function rm(t){return t}var om=function(){function t(t,e,n,i,r,o){this._old=t,this._new=e,this._oldKeyGetter=n||rm,this._newKeyGetter=i||rm,this.context=r,this._diffModeMultiple="multiple"===o}return t.prototype.add=function(t){return this._add=t,this},t.prototype.update=function(t){return this._update=t,this},t.prototype.updateManyToOne=function(t){return this._updateManyToOne=t,this},t.prototype.updateOneToMany=function(t){return this._updateOneToMany=t,this},t.prototype.updateManyToMany=function(t){return this._updateManyToMany=t,this},t.prototype.remove=function(t){return this._remove=t,this},t.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()},t.prototype._executeOneToOne=function(){var t=this._old,e=this._new,n={},i=new Array(t.length),r=new Array(e.length);this._initIndexMap(t,null,i,"_oldKeyGetter"),this._initIndexMap(e,n,r,"_newKeyGetter");for(var o=0;o1){var u=s.shift();1===s.length&&(n[a]=s[0]),this._update&&this._update(u,o)}else 1===l?(n[a]=null,this._update&&this._update(s,o)):this._remove&&this._remove(o)}this._performRestAdd(r,n)},t.prototype._executeMultiple=function(){var t=this._old,e=this._new,n={},i={},r=[],o=[];this._initIndexMap(t,n,r,"_oldKeyGetter"),this._initIndexMap(e,i,o,"_newKeyGetter");for(var a=0;a1&&1===c)this._updateManyToOne&&this._updateManyToOne(u,l),i[s]=null;else if(1===h&&c>1)this._updateOneToMany&&this._updateOneToMany(u,l),i[s]=null;else if(1===h&&1===c)this._update&&this._update(u,l),i[s]=null;else if(h>1&&c>1)this._updateManyToMany&&this._updateManyToMany(u,l),i[s]=null;else if(h>1)for(var p=0;p1)for(var a=0;a30}var vm,ym,mm,_m,xm,wm,bm,Sm=j,Mm=E,Cm="undefined"==typeof Int32Array?Array:Int32Array,Tm=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_dimSummary","userOutput","_rawData","_dimValueGetter","_nameDimIdx","_idDimIdx","_nameRepeatCount"],Im=["_approximateExtent"],Dm=function(){function t(t,e){var n;this.type="list",this._dimOmitted=!1,this._nameList=[],this._idList=[],this._visual={},this._layout={},this._itemVisuals=[],this._itemLayouts=[],this._graphicEls=[],this._approximateExtent={},this._calculationInfo={},this.hasItemOption=!1,this.TRANSFERABLE_METHODS=["cloneShallow","downSample","lttbDownSample","map"],this.CHANGABLE_METHODS=["filterSelf","selectRange"],this.DOWNSAMPLE_METHODS=["downSample","lttbDownSample"];var i=!1;pm(t)?(n=t.dimensions,this._dimOmitted=t.isDimensionOmitted(),this._schema=t):(i=!0,n=t),n=n||["x","y"];for(var r={},o=[],a={},s=!1,l={},u=0;u=e)){var n=this._store.getProvider();this._updateOrdinalMeta();var i=this._nameList,r=this._idList;if(n.getSource().sourceFormat===yp&&!n.pure)for(var o=[],a=t;a0},t.prototype.ensureUniqueItemVisual=function(t,e){var n=this._itemVisuals,i=n[t];i||(i=n[t]={});var r=i[e];return null==r&&(G(r=this.getVisual(e))?r=r.slice():Sm(r)&&(r=k({},r)),i[e]=r),r},t.prototype.setItemVisual=function(t,e,n){var i=this._itemVisuals[t]||{};this._itemVisuals[t]=i,Sm(e)?k(i,e):i[e]=n},t.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},t.prototype.setLayout=function(t,e){Sm(t)?k(this._layout,t):this._layout[t]=e},t.prototype.getLayout=function(t){return this._layout[t]},t.prototype.getItemLayout=function(t){return this._itemLayouts[t]},t.prototype.setItemLayout=function(t,e,n){this._itemLayouts[t]=n?k(this._itemLayouts[t]||{},e):e},t.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},t.prototype.setItemGraphicEl=function(t,e){!function(t,e,n,i){if(i){var r=Us(i);r.dataIndex=n,r.dataType=e,r.seriesIndex=t,r.ssrType="chart","group"===i.type&&i.traverse((function(i){var r=Us(i);r.seriesIndex=t,r.dataIndex=n,r.dataType=e,r.ssrType="chart"}))}}(this.hostModel&&this.hostModel.seriesIndex,this.dataType,t,e),this._graphicEls[t]=e},t.prototype.getItemGraphicEl=function(t){return this._graphicEls[t]},t.prototype.eachItemGraphicEl=function(t,e){z(this._graphicEls,(function(n,i){n&&t&&t.call(e,n,i)}))},t.prototype.cloneShallow=function(e){return e||(e=new t(this._schema?this._schema:Mm(this.dimensions,this._getDimInfo,this),this.hostModel)),xm(e,this),e._store=this._store,e},t.prototype.wrapMethod=function(t,e){var n=this[t];U(n)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=n.apply(this,arguments);return e.apply(this,[t].concat(ot(arguments)))})},t.internalField=(vm=function(t){var e=t._invertedIndicesMap;z(e,(function(n,i){var r=t._dimInfos[i],o=r.ordinalMeta,a=t._store;if(o){n=e[i]=new Cm(o.categories.length);for(var s=0;s1&&(s+="__ec__"+u),i[e]=s}})),t}();function km(t,e){Dd(t)||(t=Ad(t));var n=(e=e||{}).coordDimensions||[],i=e.dimensionsDefine||t.dimensionsDefine||[],r=gt(),o=[],a=function(t,e,n,i){var r=Math.max(t.dimensionsDetectedCount||1,e.length,n.length,i||0);return z(e,(function(t){var e;j(t)&&(e=t.dimsDef)&&(r=Math.max(r,e.length))})),r}(t,n,i,e.dimensionsCount),s=e.canOmitUnusedDimensions&&gm(a),l=i===t.dimensionsDefine,u=l?fm(t):dm(i),h=e.encodeDefine;!h&&e.encodeDefaulter&&(h=e.encodeDefaulter(t,a));for(var c=gt(h),p=new ff(a),d=0;d0&&(i.name=r+(o-1)),o++,e.set(r,o)}}(o),new cm({source:t,dimensions:o,fullDimensionCount:a,dimensionOmitted:s})}function Am(t,e,n){if(n||e.hasKey(t)){for(var i=0;e.hasKey(t+i);)i++;t+=i}return e.set(t,!0),t}var Pm=function(t){this.coordSysDims=[],this.axisMap=gt(),this.categoryAxisMap=gt(),this.coordSysName=t};var Lm={cartesian2d:function(t,e,n,i){var r=t.getReferringComponents("xAxis",Po).models[0],o=t.getReferringComponents("yAxis",Po).models[0];e.coordSysDims=["x","y"],n.set("x",r),n.set("y",o),Om(r)&&(i.set("x",r),e.firstCategoryDimIndex=0),Om(o)&&(i.set("y",o),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=1))},singleAxis:function(t,e,n,i){var r=t.getReferringComponents("singleAxis",Po).models[0];e.coordSysDims=["single"],n.set("single",r),Om(r)&&(i.set("single",r),e.firstCategoryDimIndex=0)},polar:function(t,e,n,i){var r=t.getReferringComponents("polar",Po).models[0],o=r.findAxisModel("radiusAxis"),a=r.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],n.set("radius",o),n.set("angle",a),Om(o)&&(i.set("radius",o),e.firstCategoryDimIndex=0),Om(a)&&(i.set("angle",a),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=1))},geo:function(t,e,n,i){e.coordSysDims=["lng","lat"]},parallel:function(t,e,n,i){var r=t.ecModel,o=r.getComponent("parallel",t.get("parallelIndex")),a=e.coordSysDims=o.dimensions.slice();z(o.parallelAxisIndex,(function(t,o){var s=r.getComponent("parallelAxis",t),l=a[o];n.set(l,s),Om(s)&&(i.set(l,s),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=o))}))}};function Om(t){return"category"===t.get("type")}function Rm(t,e,n){var i,r,o,a=(n=n||{}).byIndex,s=n.stackedCoordDimension;!function(t){return!pm(t.schema)}(e)?(r=e.schema,i=r.dimensions,o=e.store):i=e;var l,u,h,c,p=!(!t||!t.get("stack"));if(z(i,(function(t,e){Z(t)&&(i[e]=t={name:t}),p&&!t.isExtraCoord&&(a||l||!t.ordinalMeta||(l=t),u||"ordinal"===t.type||"time"===t.type||s&&s!==t.coordDim||(u=t))})),!u||a||l||(a=!0),u){h="__\0ecstackresult_"+t.id,c="__\0ecstackedover_"+t.id,l&&(l.createInvertedIndices=!0);var d=u.coordDim,f=u.type,g=0;z(i,(function(t){t.coordDim===d&&g++}));var v={name:h,coordDim:d,coordDimIndex:g,type:f,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:i.length},y={name:c,coordDim:c,coordDimIndex:g+1,type:f,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:i.length+1};r?(o&&(v.storeDimIndex=o.ensureCalculationDimension(c,f),y.storeDimIndex=o.ensureCalculationDimension(h,f)),r.appendCalculationDimension(v),r.appendCalculationDimension(y)):(i.push(v),i.push(y))}return{stackedDimension:u&&u.name,stackedByDimension:l&&l.name,isStackedByIndex:a,stackedOverDimension:c,stackResultDimension:h}}function Nm(t,e){return!!e&&e===t.getCalculationInfo("stackedDimension")}function zm(t,e){return Nm(t,e)?t.getCalculationInfo("stackResultDimension"):e}function Em(t,e,n){n=n||{};var i,r=e.getSourceManager(),o=!1;t?(o=!0,i=Ad(t)):o=(i=r.getSource()).sourceFormat===yp;var a=function(t){var e=t.get("coordinateSystem"),n=new Pm(e),i=Lm[e];if(i)return i(t,n,n.axisMap,n.categoryAxisMap),n}(e),s=function(t,e){var n,i=t.get("coordinateSystem"),r=$p.get(i);return e&&e.coordSysDims&&(n=E(e.coordSysDims,(function(t){var n={name:t},i=e.axisMap.get(t);if(i){var r=i.get("type");n.type=function(t){return"category"===t?"ordinal":"time"===t?"time":"float"}(r)}return n}))),n||(n=r&&(r.getDimensionsInfo?r.getDimensionsInfo():r.dimensions.slice())||["x","y"]),n}(e,a),l=n.useEncodeDefaulter,u=U(l)?l:l?W(kp,s,e):null,h=km(i,{coordDimensions:s,generateCoord:n.generateCoord,encodeDefine:e.getEncode(),encodeDefaulter:u,canOmitUnusedDimensions:!o}),c=function(t,e,n){var i,r;return n&&z(t,(function(t,o){var a=t.coordDim,s=n.categoryAxisMap.get(a);s&&(null==i&&(i=o),t.ordinalMeta=s.getOrdinalMeta(),e&&(t.createInvertedIndices=!0)),null!=t.otherDims.itemName&&(r=!0)})),r||null==i||(t[i].otherDims.itemName=0),i}(h.dimensions,n.createInvertedIndices,a),p=o?null:r.getSharedDataStore(h),d=Rm(e,{schema:h,store:p}),f=new Dm(h,e);f.setCalculationInfo(d);var g=null!=c&&function(t){if(t.sourceFormat===yp){return!G(mo(function(t){var e=0;for(;ee[1]&&(e[1]=t[1])},t.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},t.prototype.getExtent=function(){return this._extent.slice()},t.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=t),isNaN(e)||(n[1]=e)},t.prototype.isInExtentRange=function(t){return this._extent[0]<=t&&this._extent[1]>=t},t.prototype.isBlank=function(){return this._isBlank},t.prototype.setBlank=function(t){this._isBlank=t},t}();Go(Bm);var Vm=0,Fm=function(){function t(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this.uid=++Vm}return t.createByAxisModel=function(e){var n=e.option,i=n.data,r=i&&E(i,Hm);return new t({categories:r,needCollect:!r,deduplication:!1!==n.dedplication})},t.prototype.getOrdinal=function(t){return this._getOrCreateMap().get(t)},t.prototype.parseAndCollect=function(t){var e,n=this._needCollect;if(!Z(t)&&!n)return t;if(n&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var i=this._getOrCreateMap();return null==(e=i.get(t))&&(n?(e=this.categories.length,this.categories[e]=t,i.set(t,e)):e=NaN),e},t.prototype._getOrCreateMap=function(){return this._map||(this._map=gt(this.categories))},t}();function Hm(t){return j(t)&&null!=t.value?t.value:t+""}function Wm(t){return"interval"===t.type||"log"===t.type}function Gm(t,e,n,i){var r={},o=t[1]-t[0],a=r.interval=io(o/e,!0);null!=n&&ai&&(a=r.interval=i);var s=r.intervalPrecision=Zm(a);return function(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),Ym(t,0,e),Ym(t,1,e),t[0]>t[1]&&(t[0]=t[1])}(r.niceTickExtent=[Ur(Math.ceil(t[0]/a)*a,s),Ur(Math.floor(t[1]/a)*a,s)],t),r}function Um(t){var e=Math.pow(10,no(t)),n=t/e;return n?2===n?n=3:3===n?n=5:n*=2:n=1,Ur(n*e)}function Zm(t){return Yr(t)+2}function Ym(t,e,n){t[e]=Math.max(Math.min(t[e],n[1]),n[0])}function Xm(t,e){return t>=e[0]&&t<=e[1]}function jm(t,e){return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])}function qm(t,e){return t*(e[1]-e[0])+e[0]}var Km=function(t){function e(e){var n=t.call(this,e)||this;n.type="ordinal";var i=n.getSetting("ordinalMeta");return i||(i=new Fm({})),G(i)&&(i=new Fm({categories:E(i,(function(t){return j(t)?t.value:t}))})),n._ordinalMeta=i,n._extent=n.getSetting("extent")||[0,i.categories.length-1],n}return n(e,t),e.prototype.parse=function(t){return null==t?NaN:Z(t)?this._ordinalMeta.getOrdinal(t):Math.round(t)},e.prototype.contain=function(t){return Xm(t=this.parse(t),this._extent)&&null!=this._ordinalMeta.categories[t]},e.prototype.normalize=function(t){return jm(t=this._getTickNumber(this.parse(t)),this._extent)},e.prototype.scale=function(t){return t=Math.round(qm(t,this._extent)),this.getRawOrdinalNumber(t)},e.prototype.getTicks=function(){for(var t=[],e=this._extent,n=e[0];n<=e[1];)t.push({value:n}),n++;return t},e.prototype.getMinorTicks=function(t){},e.prototype.setSortInfo=function(t){if(null!=t){for(var e=t.ordinalNumbers,n=this._ordinalNumbersByTick=[],i=this._ticksByOrdinalNumber=[],r=0,o=this._ordinalMeta.categories.length,a=Math.min(o,e.length);r=0&&t=0&&t=t},e.prototype.getOrdinalMeta=function(){return this._ordinalMeta},e.prototype.calcNiceTicks=function(){},e.prototype.calcNiceExtent=function(){},e.type="ordinal",e}(Bm);Bm.registerClass(Km);var $m=Ur,Qm=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="interval",e._interval=0,e._intervalPrecision=2,e}return n(e,t),e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return Xm(t,this._extent)},e.prototype.normalize=function(t){return jm(t,this._extent)},e.prototype.scale=function(t){return qm(t,this._extent)},e.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=parseFloat(t)),isNaN(e)||(n[1]=parseFloat(e))},e.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),this.setExtent(e[0],e[1])},e.prototype.getInterval=function(){return this._interval},e.prototype.setInterval=function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Zm(t)},e.prototype.getTicks=function(t){var e=this._interval,n=this._extent,i=this._niceExtent,r=this._intervalPrecision,o=[];if(!e)return o;n[0]1e4)return[];var s=o.length?o[o.length-1].value:i[1];return n[1]>s&&(t?o.push({value:$m(s+e,r)}):o.push({value:n[1]})),o},e.prototype.getMinorTicks=function(t){for(var e=this.getTicks(!0),n=[],i=this.getExtent(),r=1;ri[0]&&h0&&(o=null===o?s:Math.min(o,s))}n[i]=o}}return n}(t),n=[];return z(t,(function(t){var i,r=t.coordinateSystem.getBaseAxis(),o=r.getExtent();if("category"===r.type)i=r.getBandWidth();else if("value"===r.type||"time"===r.type){var a=r.dim+"_"+r.index,s=e[a],l=Math.abs(o[1]-o[0]),u=r.scale.getExtent(),h=Math.abs(u[1]-u[0]);i=s?l/h*s:l}else{var c=t.getData();i=Math.abs(o[1]-o[0])/c.count()}var p=Gr(t.get("barWidth"),i),d=Gr(t.get("barMaxWidth"),i),f=Gr(t.get("barMinWidth")||(l_(t)?.5:1),i),g=t.get("barGap"),v=t.get("barCategoryGap");n.push({bandWidth:i,barWidth:p,barMaxWidth:d,barMinWidth:f,barGap:g,barCategoryGap:v,axisKey:i_(r),stackId:n_(t)})})),function(t){var e={};z(t,(function(t,n){var i=t.axisKey,r=t.bandWidth,o=e[i]||{bandWidth:r,remainedWidth:r,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},a=o.stacks;e[i]=o;var s=t.stackId;a[s]||o.autoWidthCount++,a[s]=a[s]||{width:0,maxWidth:0};var l=t.barWidth;l&&!a[s].width&&(a[s].width=l,l=Math.min(o.remainedWidth,l),o.remainedWidth-=l);var u=t.barMaxWidth;u&&(a[s].maxWidth=u);var h=t.barMinWidth;h&&(a[s].minWidth=h);var c=t.barGap;null!=c&&(o.gap=c);var p=t.barCategoryGap;null!=p&&(o.categoryGap=p)}));var n={};return z(e,(function(t,e){n[e]={};var i=t.stacks,r=t.bandWidth,o=t.categoryGap;if(null==o){var a=F(i).length;o=Math.max(35-4*a,15)+"%"}var s=Gr(o,r),l=Gr(t.gap,1),u=t.remainedWidth,h=t.autoWidthCount,c=(u-s)/(h+(h-1)*l);c=Math.max(c,0),z(i,(function(t){var e=t.maxWidth,n=t.minWidth;if(t.width){i=t.width;e&&(i=Math.min(i,e)),n&&(i=Math.max(i,n)),t.width=i,u-=i+l*i,h--}else{var i=c;e&&ei&&(i=n),i!==c&&(t.width=i,u-=i+l*i,h--)}})),c=(u-s)/(h+(h-1)*l),c=Math.max(c,0);var p,d=0;z(i,(function(t,e){t.width||(t.width=c),p=t,d+=t.width*(1+l)})),p&&(d-=p.width*l);var f=-d/2;z(i,(function(t,i){n[e][i]=n[e][i]||{bandWidth:r,offset:f,width:t.width},f+=t.width*(1+l)}))})),n}(n)}function a_(t,e){var n=r_(t,e),i=o_(n);z(n,(function(t){var e=t.getData(),n=t.coordinateSystem.getBaseAxis(),r=n_(t),o=i[i_(n)][r],a=o.offset,s=o.width;e.setLayout({bandWidth:o.bandWidth,offset:a,size:s})}))}function s_(t){return t.coordinateSystem&&"cartesian2d"===t.coordinateSystem.type}function l_(t){return t.pipelineContext&&t.pipelineContext.large}var u_=function(t){function e(e){var n=t.call(this,e)||this;return n.type="time",n}return n(e,t),e.prototype.getLabel=function(t){var e=this.getSetting("useUTC");return Ic(t.value,wc[function(t){switch(t){case"year":case"month":return"day";case"millisecond":return"millisecond";default:return"second"}}(Cc(this._minLevelUnit))]||wc.second,e,this.getSetting("locale"))},e.prototype.getFormattedLabel=function(t,e,n){var i=this.getSetting("useUTC");return function(t,e,n,i,r){var o=null;if(Z(n))o=n;else if(U(n))o=n(t.value,e,{level:t.level});else{var a=k({},_c);if(t.level>0)for(var s=0;s=0;--s)if(l[u]){o=l[u];break}o=o||a.none}if(G(o)){var h=null==t.level?0:t.level>=0?t.level:o.length+t.level;o=o[h=Math.min(h,o.length-1)]}}return Ic(new Date(t.value),o,r,i)}(t,e,n,this.getSetting("locale"),i)},e.prototype.getTicks=function(){var t=this._interval,e=this._extent,n=[];if(!t)return n;n.push({value:e[0],level:0});var i=this.getSetting("useUTC"),r=function(t,e,n,i){var r=1e4,o=Sc,a=0;function s(t,e,n,r,o,a,s){for(var l=new Date(e),u=e,h=l[r]();u1&&0===u&&o.unshift({value:o[0].value-p})}}for(u=0;u=i[0]&&y<=i[1]&&c++)}var m=(i[1]-i[0])/e;if(c>1.5*m&&p>m/1.5)break;if(u.push(g),c>m||t===o[d])break}h=[]}}0;var _=V(E(u,(function(t){return V(t,(function(t){return t.value>=i[0]&&t.value<=i[1]&&!t.notAdd}))})),(function(t){return t.length>0})),x=[],w=_.length-1;for(d=0;d<_.length;++d)for(var b=_[d],S=0;Sn&&(this._approxInterval=n);var o=h_.length,a=Math.min(function(t,e,n,i){for(;n>>1;t[r][1]16?16:t>7.5?7:t>3.5?4:t>1.5?2:1}function p_(t){return(t/=2592e6)>6?6:t>3?3:t>2?2:1}function d_(t){return(t/=vc)>12?12:t>6?6:t>3.5?4:t>2?2:1}function f_(t,e){return(t/=e?gc:fc)>30?30:t>20?20:t>15?15:t>10?10:t>5?5:t>2?2:1}function g_(t){return io(t,!0)}function v_(t,e,n){var i=new Date(t);switch(Cc(e)){case"year":case"month":i[Bc(n)](0);case"day":i[Vc(n)](1);case"hour":i[Fc(n)](0);case"minute":i[Hc(n)](0);case"second":i[Wc(n)](0),i[Gc(n)](0)}return i.getTime()}Bm.registerClass(u_);var y_=Bm.prototype,m_=Qm.prototype,__=Ur,x_=Math.floor,w_=Math.ceil,b_=Math.pow,S_=Math.log,M_=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="log",e.base=10,e._originalScale=new Qm,e._interval=0,e}return n(e,t),e.prototype.getTicks=function(t){var e=this._originalScale,n=this._extent,i=e.getExtent();return E(m_.getTicks.call(this,t),(function(t){var e=t.value,r=Ur(b_(this.base,e));return r=e===n[0]&&this._fixMin?T_(r,i[0]):r,{value:r=e===n[1]&&this._fixMax?T_(r,i[1]):r}}),this)},e.prototype.setExtent=function(t,e){var n=S_(this.base);t=S_(Math.max(0,t))/n,e=S_(Math.max(0,e))/n,m_.setExtent.call(this,t,e)},e.prototype.getExtent=function(){var t=this.base,e=y_.getExtent.call(this);e[0]=b_(t,e[0]),e[1]=b_(t,e[1]);var n=this._originalScale.getExtent();return this._fixMin&&(e[0]=T_(e[0],n[0])),this._fixMax&&(e[1]=T_(e[1],n[1])),e},e.prototype.unionExtent=function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=S_(t[0])/S_(e),t[1]=S_(t[1])/S_(e),y_.unionExtent.call(this,t)},e.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},e.prototype.calcNiceTicks=function(t){t=t||10;var e=this._extent,n=e[1]-e[0];if(!(n===1/0||n<=0)){var i=eo(n);for(t/n*i<=.5&&(i*=10);!isNaN(i)&&Math.abs(i)<1&&Math.abs(i)>0;)i*=10;var r=[Ur(w_(e[0]/i)*i),Ur(x_(e[1]/i)*i)];this._interval=i,this._niceExtent=r}},e.prototype.calcNiceExtent=function(t){m_.calcNiceExtent.call(this,t),this._fixMin=t.fixMin,this._fixMax=t.fixMax},e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return Xm(t=S_(t)/S_(this.base),this._extent)},e.prototype.normalize=function(t){return jm(t=S_(t)/S_(this.base),this._extent)},e.prototype.scale=function(t){return t=qm(t,this._extent),b_(this.base,t)},e.type="log",e}(Bm),C_=M_.prototype;function T_(t,e){return __(t,Yr(e))}C_.getMinorTicks=m_.getMinorTicks,C_.getLabel=m_.getLabel,Bm.registerClass(M_);var I_=function(){function t(t,e,n){this._prepareParams(t,e,n)}return t.prototype._prepareParams=function(t,e,n){n[1]0&&s>0&&!l&&(a=0),a<0&&s<0&&!u&&(s=0));var c=this._determinedMin,p=this._determinedMax;return null!=c&&(a=c,l=!0),null!=p&&(s=p,u=!0),{min:a,max:s,minFixed:l,maxFixed:u,isBlank:h}},t.prototype.modifyDataMinMax=function(t,e){this[k_[t]]=e},t.prototype.setDeterminedMinMax=function(t,e){var n=D_[t];this[n]=e},t.prototype.freeze=function(){this.frozen=!0},t}(),D_={min:"_determinedMin",max:"_determinedMax"},k_={min:"_dataMin",max:"_dataMax"};function A_(t,e,n){var i=t.rawExtentInfo;return i||(i=new I_(t,e,n),t.rawExtentInfo=i,i)}function P_(t,e){return null==e?null:et(e)?NaN:t.parse(e)}function L_(t,e){var n=t.type,i=A_(t,e,t.getExtent()).calculate();t.setBlank(i.isBlank);var r=i.min,o=i.max,a=e.ecModel;if(a&&"time"===n){var s=r_("bar",a),l=!1;if(z(s,(function(t){l=l||t.getBaseAxis()===e.axis})),l){var u=o_(s),h=function(t,e,n,i){var r=n.axis.getExtent(),o=r[1]-r[0],a=function(t,e,n){if(t&&e){var i=t[i_(e)];return null!=i&&null!=n?i[n_(n)]:i}}(i,n.axis);if(void 0===a)return{min:t,max:e};var s=1/0;z(a,(function(t){s=Math.min(t.offset,s)}));var l=-1/0;z(a,(function(t){l=Math.max(t.offset+t.width,l)})),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/o)-h;return e+=c*(l/u),t-=c*(s/u),{min:t,max:e}}(r,o,e,u);r=h.min,o=h.max}}return{extent:[r,o],fixMin:i.minFixed,fixMax:i.maxFixed}}function O_(t,e){var n=e,i=L_(t,n),r=i.extent,o=n.get("splitNumber");t instanceof M_&&(t.base=n.get("logBase"));var a=t.type,s=n.get("interval"),l="interval"===a||"time"===a;t.setExtent(r[0],r[1]),t.calcNiceExtent({splitNumber:o,fixMin:i.fixMin,fixMax:i.fixMax,minInterval:l?n.get("minInterval"):null,maxInterval:l?n.get("maxInterval"):null}),null!=s&&t.setInterval&&t.setInterval(s)}function R_(t,e){if(e=e||t.get("type"))switch(e){case"category":return new Km({ordinalMeta:t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),extent:[1/0,-1/0]});case"time":return new u_({locale:t.ecModel.getLocaleModel(),useUTC:t.ecModel.get("useUTC")});default:return new(Bm.getClass(e)||Qm)}}function N_(t){var e,n,i=t.getLabelModel().get("formatter"),r="category"===t.type?t.scale.getExtent()[0]:null;return"time"===t.scale.type?(n=i,function(e,i){return t.scale.getFormattedLabel(e,i,n)}):Z(i)?function(e){return function(n){var i=t.scale.getLabel(n);return e.replace("{value}",null!=i?i:"")}}(i):U(i)?(e=i,function(n,i){return null!=r&&(i=n.value-r),e(z_(t,n),i,null!=n.level?{level:n.level}:null)}):function(e){return t.scale.getLabel(e)}}function z_(t,e){return"category"===t.type?t.scale.getLabel(e):e.value}function E_(t,e){var n=e*Math.PI/180,i=t.width,r=t.height,o=i*Math.abs(Math.cos(n))+Math.abs(r*Math.sin(n)),a=i*Math.abs(Math.sin(n))+Math.abs(r*Math.cos(n));return new Le(t.x,t.y,o,a)}function B_(t){var e=t.get("interval");return null==e?"auto":e}function V_(t){return"category"===t.type&&0===B_(t.getLabelModel())}function F_(t,e){var n={};return z(t.mapDimensionsAll(e),(function(e){n[zm(t,e)]=!0})),F(n)}var H_=function(){function t(){}return t.prototype.getNeedCrossZero=function(){return!this.option.scale},t.prototype.getCoordSysModel=function(){},t}();var W_={isDimensionStacked:Nm,enableDataStack:Rm,getStackedDimension:zm};var G_=Object.freeze({__proto__:null,createList:function(t){return Em(null,t)},getLayoutRect:op,dataStack:W_,createScale:function(t,e){var n=e;e instanceof ic||(n=new ic(e));var i=R_(n);return i.setExtent(t[0],t[1]),O_(i,n),i},mixinAxisModelCommonMethods:function(t){R(t,H_)},getECData:Us,createTextStyle:function(t,e){return Eh(t,null,null,"normal"!==(e=e||{}).state)},createDimensions:function(t,e){return km(t,e).dimensions},createSymbol:uv,enableHoverEmphasis:Al});function U_(t,e){return Math.abs(t-e)<1e-8}function Z_(t,e,n){var i=0,r=t[0];if(!r)return!1;for(var o=1;on&&(t=r,n=a)}if(t)return function(t){for(var e=0,n=0,i=0,r=t.length,o=t[r-1][0],a=t[r-1][1],s=0;s>1^-(1&s),l=l>>1^-(1&l),r=s+=r,o=l+=o,i.push([s/n,l/n])}return i}function ex(t,e){return E(V((t=function(t){if(!t.UTF8Encoding)return t;var e=t,n=e.UTF8Scale;return null==n&&(n=1024),z(e.features,(function(t){var e=t.geometry,i=e.encodeOffsets,r=e.coordinates;if(i)switch(e.type){case"LineString":e.coordinates=tx(r,i,n);break;case"Polygon":case"MultiLineString":J_(r,i,n);break;case"MultiPolygon":z(r,(function(t,e){return J_(t,i[e],n)}))}})),e.UTF8Encoding=!1,e}(t)).features,(function(t){return t.geometry&&t.properties&&t.geometry.coordinates.length>0})),(function(t){var n=t.properties,i=t.geometry,r=[];switch(i.type){case"Polygon":var o=i.coordinates;r.push(new K_(o[0],o.slice(1)));break;case"MultiPolygon":z(i.coordinates,(function(t){t[0]&&r.push(new K_(t[0],t.slice(1)))}));break;case"LineString":r.push(new $_([i.coordinates]));break;case"MultiLineString":r.push(new $_(i.coordinates))}var a=new Q_(n[e||"name"],r,n.cp);return a.properties=n,a}))}var nx=Object.freeze({__proto__:null,linearMap:Wr,round:Ur,asc:Zr,getPrecision:Yr,getPrecisionSafe:Xr,getPixelPrecision:jr,getPercentWithPrecision:function(t,e,n){return t[e]&&qr(t,n)[e]||0},MAX_SAFE_INTEGER:9007199254740991,remRadian:$r,isRadianAroundZero:Qr,parseDate:to,quantity:eo,quantityExponent:no,nice:io,quantile:function(t,e){var n=(t.length-1)*e+1,i=Math.floor(n),r=+t[i-1],o=n-i;return o?r+o*(t[i]-r):r},reformIntervals:function(t){t.sort((function(t,e){return s(t,e,0)?-1:1}));for(var e=-1/0,n=1,i=0;i0&&(n.sort(),n.unshift(n[0]),n.push(n[n.length-1])),n}function ux(t){var e=t.getLabelModel().get("customValues");if(e){var n=N_(t);return{labels:lx(t,e).map((function(e){var i={value:e};return{formattedLabel:n(i),rawLabel:t.scale.getLabel(i),tickValue:e}}))}}return"category"===t.type?function(t){var e=t.getLabelModel(),n=cx(t,e);return!e.get("show")||t.scale.isBlank()?{labels:[],labelCategoryInterval:n.labelCategoryInterval}:n}(t):function(t){var e=t.scale.getTicks(),n=N_(t);return{labels:E(e,(function(e,i){return{level:e.level,formattedLabel:n(e,i),rawLabel:t.scale.getLabel(e),tickValue:e.value}}))}}(t)}function hx(t,e){var n=t.getTickModel().get("customValues");return n?{ticks:lx(t,n)}:"category"===t.type?function(t,e){var n,i,r=px(t,"ticks"),o=B_(e),a=dx(r,o);if(a)return a;e.get("show")&&!t.scale.isBlank()||(n=[]);if(U(o))n=vx(t,o,!0);else if("auto"===o){var s=cx(t,t.getLabelModel());i=s.labelCategoryInterval,n=E(s.labels,(function(t){return t.tickValue}))}else n=gx(t,i=o,!0);return fx(r,o,{ticks:n,tickCategoryInterval:i})}(t,e):{ticks:E(t.scale.getTicks(),(function(t){return t.value}))}}function cx(t,e){var n,i,r=px(t,"labels"),o=B_(e),a=dx(r,o);return a||(U(o)?n=vx(t,o):(i="auto"===o?function(t){var e=sx(t).autoInterval;return null!=e?e:sx(t).autoInterval=t.calculateCategoryInterval()}(t):o,n=gx(t,i)),fx(r,o,{labels:n,labelCategoryInterval:i}))}function px(t,e){return sx(t)[e]||(sx(t)[e]=[])}function dx(t,e){for(var n=0;n1&&h/l>2&&(u=Math.round(Math.ceil(u/l)*l));var c=V_(t),p=a.get("showMinLabel")||c,d=a.get("showMaxLabel")||c;p&&u!==o[0]&&g(o[0]);for(var f=u;f<=o[1];f+=l)g(f);function g(t){var e={value:t};s.push(n?t:{formattedLabel:i(e),rawLabel:r.getLabel(e),tickValue:t})}return d&&f-l!==o[1]&&g(o[1]),s}function vx(t,e,n){var i=t.scale,r=N_(t),o=[];return z(i.getTicks(),(function(t){var a=i.getLabel(t),s=t.value;e(t.value,a)&&o.push(n?s:{formattedLabel:r(t),rawLabel:a,tickValue:s})})),o}var yx=[0,1],mx=function(){function t(t,e,n){this.onBand=!1,this.inverse=!1,this.dim=t,this.scale=e,this._extent=n||[0,0]}return t.prototype.contain=function(t){var e=this._extent,n=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return t>=n&&t<=i},t.prototype.containData=function(t){return this.scale.contain(t)},t.prototype.getExtent=function(){return this._extent.slice()},t.prototype.getPixelPrecision=function(t){return jr(t||this.scale.getExtent(),this._extent)},t.prototype.setExtent=function(t,e){var n=this._extent;n[0]=t,n[1]=e},t.prototype.dataToCoord=function(t,e){var n=this._extent,i=this.scale;return t=i.normalize(t),this.onBand&&"ordinal"===i.type&&_x(n=n.slice(),i.count()),Wr(t,yx,n,e)},t.prototype.coordToData=function(t,e){var n=this._extent,i=this.scale;this.onBand&&"ordinal"===i.type&&_x(n=n.slice(),i.count());var r=Wr(t,n,yx,e);return this.scale.scale(r)},t.prototype.pointToData=function(t,e){},t.prototype.getTicksCoords=function(t){var e=(t=t||{}).tickModel||this.getTickModel(),n=E(hx(this,e).ticks,(function(t){return{coord:this.dataToCoord("ordinal"===this.scale.type?this.scale.getRawOrdinalNumber(t):t),tickValue:t}}),this);return function(t,e,n,i){var r=e.length;if(!t.onBand||n||!r)return;var o,a,s=t.getExtent();if(1===r)e[0].coord=s[0],o=e[1]={coord:s[1]};else{var l=e[r-1].tickValue-e[0].tickValue,u=(e[r-1].coord-e[0].coord)/l;z(e,(function(t){t.coord-=u/2})),a=1+t.scale.getExtent()[1]-e[r-1].tickValue,o={coord:e[r-1].coord+u*a},e.push(o)}var h=s[0]>s[1];c(e[0].coord,s[0])&&(i?e[0].coord=s[0]:e.shift());i&&c(s[0],e[0].coord)&&e.unshift({coord:s[0]});c(s[1],o.coord)&&(i?o.coord=s[1]:e.pop());i&&c(o.coord,s[1])&&e.push({coord:s[1]});function c(t,e){return t=Ur(t),e=Ur(e),h?t>e:t0&&t<100||(t=5),E(this.scale.getMinorTicks(t),(function(t){return E(t,(function(t){return{coord:this.dataToCoord(t),tickValue:t}}),this)}),this)},t.prototype.getViewLabels=function(){return ux(this).labels},t.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")},t.prototype.getTickModel=function(){return this.model.getModel("axisTick")},t.prototype.getBandWidth=function(){var t=this._extent,e=this.scale.getExtent(),n=e[1]-e[0]+(this.onBand?1:0);0===n&&(n=1);var i=Math.abs(t[1]-t[0]);return Math.abs(i)/n},t.prototype.calculateCategoryInterval=function(){return function(t){var e=function(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}(t),n=N_(t),i=(e.axisRotate-e.labelRotate)/180*Math.PI,r=t.scale,o=r.getExtent(),a=r.count();if(o[1]-o[0]<1)return 0;var s=1;a>40&&(s=Math.max(1,Math.floor(a/40)));for(var l=o[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(i)),c=Math.abs(u*Math.sin(i)),p=0,d=0;l<=o[1];l+=s){var f,g,v=gr(n({value:l}),e.font,"center","top");f=1.3*v.width,g=1.3*v.height,p=Math.max(p,f,7),d=Math.max(d,g,7)}var y=p/h,m=d/c;isNaN(y)&&(y=1/0),isNaN(m)&&(m=1/0);var _=Math.max(0,Math.floor(Math.min(y,m))),x=sx(t.model),w=t.getExtent(),b=x.lastAutoInterval,S=x.lastTickCount;return null!=b&&null!=S&&Math.abs(b-_)<=1&&Math.abs(S-a)<=1&&b>_&&x.axisExtent0===w[0]&&x.axisExtent1===w[1]?_=b:(x.lastTickCount=a,x.lastAutoInterval=_,x.axisExtent0=w[0],x.axisExtent1=w[1]),_}(this)},t}();function _x(t,e){var n=(t[1]-t[0])/e/2;t[0]+=n,t[1]-=n}function xx(t,e,n,i,r,o,a,s){var l=r-t,u=o-e,h=n-t,c=i-e,p=Math.sqrt(h*h+c*c),d=(l*(h/=p)+u*(c/=p))/p;s&&(d=Math.min(Math.max(d,0),1)),d*=p;var f=a[0]=t+d*h,g=a[1]=e+d*c;return Math.sqrt((f-r)*(f-r)+(g-o)*(g-o))}var bx=new Se,Sx=new Se,Mx=new Se,Cx=new Se,Tx=new Se,Ix=[],Dx=new Se;function kx(t,e){if(e<=180&&e>0){e=e/180*Math.PI,bx.fromArray(t[0]),Sx.fromArray(t[1]),Mx.fromArray(t[2]),Se.sub(Cx,bx,Sx),Se.sub(Tx,Mx,Sx);var n=Cx.len(),i=Tx.len();if(!(n<.001||i<.001)){Cx.scale(1/n),Tx.scale(1/i);var r=Cx.dot(Tx);if(Math.cos(e)1&&Se.copy(Dx,Mx),Dx.toArray(t[1])}}}}function Ax(t,e,n){if(n<=180&&n>0){n=n/180*Math.PI,bx.fromArray(t[0]),Sx.fromArray(t[1]),Mx.fromArray(t[2]),Se.sub(Cx,Sx,bx),Se.sub(Tx,Mx,Sx);var i=Cx.len(),r=Tx.len();if(!(i<.001||r<.001))if(Cx.scale(1/i),Tx.scale(1/r),Cx.dot(e)=a)Se.copy(Dx,Mx);else{Dx.scaleAndAdd(Tx,o/Math.tan(Math.PI/2-s));var l=Mx.x!==Sx.x?(Dx.x-Sx.x)/(Mx.x-Sx.x):(Dx.y-Sx.y)/(Mx.y-Sx.y);if(isNaN(l))return;l<0?Se.copy(Dx,Sx):l>1&&Se.copy(Dx,Mx)}Dx.toArray(t[1])}}}function Px(t,e,n,i){var r="normal"===n,o=r?t:t.ensureState(n);o.ignore=e;var a=i.get("smooth");a&&!0===a&&(a=.3),o.shape=o.shape||{},a>0&&(o.shape.smooth=a);var s=i.getModel("lineStyle").getLineStyle();r?t.useStyle(s):o.style=s}function Lx(t,e){var n=e.smooth,i=e.points;if(i)if(t.moveTo(i[0][0],i[0][1]),n>0&&i.length>=3){var r=Rt(i[0],i[1]),o=Rt(i[1],i[2]);if(!r||!o)return t.lineTo(i[1][0],i[1][1]),void t.lineTo(i[2][0],i[2][1]);var a=Math.min(r,o)*n,s=Et([],i[1],i[0],a/r),l=Et([],i[1],i[2],a/o),u=Et([],s,l,.5);t.bezierCurveTo(s[0],s[1],s[0],s[1],u[0],u[1]),t.bezierCurveTo(l[0],l[1],l[0],l[1],i[2][0],i[2][1])}else for(var h=1;h0&&o&&x(-h/a,0,a);var f,g,v=t[0],y=t[a-1];return m(),f<0&&w(-f,.8),g<0&&w(g,.8),m(),_(f,g,1),_(g,f,-1),m(),f<0&&b(-f),g<0&&b(g),u}function m(){f=v.rect[e]-i,g=r-y.rect[e]-y.rect[n]}function _(t,e,n){if(t<0){var i=Math.min(e,-t);if(i>0){x(i*n,0,a);var r=i+t;r<0&&w(-r*n,1)}else w(-t*n,1)}}function x(n,i,r){0!==n&&(u=!0);for(var o=i;o0)for(l=0;l0;l--)x(-o[l-1]*c,l,a)}}function b(t){var e=t<0?-1:1;t=Math.abs(t);for(var n=Math.ceil(t/(a-1)),i=0;i0?x(n,0,i+1):x(-n,a-i-1,a),(t-=n)<=0)return}}(t,"y","height",e,n,i)}var Rx=Math.sin,Nx=Math.cos,zx=Math.PI,Ex=2*Math.PI,Bx=180/zx,Vx=function(){function t(){}return t.prototype.reset=function(t){this._start=!0,this._d=[],this._str="",this._p=Math.pow(10,t||4)},t.prototype.moveTo=function(t,e){this._add("M",t,e)},t.prototype.lineTo=function(t,e){this._add("L",t,e)},t.prototype.bezierCurveTo=function(t,e,n,i,r,o){this._add("C",t,e,n,i,r,o)},t.prototype.quadraticCurveTo=function(t,e,n,i){this._add("Q",t,e,n,i)},t.prototype.arc=function(t,e,n,i,r,o){this.ellipse(t,e,n,n,0,i,r,o)},t.prototype.ellipse=function(t,e,n,i,r,o,a,s){var l=a-o,u=!s,h=Math.abs(l),c=ri(h-Ex)||(u?l>=Ex:-l>=Ex),p=l>0?l%Ex:l%Ex+Ex,d=!1;d=!!c||!ri(h)&&p>=zx==!!u;var f=t+n*Nx(o),g=e+i*Rx(o);this._start&&this._add("M",f,g);var v=Math.round(r*Bx);if(c){var y=1/this._p,m=(u?1:-1)*(Ex-y);this._add("A",n,i,v,1,+u,t+n*Nx(o+m),e+i*Rx(o+m)),y>.01&&this._add("A",n,i,v,0,+u,f,g)}else{var _=t+n*Nx(a),x=e+i*Rx(a);this._add("A",n,i,v,+d,+u,_,x)}},t.prototype.rect=function(t,e,n,i){this._add("M",t,e),this._add("l",n,0),this._add("l",0,i),this._add("l",-n,0),this._add("Z")},t.prototype.closePath=function(){this._d.length>0&&this._add("Z")},t.prototype._add=function(t,e,n,i,r,o,a,s,l){for(var u=[],h=this._p,c=1;c"}(r,o)+("style"!==r?te(a):a||"")+(i?""+n+E(i,(function(e){return t(e)})).join(n)+n:"")+("")}(t)}function $x(t){return{zrId:t,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssStyleCache:{},cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function Qx(t,e,n,i){return qx("svg","root",{width:t,height:e,xmlns:Zx,"xmlns:xlink":Yx,version:"1.1",baseProfile:"full",viewBox:!!i&&"0 0 "+t+" "+e},n)}var Jx=0;function tw(){return Jx++}var ew={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},nw="transform-origin";function iw(t,e,n){var i=k({},t.shape);k(i,e),t.buildPath(n,i);var r=new Vx;return r.reset(fi(t)),n.rebuildPath(r,1),r.generateStr(),r.getStr()}function rw(t,e){var n=e.originX,i=e.originY;(n||i)&&(t[nw]=n+"px "+i+"px")}var ow={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function aw(t,e){var n=e.zrId+"-ani-"+e.cssAnimIdx++;return e.cssAnims[n]=t,n}function sw(t){return Z(t)?ew[t]?"cubic-bezier("+ew[t]+")":Cn(t)?t:"":""}function lw(t,e,n,i){var r=t.animators,o=r.length,a=[];if(t instanceof Eu){var s=function(t,e,n){var i,r,o=t.shape.paths,a={};if(z(o,(function(t){var e=$x(n.zrId);e.animation=!0,lw(t,{},e,!0);var o=e.cssAnims,s=e.cssNodes,l=F(o),u=l.length;if(u){var h=o[r=l[u-1]];for(var c in h){var p=h[c];a[c]=a[c]||{d:""},a[c].d+=p.d||""}for(var d in s){var f=s[d].animation;f.indexOf(r)>=0&&(i=f)}}})),i){e.d=!1;var s=aw(a,n);return i.replace(r,s)}}(t,e,n);if(s)a.push(s);else if(!o)return}else if(!o)return;for(var l={},u=0;u0})).length)return aw(h,n)+" "+r[0]+" both"}for(var v in l){(s=g(l[v]))&&a.push(s)}if(a.length){var y=n.zrId+"-cls-"+tw();n.cssNodes["."+y]={animation:a.join(",")},e.class=y}}function uw(t,e,n,i){var r=JSON.stringify(t),o=n.cssStyleCache[r];o||(o=n.zrId+"-cls-"+tw(),n.cssStyleCache[r]=o,n.cssNodes["."+o+(i?":hover":"")]=t),e.class=e.class?e.class+" "+o:o}var hw=Math.round;function cw(t){return t&&Z(t.src)}function pw(t){return t&&U(t.toDataURL)}function dw(t,e,n,i){Ux((function(r,o){var a="fill"===r||"stroke"===r;a&&pi(o)?Mw(e,t,r,i):a&&ui(o)?Cw(n,t,r,i):t[r]=a&&"none"===o?"transparent":o}),e,n,!1),function(t,e,n){var i=t.style;if(function(t){return t&&(t.shadowBlur||t.shadowOffsetX||t.shadowOffsetY)}(i)){var r=function(t){var e=t.style,n=t.getGlobalScale();return[e.shadowColor,(e.shadowBlur||0).toFixed(2),(e.shadowOffsetX||0).toFixed(2),(e.shadowOffsetY||0).toFixed(2),n[0],n[1]].join(",")}(t),o=n.shadowCache,a=o[r];if(!a){var s=t.getGlobalScale(),l=s[0],u=s[1];if(!l||!u)return;var h=i.shadowOffsetX||0,c=i.shadowOffsetY||0,p=i.shadowBlur,d=ni(i.shadowColor),f=d.opacity,g=d.color,v=p/2/l+" "+p/2/u;a=n.zrId+"-s"+n.shadowIdx++,n.defs[a]=qx("filter",a,{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},[qx("feDropShadow","",{dx:h/l,dy:c/u,stdDeviation:v,"flood-color":g,"flood-opacity":f})]),o[r]=a}e.filter=di(a)}}(n,t,i)}function fw(t,e){var n=Br(e);n&&(n.each((function(e,n){null!=e&&(t[(Xx+n).toLowerCase()]=e+"")})),e.isSilent()&&(t[Xx+"silent"]="true"))}function gw(t){return ri(t[0]-1)&&ri(t[1])&&ri(t[2])&&ri(t[3]-1)}function vw(t,e,n){if(e&&(!function(t){return ri(t[4])&&ri(t[5])}(e)||!gw(e))){var i=n?10:1e4;t.transform=gw(e)?"translate("+hw(e[4]*i)/i+" "+hw(e[5]*i)/i+")":function(t){return"matrix("+oi(t[0])+","+oi(t[1])+","+oi(t[2])+","+oi(t[3])+","+ai(t[4])+","+ai(t[5])+")"}(e)}}function yw(t,e,n){for(var i=t.points,r=[],o=0;o=0&&a||o;s&&(r=Jn(s))}var l=i.lineWidth;l&&(l/=!i.strokeNoScale&&t.transform?t.transform[0]:1);var u={cursor:"pointer"};r&&(u.fill=r),i.stroke&&(u.stroke=i.stroke),l&&(u["stroke-width"]=l),uw(u,e,n,!0)}}(t,o,e),qx(s,t.id+"",o)}function Sw(t,e){return t instanceof vs?bw(t,e):t instanceof ws?function(t,e){var n=t.style,i=n.image;if(i&&!Z(i)&&(cw(i)?i=i.src:pw(i)&&(i=i.toDataURL())),i){var r=n.x||0,o=n.y||0,a={href:i,width:n.width,height:n.height};return r&&(a.x=r),o&&(a.y=o),vw(a,t.transform),dw(a,n,t,e),fw(a,t),e.animation&&lw(t,a,e),qx("image",t.id+"",a)}}(t,e):t instanceof ms?function(t,e){var n=t.style,i=n.text;if(null!=i&&(i+=""),i&&!isNaN(n.x)&&!isNaN(n.y)){var r=n.font||a,s=n.x||0,l=function(t,e,n){return"top"===n?t+=e/2:"bottom"===n&&(t-=e/2),t}(n.y||0,mr(r),n.textBaseline),u={"dominant-baseline":"central","text-anchor":si[n.textAlign]||n.textAlign};if(Es(n)){var h="",c=n.fontStyle,p=Ns(n.fontSize);if(!parseFloat(p))return;var d=n.fontFamily||o,f=n.fontWeight;h+="font-size:"+p+";font-family:"+d+";",c&&"normal"!==c&&(h+="font-style:"+c+";"),f&&"normal"!==f&&(h+="font-weight:"+f+";"),u.style=h}else u.style="font: "+r;return i.match(/\s/)&&(u["xml:space"]="preserve"),s&&(u.x=s),l&&(u.y=l),vw(u,t.transform),dw(u,n,t,e),fw(u,t),e.animation&&lw(t,u,e),qx("text",t.id+"",u,void 0,i)}}(t,e):void 0}function Mw(t,e,n,i){var r,o=t[n],a={gradientUnits:o.global?"userSpaceOnUse":"objectBoundingBox"};if(hi(o))r="linearGradient",a.x1=o.x,a.y1=o.y,a.x2=o.x2,a.y2=o.y2;else{if(!ci(o))return void 0;r="radialGradient",a.cx=it(o.x,.5),a.cy=it(o.y,.5),a.r=it(o.r,.5)}for(var s=o.colorStops,l=[],u=0,h=s.length;ul?Fw(t,null==n[c+1]?null:n[c+1].elm,n,s,c):Hw(t,e,a,l))}(n,i,r):zw(r)?(zw(t.text)&&Ow(n,""),Fw(n,null,r,0,r.length-1)):zw(i)?Hw(n,i,0,i.length-1):zw(t.text)&&Ow(n,""):t.text!==e.text&&(zw(i)&&Hw(n,i,0,i.length-1),Ow(n,e.text)))}var Uw=0,Zw=function(){function t(t,e,n){if(this.type="svg",this.refreshHover=Yw("refreshHover"),this.configLayer=Yw("configLayer"),this.storage=e,this._opts=n=k({},n),this.root=t,this._id="zr"+Uw++,this._oldVNode=Qx(n.width,n.height),t&&!n.ssr){var i=this._viewport=document.createElement("div");i.style.cssText="position:relative;overflow:hidden";var r=this._svgDom=this._oldVNode.elm=jx("svg");Ww(null,this._oldVNode),i.appendChild(r),t.appendChild(i)}this.resize(n.width,n.height)}return t.prototype.getType=function(){return this.type},t.prototype.getViewportRoot=function(){return this._viewport},t.prototype.getViewportRootOffset=function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},t.prototype.getSvgDom=function(){return this._svgDom},t.prototype.refresh=function(){if(this.root){var t=this.renderToVNode({willUpdate:!0});t.attrs.style="position:absolute;left:0;top:0;user-select:none",function(t,e){if(Bw(t,e))Gw(t,e);else{var n=t.elm,i=Pw(n);Vw(e),null!==i&&(Dw(i,e.elm,Lw(n)),Hw(i,[t],0,0))}}(this._oldVNode,t),this._oldVNode=t}},t.prototype.renderOneToVNode=function(t){return Sw(t,$x(this._id))},t.prototype.renderToVNode=function(t){t=t||{};var e=this.storage.getDisplayList(!0),n=this._width,i=this._height,r=$x(this._id);r.animation=t.animation,r.willUpdate=t.willUpdate,r.compress=t.compress,r.emphasis=t.emphasis;var o=[],a=this._bgVNode=function(t,e,n,i){var r;if(n&&"none"!==n)if(r=qx("rect","bg",{width:t,height:e,x:"0",y:"0"}),pi(n))Mw({fill:n},r.attrs,"fill",i);else if(ui(n))Cw({style:{fill:n},dirty:xt,getBoundingRect:function(){return{width:t,height:e}}},r.attrs,"fill",i);else{var o=ni(n),a=o.color,s=o.opacity;r.attrs.fill=a,s<1&&(r.attrs["fill-opacity"]=s)}return r}(n,i,this._backgroundColor,r);a&&o.push(a);var s=t.compress?null:this._mainVNode=qx("g","main",{},[]);this._paintList(e,r,s?s.children:o),s&&o.push(s);var l=E(F(r.defs),(function(t){return r.defs[t]}));if(l.length&&o.push(qx("defs","defs",{},l)),t.animation){var u=function(t,e,n){var i=(n=n||{}).newline?"\n":"",r=" {"+i,o=i+"}",a=E(F(t),(function(e){return e+r+E(F(t[e]),(function(n){return n+":"+t[e][n]+";"})).join(i)+o})).join(i),s=E(F(e),(function(t){return"@keyframes "+t+r+E(F(e[t]),(function(n){return n+r+E(F(e[t][n]),(function(i){var r=e[t][n][i];return"d"===i&&(r='path("'+r+'")'),i+":"+r+";"})).join(i)+o})).join(i)+o})).join(i);return a||s?[""].join(i):""}(r.cssNodes,r.cssAnims,{newline:!0});if(u){var h=qx("style","stl",{},[],u);o.push(h)}}return Qx(n,i,o,t.useViewBox)},t.prototype.renderToString=function(t){return t=t||{},Kx(this.renderToVNode({animation:it(t.cssAnimation,!0),emphasis:it(t.cssEmphasis,!0),willUpdate:!1,compress:!0,useViewBox:it(t.useViewBox,!0)}),{newline:!0})},t.prototype.setBackgroundColor=function(t){this._backgroundColor=t},t.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},t.prototype._paintList=function(t,e,n){for(var i,r,o=t.length,a=[],s=0,l=0,u=0;u=0&&(!c||!r||c[f]!==r[f]);f--);for(var g=d-1;g>f;g--)i=a[--s-1];for(var v=f+1;v=a)}}for(var h=this.__startIndex;h15)break}n.prevElClipPaths&&u.restore()};if(p)if(0===p.length)s=l.__endIndex;else for(var x=d.dpr,w=0;w0&&t>i[0]){for(s=0;st);s++);a=n[i[s]]}if(i.splice(s+1,0,t),n[t]=e,!e.virtual)if(a){var l=a.dom;l.nextSibling?o.insertBefore(e.dom,l.nextSibling):o.appendChild(e.dom)}else o.firstChild?o.insertBefore(e.dom,o.firstChild):o.appendChild(e.dom);e.painter||(e.painter=this)}},t.prototype.eachLayer=function(t,e){for(var n=this._zlevelList,i=0;i0?$w:0),this._needsManuallyCompositing),u.__builtin__||C("ZLevel "+l+" has been used by unkown layer "+u.id),u!==o&&(u.__used=!0,u.__startIndex!==r&&(u.__dirty=!0),u.__startIndex=r,u.incremental?u.__drawIndex=-1:u.__drawIndex=r,e(r),o=u),1&s.__dirty&&!s.__inHover&&(u.__dirty=!0,u.incremental&&u.__drawIndex<0&&(u.__drawIndex=r))}e(r),this.eachBuiltinLayer((function(t,e){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)}))},t.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},t.prototype._clearLayer=function(t){t.clear()},t.prototype.setBackgroundColor=function(t){this._backgroundColor=t,z(this._layers,(function(t){t.setUnpainted()}))},t.prototype.configLayer=function(t,e){if(e){var n=this._layerConfig;n[t]?I(n[t],e,!0):n[t]=e;for(var i=0;i-1&&(s.style.stroke=s.style.fill,s.style.fill="#fff",s.style.lineWidth=2),e},e.type="series.line",e.dependencies=["grid","polar"],e.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},e}(Wf);function tb(t,e){var n=t.mapDimensionsAll("defaultedLabel"),i=n.length;if(1===i){var r=Yd(t,e,n[0]);return null!=r?r+"":null}if(i){for(var o=[],a=0;a=0&&i.push(e[o])}return i.join(" ")}var nb=function(t){function e(e,n,i,r){var o=t.call(this)||this;return o.updateData(e,n,i,r),o}return n(e,t),e.prototype._createSymbol=function(t,e,n,i,r){this.removeAll();var o=uv(t,-1,-1,2,2,null,r);o.attr({z2:100,culling:!0,scaleX:i[0]/2,scaleY:i[1]/2}),o.drift=ib,this._symbolType=t,this.add(o)},e.prototype.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(null,t)},e.prototype.getSymbolType=function(){return this._symbolType},e.prototype.getSymbolPath=function(){return this.childAt(0)},e.prototype.highlight=function(){yl(this.childAt(0))},e.prototype.downplay=function(){ml(this.childAt(0))},e.prototype.setZ=function(t,e){var n=this.childAt(0);n.zlevel=t,n.z=e},e.prototype.setDraggable=function(t,e){var n=this.childAt(0);n.draggable=t,n.cursor=!e&&t?"move":n.cursor},e.prototype.updateData=function(t,n,i,r){this.silent=!1;var o=t.getItemVisual(n,"symbol")||"circle",a=t.hostModel,s=e.getSymbolSize(t,n),l=o!==this._symbolType,u=r&&r.disableAnimation;if(l){var h=t.getItemVisual(n,"symbolKeepAspect");this._createSymbol(o,t,n,s,h)}else{(p=this.childAt(0)).silent=!1;var c={scaleX:s[0]/2,scaleY:s[1]/2};u?p.attr(c):$u(p,c,a,n),ih(p)}if(this._updateCommon(t,n,s,i,r),l){var p=this.childAt(0);if(!u){c={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:p.style.opacity}};p.scaleX=p.scaleY=0,p.style.opacity=0,Qu(p,c,a,n)}}u&&this.childAt(0).stopAnimation("leave")},e.prototype._updateCommon=function(t,e,n,i,r){var o,a,s,l,u,h,c,p,d,f=this.childAt(0),g=t.hostModel;if(i&&(o=i.emphasisItemStyle,a=i.blurItemStyle,s=i.selectItemStyle,l=i.focus,u=i.blurScope,c=i.labelStatesModels,p=i.hoverScale,d=i.cursorStyle,h=i.emphasisDisabled),!i||t.hasItemOption){var v=i&&i.itemModel?i.itemModel:t.getItemModel(e),y=v.getModel("emphasis");o=y.getModel("itemStyle").getItemStyle(),s=v.getModel(["select","itemStyle"]).getItemStyle(),a=v.getModel(["blur","itemStyle"]).getItemStyle(),l=y.get("focus"),u=y.get("blurScope"),h=y.get("disabled"),c=zh(v),p=y.getShallow("scale"),d=v.getShallow("cursor")}var m=t.getItemVisual(e,"symbolRotate");f.attr("rotation",(m||0)*Math.PI/180||0);var _=cv(t.getItemVisual(e,"symbolOffset"),n);_&&(f.x=_[0],f.y=_[1]),d&&f.attr("cursor",d);var x=t.getItemVisual(e,"style"),w=x.fill;if(f instanceof ws){var b=f.style;f.useStyle(k({image:b.image,x:b.x,y:b.y,width:b.width,height:b.height},x))}else f.__isEmptyBrush?f.useStyle(k({},x)):f.useStyle(x),f.style.decal=null,f.setColor(w,r&&r.symbolInnerColor),f.style.strokeNoScale=!0;var S=t.getItemVisual(e,"liftZ"),M=this._z2;null!=S?null==M&&(this._z2=f.z2,f.z2+=S):null!=M&&(f.z2=M,this._z2=null);var C=r&&r.useNameLabel;Nh(f,c,{labelFetcher:g,labelDataIndex:e,defaultText:function(e){return C?t.getName(e):tb(t,e)},inheritColor:w,defaultOpacity:x.opacity}),this._sizeX=n[0]/2,this._sizeY=n[1]/2;var T=f.ensureState("emphasis");T.style=o,f.ensureState("select").style=s,f.ensureState("blur").style=a;var I=null==p||!0===p?Math.max(1.1,3/this._sizeY):isFinite(p)&&p>0?+p:1;T.scaleX=this._sizeX*I,T.scaleY=this._sizeY*I,this.setSymbolScale(1),Pl(this,l,u,h)},e.prototype.setSymbolScale=function(t){this.scaleX=this.scaleY=t},e.prototype.fadeOut=function(t,e,n){var i=this.childAt(0),r=Us(this).dataIndex,o=n&&n.animation;if(this.silent=i.silent=!0,n&&n.fadeLabel){var a=i.getTextContent();a&&th(a,{style:{opacity:0}},e,{dataIndex:r,removeOpt:o,cb:function(){i.removeTextContent()}})}else i.removeTextContent();th(i,{style:{opacity:0},scaleX:0,scaleY:0},e,{dataIndex:r,cb:t,removeOpt:o})},e.getSymbolSize=function(t,e){return hv(t.getItemVisual(e,"symbolSize"))},e}(Pr);function ib(t,e){this.parent.drift(t,e)}function rb(t,e,n,i){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(i.isIgnore&&i.isIgnore(n))&&!(i.clipShape&&!i.clipShape.contain(e[0],e[1]))&&"none"!==t.getItemVisual(n,"symbol")}function ob(t){return null==t||j(t)||(t={isIgnore:t}),t||{}}function ab(t){var e=t.hostModel,n=e.getModel("emphasis");return{emphasisItemStyle:n.getModel("itemStyle").getItemStyle(),blurItemStyle:e.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:e.getModel(["select","itemStyle"]).getItemStyle(),focus:n.get("focus"),blurScope:n.get("blurScope"),emphasisDisabled:n.get("disabled"),hoverScale:n.get("scale"),labelStatesModels:zh(e),cursorStyle:e.get("cursor")}}var sb=function(){function t(t){this.group=new Pr,this._SymbolCtor=t||nb}return t.prototype.updateData=function(t,e){this._progressiveEls=null,e=ob(e);var n=this.group,i=t.hostModel,r=this._data,o=this._SymbolCtor,a=e.disableAnimation,s=ab(t),l={disableAnimation:a},u=e.getSymbolPoint||function(e){return t.getItemLayout(e)};r||n.removeAll(),t.diff(r).add((function(i){var r=u(i);if(rb(t,r,i,e)){var a=new o(t,i,s,l);a.setPosition(r),t.setItemGraphicEl(i,a),n.add(a)}})).update((function(h,c){var p=r.getItemGraphicEl(c),d=u(h);if(rb(t,d,h,e)){var f=t.getItemVisual(h,"symbol")||"circle",g=p&&p.getSymbolType&&p.getSymbolType();if(!p||g&&g!==f)n.remove(p),(p=new o(t,h,s,l)).setPosition(d);else{p.updateData(t,h,s,l);var v={x:d[0],y:d[1]};a?p.attr(v):$u(p,v,i)}n.add(p),t.setItemGraphicEl(h,p)}else n.remove(p)})).remove((function(t){var e=r.getItemGraphicEl(t);e&&e.fadeOut((function(){n.remove(e)}),i)})).execute(),this._getSymbolPoint=u,this._data=t},t.prototype.updateLayout=function(){var t=this,e=this._data;e&&e.eachItemGraphicEl((function(e,n){var i=t._getSymbolPoint(n);e.setPosition(i),e.markRedraw()}))},t.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=ab(t),this._data=null,this.group.removeAll()},t.prototype.incrementalUpdate=function(t,e,n){function i(t){t.isGroup||(t.incremental=!0,t.ensureState("emphasis").hoverLayer=!0)}this._progressiveEls=[],n=ob(n);for(var r=t.start;r0?n=i[0]:i[1]<0&&(n=i[1]);return n}(r,n),a=i.dim,s=r.dim,l=e.mapDimension(s),u=e.mapDimension(a),h="x"===s||"radius"===s?1:0,c=E(t.dimensions,(function(t){return e.mapDimension(t)})),p=!1,d=e.getCalculationInfo("stackResultDimension");return Nm(e,c[0])&&(p=!0,c[0]=d),Nm(e,c[1])&&(p=!0,c[1]=d),{dataDimsForPoint:c,valueStart:o,valueAxisDim:s,baseAxisDim:a,stacked:!!p,valueDim:l,baseDim:u,baseDataOffset:h,stackedOverDimension:e.getCalculationInfo("stackedOverDimension")}}function ub(t,e,n,i){var r=NaN;t.stacked&&(r=n.get(n.getCalculationInfo("stackedOverDimension"),i)),isNaN(r)&&(r=t.valueStart);var o=t.baseDataOffset,a=[];return a[o]=n.get(t.baseDim,i),a[1-o]=r,e.dataToPoint(a)}var hb=Math.min,cb=Math.max;function pb(t,e){return isNaN(t)||isNaN(e)}function db(t,e,n,i,r,o,a,s,l){for(var u,h,c,p,d,f,g=n,v=0;v=r||g<0)break;if(pb(y,m)){if(l){g+=o;continue}break}if(g===n)t[o>0?"moveTo":"lineTo"](y,m),c=y,p=m;else{var _=y-u,x=m-h;if(_*_+x*x<.5){g+=o;continue}if(a>0){for(var w=g+o,b=e[2*w],S=e[2*w+1];b===y&&S===m&&v=i||pb(b,S))d=y,f=m;else{T=b-u,I=S-h;var A=y-u,P=b-y,L=m-h,O=S-m,R=void 0,N=void 0;if("x"===s){var z=T>0?1:-1;d=y-z*(R=Math.abs(A))*a,f=m,D=y+z*(N=Math.abs(P))*a,k=m}else if("y"===s){var E=I>0?1:-1;d=y,f=m-E*(R=Math.abs(L))*a,D=y,k=m+E*(N=Math.abs(O))*a}else R=Math.sqrt(A*A+L*L),d=y-T*a*(1-(C=(N=Math.sqrt(P*P+O*O))/(N+R))),f=m-I*a*(1-C),k=m+I*a*C,D=hb(D=y+T*a*C,cb(b,y)),k=hb(k,cb(S,m)),D=cb(D,hb(b,y)),f=m-(I=(k=cb(k,hb(S,m)))-m)*R/N,d=hb(d=y-(T=D-y)*R/N,cb(u,y)),f=hb(f,cb(h,m)),D=y+(T=y-(d=cb(d,hb(u,y))))*N/R,k=m+(I=m-(f=cb(f,hb(h,m))))*N/R}t.bezierCurveTo(c,p,d,f,y,m),c=D,p=k}else t.lineTo(y,m)}u=y,h=m,g+=o}return v}var fb=function(){this.smooth=0,this.smoothConstraint=!0},gb=function(t){function e(e){var n=t.call(this,e)||this;return n.type="ec-polyline",n}return n(e,t),e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new fb},e.prototype.buildPath=function(t,e){var n=e.points,i=0,r=n.length/2;if(e.connectNulls){for(;r>0&&pb(n[2*r-2],n[2*r-1]);r--);for(;i=0){var v=a?(h-i)*g+i:(u-n)*g+n;return a?[t,v]:[v,t]}n=u,i=h;break;case o.C:u=r[l++],h=r[l++],c=r[l++],p=r[l++],d=r[l++],f=r[l++];var y=a?gn(n,u,c,d,t,s):gn(i,h,p,f,t,s);if(y>0)for(var m=0;m=0){v=a?dn(i,h,p,f,_):dn(n,u,c,d,_);return a?[t,v]:[v,t]}}n=d,i=f}}},e}(vs),vb=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e}(fb),yb=function(t){function e(e){var n=t.call(this,e)||this;return n.type="ec-polygon",n}return n(e,t),e.prototype.getDefaultShape=function(){return new vb},e.prototype.buildPath=function(t,e){var n=e.points,i=e.stackedOnPoints,r=0,o=n.length/2,a=e.smoothMonotone;if(e.connectNulls){for(;o>0&&pb(n[2*o-2],n[2*o-1]);o--);for(;r=0;a--){var s=t.getDimensionInfo(i[a].dimension);if("x"===(r=s&&s.coordDim)||"y"===r){o=i[a];break}}if(o){var l=e.getAxis(r),u=E(o.stops,(function(t){return{coord:l.toGlobalCoord(l.dataToCoord(t.value)),color:t.color}})),h=u.length,c=o.outerColors.slice();h&&u[0].coord>u[h-1].coord&&(u.reverse(),c.reverse());var p=function(t,e){var n,i,r=[],o=t.length;function a(t,e,n){var i=t.coord;return{coord:n,color:Xn((n-i)/(e.coord-i),[t.color,e.color])}}for(var s=0;se){i?r.push(a(i,l,e)):n&&r.push(a(n,l,0),a(n,l,e));break}n&&(r.push(a(n,l,0)),n=null),r.push(l),i=l}}return r}(u,"x"===r?n.getWidth():n.getHeight()),d=p.length;if(!d&&h)return u[0].coord<0?c[1]?c[1]:u[h-1].color:c[0]?c[0]:u[0].color;var f=p[0].coord-10,g=p[d-1].coord+10,v=g-f;if(v<.001)return"transparent";z(p,(function(t){t.offset=(t.coord-f)/v})),p.push({offset:d?p[d-1].offset:.5,color:c[1]||"transparent"}),p.unshift({offset:d?p[0].offset:.5,color:c[0]||"transparent"});var y=new Vu(0,0,0,0,p,!0);return y[r]=f,y[r+"2"]=g,y}}}function Ib(t,e,n){var i=t.get("showAllSymbol"),r="auto"===i;if(!i||r){var o=n.getAxesByScale("ordinal")[0];if(o&&(!r||!function(t,e){var n=t.getExtent(),i=Math.abs(n[1]-n[0])/t.scale.count();isNaN(i)&&(i=0);for(var r=e.count(),o=Math.max(1,Math.round(r/5)),a=0;ai)return!1;return!0}(o,e))){var a=e.mapDimension(o.dim),s={};return z(o.getViewLabels(),(function(t){var e=o.scale.getRawOrdinalNumber(t.tickValue);s[e]=1})),function(t){return!s.hasOwnProperty(e.get(a,t))}}}}function Db(t,e){return[t[2*e],t[2*e+1]]}function kb(t){if(t.get(["endLabel","show"]))return!0;for(var e=0;e0&&"bolder"===t.get(["emphasis","lineStyle","width"]))&&(d.getState("emphasis").style.lineWidth=+d.style.lineWidth+1);Us(d).seriesIndex=t.seriesIndex,Pl(d,P,L,O);var R=Mb(t.get("smooth")),N=t.get("smoothMonotone");if(d.setShape({smooth:R,smoothMonotone:N,connectNulls:b}),f){var z=a.getCalculationInfo("stackedOnSeries"),E=0;f.useStyle(A(l.getAreaStyle(),{fill:I,opacity:.7,lineJoin:"bevel",decal:a.getVisual("style").decal})),z&&(E=Mb(z.get("smooth"))),f.setShape({smooth:R,stackedOnSmooth:E,smoothMonotone:N,connectNulls:b}),Rl(f,t,"areaStyle"),Us(f).seriesIndex=t.seriesIndex,Pl(f,P,L,O)}var B=function(t){i._changePolyState(t)};a.eachItemGraphicEl((function(t){t&&(t.onHoverStateChange=B)})),this._polyline.onHoverStateChange=B,this._data=a,this._coordSys=r,this._stackedOnPoints=x,this._points=u,this._step=T,this._valueOrigin=m,t.get("triggerLineEvent")&&(this.packEventData(t,d),f&&this.packEventData(t,f))},e.prototype.packEventData=function(t,e){Us(e).eventData={componentType:"series",componentSubType:"line",componentIndex:t.componentIndex,seriesIndex:t.seriesIndex,seriesName:t.name,seriesType:"line"}},e.prototype.highlight=function(t,e,n,i){var r=t.getData(),o=To(r,i);if(this._changePolyState("emphasis"),!(o instanceof Array)&&null!=o&&o>=0){var a=r.getLayout("points"),s=r.getItemGraphicEl(o);if(!s){var l=a[2*o],u=a[2*o+1];if(isNaN(l)||isNaN(u))return;if(this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(l,u))return;var h=t.get("zlevel")||0,c=t.get("z")||0;(s=new nb(r,o)).x=l,s.y=u,s.setZ(h,c);var p=s.getSymbolPath().getTextContent();p&&(p.zlevel=h,p.z=c,p.z2=this._polyline.z2+1),s.__temp=!0,r.setItemGraphicEl(o,s),s.stopSymbolAnimation(!0),this.group.add(s)}s.highlight()}else tg.prototype.highlight.call(this,t,e,n,i)},e.prototype.downplay=function(t,e,n,i){var r=t.getData(),o=To(r,i);if(this._changePolyState("normal"),null!=o&&o>=0){var a=r.getItemGraphicEl(o);a&&(a.__temp?(r.setItemGraphicEl(o,null),this.group.remove(a)):a.downplay())}else tg.prototype.downplay.call(this,t,e,n,i)},e.prototype._changePolyState=function(t){var e=this._polygon;pl(this._polyline,t),e&&pl(e,t)},e.prototype._newPolyline=function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new gb({shape:{points:t},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(e),this._polyline=e,e},e.prototype._newPolygon=function(t,e){var n=this._polygon;return n&&this._lineGroup.remove(n),n=new yb({shape:{points:t,stackedOnPoints:e},segmentIgnoreThreshold:2}),this._lineGroup.add(n),this._polygon=n,n},e.prototype._initSymbolLabelAnimation=function(t,e,n){var i,r,o=e.getBaseAxis(),a=o.inverse;"cartesian2d"===e.type?(i=o.isHorizontal(),r=!1):"polar"===e.type&&(i="angle"===o.dim,r=!0);var s=t.hostModel,l=s.get("animationDuration");U(l)&&(l=l(null));var u=s.get("animationDelay")||0,h=U(u)?u(null):u;t.eachItemGraphicEl((function(t,o){var s=t;if(s){var c=[t.x,t.y],p=void 0,d=void 0,f=void 0;if(n)if(r){var g=n,v=e.pointToCoord(c);i?(p=g.startAngle,d=g.endAngle,f=-v[1]/180*Math.PI):(p=g.r0,d=g.r,f=v[0])}else{var y=n;i?(p=y.x,d=y.x+y.width,f=t.x):(p=y.y+y.height,d=y.y,f=t.y)}var m=d===p?0:(f-p)/(d-p);a&&(m=1-m);var _=U(u)?u(o):l*m+h,x=s.getSymbolPath(),w=x.getTextContent();s.attr({scaleX:0,scaleY:0}),s.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:_}),w&&w.animateFrom({style:{opacity:0}},{duration:300,delay:_}),x.disableLabelAnimation=!0}}))},e.prototype._initOrUpdateEndLabel=function(t,e,n){var i=t.getModel("endLabel");if(kb(t)){var r=t.getData(),o=this._polyline,a=r.getLayout("points");if(!a)return o.removeTextContent(),void(this._endLabel=null);var s=this._endLabel;s||((s=this._endLabel=new Ps({z2:200})).ignoreClip=!0,o.setTextContent(this._endLabel),o.disableLabelAnimation=!0);var l=function(t){for(var e,n,i=t.length/2;i>0&&(e=t[2*i-2],n=t[2*i-1],isNaN(e)||isNaN(n));i--);return i-1}(a);l>=0&&(Nh(o,zh(t,"endLabel"),{inheritColor:n,labelFetcher:t,labelDataIndex:l,defaultText:function(t,e,n){return null!=n?eb(r,n):tb(r,t)},enableTextSetter:!0},function(t,e){var n=e.getBaseAxis(),i=n.isHorizontal(),r=n.inverse,o=i?r?"right":"left":"center",a=i?"middle":r?"top":"bottom";return{normal:{align:t.get("align")||o,verticalAlign:t.get("verticalAlign")||a}}}(i,e)),o.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},e.prototype._endLabelOnDuring=function(t,e,n,i,r,o,a){var s=this._endLabel,l=this._polyline;if(s){t<1&&null==i.originalX&&(i.originalX=s.x,i.originalY=s.y);var u=n.getLayout("points"),h=n.hostModel,c=h.get("connectNulls"),p=o.get("precision"),d=o.get("distance")||0,f=a.getBaseAxis(),g=f.isHorizontal(),v=f.inverse,y=e.shape,m=v?g?y.x:y.y+y.height:g?y.x+y.width:y.y,_=(g?d:0)*(v?-1:1),x=(g?0:-d)*(v?-1:1),w=g?"x":"y",b=function(t,e,n){for(var i,r,o=t.length/2,a="x"===n?0:1,s=0,l=-1,u=0;u=e||i>=e&&r<=e){l=u;break}s=u,i=r}else i=r;return{range:[s,l],t:(e-i)/(r-i)}}(u,m,w),S=b.range,M=S[1]-S[0],C=void 0;if(M>=1){if(M>1&&!c){var T=Db(u,S[0]);s.attr({x:T[0]+_,y:T[1]+x}),r&&(C=h.getRawValue(S[0]))}else{(T=l.getPointOn(m,w))&&s.attr({x:T[0]+_,y:T[1]+x});var I=h.getRawValue(S[0]),D=h.getRawValue(S[1]);r&&(C=function(t,e,n,i,r){var o=null==e||"auto"===e;if(null==i)return i;if(X(i))return Ur(f=co(n||0,i,r),o?Math.max(Yr(n||0),Yr(i)):e);if(Z(i))return r<1?n:i;for(var a=[],s=n,l=i,u=Math.max(s?s.length:0,l.length),h=0;h0?S[0]:0;T=Db(u,k);r&&(C=h.getRawValue(k)),s.attr({x:T[0]+_,y:T[1]+x})}if(r){var A=Uh(s);"function"==typeof A.setLabelText&&A.setLabelText(C)}}},e.prototype._doUpdateAnimation=function(t,e,n,i,r,o,a){var s=this._polyline,l=this._polygon,u=t.hostModel,h=function(t,e,n,i,r,o,a,s){for(var l=function(t,e){var n=[];return e.diff(t).add((function(t){n.push({cmd:"+",idx:t})})).update((function(t,e){n.push({cmd:"=",idx:e,idx1:t})})).remove((function(t){n.push({cmd:"-",idx:t})})).execute(),n}(t,e),u=[],h=[],c=[],p=[],d=[],f=[],g=[],v=lb(r,e,a),y=t.getLayout("points")||[],m=e.getLayout("points")||[],_=0;_3e3||l&&Sb(p,f)>3e3)return s.stopAnimation(),s.setShape({points:d}),void(l&&(l.stopAnimation(),l.setShape({points:d,stackedOnPoints:f})));s.shape.__points=h.current,s.shape.points=c;var g={shape:{points:d}};h.current!==c&&(g.shape.__points=h.next),s.stopAnimation(),$u(s,g,u),l&&(l.setShape({points:c,stackedOnPoints:p}),l.stopAnimation(),$u(l,{shape:{stackedOnPoints:f}},u),s.shape.points!==l.shape.points&&(l.shape.points=s.shape.points));for(var v=[],y=h.status,m=0;me&&(e=t[n]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,n=0;ne&&(e=o,n=r)}return isFinite(n)?n:NaN},nearest:function(t){return t[0]}},Rb=function(t){return Math.round(t.length/2)};function Nb(t){return{seriesType:t,reset:function(t,e,n){var i=t.getData(),r=t.get("sampling"),o=t.coordinateSystem,a=i.count();if(a>10&&"cartesian2d"===o.type&&r){var s=o.getBaseAxis(),l=o.getOtherAxis(s),u=s.getExtent(),h=n.getDevicePixelRatio(),c=Math.abs(u[1]-u[0])*(h||1),p=Math.round(a/c);if(isFinite(p)&&p>1){"lttb"===r&&t.setData(i.lttbDownSample(i.mapDimension(l.dim),1/p));var d=void 0;Z(r)?d=Ob[r]:U(r)&&(d=r),d&&t.setData(i.downSample(i.mapDimension(l.dim),1/p,d,Rb))}}}}}var zb=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.getInitialData=function(t,e){return Em(null,this,{useEncodeDefaulter:!0})},e.prototype.getMarkerPosition=function(t,e,n){var i=this.coordinateSystem;if(i&&i.clampData){var r=i.clampData(t),o=i.dataToPoint(r);if(n)z(i.getAxes(),(function(t,n){if("category"===t.type&&null!=e){var i=t.getTicksCoords(),a=t.getTickModel().get("alignWithLabel"),s=r[n],l="x1"===e[n]||"y1"===e[n];if(l&&!a&&(s+=1),i.length<2)return;if(2===i.length)return void(o[n]=t.toGlobalCoord(t.getExtent()[l?1:0]));for(var u=void 0,h=void 0,c=1,p=0;ps){h=(d+u)/2;break}1===p&&(c=f-i[0].tickValue)}null==h&&(u?u&&(h=i[i.length-1].coord):h=i[0].coord),o[n]=t.toGlobalCoord(h)}}));else{var a=this.getData(),s=a.getLayout("offset"),l=a.getLayout("size"),u=i.getBaseAxis().isHorizontal()?0:1;o[u]+=s+l/2}return o}return[NaN,NaN]},e.type="series.__base_bar__",e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod"},e}(Wf);Wf.registerClass(zb);var Eb=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.getInitialData=function(){return Em(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})},e.prototype.getProgressive=function(){return!!this.get("large")&&this.get("progressive")},e.prototype.getProgressiveThreshold=function(){var t=this.get("progressiveThreshold"),e=this.get("largeThreshold");return e>t&&(t=e),t},e.prototype.brushSelector=function(t,e,n){return n.rect(e.getItemLayout(t))},e.type="series.bar",e.dependencies=["grid","polar"],e.defaultOption=ac(zb.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:"#212121"}},realtimeSort:!1}),e}(zb),Bb=function(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=2*Math.PI,this.clockwise=!0},Vb=function(t){function e(e){var n=t.call(this,e)||this;return n.type="sausage",n}return n(e,t),e.prototype.getDefaultShape=function(){return new Bb},e.prototype.buildPath=function(t,e){var n=e.cx,i=e.cy,r=Math.max(e.r0||0,0),o=Math.max(e.r,0),a=.5*(o-r),s=r+a,l=e.startAngle,u=e.endAngle,h=e.clockwise,c=2*Math.PI,p=h?u-lo)return!0;o=u}return!1},e.prototype._isOrderDifferentInView=function(t,e){for(var n=e.scale,i=n.getExtent(),r=Math.max(0,i[0]),o=Math.min(i[1],n.getOrdinalMeta().categories.length-1);r<=o;++r)if(t.ordinalNumbers[r]!==n.getRawOrdinalNumber(r))return!0},e.prototype._updateSortWithinSameData=function(t,e,n,i){if(this._isOrderChangedWithinSameData(t,e,n)){var r=this._dataSort(t,n,e);this._isOrderDifferentInView(r,n)&&(this._removeOnRenderedListener(i),i.dispatchAction({type:"changeAxisOrder",componentType:n.dim+"Axis",axisId:n.index,sortInfo:r}))}},e.prototype._dispatchInitSort=function(t,e,n){var i=e.baseAxis,r=this._dataSort(t,i,(function(n){return t.get(t.mapDimension(e.otherAxis.dim),n)}));n.dispatchAction({type:"changeAxisOrder",componentType:i.dim+"Axis",isInitSort:!0,axisId:i.index,sortInfo:r})},e.prototype.remove=function(t,e){this._clear(this._model),this._removeOnRenderedListener(e)},e.prototype.dispose=function(t,e){this._removeOnRenderedListener(e)},e.prototype._removeOnRenderedListener=function(t){this._onRendered&&(t.getZr().off("rendered",this._onRendered),this._onRendered=null)},e.prototype._clear=function(t){var e=this.group,n=this._data;t&&t.isAnimationEnabled()&&n&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],n.eachItemGraphicEl((function(e){nh(e,t,Us(e).dataIndex)}))):e.removeAll(),this._data=null,this._isFirstFrame=!0},e.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},e.type="bar",e}(tg),Yb={cartesian2d:function(t,e){var n=e.width<0?-1:1,i=e.height<0?-1:1;n<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height);var r=t.x+t.width,o=t.y+t.height,a=Gb(e.x,t.x),s=Ub(e.x+e.width,r),l=Gb(e.y,t.y),u=Ub(e.y+e.height,o),h=sr?s:a,e.y=c&&l>o?u:l,e.width=h?0:s-a,e.height=c?0:u-l,n<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height),h||c},polar:function(t,e){var n=e.r0<=e.r?1:-1;if(n<0){var i=e.r;e.r=e.r0,e.r0=i}var r=Ub(e.r,t.r),o=Gb(e.r0,t.r0);e.r=r,e.r0=o;var a=r-o<0;if(n<0){i=e.r;e.r=e.r0,e.r0=i}return a}},Xb={cartesian2d:function(t,e,n,i,r,o,a,s,l){var u=new Ds({shape:k({},i),z2:1});(u.__dataIndex=n,u.name="item",o)&&(u.shape[r?"height":"width"]=0);return u},polar:function(t,e,n,i,r,o,a,s,l){var u=!r&&l?Vb:xu,h=new u({shape:i,z2:1});h.name="item";var c,p,d=tS(r);if(h.calculateTextPosition=(c=d,p=({isRoundCap:u===Vb}||{}).isRoundCap,function(t,e,n){var i=e.position;if(!i||i instanceof Array)return xr(t,e,n);var r=c(i),o=null!=e.distance?e.distance:5,a=this.shape,s=a.cx,l=a.cy,u=a.r,h=a.r0,d=(u+h)/2,f=a.startAngle,g=a.endAngle,v=(f+g)/2,y=p?Math.abs(u-h)/2:0,m=Math.cos,_=Math.sin,x=s+u*m(f),w=l+u*_(f),b="left",S="top";switch(r){case"startArc":x=s+(h-o)*m(v),w=l+(h-o)*_(v),b="center",S="top";break;case"insideStartArc":x=s+(h+o)*m(v),w=l+(h+o)*_(v),b="center",S="bottom";break;case"startAngle":x=s+d*m(f)+Fb(f,o+y,!1),w=l+d*_(f)+Hb(f,o+y,!1),b="right",S="middle";break;case"insideStartAngle":x=s+d*m(f)+Fb(f,-o+y,!1),w=l+d*_(f)+Hb(f,-o+y,!1),b="left",S="middle";break;case"middle":x=s+d*m(v),w=l+d*_(v),b="center",S="middle";break;case"endArc":x=s+(u+o)*m(v),w=l+(u+o)*_(v),b="center",S="bottom";break;case"insideEndArc":x=s+(u-o)*m(v),w=l+(u-o)*_(v),b="center",S="top";break;case"endAngle":x=s+d*m(g)+Fb(g,o+y,!0),w=l+d*_(g)+Hb(g,o+y,!0),b="left",S="middle";break;case"insideEndAngle":x=s+d*m(g)+Fb(g,-o+y,!0),w=l+d*_(g)+Hb(g,-o+y,!0),b="right",S="middle";break;default:return xr(t,e,n)}return(t=t||{}).x=x,t.y=w,t.align=b,t.verticalAlign=S,t}),o){var f=r?"r":"endAngle",g={};h.shape[f]=r?i.r0:i.startAngle,g[f]=i[f],(s?$u:Qu)(h,{shape:g},o)}return h}};function jb(t,e,n,i,r,o,a,s){var l,u;o?(u={x:i.x,width:i.width},l={y:i.y,height:i.height}):(u={y:i.y,height:i.height},l={x:i.x,width:i.width}),s||(a?$u:Qu)(n,{shape:l},e,r,null),(a?$u:Qu)(n,{shape:u},e?t.baseAxis.model:null,r)}function qb(t,e){for(var n=0;n0?1:-1,a=i.height>0?1:-1;return{x:i.x+o*r/2,y:i.y+a*r/2,width:i.width-o*r,height:i.height-a*r}},polar:function(t,e,n){var i=t.getItemLayout(e);return{cx:i.cx,cy:i.cy,r0:i.r0,r:i.r,startAngle:i.startAngle,endAngle:i.endAngle,clockwise:i.clockwise}}};function tS(t){return function(t){var e=t?"Arc":"Angle";return function(t){switch(t){case"start":case"insideStart":case"end":case"insideEnd":return t+e;default:return t}}}(t)}function eS(t,e,n,i,r,o,a,s){var l=e.getItemVisual(n,"style");if(s){if(!o.get("roundCap")){var u=t.shape;k(u,Wb(i.getModel("itemStyle"),u,!0)),t.setShape(u)}}else{var h=i.get(["itemStyle","borderRadius"])||0;t.setShape("r",h)}t.useStyle(l);var c=i.getShallow("cursor");c&&t.attr("cursor",c);var p=s?a?r.r>=r.r0?"endArc":"startArc":r.endAngle>=r.startAngle?"endAngle":"startAngle":a?r.height>=0?"bottom":"top":r.width>=0?"right":"left",d=zh(i);Nh(t,d,{labelFetcher:o,labelDataIndex:n,defaultText:tb(o.getData(),n),inheritColor:l.fill,defaultOpacity:l.opacity,defaultOutsidePosition:p});var f=t.getTextContent();if(s&&f){var g=i.get(["label","position"]);t.textConfig.inside="middle"===g||null,function(t,e,n,i){if(X(i))t.setTextConfig({rotation:i});else if(G(e))t.setTextConfig({rotation:0});else{var r,o=t.shape,a=o.clockwise?o.startAngle:o.endAngle,s=o.clockwise?o.endAngle:o.startAngle,l=(a+s)/2,u=n(e);switch(u){case"startArc":case"insideStartArc":case"middle":case"insideEndArc":case"endArc":r=l;break;case"startAngle":case"insideStartAngle":r=a;break;case"endAngle":case"insideEndAngle":r=s;break;default:return void t.setTextConfig({rotation:0})}var h=1.5*Math.PI-r;"middle"===u&&h>Math.PI/2&&h<1.5*Math.PI&&(h-=Math.PI),t.setTextConfig({rotation:h})}}(t,"outside"===g?p:g,tS(a),i.get(["label","rotate"]))}!function(t,e,n,i){if(t){var r=Uh(t);r.prevValue=r.value,r.value=n;var o=e.normal;r.valueAnimation=o.get("valueAnimation"),r.valueAnimation&&(r.precision=o.get("precision"),r.defaultInterpolatedText=i,r.statesModels=e)}}(f,d,o.getRawValue(n),(function(t){return eb(e,t)}));var v=i.getModel(["emphasis"]);Pl(t,v.get("focus"),v.get("blurScope"),v.get("disabled")),Rl(t,i),function(t){return null!=t.startAngle&&null!=t.endAngle&&t.startAngle===t.endAngle}(r)&&(t.style.fill="none",t.style.stroke="none",z(t.states,(function(t){t.style&&(t.style.fill=t.style.stroke="none")})))}var nS=function(){},iS=function(t){function e(e){var n=t.call(this,e)||this;return n.type="largeBar",n}return n(e,t),e.prototype.getDefaultShape=function(){return new nS},e.prototype.buildPath=function(t,e){for(var n=e.points,i=this.baseDimIdx,r=1-this.baseDimIdx,o=[],a=[],s=this.barWidth,l=0;l=s[0]&&e<=s[0]+l[0]&&n>=s[1]&&n<=s[1]+l[1])return a[h]}return-1}(this,t.offsetX,t.offsetY);Us(this).dataIndex=e>=0?e:null}),30,!1);function aS(t,e,n){if(xb(n,"cartesian2d")){var i=e,r=n.getArea();return{x:t?i.x:r.x,y:t?r.y:i.y,width:t?i.width:r.width,height:t?r.height:i.height}}var o=e;return{cx:(r=n.getArea()).cx,cy:r.cy,r0:t?r.r0:o.r0,r:t?r.r:o.r,startAngle:t?o.startAngle:0,endAngle:t?o.endAngle:2*Math.PI}}var sS=2*Math.PI,lS=Math.PI/180;function uS(t,e){return op(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function hS(t,e){var n=uS(t,e),i=t.get("center"),r=t.get("radius");G(r)||(r=[0,r]);var o,a,s=Gr(n.width,e.getWidth()),l=Gr(n.height,e.getHeight()),u=Math.min(s,l),h=Gr(r[0],u/2),c=Gr(r[1],u/2),p=t.coordinateSystem;if(p){var d=p.dataToPoint(i);o=d[0]||0,a=d[1]||0}else G(i)||(i=[i,i]),o=Gr(i[0],s)+n.x,a=Gr(i[1],l)+n.y;return{cx:o,cy:a,r0:h,r:c}}function cS(t,e,n){e.eachSeriesByType(t,(function(t){var e=t.getData(),i=e.mapDimension("value"),r=uS(t,n),o=hS(t,n),a=o.cx,s=o.cy,l=o.r,u=o.r0,h=-t.get("startAngle")*lS,c=t.get("endAngle"),p=t.get("padAngle")*lS;c="auto"===c?h-sS:-c*lS;var d=t.get("minAngle")*lS+p,f=0;e.each(i,(function(t){!isNaN(t)&&f++}));var g=e.getSum(i),v=Math.PI/(g||f)*2,y=t.get("clockwise"),m=t.get("roseType"),_=t.get("stillShowZeroSum"),x=e.getDataExtent(i);x[0]=0;var w=y?1:-1,b=[h,c],S=w*p/2;qa(b,!y),h=b[0],c=b[1];var M=pS(t);M.startAngle=h,M.endAngle=c,M.clockwise=y;var C=Math.abs(c-h),T=C,I=0,D=h;if(e.setLayout({viewRect:r,r:l}),e.each(i,(function(t,n){var i;if(isNaN(t))e.setItemLayout(n,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:y,cx:a,cy:s,r0:u,r:m?NaN:l});else{(i="area"!==m?0===g&&_?v:t*v:C/f)i?h=o=D+w*i/2:(o=D+S,h=r-S),e.setItemLayout(n,{angle:i,startAngle:o,endAngle:h,clockwise:y,cx:a,cy:s,r0:u,r:m?Wr(t,x,[u,l]):l}),D=r}})),Tn?a:o,h=Math.abs(l.label.y-n);if(h>=u.maxY){var c=l.label.x-e-l.len2*r,p=i+l.len,f=Math.abs(c)t.unconstrainedWidth?null:d:null;i.setStyle("width",f)}var g=i.getBoundingRect();o.width=g.width;var v=(i.style.margin||0)+2.1;o.height=g.height+v,o.y-=(o.height-c)/2}}}function vS(t){return"center"===t.position}function yS(t){var e,n,i=t.getData(),r=[],o=!1,a=(t.get("minShowLabelAngle")||0)*dS,s=i.getLayout("viewRect"),l=i.getLayout("r"),u=s.width,h=s.x,c=s.y,p=s.height;function d(t){t.ignore=!0}i.each((function(t){var s=i.getItemGraphicEl(t),c=s.shape,p=s.getTextContent(),f=s.getTextGuideLine(),g=i.getItemModel(t),v=g.getModel("label"),y=v.get("position")||g.get(["emphasis","label","position"]),m=v.get("distanceToLabelLine"),_=v.get("alignTo"),x=Gr(v.get("edgeDistance"),u),w=v.get("bleedMargin"),b=g.getModel("labelLine"),S=b.get("length");S=Gr(S,u);var M=b.get("length2");if(M=Gr(M,u),Math.abs(c.endAngle-c.startAngle)0?"right":"left":A>0?"left":"right"}var V=Math.PI,F=0,H=v.get("rotate");if(X(H))F=H*(V/180);else if("center"===y)F=0;else if("radial"===H||!0===H){F=A<0?-k+V:-k}else if("tangential"===H&&"outside"!==y&&"outer"!==y){var W=Math.atan2(A,P);W<0&&(W=2*V+W),P>0&&(W=V+W),F=W-V}if(o=!!F,p.x=C,p.y=T,p.rotation=F,p.setStyle({verticalAlign:"middle"}),L){p.setStyle({align:D});var G=p.states.select;G&&(G.x+=p.x,G.y+=p.y)}else{var U=p.getBoundingRect().clone();U.applyTransform(p.getComputedTransform());var Z=(p.style.margin||0)+2.1;U.y-=Z/2,U.height+=Z,r.push({label:p,labelLine:f,position:y,len:S,len2:M,minTurnAngle:b.get("minTurnAngle"),maxSurfaceAngle:b.get("maxSurfaceAngle"),surfaceNormal:new Se(A,P),linePoints:I,textAlign:D,labelDistance:m,labelAlignTo:_,edgeDistance:x,bleedMargin:w,rect:U,unconstrainedWidth:U.width,labelStyleWidth:p.style.width})}s.setTextConfig({inside:L})}})),!o&&t.get("avoidLabelOverlap")&&function(t,e,n,i,r,o,a,s){for(var l=[],u=[],h=Number.MAX_VALUE,c=-Number.MAX_VALUE,p=0;p0){for(var l=o.getItemLayout(0),u=1;isNaN(l&&l.startAngle)&&u=n.r0}},e.type="pie",e}(tg);var xS=function(){function t(t,e){this._getDataWithEncodedVisual=t,this._getRawData=e}return t.prototype.getAllNames=function(){var t=this._getRawData();return t.mapArray(t.getName)},t.prototype.containName=function(t){return this._getRawData().indexOfName(t)>=0},t.prototype.indexOfName=function(t){return this._getDataWithEncodedVisual().indexOfName(t)},t.prototype.getItemVisual=function(t,e){return this._getDataWithEncodedVisual().getItemVisual(t,e)},t}(),wS=Io(),bS=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments),this.legendVisualProvider=new xS(H(this.getData,this),H(this.getRawData,this)),this._defaultLabelLine(e)},e.prototype.mergeOption=function(){t.prototype.mergeOption.apply(this,arguments)},e.prototype.getInitialData=function(){return function(t,e,n){e=G(e)&&{coordDimensions:e}||k({encodeDefine:t.getEncode()},e);var i=t.getSource(),r=km(i,e).dimensions,o=new Dm(r,t);return o.initData(i,n),o}(this,{coordDimensions:["value"],encodeDefaulter:W(Ap,this)})},e.prototype.getDataParams=function(e){var n=this.getData(),i=wS(n),r=i.seats;if(!r){var o=[];n.each(n.mapDimension("value"),(function(t){o.push(t)})),r=i.seats=qr(o,n.hostModel.get("percentPrecision"))}var a=t.prototype.getDataParams.call(this,e);return a.percent=r[e]||0,a.$vars.push("percent"),a},e.prototype._defaultLabelLine=function(t){vo(t,"labelLine",["show"]);var e=t.labelLine,n=t.emphasis.labelLine;e.show=e.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},e.type="series.pie",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,endAngle:"auto",padAngle:0,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1,borderJoin:"round"},showEmptyCircle:!0,emptyCircleStyle:{color:"lightgray",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1e3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"},e}(Wf);var SS=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n}return n(e,t),e.prototype.getInitialData=function(t,e){return Em(null,this,{useEncodeDefaulter:!0})},e.prototype.getProgressive=function(){var t=this.option.progressive;return null==t?this.option.large?5e3:this.get("progressive"):t},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?1e4:this.get("progressiveThreshold"):t},e.prototype.brushSelector=function(t,e,n){return n.point(e.getItemLayout(t))},e.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:""},e.type="series.scatter",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}},universalTransition:{divideShape:"clone"}},e}(Wf),MS=function(){},CS=function(t){function e(e){var n=t.call(this,e)||this;return n._off=0,n.hoverDataIdx=-1,n}return n(e,t),e.prototype.getDefaultShape=function(){return new MS},e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.buildPath=function(t,e){var n,i=e.points,r=e.size,o=this.symbolProxy,a=o.shape,s=t.getContext?t.getContext():t,l=s&&r[0]<4,u=this.softClipShape;if(l)this._ctx=s;else{for(this._ctx=null,n=this._off;n=0;s--){var l=2*s,u=i[l]-o/2,h=i[l+1]-a/2;if(t>=u&&e>=h&&t<=u+o&&e<=h+a)return s}return-1},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect();return t=n[0],e=n[1],i.contain(t,e)?(this.hoverDataIdx=this.findDataIndex(t,e))>=0:(this.hoverDataIdx=-1,!1)},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var e=this.shape,n=e.points,i=e.size,r=i[0],o=i[1],a=1/0,s=1/0,l=-1/0,u=-1/0,h=0;h=0&&(l.dataIndex=n+(t.startIndex||0))}))},t.prototype.remove=function(){this._clear()},t.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},t}(),IS=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).updateData(i,{clipShape:this._getClipShape(t)}),this._finished=!0},e.prototype.incrementalPrepareRender=function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).incrementalPrepareUpdate(i),this._finished=!1},e.prototype.incrementalRender=function(t,e,n){this._symbolDraw.incrementalUpdate(t,e.getData(),{clipShape:this._getClipShape(e)}),this._finished=t.end===e.getData().count()},e.prototype.updateTransform=function(t,e,n){var i=t.getData();if(this.group.dirty(),!this._finished||i.count()>1e4)return{update:!0};var r=Lb("").reset(t,e,n);r.progress&&r.progress({start:0,end:i.count(),count:i.count()},i),this._symbolDraw.updateLayout(i)},e.prototype.eachRendered=function(t){this._symbolDraw&&this._symbolDraw.eachRendered(t)},e.prototype._getClipShape=function(t){if(t.get("clip",!0)){var e=t.coordinateSystem;return e&&e.getArea&&e.getArea(.1)}},e.prototype._updateSymbolDraw=function(t,e){var n=this._symbolDraw,i=e.pipelineContext.large;return n&&i===this._isLargeDraw||(n&&n.remove(),n=this._symbolDraw=i?new TS:new sb,this._isLargeDraw=i,this.group.removeAll()),this.group.add(n.group),n},e.prototype.remove=function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},e.prototype.dispose=function(){},e.type="scatter",e}(tg),DS=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.type="grid",e.dependencies=["xAxis","yAxis"],e.layoutMode="box",e.defaultOption={show:!1,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"},e}(pp),kS=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",Po).models[0]},e.type="cartesian2dAxis",e}(pp);R(kS,H_);var AS={show:!0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#6E7079",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},PS=I({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},AS),LS=I({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#F4F7FD",width:1}}},AS),OS={category:PS,value:LS,time:I({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},LS),log:A({logBase:10},LS)},RS={value:1,category:1,time:1,log:1};function NS(t,e,i,r){z(RS,(function(o,a){var s=I(I({},OS[a],!0),r,!0),l=function(t){function i(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e+"Axis."+a,n}return n(i,t),i.prototype.mergeDefaultAndTheme=function(t,e){var n=sp(this),i=n?up(t):{};I(t,e.getTheme().get(a+"Axis")),I(t,this.getDefaultOption()),t.type=zS(t),n&&lp(t,i,n)},i.prototype.optionUpdated=function(){"category"===this.option.type&&(this.__ordinalMeta=Fm.createByAxisModel(this))},i.prototype.getCategories=function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},i.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},i.type=e+"Axis."+a,i.defaultOption=s,i}(i);t.registerComponentModel(l)})),t.registerSubTypeDefaulter(e+"Axis",zS)}function zS(t){return t.type||(t.data?"category":"value")}var ES=function(){function t(t){this.type="cartesian",this._dimList=[],this._axes={},this.name=t||""}return t.prototype.getAxis=function(t){return this._axes[t]},t.prototype.getAxes=function(){return E(this._dimList,(function(t){return this._axes[t]}),this)},t.prototype.getAxesByScale=function(t){return t=t.toLowerCase(),V(this.getAxes(),(function(e){return e.scale.type===t}))},t.prototype.addAxis=function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},t}(),BS=["x","y"];function VS(t){return"interval"===t.type||"time"===t.type}var FS=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="cartesian2d",e.dimensions=BS,e}return n(e,t),e.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var t=this.getAxis("x").scale,e=this.getAxis("y").scale;if(VS(t)&&VS(e)){var n=t.getExtent(),i=e.getExtent(),r=this.dataToPoint([n[0],i[0]]),o=this.dataToPoint([n[1],i[1]]),a=n[1]-n[0],s=i[1]-i[0];if(a&&s){var l=(o[0]-r[0])/a,u=(o[1]-r[1])/s,h=r[0]-n[0]*l,c=r[1]-i[0]*u,p=this._transform=[l,0,0,u,h,c];this._invTransform=we([],p)}}},e.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},e.prototype.containPoint=function(t){var e=this.getAxis("x"),n=this.getAxis("y");return e.contain(e.toLocalCoord(t[0]))&&n.contain(n.toLocalCoord(t[1]))},e.prototype.containData=function(t){return this.getAxis("x").containData(t[0])&&this.getAxis("y").containData(t[1])},e.prototype.containZone=function(t,e){var n=this.dataToPoint(t),i=this.dataToPoint(e),r=this.getArea(),o=new Le(n[0],n[1],i[0]-n[0],i[1]-n[1]);return r.intersect(o)},e.prototype.dataToPoint=function(t,e,n){n=n||[];var i=t[0],r=t[1];if(this._transform&&null!=i&&isFinite(i)&&null!=r&&isFinite(r))return Bt(n,t,this._transform);var o=this.getAxis("x"),a=this.getAxis("y");return n[0]=o.toGlobalCoord(o.dataToCoord(i,e)),n[1]=a.toGlobalCoord(a.dataToCoord(r,e)),n},e.prototype.clampData=function(t,e){var n=this.getAxis("x").scale,i=this.getAxis("y").scale,r=n.getExtent(),o=i.getExtent(),a=n.parse(t[0]),s=i.parse(t[1]);return(e=e||[])[0]=Math.min(Math.max(Math.min(r[0],r[1]),a),Math.max(r[0],r[1])),e[1]=Math.min(Math.max(Math.min(o[0],o[1]),s),Math.max(o[0],o[1])),e},e.prototype.pointToData=function(t,e){var n=[];if(this._invTransform)return Bt(n,t,this._invTransform);var i=this.getAxis("x"),r=this.getAxis("y");return n[0]=i.coordToData(i.toLocalCoord(t[0]),e),n[1]=r.coordToData(r.toLocalCoord(t[1]),e),n},e.prototype.getOtherAxis=function(t){return this.getAxis("x"===t.dim?"y":"x")},e.prototype.getArea=function(t){t=t||0;var e=this.getAxis("x").getGlobalExtent(),n=this.getAxis("y").getGlobalExtent(),i=Math.min(e[0],e[1])-t,r=Math.min(n[0],n[1])-t,o=Math.max(e[0],e[1])-i+t,a=Math.max(n[0],n[1])-r+t;return new Le(i,r,o,a)},e}(ES),HS=function(t){function e(e,n,i,r,o){var a=t.call(this,e,n,i)||this;return a.index=0,a.type=r||"value",a.position=o||"bottom",a}return n(e,t),e.prototype.isHorizontal=function(){var t=this.position;return"top"===t||"bottom"===t},e.prototype.getGlobalExtent=function(t){var e=this.getExtent();return e[0]=this.toGlobalCoord(e[0]),e[1]=this.toGlobalCoord(e[1]),t&&e[0]>e[1]&&e.reverse(),e},e.prototype.pointToData=function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},e.prototype.setCategorySortInfo=function(t){if("category"!==this.type)return!1;this.model.option.categorySortInfo=t,this.scale.setSortInfo(t)},e}(mx);function WS(t,e,n){n=n||{};var i=t.coordinateSystem,r=e.axis,o={},a=r.getAxesOnZeroOf()[0],s=r.position,l=a?"onZero":s,u=r.dim,h=i.getRect(),c=[h.x,h.x+h.width,h.y,h.y+h.height],p={left:0,right:1,top:0,bottom:1,onZero:2},d=e.get("offset")||0,f="x"===u?[c[2]-d,c[3]+d]:[c[0]-d,c[1]+d];if(a){var g=a.toGlobalCoord(a.dataToCoord(0));f[p.onZero]=Math.max(Math.min(g,f[1]),f[0])}o.position=["y"===u?f[p[l]]:c[0],"x"===u?f[p[l]]:c[3]],o.rotation=Math.PI/2*("x"===u?0:1);o.labelDirection=o.tickDirection=o.nameDirection={top:-1,bottom:1,left:-1,right:1}[s],o.labelOffset=a?f[p[s]]-f[p.onZero]:0,e.get(["axisTick","inside"])&&(o.tickDirection=-o.tickDirection),nt(n.labelInside,e.get(["axisLabel","inside"]))&&(o.labelDirection=-o.labelDirection);var v=e.get(["axisLabel","rotate"]);return o.labelRotate="top"===l?-v:v,o.z2=1,o}function GS(t){return"cartesian2d"===t.get("coordinateSystem")}function US(t){var e={xAxisModel:null,yAxisModel:null};return z(e,(function(n,i){var r=i.replace(/Model$/,""),o=t.getReferringComponents(r,Po).models[0];e[i]=o})),e}var ZS=Math.log;function YS(t,e,n){var i=Qm.prototype,r=i.getTicks.call(n),o=i.getTicks.call(n,!0),a=r.length-1,s=i.getInterval.call(n),l=L_(t,e),u=l.extent,h=l.fixMin,c=l.fixMax;if("log"===t.type){var p=ZS(t.base);u=[ZS(u[0])/p,ZS(u[1])/p]}t.setExtent(u[0],u[1]),t.calcNiceExtent({splitNumber:a,fixMin:h,fixMax:c});var d=i.getExtent.call(t);h&&(u[0]=d[0]),c&&(u[1]=d[1]);var f=i.getInterval.call(t),g=u[0],v=u[1];if(h&&c)f=(v-g)/a;else if(h)for(v=u[0]+f*a;vu[0]&&isFinite(g)&&isFinite(u[0]);)f=Um(f),g=u[1]-f*a;else{t.getTicks().length-1>a&&(f=Um(f));var y=f*a;(g=Ur((v=Math.ceil(u[1]/f)*f)-y))<0&&u[0]>=0?(g=0,v=Ur(y)):v>0&&u[1]<=0&&(v=0,g=-Ur(y))}var m=(r[0].value-o[0].value)/s,_=(r[a].value-o[a].value)/s;i.setExtent.call(t,g+f*m,v+f*_),i.setInterval.call(t,f),(m||_)&&i.setNiceExtent.call(t,g+f,v-f)}var XS=function(){function t(t,e,n){this.type="grid",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=BS,this._initCartesian(t,e,n),this.model=t}return t.prototype.getRect=function(){return this._rect},t.prototype.update=function(t,e){var n=this._axesMap;function i(t){var e,n=F(t),i=n.length;if(i){for(var r=[],o=i-1;o>=0;o--){var a=t[+n[o]],s=a.model,l=a.scale;Wm(l)&&s.get("alignTicks")&&null==s.get("interval")?r.push(a):(O_(l,s),Wm(l)&&(e=a))}r.length&&(e||O_((e=r.pop()).scale,e.model),z(r,(function(t){YS(t.scale,t.model,e.scale)})))}}this._updateScale(t,this.model),i(n.x),i(n.y);var r={};z(n.x,(function(t){qS(n,"y",t,r)})),z(n.y,(function(t){qS(n,"x",t,r)})),this.resize(this.model,e)},t.prototype.resize=function(t,e,n){var i=t.getBoxLayoutParams(),r=!n&&t.get("containLabel"),o=op(i,{width:e.getWidth(),height:e.getHeight()});this._rect=o;var a=this._axesList;function s(){z(a,(function(t){var e=t.isHorizontal(),n=e?[0,o.width]:[0,o.height],i=t.inverse?1:0;t.setExtent(n[i],n[1-i]),function(t,e){var n=t.getExtent(),i=n[0]+n[1];t.toGlobalCoord="x"===t.dim?function(t){return t+e}:function(t){return i-t+e},t.toLocalCoord="x"===t.dim?function(t){return t-e}:function(t){return i-t+e}}(t,e?o.x:o.y)}))}s(),r&&(z(a,(function(t){if(!t.model.get(["axisLabel","inside"])){var e=function(t){var e=t.model,n=t.scale;if(e.get(["axisLabel","show"])&&!n.isBlank()){var i,r,o=n.getExtent();r=n instanceof Km?n.count():(i=n.getTicks()).length;var a,s=t.getLabelModel(),l=N_(t),u=1;r>40&&(u=Math.ceil(r/40));for(var h=0;h0&&i>0||n<0&&i<0)}(t)}var $S=Math.PI,QS=function(){function t(t,e){this.group=new Pr,this.opt=e,this.axisModel=t,A(e,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0,handleAutoShown:function(){return!0}});var n=new Pr({x:e.position[0],y:e.position[1],rotation:e.rotation});n.updateTransform(),this._transformGroup=n}return t.prototype.hasBuilder=function(t){return!!JS[t]},t.prototype.add=function(t){JS[t](this.opt,this.axisModel,this.group,this._transformGroup)},t.prototype.getGroup=function(){return this.group},t.innerTextLayout=function(t,e,n){var i,r,o=$r(e-t);return Qr(o)?(r=n>0?"top":"bottom",i="center"):Qr(o-$S)?(r=n>0?"bottom":"top",i="center"):(r="middle",i=o>0&&o<$S?n>0?"right":"left":n>0?"left":"right"),{rotation:o,textAlign:i,textVerticalAlign:r}},t.makeAxisEventDataBase=function(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e},t.isLabelSilent=function(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)},t}(),JS={axisLine:function(t,e,n,i){var r=e.get(["axisLine","show"]);if("auto"===r&&t.handleAutoShown&&(r=t.handleAutoShown("axisLine")),r){var o=e.axis.getExtent(),a=i.transform,s=[o[0],0],l=[o[1],0],u=s[0]>l[0];a&&(Bt(s,s,a),Bt(l,l,a));var h=k({lineCap:"round"},e.getModel(["axisLine","lineStyle"]).getLineStyle()),c=new Au({shape:{x1:s[0],y1:s[1],x2:l[0],y2:l[1]},style:h,strokeContainThreshold:t.strokeContainThreshold||5,silent:!0,z2:1});yh(c.shape,c.style.lineWidth),c.anid="line",n.add(c);var p=e.get(["axisLine","symbol"]);if(null!=p){var d=e.get(["axisLine","symbolSize"]);Z(p)&&(p=[p,p]),(Z(d)||X(d))&&(d=[d,d]);var f=cv(e.get(["axisLine","symbolOffset"])||0,d),g=d[0],v=d[1];z([{rotate:t.rotation+Math.PI/2,offset:f[0],r:0},{rotate:t.rotation-Math.PI/2,offset:f[1],r:Math.sqrt((s[0]-l[0])*(s[0]-l[0])+(s[1]-l[1])*(s[1]-l[1]))}],(function(e,i){if("none"!==p[i]&&null!=p[i]){var r=uv(p[i],-g/2,-v/2,g,v,h.stroke,!0),o=e.r+e.offset,a=u?l:s;r.attr({rotation:e.rotate,x:a[0]+o*Math.cos(t.rotation),y:a[1]-o*Math.sin(t.rotation),silent:!0,z2:11}),n.add(r)}}))}}},axisTickLabel:function(t,e,n,i){var r=function(t,e,n,i){var r=n.axis,o=n.getModel("axisTick"),a=o.get("show");"auto"===a&&i.handleAutoShown&&(a=i.handleAutoShown("axisTick"));if(!a||r.scale.isBlank())return;for(var s=o.getModel("lineStyle"),l=i.tickDirection*o.get("length"),u=iM(r.getTicksCoords(),e.transform,l,A(s.getLineStyle(),{stroke:n.get(["axisLine","lineStyle","color"])}),"ticks"),h=0;hc[1]?-1:1,d=["start"===s?c[0]-p*h:"end"===s?c[1]+p*h:(c[0]+c[1])/2,nM(s)?t.labelOffset+l*h:0],f=e.get("nameRotate");null!=f&&(f=f*$S/180),nM(s)?o=QS.innerTextLayout(t.rotation,null!=f?f:t.rotation,l):(o=function(t,e,n,i){var r,o,a=$r(n-t),s=i[0]>i[1],l="start"===e&&!s||"start"!==e&&s;Qr(a-$S/2)?(o=l?"bottom":"top",r="center"):Qr(a-1.5*$S)?(o=l?"top":"bottom",r="center"):(o="middle",r=a<1.5*$S&&a>$S/2?l?"left":"right":l?"right":"left");return{rotation:a,textAlign:r,textVerticalAlign:o}}(t.rotation,s,f||0,c),null!=(a=t.axisNameAvailableWidth)&&(a=Math.abs(a/Math.sin(o.rotation)),!isFinite(a)&&(a=null)));var g=u.getFont(),v=e.get("nameTruncate",!0)||{},y=v.ellipsis,m=nt(t.nameTruncateMaxWidth,v.maxWidth,a),_=new Ps({x:d[0],y:d[1],rotation:o.rotation,silent:QS.isLabelSilent(e),style:Eh(u,{text:r,font:g,overflow:"truncate",width:m,ellipsis:y,fill:u.getTextColor()||e.get(["axisLine","lineStyle","color"]),align:u.get("align")||o.textAlign,verticalAlign:u.get("verticalAlign")||o.textVerticalAlign}),z2:1});if(kh({el:_,componentModel:e,itemName:r}),_.__fullText=r,_.anid="name",e.get("triggerEvent")){var x=QS.makeAxisEventDataBase(e);x.targetType="axisName",x.name=r,Us(_).eventData=x}i.add(_),_.updateTransform(),n.add(_),_.decomposeTransform()}}};function tM(t){t&&(t.ignore=!0)}function eM(t,e){var n=t&&t.getBoundingRect().clone(),i=e&&e.getBoundingRect().clone();if(n&&i){var r=ge([]);return _e(r,r,-t.rotation),n.applyTransform(ye([],r,t.getLocalTransform())),i.applyTransform(ye([],r,e.getLocalTransform())),n.intersect(i)}}function nM(t){return"middle"===t||"center"===t}function iM(t,e,n,i,r){for(var o=[],a=[],s=[],l=0;l=0||t===e}function aM(t){var e=sM(t);if(e){var n=e.axisPointerModel,i=e.axis.scale,r=n.option,o=n.get("status"),a=n.get("value");null!=a&&(a=i.parse(a));var s=lM(n);null==o&&(r.status=s?"show":"hide");var l=i.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==a||a>l[1])&&(a=l[1]),aa)return!0;if(o){var s=sM(t).seriesDataCount,l=i.getExtent();return Math.abs(l[0]-l[1])/s>a}return!1}return!0===n},t.prototype.makeElOption=function(t,e,n,i,r){},t.prototype.createPointerEl=function(t,e,n,i){var r=e.pointer;if(r){var o=bM(t).pointerEl=new Lh[r.type](SM(e.pointer));t.add(o)}},t.prototype.createLabelEl=function(t,e,n,i){if(e.label){var r=bM(t).labelEl=new Ps(SM(e.label));t.add(r),DM(r,i)}},t.prototype.updatePointerEl=function(t,e,n){var i=bM(t).pointerEl;i&&e.pointer&&(i.setStyle(e.pointer.style),n(i,{shape:e.pointer.shape}))},t.prototype.updateLabelEl=function(t,e,n,i){var r=bM(t).labelEl;r&&(r.setStyle(e.label.style),n(r,{x:e.label.x,y:e.label.y}),DM(r,i))},t.prototype._renderHandle=function(t){if(!this._dragging&&this.updateHandleTransform){var e,n=this._axisPointerModel,i=this._api.getZr(),r=this._handle,o=n.getModel("handle"),a=n.get("status");if(!o.get("show")||!a||"hide"===a)return r&&i.remove(r),void(this._handle=null);this._handle||(e=!0,r=this._handle=Th(o.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){ue(t.event)},onmousedown:MM(this._onHandleDragMove,this,0,0),drift:MM(this._onHandleDragMove,this),ondragend:MM(this._onHandleDragEnd,this)}),i.add(r)),AM(r,n,!1),r.setStyle(o.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var s=o.get("size");G(s)||(s=[s,s]),r.scaleX=s[0]/2,r.scaleY=s[1]/2,hg(this,"_doDispatchAxisPointer",o.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,e)}},t.prototype._moveHandleToValue=function(t,e){TM(this._axisPointerModel,!e&&this._moveAnimation,this._handle,kM(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},t.prototype._onHandleDragMove=function(t,e){var n=this._handle;if(n){this._dragging=!0;var i=this.updateHandleTransform(kM(n),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=i,n.stopAnimation(),n.attr(kM(i)),bM(n).lastProp=null,this._doDispatchAxisPointer()}},t.prototype._doDispatchAxisPointer=function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},t.prototype._onHandleDragEnd=function(){if(this._dragging=!1,this._handle){var t=this._axisPointerModel.get("value");this._moveHandleToValue(t),this._api.dispatchAction({type:"hideTip"})}},t.prototype.clear=function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),n=this._group,i=this._handle;e&&n&&(this._lastGraphicKey=null,n&&e.remove(n),i&&e.remove(i),this._group=null,this._handle=null,this._payloadInfo=null),cg(this,"_doDispatchAxisPointer")},t.prototype.doClear=function(){},t.prototype.buildLabel=function(t,e,n){return{x:t[n=n||0],y:t[1-n],width:e[n],height:e[1-n]}},t}();function TM(t,e,n,i){IM(bM(n).lastProp,i)||(bM(n).lastProp=i,e?$u(n,i,t):(n.stopAnimation(),n.attr(i)))}function IM(t,e){if(j(t)&&j(e)){var n=!0;return z(e,(function(e,i){n=n&&IM(t[i],e)})),!!n}return t===e}function DM(t,e){t[e.get(["label","show"])?"show":"hide"]()}function kM(t){return{x:t.x||0,y:t.y||0,rotation:t.rotation||0}}function AM(t,e,n){var i=e.get("z"),r=e.get("zlevel");t&&t.traverse((function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=r&&(t.zlevel=r),t.silent=n)}))}function PM(t,e,n,i,r){var o=LM(n.get("value"),e.axis,e.ecModel,n.get("seriesDataIndices"),{precision:n.get(["label","precision"]),formatter:n.get(["label","formatter"])}),a=n.getModel("label"),s=Yc(a.get("padding")||0),l=a.getFont(),u=gr(o,l),h=r.position,c=u.width+s[1]+s[3],p=u.height+s[0]+s[2],d=r.align;"right"===d&&(h[0]-=c),"center"===d&&(h[0]-=c/2);var f=r.verticalAlign;"bottom"===f&&(h[1]-=p),"middle"===f&&(h[1]-=p/2),function(t,e,n,i){var r=i.getWidth(),o=i.getHeight();t[0]=Math.min(t[0]+e,r)-e,t[1]=Math.min(t[1]+n,o)-n,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}(h,c,p,i);var g=a.get("backgroundColor");g&&"auto"!==g||(g=e.get(["axisLine","lineStyle","color"])),t.label={x:h[0],y:h[1],style:Eh(a,{text:o,font:l,fill:a.getTextColor(),padding:s,backgroundColor:g}),z2:10}}function LM(t,e,n,i,r){t=e.scale.parse(t);var o=e.scale.getLabel({value:t},{precision:r.precision}),a=r.formatter;if(a){var s={value:z_(e,{value:t}),axisDimension:e.dim,axisIndex:e.index,seriesData:[]};z(i,(function(t){var e=n.getSeriesByIndex(t.seriesIndex),i=t.dataIndexInside,r=e&&e.getDataParams(i);r&&s.seriesData.push(r)})),Z(a)?o=a.replace("{value}",o):U(a)&&(o=a(s))}return o}function OM(t,e,n){var i=[1,0,0,1,0,0];return _e(i,i,n.rotation),me(i,i,n.position),xh([t.dataToCoord(e),(n.labelOffset||0)+(n.labelDirection||1)*(n.labelMargin||0)],i)}var RM=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.makeElOption=function(t,e,n,i,r){var o=n.axis,a=o.grid,s=i.get("type"),l=NM(a,o).getOtherAxis(o).getGlobalExtent(),u=o.toGlobalCoord(o.dataToCoord(e,!0));if(s&&"none"!==s){var h=function(t){var e,n=t.get("type"),i=t.getModel(n+"Style");return"line"===n?(e=i.getLineStyle()).fill=null:"shadow"===n&&((e=i.getAreaStyle()).stroke=null),e}(i),c=zM[s](o,u,l);c.style=h,t.graphicKey=c.type,t.pointer=c}!function(t,e,n,i,r,o){var a=QS.innerTextLayout(n.rotation,0,n.labelDirection);n.labelMargin=r.get(["label","margin"]),PM(e,i,r,o,{position:OM(i.axis,t,n),align:a.textAlign,verticalAlign:a.textVerticalAlign})}(e,t,WS(a.model,n),n,i,r)},e.prototype.getHandleTransform=function(t,e,n){var i=WS(e.axis.grid.model,e,{labelInside:!1});i.labelMargin=n.get(["handle","margin"]);var r=OM(e.axis,t,i);return{x:r[0],y:r[1],rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,e,n,i){var r=n.axis,o=r.grid,a=r.getGlobalExtent(!0),s=NM(o,r).getOtherAxis(r).getGlobalExtent(),l="x"===r.dim?0:1,u=[t.x,t.y];u[l]+=e[l],u[l]=Math.min(a[1],u[l]),u[l]=Math.max(a[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];return{x:u[0],y:u[1],rotation:t.rotation,cursorPoint:c,tooltipOption:[{verticalAlign:"middle"},{align:"center"}][l]}},e}(CM);function NM(t,e){var n={};return n[e.dim+"AxisIndex"]=e.index,t.getCartesian(n)}var zM={line:function(t,e,n){var i,r,o;return{type:"Line",subPixelOptimize:!0,shape:(i=[e,n[0]],r=[e,n[1]],o=EM(t),{x1:i[o=o||0],y1:i[1-o],x2:r[o],y2:r[1-o]})}},shadow:function(t,e,n){var i,r,o,a=Math.max(1,t.getBandWidth()),s=n[1]-n[0];return{type:"Rect",shape:(i=[e-a/2,n[0]],r=[a,s],o=EM(t),{x:i[o=o||0],y:i[1-o],width:r[o],height:r[1-o]})}}};function EM(t){return"x"===t.dim?0:1}var BM=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="axisPointer",e.defaultOption={show:"auto",z:50,type:"line",snap:!1,triggerTooltip:!0,triggerEmphasis:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}},e}(pp),VM=Io(),FM=z;function HM(t,e,n){if(!r.node){var i=e.getZr();VM(i).records||(VM(i).records={}),function(t,e){if(VM(t).initialized)return;function n(n,i){t.on(n,(function(n){var r=function(t){var e={showTip:[],hideTip:[]},n=function(i){var r=e[i.type];r?r.push(i):(i.dispatchAction=n,t.dispatchAction(i))};return{dispatchAction:n,pendings:e}}(e);FM(VM(t).records,(function(t){t&&i(t,n,r.dispatchAction)})),function(t,e){var n,i=t.showTip.length,r=t.hideTip.length;i?n=t.showTip[i-1]:r&&(n=t.hideTip[r-1]);n&&(n.dispatchAction=null,e.dispatchAction(n))}(r.pendings,e)}))}VM(t).initialized=!0,n("click",W(GM,"click")),n("mousemove",W(GM,"mousemove")),n("globalout",WM)}(i,e),(VM(i).records[t]||(VM(i).records[t]={})).handler=n}}function WM(t,e,n){t.handler("leave",null,n)}function GM(t,e,n,i){e.handler(t,n,i)}function UM(t,e){if(!r.node){var n=e.getZr();(VM(n).records||{})[t]&&(VM(n).records[t]=null)}}var ZM=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=e.getComponent("tooltip"),r=t.get("triggerOn")||i&&i.get("triggerOn")||"mousemove|click";HM("axisPointer",n,(function(t,e,n){"none"!==r&&("leave"===t||r.indexOf(t)>=0)&&n({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})}))},e.prototype.remove=function(t,e){UM("axisPointer",e)},e.prototype.dispose=function(t,e){UM("axisPointer",e)},e.type="axisPointer",e}(Kf);function YM(t,e){var n,i=[],r=t.seriesIndex;if(null==r||!(n=e.getSeriesByIndex(r)))return{point:[]};var o=n.getData(),a=To(o,t);if(null==a||a<0||G(a))return{point:[]};var s=o.getItemGraphicEl(a),l=n.coordinateSystem;if(n.getTooltipPosition)i=n.getTooltipPosition(a)||[];else if(l&&l.dataToPoint)if(t.isStacked){var u=l.getBaseAxis(),h=l.getOtherAxis(u).dim,c=u.dim,p="x"===h||"radius"===h?1:0,d=o.mapDimension(c),f=[];f[p]=o.get(d,a),f[1-p]=o.get(o.getCalculationInfo("stackResultDimension"),a),i=l.dataToPoint(f)||[]}else i=l.dataToPoint(o.getValues(E(l.dimensions,(function(t){return o.mapDimension(t)})),a))||[];else if(s){var g=s.getBoundingRect().clone();g.applyTransform(s.transform),i=[g.x+g.width/2,g.y+g.height/2]}return{point:i,el:s}}var XM=Io();function jM(t,e,n){var i=t.currTrigger,r=[t.x,t.y],o=t,a=t.dispatchAction||H(n.dispatchAction,n),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){JM(r)&&(r=YM({seriesIndex:o.seriesIndex,dataIndex:o.dataIndex},e).point);var l=JM(r),u=o.axesInfo,h=s.axesInfo,c="leave"===i||JM(r),p={},d={},f={list:[],map:{}},g={showPointer:W(KM,d),showTooltip:W($M,f)};z(s.coordSysMap,(function(t,e){var n=l||t.containPoint(r);z(s.coordSysAxesInfo[e],(function(t,e){var i=t.axis,o=function(t,e){for(var n=0;n<(t||[]).length;n++){var i=t[n];if(e.axis.dim===i.axisDim&&e.axis.model.componentIndex===i.axisIndex)return i}}(u,t);if(!c&&n&&(!u||o)){var a=o&&o.value;null!=a||l||(a=i.pointToData(r)),null!=a&&qM(t,a,g,!1,p)}}))}));var v={};return z(h,(function(t,e){var n=t.linkGroup;n&&!d[e]&&z(n.axesInfo,(function(e,i){var r=d[i];if(e!==t&&r){var o=r.value;n.mapper&&(o=t.axis.scale.parse(n.mapper(o,QM(e),QM(t)))),v[t.key]=o}}))})),z(v,(function(t,e){qM(h[e],t,g,!0,p)})),function(t,e,n){var i=n.axesInfo=[];z(e,(function(e,n){var r=e.axisPointerModel.option,o=t[n];o?(!e.useHandle&&(r.status="show"),r.value=o.value,r.seriesDataIndices=(o.payloadBatch||[]).slice()):!e.useHandle&&(r.status="hide"),"show"===r.status&&i.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:r.value})}))}(d,h,p),function(t,e,n,i){if(JM(e)||!t.list.length)return void i({type:"hideTip"});var r=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};i({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:n.tooltipOption,position:n.position,dataIndexInside:r.dataIndexInside,dataIndex:r.dataIndex,seriesIndex:r.seriesIndex,dataByCoordSys:t.list})}(f,r,t,a),function(t,e,n){var i=n.getZr(),r="axisPointerLastHighlights",o=XM(i)[r]||{},a=XM(i)[r]={};z(t,(function(t,e){var n=t.axisPointerModel.option;"show"===n.status&&t.triggerEmphasis&&z(n.seriesDataIndices,(function(t){var e=t.seriesIndex+" | "+t.dataIndex;a[e]=t}))}));var s=[],l=[];z(o,(function(t,e){!a[e]&&l.push(t)})),z(a,(function(t,e){!o[e]&&s.push(t)})),l.length&&n.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:l}),s.length&&n.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:s})}(h,0,n),p}}function qM(t,e,n,i,r){var o=t.axis;if(!o.scale.isBlank()&&o.containData(e))if(t.involveSeries){var a=function(t,e){var n=e.axis,i=n.dim,r=t,o=[],a=Number.MAX_VALUE,s=-1;return z(e.seriesModels,(function(e,l){var u,h,c=e.getData().mapDimensionsAll(i);if(e.getAxisTooltipData){var p=e.getAxisTooltipData(c,t,n);h=p.dataIndices,u=p.nestestValue}else{if(!(h=e.getData().indicesOfNearest(c[0],t,"category"===n.type?.5:null)).length)return;u=e.getData().get(c[0],h[0])}if(null!=u&&isFinite(u)){var d=t-u,f=Math.abs(d);f<=a&&((f=0&&s<0)&&(a=f,s=d,r=u,o.length=0),z(h,(function(t){o.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})})))}})),{payloadBatch:o,snapToValue:r}}(e,t),s=a.payloadBatch,l=a.snapToValue;s[0]&&null==r.seriesIndex&&k(r,s[0]),!i&&t.snap&&o.containData(l)&&null!=l&&(e=l),n.showPointer(t,e,s),n.showTooltip(t,a,l)}else n.showPointer(t,e)}function KM(t,e,n,i){t[e.key]={value:n,payloadBatch:i}}function $M(t,e,n,i){var r=n.payloadBatch,o=e.axis,a=o.model,s=e.axisPointerModel;if(e.triggerTooltip&&r.length){var l=e.coordSys.model,u=uM(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:o.dim,axisIndex:a.componentIndex,axisType:a.type,axisId:a.id,value:i,valueLabelOpt:{precision:s.get(["label","precision"]),formatter:s.get(["label","formatter"])},seriesDataIndices:r.slice()})}}function QM(t){var e=t.axis.model,n={},i=n.axisDim=t.axis.dim;return n.axisIndex=n[i+"AxisIndex"]=e.componentIndex,n.axisName=n[i+"AxisName"]=e.name,n.axisId=n[i+"AxisId"]=e.id,n}function JM(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function tC(t){cM.registerAxisPointerClass("CartesianAxisPointer",RM),t.registerComponentModel(BM),t.registerComponentView(ZM),t.registerPreprocessor((function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!G(e)&&(t.axisPointer.link=[e])}})),t.registerProcessor(t.PRIORITY.PROCESSOR.STATISTIC,(function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=rM(t,e)})),t.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},jM)}function eC(t,e){var n;return z(e,(function(e){null!=t[e]&&"auto"!==t[e]&&(n=!0)})),n}var nC=["transition","enterFrom","leaveTo"],iC=nC.concat(["enterAnimation","updateAnimation","leaveAnimation"]);function rC(t,e,n){if(n&&(!t[n]&&e[n]&&(t[n]={}),t=t[n],e=e[n]),t&&e)for(var i=n?nC:iC,r=0;r0&&(a.during=s?H(yC,{el:e,userDuring:s}):null,a.setToFinal=!0,a.scope=t),k(a,n[o]),a}function pC(t,e,n,i){var r=(i=i||{}).dataIndex,o=i.isInit,a=i.clearStyle,s=n.isAnimationEnabled(),l=hC(t),u=e.style;l.userDuring=e.during;var h={},c={};if(function(t,e,n){for(var i=0;i=0)){var c=t.getAnimationStyleProps(),p=c?c.style:null;if(p){!r&&(r=i.style={});var d=F(n);for(u=0;u0&&t.animateFrom(p,d)}else!function(t,e,n,i,r){if(r){var o=cC("update",t,e,i,n);o.duration>0&&t.animateFrom(r,o)}}(t,e,r||0,n,h);dC(t,e),u?t.dirty():t.markRedraw()}function dC(t,e){for(var n=hC(t).leaveToProps,i=0;i=0){!o&&(o=i[t]={});var p=F(a);for(h=0;h=0;l--){var p,d,f;if(f=null!=(d=So((p=n[l]).id,null))?r.get(d):null){var g=f.parent,v=(c=CC(g),{}),y=ap(f,p,g===i?{width:o,height:a}:{width:c.width,height:c.height},null,{hv:p.hv,boundingMode:p.bounding},v);if(!CC(f).isNew&&y){for(var m=p.transition,_={},x=0;x=0)?_[w]=b:f[w]=b}$u(f,_,t,0)}else f.attr(v)}}},e.prototype._clear=function(){var t=this,e=this._elMap;e.each((function(n){kC(n,CC(n).option,e,t._lastGraphicModel)})),this._elMap=gt()},e.prototype.dispose=function(){this._clear()},e.type="graphic",e}(Kf);function IC(t){var e=_t(MC,t)?MC[t]:ch(t);var n=new e({});return CC(n).type=t,n}function DC(t,e,n,i){var r=IC(n);return e.add(r),i.set(t,r),CC(r).id=t,CC(r).isNew=!0,r}function kC(t,e,n,i){t&&t.parent&&("group"===t.type&&t.traverse((function(t){kC(t,e,n,i)})),function(t,e,n,i){if(t){var r=t.parent,o=hC(t).leaveToProps;if(o){var a=cC("update",t,e,n,0);a.done=function(){r.remove(t),i&&i()},t.animateTo(o,a)}else r.remove(t),i&&i()}}(t,e,i),n.removeKey(CC(t).id))}function AC(t,e,n,i){t.isGroup||z([["cursor",ga.prototype.cursor],["zlevel",i||0],["z",n||0],["z2",0]],(function(n){var i=n[0];_t(e,i)?t[i]=it(e[i],n[1]):null==t[i]&&(t[i]=n[1])})),z(F(e),(function(n){if(0===n.indexOf("on")){var i=e[n];t[n]=U(i)?i:null}})),_t(e,"draggable")&&(t.draggable=e.draggable),null!=e.name&&(t.name=e.name),null!=e.id&&(t.id=e.id)}var PC=["x","y","radius","angle","single"],LC=["cartesian2d","polar","singleAxis"];function OC(t){return t+"Axis"}function RC(t,e){var n,i=gt(),r=[],o=gt();t.eachComponent({mainType:"dataZoom",query:e},(function(t){o.get(t.uid)||s(t)}));do{n=!1,t.eachComponent("dataZoom",a)}while(n);function a(t){!o.get(t.uid)&&function(t){var e=!1;return t.eachTargetAxis((function(t,n){var r=i.get(t);r&&r[n]&&(e=!0)})),e}(t)&&(s(t),n=!0)}function s(t){o.set(t.uid,!0),r.push(t),t.eachTargetAxis((function(t,e){(i.get(t)||i.set(t,[]))[e]=!0}))}return r}function NC(t){var e=t.ecModel,n={infoList:[],infoMap:gt()};return t.eachTargetAxis((function(t,i){var r=e.getComponent(OC(t),i);if(r){var o=r.getCoordSysModel();if(o){var a=o.uid,s=n.infoMap.get(a);s||(s={model:o,axisModels:[]},n.infoList.push(s),n.infoMap.set(a,s)),s.axisModels.push(r)}}})),n}var zC=function(){function t(){this.indexList=[],this.indexMap=[]}return t.prototype.add=function(t){this.indexMap[t]||(this.indexList.push(t),this.indexMap[t]=!0)},t}(),EC=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._autoThrottle=!0,n._noTarget=!0,n._rangePropMode=["percent","percent"],n}return n(e,t),e.prototype.init=function(t,e,n){var i=BC(t);this.settledOption=i,this.mergeDefaultAndTheme(t,n),this._doInit(i)},e.prototype.mergeOption=function(t){var e=BC(t);I(this.option,t,!0),I(this.settledOption,e,!0),this._doInit(e)},e.prototype._doInit=function(t){var e=this.option;this._setDefaultThrottle(t),this._updateRangeUse(t);var n=this.settledOption;z([["start","startValue"],["end","endValue"]],(function(t,i){"value"===this._rangePropMode[i]&&(e[t[0]]=n[t[0]]=null)}),this),this._resetTarget()},e.prototype._resetTarget=function(){var t=this.get("orient",!0),e=this._targetAxisInfoMap=gt();this._fillSpecifiedTargetAxis(e)?this._orient=t||this._makeAutoOrientByTargetAxis():(this._orient=t||"horizontal",this._fillAutoTargetAxisByOrient(e,this._orient)),this._noTarget=!0,e.each((function(t){t.indexList.length&&(this._noTarget=!1)}),this)},e.prototype._fillSpecifiedTargetAxis=function(t){var e=!1;return z(PC,(function(n){var i=this.getReferringComponents(OC(n),Lo);if(i.specified){e=!0;var r=new zC;z(i.models,(function(t){r.add(t.componentIndex)})),t.set(n,r)}}),this),e},e.prototype._fillAutoTargetAxisByOrient=function(t,e){var n=this.ecModel,i=!0;if(i){var r="vertical"===e?"y":"x";o(n.findComponents({mainType:r+"Axis"}),r)}i&&o(n.findComponents({mainType:"singleAxis",filter:function(t){return t.get("orient",!0)===e}}),"single");function o(e,n){var r=e[0];if(r){var o=new zC;if(o.add(r.componentIndex),t.set(n,o),i=!1,"x"===n||"y"===n){var a=r.getReferringComponents("grid",Po).models[0];a&&z(e,(function(t){r.componentIndex!==t.componentIndex&&a===t.getReferringComponents("grid",Po).models[0]&&o.add(t.componentIndex)}))}}}i&&z(PC,(function(e){if(i){var r=n.findComponents({mainType:OC(e),filter:function(t){return"category"===t.get("type",!0)}});if(r[0]){var o=new zC;o.add(r[0].componentIndex),t.set(e,o),i=!1}}}),this)},e.prototype._makeAutoOrientByTargetAxis=function(){var t;return this.eachTargetAxis((function(e){!t&&(t=e)}),this),"y"===t?"vertical":"horizontal"},e.prototype._setDefaultThrottle=function(t){if(t.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var e=this.ecModel.option;this.option.throttle=e.animation&&e.animationDurationUpdate>0?100:20}},e.prototype._updateRangeUse=function(t){var e=this._rangePropMode,n=this.get("rangeMode");z([["start","startValue"],["end","endValue"]],(function(i,r){var o=null!=t[i[0]],a=null!=t[i[1]];o&&!a?e[r]="percent":!o&&a?e[r]="value":n?e[r]=n[r]:o&&(e[r]="percent")}))},e.prototype.noTarget=function(){return this._noTarget},e.prototype.getFirstTargetAxisModel=function(){var t;return this.eachTargetAxis((function(e,n){null==t&&(t=this.ecModel.getComponent(OC(e),n))}),this),t},e.prototype.eachTargetAxis=function(t,e){this._targetAxisInfoMap.each((function(n,i){z(n.indexList,(function(n){t.call(e,i,n)}))}))},e.prototype.getAxisProxy=function(t,e){var n=this.getAxisModel(t,e);if(n)return n.__dzAxisProxy},e.prototype.getAxisModel=function(t,e){var n=this._targetAxisInfoMap.get(t);if(n&&n.indexMap[e])return this.ecModel.getComponent(OC(t),e)},e.prototype.setRawRange=function(t){var e=this.option,n=this.settledOption;z([["start","startValue"],["end","endValue"]],(function(i){null==t[i[0]]&&null==t[i[1]]||(e[i[0]]=n[i[0]]=t[i[0]],e[i[1]]=n[i[1]]=t[i[1]])}),this),this._updateRangeUse(t)},e.prototype.setCalculatedRange=function(t){var e=this.option;z(["start","startValue","end","endValue"],(function(n){e[n]=t[n]}))},e.prototype.getPercentRange=function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},e.prototype.getValueRange=function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var n=this.findRepresentativeAxisProxy();return n?n.getDataValueWindow():void 0},e.prototype.findRepresentativeAxisProxy=function(t){if(t)return t.__dzAxisProxy;for(var e,n=this._targetAxisInfoMap.keys(),i=0;io&&(e[1-i]=e[i]+u.sign*o),e}function GC(t,e){var n=t[e]-t[1-e];return{span:Math.abs(n),sign:n>0?-1:n<0?1:e?-1:1}}function UC(t,e){return Math.min(null!=e[1]?e[1]:1/0,Math.max(null!=e[0]?e[0]:-1/0,t))}var ZC=z,YC=Zr,XC=function(){function t(t,e,n,i){this._dimName=t,this._axisIndex=e,this.ecModel=i,this._dataZoomModel=n}return t.prototype.hostedBy=function(t){return this._dataZoomModel===t},t.prototype.getDataValueWindow=function(){return this._valueWindow.slice()},t.prototype.getDataPercentWindow=function(){return this._percentWindow.slice()},t.prototype.getTargetSeriesModels=function(){var t=[];return this.ecModel.eachSeries((function(e){if(function(t){var e=t.get("coordinateSystem");return L(LC,e)>=0}(e)){var n=OC(this._dimName),i=e.getReferringComponents(n,Po).models[0];i&&this._axisIndex===i.componentIndex&&t.push(e)}}),this),t},t.prototype.getAxisModel=function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},t.prototype.getMinMaxSpan=function(){return T(this._minMaxSpan)},t.prototype.calculateDataWindow=function(t){var e,n=this._dataExtent,i=this.getAxisModel().axis.scale,r=this._dataZoomModel.getRangePropMode(),o=[0,100],a=[],s=[];ZC(["start","end"],(function(l,u){var h=t[l],c=t[l+"Value"];"percent"===r[u]?(null==h&&(h=o[u]),c=i.parse(Wr(h,o,n))):(e=!0,h=Wr(c=null==c?n[u]:i.parse(c),n,o)),s[u]=null==c||isNaN(c)?n[u]:c,a[u]=null==h||isNaN(h)?o[u]:h})),YC(s),YC(a);var l=this._minMaxSpan;function u(t,e,n,r,o){var a=o?"Span":"ValueSpan";WC(0,t,n,"all",l["min"+a],l["max"+a]);for(var s=0;s<2;s++)e[s]=Wr(t[s],n,r,!0),o&&(e[s]=i.parse(e[s]))}return e?u(s,a,n,o,!1):u(a,s,o,n,!0),{valueWindow:s,percentWindow:a}},t.prototype.reset=function(t){if(t===this._dataZoomModel){var e=this.getTargetSeriesModels();this._dataExtent=function(t,e,n){var i=[1/0,-1/0];ZC(n,(function(t){!function(t,e,n){e&&z(F_(e,n),(function(n){var i=e.getApproximateExtent(n);i[0]t[1]&&(t[1]=i[1])}))}(i,t.getData(),e)}));var r=t.getAxisModel(),o=A_(r.axis.scale,r,i).calculate();return[o.min,o.max]}(this,this._dimName,e),this._updateMinMaxSpan();var n=this.calculateDataWindow(t.settledOption);this._valueWindow=n.valueWindow,this._percentWindow=n.percentWindow,this._setAxisModel()}},t.prototype.filterData=function(t,e){if(t===this._dataZoomModel){var n=this._dimName,i=this.getTargetSeriesModels(),r=t.get("filterMode"),o=this._valueWindow;"none"!==r&&ZC(i,(function(t){var e=t.getData(),i=e.mapDimensionsAll(n);if(i.length){if("weakFilter"===r){var a=e.getStore(),s=E(i,(function(t){return e.getDimensionIndex(t)}),e);e.filterSelf((function(t){for(var e,n,r,l=0;lo[1];if(h&&!c&&!p)return!0;h&&(r=!0),c&&(e=!0),p&&(n=!0)}return r&&e&&n}))}else ZC(i,(function(n){if("empty"===r)t.setData(e=e.map(n,(function(t){return function(t){return t>=o[0]&&t<=o[1]}(t)?t:NaN})));else{var i={};i[n]=o,e.selectRange(i)}}));ZC(i,(function(t){e.setApproximateExtent(o,t)}))}}))}},t.prototype._updateMinMaxSpan=function(){var t=this._minMaxSpan={},e=this._dataZoomModel,n=this._dataExtent;ZC(["min","max"],(function(i){var r=e.get(i+"Span"),o=e.get(i+"ValueSpan");null!=o&&(o=this.getAxisModel().axis.scale.parse(o)),null!=o?r=Wr(n[0]+o,n,[0,100],!0):null!=r&&(o=Wr(r,[0,100],n,!0)-n[0]),t[i+"Span"]=r,t[i+"ValueSpan"]=o}),this)},t.prototype._setAxisModel=function(){var t=this.getAxisModel(),e=this._percentWindow,n=this._valueWindow;if(e){var i=jr(n,[0,500]);i=Math.min(i,20);var r=t.axis.scale.rawExtentInfo;0!==e[0]&&r.setDeterminedMinMax("min",+n[0].toFixed(i)),100!==e[1]&&r.setDeterminedMinMax("max",+n[1].toFixed(i)),r.freeze()}},t}();var jC={getTargetSeries:function(t){function e(e){t.eachComponent("dataZoom",(function(n){n.eachTargetAxis((function(i,r){var o=t.getComponent(OC(i),r);e(i,r,o,n)}))}))}e((function(t,e,n,i){n.__dzAxisProxy=null}));var n=[];e((function(e,i,r,o){r.__dzAxisProxy||(r.__dzAxisProxy=new XC(e,i,o,t),n.push(r.__dzAxisProxy))}));var i=gt();return z(n,(function(t){z(t.getTargetSeriesModels(),(function(t){i.set(t.uid,t)}))})),i},overallReset:function(t,e){t.eachComponent("dataZoom",(function(t){t.eachTargetAxis((function(e,n){t.getAxisProxy(e,n).reset(t)})),t.eachTargetAxis((function(n,i){t.getAxisProxy(n,i).filterData(t,e)}))})),t.eachComponent("dataZoom",(function(t){var e=t.findRepresentativeAxisProxy();if(e){var n=e.getDataPercentWindow(),i=e.getDataValueWindow();t.setCalculatedRange({start:n[0],end:n[1],startValue:i[0],endValue:i[1]})}}))}};var qC=!1;function KC(t){qC||(qC=!0,t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER,jC),function(t){t.registerAction("dataZoom",(function(t,e){z(RC(e,t),(function(e){e.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})}))}))}(t),t.registerSubTypeDefaulter("dataZoom",(function(){return"slider"})))}function $C(t){t.registerComponentModel(VC),t.registerComponentView(HC),KC(t)}var QC=function(){},JC={};function tT(t,e){JC[t]=e}function eT(t){return JC[t]}var nT=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.optionUpdated=function(){t.prototype.optionUpdated.apply(this,arguments);var e=this.ecModel;z(this.option.feature,(function(t,n){var i=eT(n);i&&(i.getDefaultOption&&(i.defaultOption=i.getDefaultOption(e)),I(t,i.defaultOption))}))},e.type="toolbox",e.layoutMode={type:"box",ignoreSize:!0},e.defaultOption={show:!0,z:6,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1,position:"bottom"}},e}(pp);function iT(t,e){var n=Yc(e.get("padding")),i=e.getItemStyle(["color","opacity"]);return i.fill=e.get("backgroundColor"),t=new Ds({shape:{x:t.x-n[3],y:t.y-n[0],width:t.width+n[1]+n[3],height:t.height+n[0]+n[2],r:e.get("borderRadius")},style:i,silent:!0,z2:-1})}var rT=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n,i){var r=this.group;if(r.removeAll(),t.get("show")){var o=+t.get("itemSize"),a="vertical"===t.get("orient"),s=t.get("feature")||{},l=this._features||(this._features={}),u=[];z(s,(function(t,e){u.push(e)})),new om(this._featureNames||[],u).add(h).update(h).remove(W(h,null)).execute(),this._featureNames=u,function(t,e,n){var i=e.getBoxLayoutParams(),r=e.get("padding"),o={width:n.getWidth(),height:n.getHeight()},a=op(i,o,r);rp(e.get("orient"),t,e.get("itemGap"),a.width,a.height),ap(t,i,o,r)}(r,t,n),r.add(iT(r.getBoundingRect(),t)),a||r.eachChild((function(t){var e=t.__title,i=t.ensureState("emphasis"),a=i.textConfig||(i.textConfig={}),s=t.getTextContent(),l=s&&s.ensureState("emphasis");if(l&&!U(l)&&e){var u=l.style||(l.style={}),h=gr(e,Ps.makeFont(u)),c=t.x+r.x,p=!1;t.y+r.y+o+h.height>n.getHeight()&&(a.position="top",p=!0);var d=p?-5-h.height:o+10;c+h.width/2>n.getWidth()?(a.position=["100%",d],u.align="right"):c-h.width/2<0&&(a.position=[0,d],u.align="left")}}))}function h(h,c){var p,d=u[h],f=u[c],g=s[d],v=new ic(g,t,t.ecModel);if(i&&null!=i.newTitle&&i.featureName===d&&(g.title=i.newTitle),d&&!f){if(function(t){return 0===t.indexOf("my")}(d))p={onclick:v.option.onclick,featureName:d};else{var y=eT(d);if(!y)return;p=new y}l[d]=p}else if(!(p=l[f]))return;p.uid=oc("toolbox-feature"),p.model=v,p.ecModel=e,p.api=n;var m=p instanceof QC;d||!f?!v.get("show")||m&&p.unusable?m&&p.remove&&p.remove(e,n):(!function(i,s,l){var u,h,c=i.getModel("iconStyle"),p=i.getModel(["emphasis","iconStyle"]),d=s instanceof QC&&s.getIcons?s.getIcons():i.get("icon"),f=i.get("title")||{};Z(d)?(u={})[l]=d:u=d;Z(f)?(h={})[l]=f:h=f;var g=i.iconPaths={};z(u,(function(l,u){var d=Th(l,{},{x:-o/2,y:-o/2,width:o,height:o});d.setStyle(c.getItemStyle()),d.ensureState("emphasis").style=p.getItemStyle();var f=new Ps({style:{text:h[u],align:p.get("textAlign"),borderRadius:p.get("textBorderRadius"),padding:p.get("textPadding"),fill:null,font:Gh({fontStyle:p.get("textFontStyle"),fontFamily:p.get("textFontFamily"),fontSize:p.get("textFontSize"),fontWeight:p.get("textFontWeight")},e)},ignore:!0});d.setTextContent(f),kh({el:d,componentModel:t,itemName:u,formatterParamsExtra:{title:h[u]}}),d.__title=h[u],d.on("mouseover",(function(){var e=p.getItemStyle(),i=a?null==t.get("right")&&"right"!==t.get("left")?"right":"left":null==t.get("bottom")&&"bottom"!==t.get("top")?"bottom":"top";f.setStyle({fill:p.get("textFill")||e.fill||e.stroke||"#000",backgroundColor:p.get("textBackgroundColor")}),d.setTextConfig({position:p.get("textPosition")||i}),f.ignore=!t.get("showTitle"),n.enterEmphasis(this)})).on("mouseout",(function(){"emphasis"!==i.get(["iconStatus",u])&&n.leaveEmphasis(this),f.hide()})),("emphasis"===i.get(["iconStatus",u])?yl:ml)(d),r.add(d),d.on("click",H(s.onclick,s,e,n,u)),g[u]=d}))}(v,p,d),v.setIconStatus=function(t,e){var n=this.option,i=this.iconPaths;n.iconStatus=n.iconStatus||{},n.iconStatus[t]=e,i[t]&&("emphasis"===e?yl:ml)(i[t])},p instanceof QC&&p.render&&p.render(v,e,n,i)):m&&p.dispose&&p.dispose(e,n)}},e.prototype.updateView=function(t,e,n,i){z(this._features,(function(t){t instanceof QC&&t.updateView&&t.updateView(t.model,e,n,i)}))},e.prototype.remove=function(t,e){z(this._features,(function(n){n instanceof QC&&n.remove&&n.remove(t,e)})),this.group.removeAll()},e.prototype.dispose=function(t,e){z(this._features,(function(n){n instanceof QC&&n.dispose&&n.dispose(t,e)}))},e.type="toolbox",e}(Kf);var oT=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.onclick=function(t,e){var n=this.model,i=n.get("name")||t.get("title.0.text")||"echarts",o="svg"===e.getZr().painter.getType(),a=o?"svg":n.get("type",!0)||"png",s=e.getConnectedDataURL({type:a,backgroundColor:n.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",connectedBackgroundColor:n.get("connectedBackgroundColor"),excludeComponents:n.get("excludeComponents"),pixelRatio:n.get("pixelRatio")}),l=r.browser;if("function"!=typeof MouseEvent||!l.newEdge&&(l.ie||l.edge))if(window.navigator.msSaveOrOpenBlob||o){var u=s.split(","),h=u[0].indexOf("base64")>-1,c=o?decodeURIComponent(u[1]):u[1];h&&(c=window.atob(c));var p=i+"."+a;if(window.navigator.msSaveOrOpenBlob){for(var d=c.length,f=new Uint8Array(d);d--;)f[d]=c.charCodeAt(d);var g=new Blob([f]);window.navigator.msSaveOrOpenBlob(g,p)}else{var v=document.createElement("iframe");document.body.appendChild(v);var y=v.contentWindow,m=y.document;m.open("image/svg+xml","replace"),m.write(c),m.close(),y.focus(),m.execCommand("SaveAs",!0,p),document.body.removeChild(v)}}else{var _=n.get("lang"),x='',w=window.open();w.document.write(x),w.document.title=i}else{var b=document.createElement("a");b.download=i+"."+a,b.target="_blank",b.href=s;var S=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});b.dispatchEvent(S)}},e.getDefaultOption=function(t){return{show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:t.getLocaleModel().get(["toolbox","saveAsImage","title"]),type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],lang:t.getLocaleModel().get(["toolbox","saveAsImage","lang"])}},e}(QC),aT="__ec_magicType_stack__",sT=[["line","bar"],["stack"]],lT=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getIcons=function(){var t=this.model,e=t.get("icon"),n={};return z(t.get("type"),(function(t){e[t]&&(n[t]=e[t])})),n},e.getDefaultOption=function(t){return{show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:t.getLocaleModel().get(["toolbox","magicType","title"]),option:{},seriesIndex:{}}},e.prototype.onclick=function(t,e,n){var i=this.model,r=i.get(["seriesIndex",n]);if(uT[n]){var o,a={series:[]};z(sT,(function(t){L(t,n)>=0&&z(t,(function(t){i.setIconStatus(t,"normal")}))})),i.setIconStatus(n,"emphasis"),t.eachComponent({mainType:"series",query:null==r?null:{seriesIndex:r}},(function(t){var e=t.subType,r=t.id,o=uT[n](e,r,t,i);o&&(A(o,t.option),a.series.push(o));var s=t.coordinateSystem;if(s&&"cartesian2d"===s.type&&("line"===n||"bar"===n)){var l=s.getAxesByScale("ordinal")[0];if(l){var u=l.dim+"Axis",h=t.getReferringComponents(u,Po).models[0].componentIndex;a[u]=a[u]||[];for(var c=0;c<=h;c++)a[u][h]=a[u][h]||{};a[u][h].boundaryGap="bar"===n}}}));var s=n;"stack"===n&&(o=I({stack:i.option.title.tiled,tiled:i.option.title.stack},i.option.title),"emphasis"!==i.get(["iconStatus",n])&&(s="tiled")),e.dispatchAction({type:"changeMagicType",currentType:s,newOption:a,newTitle:o,featureName:"magicType"})}},e}(QC),uT={line:function(t,e,n,i){if("bar"===t)return I({id:e,type:"line",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},i.get(["option","line"])||{},!0)},bar:function(t,e,n,i){if("line"===t)return I({id:e,type:"bar",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},i.get(["option","bar"])||{},!0)},stack:function(t,e,n,i){var r=n.get("stack")===aT;if("line"===t||"bar"===t)return i.setIconStatus("stack",r?"normal":"emphasis"),I({id:e,stack:r?"":aT},i.get(["option","stack"])||{},!0)}};Zy({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},(function(t,e){e.mergeOption(t.newOption)}));var hT=new Array(60).join("-"),cT="\t";function pT(t){return t.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}var dT=new RegExp("[\t]+","g");function fT(t,e){var n=t.split(new RegExp("\n*"+hT+"\n*","g")),i={series:[]};return z(n,(function(t,n){if(function(t){if(t.slice(0,t.indexOf("\n")).indexOf(cT)>=0)return!0}(t)){var r=function(t){for(var e=t.split(/\n+/g),n=[],i=E(pT(e.shift()).split(dT),(function(t){return{name:t,data:[]}})),r=0;r6}(t)||o){if(a&&!o){"single"===s.brushMode&&WT(t);var l=T(s);l.brushType=oI(l.brushType,a),l.panelId=a===MT?null:a.panelId,o=t._creatingCover=RT(t,l),t._covers.push(o)}if(o){var u=lI[oI(t._brushType,a)];o.__brushOption.range=u.getCreatingRange(eI(t,o,t._track)),i&&(NT(t,o),u.updateCommon(t,o)),zT(t,o),r={isEnd:i}}}else i&&"single"===s.brushMode&&s.removeOnClick&&FT(t,e,n)&&WT(t)&&(r={isEnd:i,removeOnClick:!0});return r}function oI(t,e){return"auto"===t?e.defaultBrushType:t}var aI={mousedown:function(t){if(this._dragging)sI(this,t);else if(!t.target||!t.target.draggable){nI(t);var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);this._creatingCover=null,(this._creatingPanel=FT(this,t,e))&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(t){var e=t.offsetX,n=t.offsetY,i=this.group.transformCoordToLocal(e,n);if(function(t,e,n){if(t._brushType&&!function(t,e,n){var i=t._zr;return e<0||e>i.getWidth()||n<0||n>i.getHeight()}(t,e.offsetX,e.offsetY)){var i=t._zr,r=t._covers,o=FT(t,e,n);if(!t._dragging)for(var a=0;a=0)&&t(r,i._targetInfoList)}))}return t.prototype.setOutputRanges=function(t,e){return this.matchOutputRanges(t,e,(function(t,e,n){if((t.coordRanges||(t.coordRanges=[])).push(e),!t.coordRange){t.coordRange=e;var i=bI[t.brushType](0,n,e);t.__rangeOffset={offset:MI[t.brushType](i.values,t.range,[1,1]),xyMinMax:i.xyMinMax}}})),t},t.prototype.matchOutputRanges=function(t,e,n){z(t,(function(t){var i=this.findTargetInfo(t,e);i&&!0!==i&&z(i.coordSyses,(function(i){var r=bI[t.brushType](1,i,t.range,!0);n(t,r.values,i,e)}))}),this)},t.prototype.setInputRanges=function(t,e){z(t,(function(t){var n,i,r,o,a,s=this.findTargetInfo(t,e);if(t.range=t.range||[],s&&!0!==s){t.panelId=s.panelId;var l=bI[t.brushType](0,s.coordSys,t.coordRange),u=t.__rangeOffset;t.range=u?MI[t.brushType](l.values,u.offset,(n=l.xyMinMax,i=u.xyMinMax,r=TI(n),o=TI(i),a=[r[0]/o[0],r[1]/o[1]],isNaN(a[0])&&(a[0]=1),isNaN(a[1])&&(a[1]=1),a)):l.values}}),this)},t.prototype.makePanelOpts=function(t,e){return E(this._targetInfoList,(function(n){var i=n.getPanelRect();return{panelId:n.panelId,defaultBrushType:e?e(n):null,clipPath:cI(i),isTargetByCursor:dI(i,t,n.coordSysModel),getLinearBrushOtherExtent:pI(i)}}))},t.prototype.controlSeries=function(t,e,n){var i=this.findTargetInfo(t,n);return!0===i||i&&L(i.coordSyses,e.coordinateSystem)>=0},t.prototype.findTargetInfo=function(t,e){for(var n=this._targetInfoList,i=mI(e,t),r=0;rt[1]&&t.reverse(),t}function mI(t,e){return ko(t,e,{includeMainTypes:gI})}var _I={grid:function(t,e){var n=t.xAxisModels,i=t.yAxisModels,r=t.gridModels,o=gt(),a={},s={};(n||i||r)&&(z(n,(function(t){var e=t.axis.grid.model;o.set(e.id,e),a[e.id]=!0})),z(i,(function(t){var e=t.axis.grid.model;o.set(e.id,e),s[e.id]=!0})),z(r,(function(t){o.set(t.id,t),a[t.id]=!0,s[t.id]=!0})),o.each((function(t){var r=t.coordinateSystem,o=[];z(r.getCartesians(),(function(t,e){(L(n,t.getAxis("x").model)>=0||L(i,t.getAxis("y").model)>=0)&&o.push(t)})),e.push({panelId:"grid--"+t.id,gridModel:t,coordSysModel:t,coordSys:o[0],coordSyses:o,getPanelRect:wI.grid,xAxisDeclared:a[t.id],yAxisDeclared:s[t.id]})})))},geo:function(t,e){z(t.geoModels,(function(t){var n=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:n,coordSyses:[n],getPanelRect:wI.geo})}))}},xI=[function(t,e){var n=t.xAxisModel,i=t.yAxisModel,r=t.gridModel;return!r&&n&&(r=n.axis.grid.model),!r&&i&&(r=i.axis.grid.model),r&&r===e.gridModel},function(t,e){var n=t.geoModel;return n&&n===e.geoModel}],wI={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(_h(t)),e}},bI={lineX:W(SI,0),lineY:W(SI,1),rect:function(t,e,n,i){var r=t?e.pointToData([n[0][0],n[1][0]],i):e.dataToPoint([n[0][0],n[1][0]],i),o=t?e.pointToData([n[0][1],n[1][1]],i):e.dataToPoint([n[0][1],n[1][1]],i),a=[yI([r[0],o[0]]),yI([r[1],o[1]])];return{values:a,xyMinMax:a}},polygon:function(t,e,n,i){var r=[[1/0,-1/0],[1/0,-1/0]];return{values:E(n,(function(n){var o=t?e.pointToData(n,i):e.dataToPoint(n,i);return r[0][0]=Math.min(r[0][0],o[0]),r[1][0]=Math.min(r[1][0],o[1]),r[0][1]=Math.max(r[0][1],o[0]),r[1][1]=Math.max(r[1][1],o[1]),o})),xyMinMax:r}}};function SI(t,e,n,i){var r=n.getAxis(["x","y"][t]),o=yI(E([0,1],(function(t){return e?r.coordToData(r.toLocalCoord(i[t]),!0):r.toGlobalCoord(r.dataToCoord(i[t]))}))),a=[];return a[t]=o,a[1-t]=[NaN,NaN],{values:o,xyMinMax:a}}var MI={lineX:W(CI,0),lineY:W(CI,1),rect:function(t,e,n){return[[t[0][0]-n[0]*e[0][0],t[0][1]-n[0]*e[0][1]],[t[1][0]-n[1]*e[1][0],t[1][1]-n[1]*e[1][1]]]},polygon:function(t,e,n){return E(t,(function(t,i){return[t[0]-n[0]*e[i][0],t[1]-n[1]*e[i][1]]}))}};function CI(t,e,n,i){return[e[0]-i[t]*n[0],e[1]-i[t]*n[1]]}function TI(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}var II,DI,kI=z,AI=fo+"toolbox-dataZoom_",PI=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n,i){this._brushController||(this._brushController=new OT(n.getZr()),this._brushController.on("brush",H(this._onBrush,this)).mount()),function(t,e,n,i,r){var o=n._isZoomActive;i&&"takeGlobalCursor"===i.type&&(o="dataZoomSelect"===i.key&&i.dataZoomSelectActive);n._isZoomActive=o,t.setIconStatus("zoom",o?"emphasis":"normal");var a=new vI(OI(t),e,{include:["grid"]}),s=a.makePanelOpts(r,(function(t){return t.xAxisDeclared&&!t.yAxisDeclared?"lineX":!t.xAxisDeclared&&t.yAxisDeclared?"lineY":"rect"}));n._brushController.setPanels(s).enableBrush(!(!o||!s.length)&&{brushType:"auto",brushStyle:t.getModel("brushStyle").getItemStyle()})}(t,e,this,i,n),function(t,e){t.setIconStatus("back",function(t){return _T(t).length}(e)>1?"emphasis":"normal")}(t,e)},e.prototype.onclick=function(t,e,n){LI[n].call(this)},e.prototype.remove=function(t,e){this._brushController&&this._brushController.unmount()},e.prototype.dispose=function(t,e){this._brushController&&this._brushController.dispose()},e.prototype._onBrush=function(t){var e=t.areas;if(t.isEnd&&e.length){var n={},i=this.ecModel;this._brushController.updateCovers([]),new vI(OI(this.model),i,{include:["grid"]}).matchOutputRanges(e,i,(function(t,e,n){if("cartesian2d"===n.type){var i=t.brushType;"rect"===i?(r("x",n,e[0]),r("y",n,e[1])):r({lineX:"x",lineY:"y"}[i],n,e)}})),function(t,e){var n=_T(t);yT(e,(function(e,i){for(var r=n.length-1;r>=0&&!n[r][i];r--);if(r<0){var o=t.queryComponents({mainType:"dataZoom",subType:"select",id:i})[0];if(o){var a=o.getPercentRange();n[0][i]={dataZoomId:i,start:a[0],end:a[1]}}}})),n.push(e)}(i,n),this._dispatchZoomAction(n)}function r(t,e,r){var o=e.getAxis(t),a=o.model,s=function(t,e,n){var i;return n.eachComponent({mainType:"dataZoom",subType:"select"},(function(n){n.getAxisModel(t,e.componentIndex)&&(i=n)})),i}(t,a,i),l=s.findRepresentativeAxisProxy(a).getMinMaxSpan();null==l.minValueSpan&&null==l.maxValueSpan||(r=WC(0,r.slice(),o.scale.getExtent(),0,l.minValueSpan,l.maxValueSpan)),s&&(n[s.id]={dataZoomId:s.id,startValue:r[0],endValue:r[1]})}},e.prototype._dispatchZoomAction=function(t){var e=[];kI(t,(function(t,n){e.push(T(t))})),e.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:e})},e.getDefaultOption=function(t){return{show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:t.getLocaleModel().get(["toolbox","dataZoom","title"]),brushStyle:{borderWidth:0,color:"rgba(210,219,238,0.2)"}}},e}(QC),LI={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(function(t){var e=_T(t),n=e[e.length-1];e.length>1&&e.pop();var i={};return yT(n,(function(t,n){for(var r=e.length-1;r>=0;r--)if(t=e[r][n]){i[n]=t;break}})),i}(this.ecModel))}};function OI(t){var e={xAxisIndex:t.get("xAxisIndex",!0),yAxisIndex:t.get("yAxisIndex",!0),xAxisId:t.get("xAxisId",!0),yAxisId:t.get("yAxisId",!0)};return null==e.xAxisIndex&&null==e.xAxisId&&(e.xAxisIndex="all"),null==e.yAxisIndex&&null==e.yAxisId&&(e.yAxisIndex="all"),e}II="dataZoom",DI=function(t){var e=t.getComponent("toolbox",0),n=["feature","dataZoom"];if(e&&null!=e.get(n)){var i=e.getModel(n),r=[],o=ko(t,OI(i));return kI(o.xAxisModels,(function(t){return a(t,"xAxis","xAxisIndex")})),kI(o.yAxisModels,(function(t){return a(t,"yAxis","yAxisIndex")})),r}function a(t,e,n){var o=t.componentIndex,a={type:"select",$fromToolbox:!0,filterMode:i.get("filterMode",!0)||"filter",id:AI+e+o};a[n]=o,r.push(a)}},st(null==Rp.get(II)&&DI),Rp.set(II,DI);var RI=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="tooltip",e.dependencies=["axisPointer"],e.defaultOption={z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"#fff",shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#666",fontSize:14}},e}(pp);function NI(t){var e=t.get("confine");return null!=e?!!e:"richText"===t.get("renderMode")}function zI(t){if(r.domSupported)for(var e=document.documentElement.style,n=0,i=t.length;n-1?(u+="top:50%",h+="translateY(-50%) rotate("+(a="left"===s?-225:-45)+"deg)"):(u+="left:50%",h+="translateX(-50%) rotate("+(a="top"===s?225:45)+"deg)");var c=a*Math.PI/180,p=l+r,d=p*Math.abs(Math.cos(c))+p*Math.abs(Math.sin(c)),f=e+" solid "+r+"px;";return'
    '}(n,i,r)),Z(t))o.innerHTML=t+a;else if(t){o.innerHTML="",G(t)||(t=[t]);for(var s=0;s=0?this._tryShow(n,i):"leave"===e&&this._hide(i))}),this))},e.prototype._keepShow=function(){var t=this._tooltipModel,e=this._ecModel,n=this._api,i=t.get("triggerOn");if(null!=this._lastX&&null!=this._lastY&&"none"!==i&&"click"!==i){var r=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout((function(){!n.isDisposed()&&r.manuallyShowTip(t,e,n,{x:r._lastX,y:r._lastY,dataByCoordSys:r._lastDataByCoordSys})}))}},e.prototype.manuallyShowTip=function(t,e,n,i){if(i.from!==this.uid&&!r.node&&n.getDom()){var o=JI(i,n);this._ticket="";var a=i.dataByCoordSys,s=function(t,e,n){var i=Ao(t).queryOptionMap,r=i.keys()[0];if(!r||"series"===r)return;var o=Oo(e,r,i.get(r),{useDefault:!1,enableAll:!1,enableNone:!1}),a=o.models[0];if(!a)return;var s,l=n.getViewOfComponentModel(a);if(l.group.traverse((function(e){var n=Us(e).tooltipConfig;if(n&&n.name===t.name)return s=e,!0})),s)return{componentMainType:r,componentIndex:a.componentIndex,el:s}}(i,e,n);if(s){var l=s.el.getBoundingRect().clone();l.applyTransform(s.el.transform),this._tryShow({offsetX:l.x+l.width/2,offsetY:l.y+l.height/2,target:s.el,position:i.position,positionDefault:"bottom"},o)}else if(i.tooltip&&null!=i.x&&null!=i.y){var u=KI;u.x=i.x,u.y=i.y,u.update(),Us(u).tooltipConfig={name:null,option:i.tooltip},this._tryShow({offsetX:i.x,offsetY:i.y,target:u},o)}else if(a)this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,dataByCoordSys:a,tooltipOption:i.tooltipOption},o);else if(null!=i.seriesIndex){if(this._manuallyAxisShowTip(t,e,n,i))return;var h=YM(i,e),c=h.point[0],p=h.point[1];null!=c&&null!=p&&this._tryShow({offsetX:c,offsetY:p,target:h.el,position:i.position,positionDefault:"bottom"},o)}else null!=i.x&&null!=i.y&&(n.dispatchAction({type:"updateAxisPointer",x:i.x,y:i.y}),this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,target:n.getZr().findHover(i.x,i.y).target},o))}},e.prototype.manuallyHideTip=function(t,e,n,i){var r=this._tooltipContent;this._tooltipModel&&r.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=this._lastDataByCoordSys=null,i.from!==this.uid&&this._hide(JI(i,n))},e.prototype._manuallyAxisShowTip=function(t,e,n,i){var r=i.seriesIndex,o=i.dataIndex,a=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=r&&null!=o&&null!=a){var s=e.getSeriesByIndex(r);if(s)if("axis"===QI([s.getData().getItemModel(o),s,(s.coordinateSystem||{}).model],this._tooltipModel).get("trigger"))return n.dispatchAction({type:"updateAxisPointer",seriesIndex:r,dataIndex:o,position:i.position}),!0}},e.prototype._tryShow=function(t,e){var n=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var i=t.dataByCoordSys;if(i&&i.length)this._showAxisTooltip(i,t);else if(n){var r,o;if("legend"===Us(n).ssrType)return;this._lastDataByCoordSys=null,$g(n,(function(t){return null!=Us(t).dataIndex?(r=t,!0):null!=Us(t).tooltipConfig?(o=t,!0):void 0}),!0),r?this._showSeriesItemTooltip(t,r,e):o?this._showComponentItemTooltip(t,o,e):this._hide(e)}else this._lastDataByCoordSys=null,this._hide(e)}},e.prototype._showOrMove=function(t,e){var n=t.get("showDelay");e=H(e,this),clearTimeout(this._showTimout),n>0?this._showTimout=setTimeout(e,n):e()},e.prototype._showAxisTooltip=function(t,e){var n=this._ecModel,i=this._tooltipModel,r=[e.offsetX,e.offsetY],o=QI([e.tooltipOption],i),a=this._renderMode,s=[],l=Df("section",{blocks:[],noHeader:!0}),u=[],h=new Bf;z(t,(function(t){z(t.dataByAxis,(function(t){var e=n.getComponent(t.axisDim+"Axis",t.axisIndex),r=t.value;if(e&&null!=r){var o=LM(r,e.axis,n,t.seriesDataIndices,t.valueLabelOpt),c=Df("section",{header:o,noHeader:!lt(o),sortBlocks:!0,blocks:[]});l.blocks.push(c),z(t.seriesDataIndices,(function(l){var p=n.getSeriesByIndex(l.seriesIndex),d=l.dataIndexInside,f=p.getDataParams(d);if(!(f.dataIndex<0)){f.axisDim=t.axisDim,f.axisIndex=t.axisIndex,f.axisType=t.axisType,f.axisId=t.axisId,f.axisValue=z_(e.axis,{value:r}),f.axisValueLabel=o,f.marker=h.makeTooltipMarker("item",Qc(f.color),a);var g=qd(p.formatTooltip(d,!0,null)),v=g.frag;if(v){var y=QI([p],i).get("valueFormatter");c.blocks.push(y?k({valueFormatter:y},v):v)}g.text&&u.push(g.text),s.push(f)}}))}}))})),l.blocks.reverse(),u.reverse();var c=e.position,p=o.get("order"),d=Rf(l,h,a,p,n.get("useUTC"),o.get("textStyle"));d&&u.unshift(d);var f="richText"===a?"\n\n":"
    ",g=u.join(f);this._showOrMove(o,(function(){this._updateContentNotChangedOnAxis(t,s)?this._updatePosition(o,c,r[0],r[1],this._tooltipContent,s):this._showTooltipContent(o,g,s,Math.random()+"",r[0],r[1],c,null,h)}))},e.prototype._showSeriesItemTooltip=function(t,e,n){var i=this._ecModel,r=Us(e),o=r.seriesIndex,a=i.getSeriesByIndex(o),s=r.dataModel||a,l=r.dataIndex,u=r.dataType,h=s.getData(u),c=this._renderMode,p=t.positionDefault,d=QI([h.getItemModel(l),s,a&&(a.coordinateSystem||{}).model],this._tooltipModel,p?{position:p}:null),f=d.get("trigger");if(null==f||"item"===f){var g=s.getDataParams(l,u),v=new Bf;g.marker=v.makeTooltipMarker("item",Qc(g.color),c);var y=qd(s.formatTooltip(l,!1,u)),m=d.get("order"),_=d.get("valueFormatter"),x=y.frag,w=x?Rf(_?k({valueFormatter:_},x):x,v,c,m,i.get("useUTC"),d.get("textStyle")):y.text,b="item_"+s.name+"_"+l;this._showOrMove(d,(function(){this._showTooltipContent(d,w,g,b,t.offsetX,t.offsetY,t.position,t.target,v)})),n({type:"showTip",dataIndexInside:l,dataIndex:h.getRawIndex(l),seriesIndex:o,from:this.uid})}},e.prototype._showComponentItemTooltip=function(t,e,n){var i="html"===this._renderMode,r=Us(e),o=r.tooltipConfig.option||{},a=o.encodeHTMLContent;if(Z(o)){o={content:o,formatter:o},a=!0}a&&i&&o.content&&((o=T(o)).content=te(o.content));var s=[o],l=this._ecModel.getComponent(r.componentMainType,r.componentIndex);l&&s.push(l),s.push({formatter:o.content});var u=t.positionDefault,h=QI(s,this._tooltipModel,u?{position:u}:null),c=h.get("content"),p=Math.random()+"",d=new Bf;this._showOrMove(h,(function(){var n=T(h.get("formatterParams")||{});this._showTooltipContent(h,c,n,p,t.offsetX,t.offsetY,t.position,e,d)})),n({type:"showTip",from:this.uid})},e.prototype._showTooltipContent=function(t,e,n,i,r,o,a,s,l){if(this._ticket="",t.get("showContent")&&t.get("show")){var u=this._tooltipContent;u.setEnterable(t.get("enterable"));var h=t.get("formatter");a=a||t.get("position");var c=e,p=this._getNearestPoint([r,o],n,t.get("trigger"),t.get("borderColor")).color;if(h)if(Z(h)){var d=t.ecModel.get("useUTC"),f=G(n)?n[0]:n;c=h,f&&f.axisType&&f.axisType.indexOf("time")>=0&&(c=Ic(f.axisValue,c,d)),c=Kc(c,n,!0)}else if(U(h)){var g=H((function(e,i){e===this._ticket&&(u.setContent(i,l,t,p,a),this._updatePosition(t,a,r,o,u,n,s))}),this);this._ticket=i,c=h(n,i,g)}else c=h;u.setContent(c,l,t,p,a),u.show(t,p),this._updatePosition(t,a,r,o,u,n,s)}},e.prototype._getNearestPoint=function(t,e,n,i){return"axis"===n||G(e)?{color:i||("html"===this._renderMode?"#fff":"none")}:G(e)?void 0:{color:i||e.color||e.borderColor}},e.prototype._updatePosition=function(t,e,n,i,r,o,a){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get("position");var u=r.getSize(),h=t.get("align"),c=t.get("verticalAlign"),p=a&&a.getBoundingRect().clone();if(a&&p.applyTransform(a.transform),U(e)&&(e=e([n,i],o,r.el,p,{viewSize:[s,l],contentSize:u.slice()})),G(e))n=Gr(e[0],s),i=Gr(e[1],l);else if(j(e)){var d=e;d.width=u[0],d.height=u[1];var f=op(d,{width:s,height:l});n=f.x,i=f.y,h=null,c=null}else if(Z(e)&&a){var g=function(t,e,n,i){var r=n[0],o=n[1],a=Math.ceil(Math.SQRT2*i)+8,s=0,l=0,u=e.width,h=e.height;switch(t){case"inside":s=e.x+u/2-r/2,l=e.y+h/2-o/2;break;case"top":s=e.x+u/2-r/2,l=e.y-o-a;break;case"bottom":s=e.x+u/2-r/2,l=e.y+h+a;break;case"left":s=e.x-r-a,l=e.y+h/2-o/2;break;case"right":s=e.x+u+a,l=e.y+h/2-o/2}return[s,l]}(e,p,u,t.get("borderWidth"));n=g[0],i=g[1]}else{g=function(t,e,n,i,r,o,a){var s=n.getSize(),l=s[0],u=s[1];null!=o&&(t+l+o+2>i?t-=l+o:t+=o);null!=a&&(e+u+a>r?e-=u+a:e+=a);return[t,e]}(n,i,r,s,l,h?null:20,c?null:20);n=g[0],i=g[1]}if(h&&(n-=tD(h)?u[0]/2:"right"===h?u[0]:0),c&&(i-=tD(c)?u[1]/2:"bottom"===c?u[1]:0),NI(t)){g=function(t,e,n,i,r){var o=n.getSize(),a=o[0],s=o[1];return t=Math.min(t+a,i)-a,e=Math.min(e+s,r)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}(n,i,r,s,l);n=g[0],i=g[1]}r.moveTo(n,i)},e.prototype._updateContentNotChangedOnAxis=function(t,e){var n=this._lastDataByCoordSys,i=this._cbParamsList,r=!!n&&n.length===t.length;return r&&z(n,(function(n,o){var a=n.dataByAxis||[],s=(t[o]||{}).dataByAxis||[];(r=r&&a.length===s.length)&&z(a,(function(t,n){var o=s[n]||{},a=t.seriesDataIndices||[],l=o.seriesDataIndices||[];(r=r&&t.value===o.value&&t.axisType===o.axisType&&t.axisId===o.axisId&&a.length===l.length)&&z(a,(function(t,e){var n=l[e];r=r&&t.seriesIndex===n.seriesIndex&&t.dataIndex===n.dataIndex})),i&&z(t.seriesDataIndices,(function(t){var n=t.seriesIndex,o=e[n],a=i[n];o&&a&&a.data!==o.data&&(r=!1)}))}))})),this._lastDataByCoordSys=t,this._cbParamsList=e,!!r},e.prototype._hide=function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},e.prototype.dispose=function(t,e){!r.node&&e.getDom()&&(cg(this,"_updatePosition"),this._tooltipContent.dispose(),UM("itemTooltip",e))},e.type="tooltip",e}(Kf);function QI(t,e,n){var i,r=e.ecModel;n?(i=new ic(n,r,r),i=new ic(e.option,i,r)):i=e;for(var o=t.length-1;o>=0;o--){var a=t[o];a&&(a instanceof ic&&(a=a.get("tooltip",!0)),Z(a)&&(a={formatter:a}),a&&(i=new ic(a,i,r)))}return i}function JI(t,e){return t.dispatchAction||H(e.dispatchAction,e)}function tD(t){return"center"===t||"middle"===t}var eD=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.layoutMode={type:"box",ignoreSize:!0},n}return n(e,t),e.type="title",e.defaultOption={z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}},e}(pp),nD=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){if(this.group.removeAll(),t.get("show")){var i=this.group,r=t.getModel("textStyle"),o=t.getModel("subtextStyle"),a=t.get("textAlign"),s=it(t.get("textBaseline"),t.get("textVerticalAlign")),l=new Ps({style:Eh(r,{text:t.get("text"),fill:r.getTextColor()},{disableBox:!0}),z2:10}),u=l.getBoundingRect(),h=t.get("subtext"),c=new Ps({style:Eh(o,{text:h,fill:o.getTextColor(),y:u.height+t.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),p=t.get("link"),d=t.get("sublink"),f=t.get("triggerEvent",!0);l.silent=!p&&!f,c.silent=!d&&!f,p&&l.on("click",(function(){Jc(p,"_"+t.get("target"))})),d&&c.on("click",(function(){Jc(d,"_"+t.get("subtarget"))})),Us(l).eventData=Us(c).eventData=f?{componentType:"title",componentIndex:t.componentIndex}:null,i.add(l),h&&i.add(c);var g=i.getBoundingRect(),v=t.getBoxLayoutParams();v.width=g.width,v.height=g.height;var y=op(v,{width:n.getWidth(),height:n.getHeight()},t.get("padding"));a||("middle"===(a=t.get("left")||t.get("right"))&&(a="center"),"right"===a?y.x+=y.width:"center"===a&&(y.x+=y.width/2)),s||("center"===(s=t.get("top")||t.get("bottom"))&&(s="middle"),"bottom"===s?y.y+=y.height:"middle"===s&&(y.y+=y.height/2),s=s||"top"),i.x=y.x,i.y=y.y,i.markRedraw();var m={align:a,verticalAlign:s};l.setStyle(m),c.setStyle(m),g=i.getBoundingRect();var _=y.margin,x=t.getItemStyle(["color","opacity"]);x.fill=t.get("backgroundColor");var w=new Ds({shape:{x:g.x-_[3],y:g.y-_[0],width:g.width+_[1]+_[3],height:g.height+_[0]+_[2],r:t.get("borderRadius")},style:x,subPixelOptimize:!0,silent:!0});i.add(w)}},e.type="title",e}(Kf);function iD(t,e){if(!t)return!1;for(var n=G(t)?t:[t],i=0;i=0&&(a[o]=+a[o].toFixed(c)),[a,h]}var hD={min:W(uD,"min"),max:W(uD,"max"),average:W(uD,"average"),median:W(uD,"median")};function cD(t,e){if(e){var n=t.getData(),i=t.coordinateSystem,r=i&&i.dimensions;if(!function(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}(e)&&!G(e.coord)&&G(r)){var o=pD(e,n,i,t);if((e=T(e)).type&&hD[e.type]&&o.baseAxis&&o.valueAxis){var a=L(r,o.baseAxis.dim),s=L(r,o.valueAxis.dim),l=hD[e.type](n,o.baseDataDim,o.valueDataDim,a,s);e.coord=l[0],e.value=l[1]}else e.coord=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis]}if(null!=e.coord&&G(r))for(var u=e.coord,h=0;h<2;h++)hD[u[h]]&&(u[h]=gD(n,n.mapDimension(r[h]),u[h]));else e.coord=[];return e}}function pD(t,e,n,i){var r={};return null!=t.valueIndex||null!=t.valueDim?(r.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,r.valueAxis=n.getAxis(function(t,e){var n=t.getData().getDimensionInfo(e);return n&&n.coordDim}(i,r.valueDataDim)),r.baseAxis=n.getOtherAxis(r.valueAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim)):(r.baseAxis=i.getBaseAxis(),r.valueAxis=n.getOtherAxis(r.baseAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim),r.valueDataDim=e.mapDimension(r.valueAxis.dim)),r}function dD(t,e){return!(t&&t.containData&&e.coord&&!lD(e))||t.containData(e.coord)}function fD(t,e){return t?function(t,n,i,r){return Jd(r<2?t.coord&&t.coord[r]:t.value,e[r])}:function(t,n,i,r){return Jd(t.value,e[r])}}function gD(t,e,n){if("average"===n){var i=0,r=0;return t.each(e,(function(t,e){isNaN(t)||(i+=t,r++)})),i/r}return"median"===n?t.getMedian(e):t.getDataExtent(e)["max"===n?1:0]}var vD=Io(),yD=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(){this.markerGroupMap=gt()},e.prototype.render=function(t,e,n){var i=this,r=this.markerGroupMap;r.each((function(t){vD(t).keep=!1})),e.eachSeries((function(t){var r=aD.getMarkerModelFromSeries(t,i.type);r&&i.renderSeries(t,r,e,n)})),r.each((function(t){!vD(t).keep&&i.group.remove(t.group)}))},e.prototype.markKeep=function(t){vD(t).keep=!0},e.prototype.toggleBlurSeries=function(t,e){var n=this;z(t,(function(t){var i=aD.getMarkerModelFromSeries(t,n.type);i&&i.getData().eachItemGraphicEl((function(t){t&&(e?_l(t):xl(t))}))}))},e.type="marker",e}(Kf);function mD(t,e,n){var i=e.coordinateSystem;t.each((function(r){var o,a=t.getItemModel(r),s=Gr(a.get("x"),n.getWidth()),l=Gr(a.get("y"),n.getHeight());if(isNaN(s)||isNaN(l)){if(e.getMarkerPosition)o=e.getMarkerPosition(t.getValues(t.dimensions,r));else if(i){var u=t.get(i.dimensions[0],r),h=t.get(i.dimensions[1],r);o=i.dataToPoint([u,h])}}else o=[s,l];isNaN(s)||(o[0]=s),isNaN(l)||(o[1]=l),t.setItemLayout(r,o)}))}var _D=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=aD.getMarkerModelFromSeries(t,"markPoint");e&&(mD(e.getData(),t,n),this.markerGroupMap.get(t.id).updateLayout())}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,new sb),u=function(t,e,n){var i;i=t?E(t&&t.dimensions,(function(t){return k(k({},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{}),{name:t,ordinalMeta:null})})):[{name:"value",type:"float"}];var r=new Dm(i,n),o=E(n.get("data"),W(cD,e));t&&(o=V(o,W(dD,t)));var a=fD(!!t,i);return r.initData(o,null,a),r}(r,t,e);e.setData(u),mD(e.getData(),t,i),u.each((function(t){var n=u.getItemModel(t),i=n.getShallow("symbol"),r=n.getShallow("symbolSize"),o=n.getShallow("symbolRotate"),s=n.getShallow("symbolOffset"),l=n.getShallow("symbolKeepAspect");if(U(i)||U(r)||U(o)||U(s)){var h=e.getRawValue(t),c=e.getDataParams(t);U(i)&&(i=i(h,c)),U(r)&&(r=r(h,c)),U(o)&&(o=o(h,c)),U(s)&&(s=s(h,c))}var p=n.getModel("itemStyle").getItemStyle(),d=qg(a,"color");p.fill||(p.fill=d),u.setItemVisual(t,{symbol:i,symbolSize:r,symbolRotate:o,symbolOffset:s,symbolKeepAspect:l,style:p})})),l.updateData(u),this.group.add(l.group),u.eachItemGraphicEl((function(t){t.traverse((function(t){Us(t).dataModel=e}))})),this.markKeep(l),l.group.silent=e.get("silent")||t.get("silent")},e.type="markPoint",e}(yD);var xD=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.createMarkerModelFromSeries=function(t,n,i){return new e(t,n,i)},e.type="markLine",e.defaultOption={z:5,symbol:["circle","arrow"],symbolSize:[8,16],symbolOffset:0,precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"},e}(aD),wD=Au.prototype,bD=Ru.prototype,SD=function(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.percent=1};!function(t){function e(){return null!==t&&t.apply(this,arguments)||this}n(e,t)}(SD);function MD(t){return isNaN(+t.cpx1)||isNaN(+t.cpy1)}var CD=function(t){function e(e){var n=t.call(this,e)||this;return n.type="ec-line",n}return n(e,t),e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new SD},e.prototype.buildPath=function(t,e){MD(e)?wD.buildPath.call(this,t,e):bD.buildPath.call(this,t,e)},e.prototype.pointAt=function(t){return MD(this.shape)?wD.pointAt.call(this,t):bD.pointAt.call(this,t)},e.prototype.tangentAt=function(t){var e=this.shape,n=MD(e)?[e.x2-e.x1,e.y2-e.y1]:bD.tangentAt.call(this,t);return Lt(n,n)},e}(vs),TD=["fromSymbol","toSymbol"];function ID(t){return"_"+t+"Type"}function DD(t,e,n){var i=e.getItemVisual(n,t);if(!i||"none"===i)return i;var r=e.getItemVisual(n,t+"Size"),o=e.getItemVisual(n,t+"Rotate"),a=e.getItemVisual(n,t+"Offset"),s=e.getItemVisual(n,t+"KeepAspect"),l=hv(r);return i+l+cv(a||0,l)+(o||"")+(s||"")}function kD(t,e,n){var i=e.getItemVisual(n,t);if(i&&"none"!==i){var r=e.getItemVisual(n,t+"Size"),o=e.getItemVisual(n,t+"Rotate"),a=e.getItemVisual(n,t+"Offset"),s=e.getItemVisual(n,t+"KeepAspect"),l=hv(r),u=cv(a||0,l),h=uv(i,-l[0]/2+u[0],-l[1]/2+u[1],l[0],l[1],null,s);return h.__specifiedRotation=null==o||isNaN(o)?void 0:+o*Math.PI/180||0,h.name=t,h}}function AD(t,e){t.x1=e[0][0],t.y1=e[0][1],t.x2=e[1][0],t.y2=e[1][1],t.percent=1;var n=e[2];n?(t.cpx1=n[0],t.cpy1=n[1]):(t.cpx1=NaN,t.cpy1=NaN)}var PD=function(t){function e(e,n,i){var r=t.call(this)||this;return r._createLine(e,n,i),r}return n(e,t),e.prototype._createLine=function(t,e,n){var i=t.hostModel,r=function(t){var e=new CD({name:"line",subPixelOptimize:!0});return AD(e.shape,t),e}(t.getItemLayout(e));r.shape.percent=0,Qu(r,{shape:{percent:1}},i,e),this.add(r),z(TD,(function(n){var i=kD(n,t,e);this.add(i),this[ID(n)]=DD(n,t,e)}),this),this._updateCommonStl(t,e,n)},e.prototype.updateData=function(t,e,n){var i=t.hostModel,r=this.childOfName("line"),o=t.getItemLayout(e),a={shape:{}};AD(a.shape,o),$u(r,a,i,e),z(TD,(function(n){var i=DD(n,t,e),r=ID(n);if(this[r]!==i){this.remove(this.childOfName(n));var o=kD(n,t,e);this.add(o)}this[r]=i}),this),this._updateCommonStl(t,e,n)},e.prototype.getLinePath=function(){return this.childAt(0)},e.prototype._updateCommonStl=function(t,e,n){var i=t.hostModel,r=this.childOfName("line"),o=n&&n.emphasisLineStyle,a=n&&n.blurLineStyle,s=n&&n.selectLineStyle,l=n&&n.labelStatesModels,u=n&&n.emphasisDisabled,h=n&&n.focus,c=n&&n.blurScope;if(!n||t.hasItemOption){var p=t.getItemModel(e),d=p.getModel("emphasis");o=d.getModel("lineStyle").getLineStyle(),a=p.getModel(["blur","lineStyle"]).getLineStyle(),s=p.getModel(["select","lineStyle"]).getLineStyle(),u=d.get("disabled"),h=d.get("focus"),c=d.get("blurScope"),l=zh(p)}var f=t.getItemVisual(e,"style"),g=f.stroke;r.useStyle(f),r.style.fill=null,r.style.strokeNoScale=!0,r.ensureState("emphasis").style=o,r.ensureState("blur").style=a,r.ensureState("select").style=s,z(TD,(function(t){var e=this.childOfName(t);if(e){e.setColor(g),e.style.opacity=f.opacity;for(var n=0;n0&&(m[0]=-m[0],m[1]=-m[1]);var x=y[0]<0?-1:1;if("start"!==i.__position&&"end"!==i.__position){var w=-Math.atan2(y[1],y[0]);u[0].8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";break;case"start":i.x=-h[0]*f+l[0],i.y=-h[1]*g+l[1],c=h[0]>.8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":i.x=f*x+l[0],i.y=l[1]+b,c=y[0]<0?"right":"left",i.originX=-f*x,i.originY=-b;break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":i.x=_[0],i.y=_[1]+b,c="center",i.originY=-b;break;case"insideEndTop":case"insideEnd":case"insideEndBottom":i.x=-f*x+u[0],i.y=u[1]+b,c=y[0]>=0?"right":"left",i.originX=f*x,i.originY=-b}i.scaleX=i.scaleY=r,i.setStyle({verticalAlign:i.__verticalAlign||p,align:i.__align||c})}}}function S(t,e){var n=t.__specifiedRotation;if(null==n){var i=a.tangentAt(e);t.attr("rotation",(1===e?-1:1)*Math.PI/2-Math.atan2(i[1],i[0]))}else t.attr("rotation",n)}},e}(Pr),LD=function(){function t(t){this.group=new Pr,this._LineCtor=t||PD}return t.prototype.updateData=function(t){var e=this;this._progressiveEls=null;var n=this,i=n.group,r=n._lineData;n._lineData=t,r||i.removeAll();var o=OD(t);t.diff(r).add((function(n){e._doAdd(t,n,o)})).update((function(n,i){e._doUpdate(r,t,i,n,o)})).remove((function(t){i.remove(r.getItemGraphicEl(t))})).execute()},t.prototype.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl((function(e,n){e.updateLayout(t,n)}),this)},t.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=OD(t),this._lineData=null,this.group.removeAll()},t.prototype.incrementalUpdate=function(t,e){function n(t){t.isGroup||function(t){return t.animators&&t.animators.length>0}(t)||(t.incremental=!0,t.ensureState("emphasis").hoverLayer=!0)}this._progressiveEls=[];for(var i=t.start;i=0&&X(l)&&(l=+l.toFixed(Math.min(f,20))),p.coord[h]=d.coord[h]=l,r=[p,d,{type:a,valueIndex:i.valueIndex,value:l}]}else r=[]}var g=[cD(t,r[0]),cD(t,r[1]),k({},r[2])];return g[2].type=g[2].type||null,I(g[2],g[0]),I(g[2],g[1]),g};function BD(t){return!isNaN(t)&&!isFinite(t)}function VD(t,e,n,i){var r=1-t,o=i.dimensions[t];return BD(e[r])&&BD(n[r])&&e[t]===n[t]&&i.getAxis(o).containData(e[t])}function FD(t,e){if("cartesian2d"===t.type){var n=e[0].coord,i=e[1].coord;if(n&&i&&(VD(1,n,i,t)||VD(0,n,i,t)))return!0}return dD(t,e[0])&&dD(t,e[1])}function HD(t,e,n,i,r){var o,a=i.coordinateSystem,s=t.getItemModel(e),l=Gr(s.get("x"),r.getWidth()),u=Gr(s.get("y"),r.getHeight());if(isNaN(l)||isNaN(u)){if(i.getMarkerPosition)o=i.getMarkerPosition(t.getValues(t.dimensions,e));else{var h=a.dimensions,c=t.get(h[0],e),p=t.get(h[1],e);o=a.dataToPoint([c,p])}if(xb(a,"cartesian2d")){var d=a.getAxis("x"),f=a.getAxis("y");h=a.dimensions;BD(t.get(h[0],e))?o[0]=d.toGlobalCoord(d.getExtent()[n?0:1]):BD(t.get(h[1],e))&&(o[1]=f.toGlobalCoord(f.getExtent()[n?0:1]))}isNaN(l)||(o[0]=l),isNaN(u)||(o[1]=u)}else o=[l,u];t.setItemLayout(e,o)}var WD=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=aD.getMarkerModelFromSeries(t,"markLine");if(e){var i=e.getData(),r=zD(e).from,o=zD(e).to;r.each((function(e){HD(r,e,!0,t,n),HD(o,e,!1,t,n)})),i.each((function(t){i.setItemLayout(t,[r.getItemLayout(t),o.getItemLayout(t)])})),this.markerGroupMap.get(t.id).updateLayout()}}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,new LD);this.group.add(l.group);var u=function(t,e,n){var i;i=t?E(t&&t.dimensions,(function(t){return k(k({},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{}),{name:t,ordinalMeta:null})})):[{name:"value",type:"float"}];var r=new Dm(i,n),o=new Dm(i,n),a=new Dm([],n),s=E(n.get("data"),W(ED,e,t,n));t&&(s=V(s,W(FD,t)));var l=fD(!!t,i);return r.initData(E(s,(function(t){return t[0]})),null,l),o.initData(E(s,(function(t){return t[1]})),null,l),a.initData(E(s,(function(t){return t[2]}))),a.hasItemOption=!0,{from:r,to:o,line:a}}(r,t,e),h=u.from,c=u.to,p=u.line;zD(e).from=h,zD(e).to=c,e.setData(p);var d=e.get("symbol"),f=e.get("symbolSize"),g=e.get("symbolRotate"),v=e.get("symbolOffset");function y(e,n,r){var o=e.getItemModel(n);HD(e,n,r,t,i);var s=o.getModel("itemStyle").getItemStyle();null==s.fill&&(s.fill=qg(a,"color")),e.setItemVisual(n,{symbolKeepAspect:o.get("symbolKeepAspect"),symbolOffset:it(o.get("symbolOffset",!0),v[r?0:1]),symbolRotate:it(o.get("symbolRotate",!0),g[r?0:1]),symbolSize:it(o.get("symbolSize"),f[r?0:1]),symbol:it(o.get("symbol",!0),d[r?0:1]),style:s})}G(d)||(d=[d,d]),G(f)||(f=[f,f]),G(g)||(g=[g,g]),G(v)||(v=[v,v]),u.from.each((function(t){y(h,t,!0),y(c,t,!1)})),p.each((function(t){var e=p.getItemModel(t).getModel("lineStyle").getLineStyle();p.setItemLayout(t,[h.getItemLayout(t),c.getItemLayout(t)]),null==e.stroke&&(e.stroke=h.getItemVisual(t,"style").fill),p.setItemVisual(t,{fromSymbolKeepAspect:h.getItemVisual(t,"symbolKeepAspect"),fromSymbolOffset:h.getItemVisual(t,"symbolOffset"),fromSymbolRotate:h.getItemVisual(t,"symbolRotate"),fromSymbolSize:h.getItemVisual(t,"symbolSize"),fromSymbol:h.getItemVisual(t,"symbol"),toSymbolKeepAspect:c.getItemVisual(t,"symbolKeepAspect"),toSymbolOffset:c.getItemVisual(t,"symbolOffset"),toSymbolRotate:c.getItemVisual(t,"symbolRotate"),toSymbolSize:c.getItemVisual(t,"symbolSize"),toSymbol:c.getItemVisual(t,"symbol"),style:e})})),l.updateData(p),u.line.eachItemGraphicEl((function(t){Us(t).dataModel=e,t.traverse((function(t){Us(t).dataModel=e}))})),this.markKeep(l),l.group.silent=e.get("silent")||t.get("silent")},e.type="markLine",e}(yD);var GD=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.createMarkerModelFromSeries=function(t,n,i){return new e(t,n,i)},e.type="markArea",e.defaultOption={z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}},e}(aD),UD=Io(),ZD=function(t,e,n,i){var r=i[0],o=i[1];if(r&&o){var a=cD(t,r),s=cD(t,o),l=a.coord,u=s.coord;l[0]=nt(l[0],-1/0),l[1]=nt(l[1],-1/0),u[0]=nt(u[0],1/0),u[1]=nt(u[1],1/0);var h=D([{},a,s]);return h.coord=[a.coord,s.coord],h.x0=a.x,h.y0=a.y,h.x1=s.x,h.y1=s.y,h}};function YD(t){return!isNaN(t)&&!isFinite(t)}function XD(t,e,n,i){var r=1-t;return YD(e[r])&&YD(n[r])}function jD(t,e){var n=e.coord[0],i=e.coord[1],r={coord:n,x:e.x0,y:e.y0},o={coord:i,x:e.x1,y:e.y1};return xb(t,"cartesian2d")?!(!n||!i||!XD(1,n,i)&&!XD(0,n,i))||function(t,e,n){return!(t&&t.containZone&&e.coord&&n.coord&&!lD(e)&&!lD(n))||t.containZone(e.coord,n.coord)}(t,r,o):dD(t,r)||dD(t,o)}function qD(t,e,n,i,r){var o,a=i.coordinateSystem,s=t.getItemModel(e),l=Gr(s.get(n[0]),r.getWidth()),u=Gr(s.get(n[1]),r.getHeight());if(isNaN(l)||isNaN(u)){if(i.getMarkerPosition){var h=t.getValues(["x0","y0"],e),c=t.getValues(["x1","y1"],e),p=a.clampData(h),d=a.clampData(c),f=[];"x0"===n[0]?f[0]=p[0]>d[0]?c[0]:h[0]:f[0]=p[0]>d[0]?h[0]:c[0],"y0"===n[1]?f[1]=p[1]>d[1]?c[1]:h[1]:f[1]=p[1]>d[1]?h[1]:c[1],o=i.getMarkerPosition(f,n,!0)}else{var g=[m=t.get(n[0],e),_=t.get(n[1],e)];a.clampData&&a.clampData(g,g),o=a.dataToPoint(g,!0)}if(xb(a,"cartesian2d")){var v=a.getAxis("x"),y=a.getAxis("y"),m=t.get(n[0],e),_=t.get(n[1],e);YD(m)?o[0]=v.toGlobalCoord(v.getExtent()["x0"===n[0]?0:1]):YD(_)&&(o[1]=y.toGlobalCoord(y.getExtent()["y0"===n[1]?0:1]))}isNaN(l)||(o[0]=l),isNaN(u)||(o[1]=u)}else o=[l,u];return o}var KD=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],$D=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=aD.getMarkerModelFromSeries(t,"markArea");if(e){var i=e.getData();i.each((function(e){var r=E(KD,(function(r){return qD(i,e,r,t,n)}));i.setItemLayout(e,r),i.getItemGraphicEl(e).setShape("points",r)}))}}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,{group:new Pr});this.group.add(l.group),this.markKeep(l);var u=function(t,e,n){var i,r,o=["x0","y0","x1","y1"];if(t){var a=E(t&&t.dimensions,(function(t){var n=e.getData();return k(k({},n.getDimensionInfo(n.mapDimension(t))||{}),{name:t,ordinalMeta:null})}));r=E(o,(function(t,e){return{name:t,type:a[e%2].type}})),i=new Dm(r,n)}else i=new Dm(r=[{name:"value",type:"float"}],n);var s=E(n.get("data"),W(ZD,e,t,n));t&&(s=V(s,W(jD,t)));var l=t?function(t,e,n,i){return Jd(t.coord[Math.floor(i/2)][i%2],r[i])}:function(t,e,n,i){return Jd(t.value,r[i])};return i.initData(s,null,l),i.hasItemOption=!0,i}(r,t,e);e.setData(u),u.each((function(e){var n=E(KD,(function(n){return qD(u,e,n,t,i)})),o=r.getAxis("x").scale,s=r.getAxis("y").scale,l=o.getExtent(),h=s.getExtent(),c=[o.parse(u.get("x0",e)),o.parse(u.get("x1",e))],p=[s.parse(u.get("y0",e)),s.parse(u.get("y1",e))];Zr(c),Zr(p);var d=!!(l[0]>c[1]||l[1]p[1]||h[1]=0},e.prototype.getOrient=function(){return"vertical"===this.get("orient")?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},e.type="legend.plain",e.dependencies=["series"],e.defaultOption={z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,symbolRotate:"inherit",symbolKeepAspect:!0,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",inactiveBorderWidth:"auto",itemStyle:{color:"inherit",opacity:"inherit",borderColor:"inherit",borderWidth:"auto",borderCap:"inherit",borderJoin:"inherit",borderDashOffset:"inherit",borderMiterLimit:"inherit"},lineStyle:{width:"auto",color:"inherit",inactiveColor:"#ccc",inactiveWidth:2,opacity:"inherit",type:"inherit",cap:"inherit",join:"inherit",dashOffset:"inherit",miterLimit:"inherit"},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},e}(pp),JD=W,tk=z,ek=Pr,nk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.newlineDisabled=!1,n}return n(e,t),e.prototype.init=function(){this.group.add(this._contentGroup=new ek),this.group.add(this._selectorGroup=new ek),this._isFirstRender=!0},e.prototype.getContentGroup=function(){return this._contentGroup},e.prototype.getSelectorGroup=function(){return this._selectorGroup},e.prototype.render=function(t,e,n){var i=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get("show",!0)){var r=t.get("align"),o=t.get("orient");r&&"auto"!==r||(r="right"===t.get("left")&&"vertical"===o?"right":"left");var a=t.get("selector",!0),s=t.get("selectorPosition",!0);!a||s&&"auto"!==s||(s="horizontal"===o?"end":"start"),this.renderInner(r,t,e,n,a,o,s);var l=t.getBoxLayoutParams(),u={width:n.getWidth(),height:n.getHeight()},h=t.get("padding"),c=op(l,u,h),p=this.layoutInner(t,r,c,i,a,s),d=op(A({width:p.width,height:p.height},l),u,h);this.group.x=d.x-p.x,this.group.y=d.y-p.y,this.group.markRedraw(),this.group.add(this._backgroundEl=iT(p,t))}},e.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},e.prototype.renderInner=function(t,e,n,i,r,o,a){var s=this.getContentGroup(),l=gt(),u=e.get("selectedMode"),h=[];n.eachRawSeries((function(t){!t.get("legendHoverLink")&&h.push(t.id)})),tk(e.getData(),(function(r,o){var a=r.get("name");if(!this.newlineDisabled&&(""===a||"\n"===a)){var c=new ek;return c.newline=!0,void s.add(c)}var p=n.getSeriesByName(a)[0];if(!l.get(a)){if(p){var d=p.getData(),f=d.getVisual("legendLineStyle")||{},g=d.getVisual("legendIcon"),v=d.getVisual("style"),y=this._createItem(p,a,o,r,e,t,f,v,g,u,i);y.on("click",JD(ik,a,null,i,h)).on("mouseover",JD(ok,p.name,null,i,h)).on("mouseout",JD(ak,p.name,null,i,h)),n.ssr&&y.eachChild((function(t){var e=Us(t);e.seriesIndex=p.seriesIndex,e.dataIndex=o,e.ssrType="legend"})),l.set(a,!0)}else n.eachRawSeries((function(s){if(!l.get(a)&&s.legendVisualProvider){var c=s.legendVisualProvider;if(!c.containName(a))return;var p=c.indexOfName(a),d=c.getItemVisual(p,"style"),f=c.getItemVisual(p,"legendIcon"),g=Wn(d.fill);g&&0===g[3]&&(g[3]=.2,d=k(k({},d),{fill:Kn(g,"rgba")}));var v=this._createItem(s,a,o,r,e,t,{},d,f,u,i);v.on("click",JD(ik,null,a,i,h)).on("mouseover",JD(ok,null,a,i,h)).on("mouseout",JD(ak,null,a,i,h)),n.ssr&&v.eachChild((function(t){var e=Us(t);e.seriesIndex=s.seriesIndex,e.dataIndex=o,e.ssrType="legend"})),l.set(a,!0)}}),this);0}}),this),r&&this._createSelector(r,e,i,o,a)},e.prototype._createSelector=function(t,e,n,i,r){var o=this.getSelectorGroup();tk(t,(function(t){var i=t.type,r=new Ps({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){n.dispatchAction({type:"all"===i?"legendAllSelect":"legendInverseSelect"})}});o.add(r),Nh(r,{normal:e.getModel("selectorLabel"),emphasis:e.getModel(["emphasis","selectorLabel"])},{defaultText:t.title}),Al(r)}))},e.prototype._createItem=function(t,e,n,i,r,o,a,s,l,u,h){var c=t.visualDrawType,p=r.get("itemWidth"),d=r.get("itemHeight"),f=r.isSelected(e),g=i.get("symbolRotate"),v=i.get("symbolKeepAspect"),y=i.get("icon"),m=function(t,e,n,i,r,o,a){function s(t,e){"auto"===t.lineWidth&&(t.lineWidth=e.lineWidth>0?2:0),tk(t,(function(n,i){"inherit"===t[i]&&(t[i]=e[i])}))}var l=e.getModel("itemStyle"),u=l.getItemStyle(),h=0===t.lastIndexOf("empty",0)?"fill":"stroke",c=l.getShallow("decal");u.decal=c&&"inherit"!==c?zv(c,a):i.decal,"inherit"===u.fill&&(u.fill=i[r]);"inherit"===u.stroke&&(u.stroke=i[h]);"inherit"===u.opacity&&(u.opacity=("fill"===r?i:n).opacity);s(u,i);var p=e.getModel("lineStyle"),d=p.getLineStyle();if(s(d,n),"auto"===u.fill&&(u.fill=i.fill),"auto"===u.stroke&&(u.stroke=i.fill),"auto"===d.stroke&&(d.stroke=i.fill),!o){var f=e.get("inactiveBorderWidth"),g=u[h];u.lineWidth="auto"===f?i.lineWidth>0&&g?2:0:u.lineWidth,u.fill=e.get("inactiveColor"),u.stroke=e.get("inactiveBorderColor"),d.stroke=p.get("inactiveColor"),d.lineWidth=p.get("inactiveWidth")}return{itemStyle:u,lineStyle:d}}(l=y||l||"roundRect",i,a,s,c,f,h),_=new ek,x=i.getModel("textStyle");if(!U(t.getLegendIcon)||y&&"inherit"!==y){var w="inherit"===y&&t.getData().getVisual("symbol")?"inherit"===g?t.getData().getVisual("symbolRotate"):g:0;_.add(function(t){var e=t.icon||"roundRect",n=uv(e,0,0,t.itemWidth,t.itemHeight,t.itemStyle.fill,t.symbolKeepAspect);n.setStyle(t.itemStyle),n.rotation=(t.iconRotate||0)*Math.PI/180,n.setOrigin([t.itemWidth/2,t.itemHeight/2]),e.indexOf("empty")>-1&&(n.style.stroke=n.style.fill,n.style.fill="#fff",n.style.lineWidth=2);return n}({itemWidth:p,itemHeight:d,icon:l,iconRotate:w,itemStyle:m.itemStyle,lineStyle:m.lineStyle,symbolKeepAspect:v}))}else _.add(t.getLegendIcon({itemWidth:p,itemHeight:d,icon:l,iconRotate:g,itemStyle:m.itemStyle,lineStyle:m.lineStyle,symbolKeepAspect:v}));var b="left"===o?p+5:-5,S=o,M=r.get("formatter"),C=e;Z(M)&&M?C=M.replace("{name}",null!=e?e:""):U(M)&&(C=M(e));var T=f?x.getTextColor():i.get("inactiveColor");_.add(new Ps({style:Eh(x,{text:C,x:b,y:d/2,fill:T,align:S,verticalAlign:"middle"},{inheritColor:T})}));var I=new Ds({shape:_.getBoundingRect(),style:{fill:"transparent"}}),D=i.getModel("tooltip");return D.get("show")&&kh({el:I,componentModel:r,itemName:e,itemTooltipOption:D.option}),_.add(I),_.eachChild((function(t){t.silent=!0})),I.silent=!u,this.getContentGroup().add(_),Al(_),_.__legendDataIndex=n,_},e.prototype.layoutInner=function(t,e,n,i,r,o){var a=this.getContentGroup(),s=this.getSelectorGroup();rp(t.get("orient"),a,t.get("itemGap"),n.width,n.height);var l=a.getBoundingRect(),u=[-l.x,-l.y];if(s.markRedraw(),a.markRedraw(),r){rp("horizontal",s,t.get("selectorItemGap",!0));var h=s.getBoundingRect(),c=[-h.x,-h.y],p=t.get("selectorButtonGap",!0),d=t.getOrient().index,f=0===d?"width":"height",g=0===d?"height":"width",v=0===d?"y":"x";"end"===o?c[d]+=l[f]+p:u[d]+=h[f]+p,c[1-d]+=l[g]/2-h[g]/2,s.x=c[0],s.y=c[1],a.x=u[0],a.y=u[1];var y={x:0,y:0};return y[f]=l[f]+p+h[f],y[g]=Math.max(l[g],h[g]),y[v]=Math.min(0,h[v]+c[1-d]),y}return a.x=u[0],a.y=u[1],this.group.getBoundingRect()},e.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},e.type="legend.plain",e}(Kf);function ik(t,e,n,i){ak(t,e,n,i),n.dispatchAction({type:"legendToggleSelect",name:null!=t?t:e}),ok(t,e,n,i)}function rk(t){for(var e,n=t.getZr().storage.getDisplayList(),i=0,r=n.length;in[r],f=[-c.x,-c.y];e||(f[i]=l[s]);var g=[0,0],v=[-p.x,-p.y],y=it(t.get("pageButtonGap",!0),t.get("itemGap",!0));d&&("end"===t.get("pageButtonPosition",!0)?v[i]+=n[r]-p[r]:g[i]+=p[r]+y);v[1-i]+=c[o]/2-p[o]/2,l.setPosition(f),u.setPosition(g),h.setPosition(v);var m={x:0,y:0};if(m[r]=d?n[r]:c[r],m[o]=Math.max(c[o],p[o]),m[a]=Math.min(0,p[a]+v[1-i]),u.__rectSize=n[r],d){var _={x:0,y:0};_[r]=Math.max(n[r]-p[r]-y,0),_[o]=m[o],u.setClipPath(new Ds({shape:_})),u.__rectSize=_[r]}else h.eachChild((function(t){t.attr({invisible:!0,silent:!0})}));var x=this._getPageInfo(t);return null!=x.pageIndex&&$u(l,{x:x.contentPosition[0],y:x.contentPosition[1]},d?t:null),this._updatePageInfoView(t,x),m},e.prototype._pageGo=function(t,e,n){var i=this._getPageInfo(e)[t];null!=i&&n.dispatchAction({type:"legendScroll",scrollDataIndex:i,legendId:e.id})},e.prototype._updatePageInfoView=function(t,e){var n=this._controllerGroup;z(["pagePrev","pageNext"],(function(i){var r=null!=e[i+"DataIndex"],o=n.childOfName(i);o&&(o.setStyle("fill",r?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),o.cursor=r?"pointer":"default")}));var i=n.childOfName("pageText"),r=t.get("pageFormatter"),o=e.pageIndex,a=null!=o?o+1:0,s=e.pageCount;i&&r&&i.setStyle("text",Z(r)?r.replace("{current}",null==a?"":a+"").replace("{total}",null==s?"":s+""):r({current:a,total:s}))},e.prototype._getPageInfo=function(t){var e=t.get("scrollDataIndex",!0),n=this.getContentGroup(),i=this._containerGroup.__rectSize,r=t.getOrient().index,o=dk[r],a=fk[r],s=this._findTargetItemIndex(e),l=n.children(),u=l[s],h=l.length,c=h?1:0,p={contentPosition:[n.x,n.y],pageCount:c,pageIndex:c-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!u)return p;var d=m(u);p.contentPosition[r]=-d.s;for(var f=s+1,g=d,v=d,y=null;f<=h;++f)(!(y=m(l[f]))&&v.e>g.s+i||y&&!_(y,g.s))&&(g=v.i>g.i?v:y)&&(null==p.pageNextDataIndex&&(p.pageNextDataIndex=g.i),++p.pageCount),v=y;for(f=s-1,g=d,v=d,y=null;f>=-1;--f)(y=m(l[f]))&&_(v,y.s)||!(g.i=e&&t.s<=e+i}},e.prototype._findTargetItemIndex=function(t){return this._showController?(this.getContentGroup().eachChild((function(i,r){var o=i.__legendDataIndex;null==n&&null!=o&&(n=r),o===t&&(e=r)})),null!=e?e:n):0;var e,n},e.type="legend.scroll",e}(nk);function vk(t){nm(uk),t.registerComponentModel(hk),t.registerComponentView(gk),function(t){t.registerAction("legendScroll","legendscroll",(function(t,e){var n=t.scrollDataIndex;null!=n&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},(function(t){t.setScrollDataIndex(n)}))}))}(t)}var yk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="dataZoom.inside",e.defaultOption=ac(EC.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),e}(EC),mk=function(t){function e(e){var n=t.call(this)||this;n._zr=e;var i=H(n._mousedownHandler,n),r=H(n._mousemoveHandler,n),o=H(n._mouseupHandler,n),a=H(n._mousewheelHandler,n),s=H(n._pinchHandler,n);return n.enable=function(t,n){this.disable(),this._opt=A(T(n)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),null==t&&(t=!0),!0!==t&&"move"!==t&&"pan"!==t||(e.on("mousedown",i),e.on("mousemove",r),e.on("mouseup",o)),!0!==t&&"scale"!==t&&"zoom"!==t||(e.on("mousewheel",a),e.on("pinch",s))},n.disable=function(){e.off("mousedown",i),e.off("mousemove",r),e.off("mouseup",o),e.off("mousewheel",a),e.off("pinch",s)},n}return n(e,t),e.prototype.isDragging=function(){return this._dragging},e.prototype.isPinching=function(){return this._pinching},e.prototype.setPointerChecker=function(t){this.pointerChecker=t},e.prototype.dispose=function(){this.disable()},e.prototype._mousedownHandler=function(t){if(!he(t)){for(var e=t.target;e;){if(e.draggable)return;e=e.__hostTarget||e.parent}var n=t.offsetX,i=t.offsetY;this.pointerChecker&&this.pointerChecker(t,n,i)&&(this._x=n,this._y=i,this._dragging=!0)}},e.prototype._mousemoveHandler=function(t){if(this._dragging&&wk("moveOnMouseMove",t,this._opt)&&"pinch"!==t.gestureEvent&&!bT(this._zr,"globalPan")){var e=t.offsetX,n=t.offsetY,i=this._x,r=this._y,o=e-i,a=n-r;this._x=e,this._y=n,this._opt.preventDefaultMouseMove&&ue(t.event),xk(this,"pan","moveOnMouseMove",t,{dx:o,dy:a,oldX:i,oldY:r,newX:e,newY:n,isAvailableBehavior:null})}},e.prototype._mouseupHandler=function(t){he(t)||(this._dragging=!1)},e.prototype._mousewheelHandler=function(t){var e=wk("zoomOnMouseWheel",t,this._opt),n=wk("moveOnMouseWheel",t,this._opt),i=t.wheelDelta,r=Math.abs(i),o=t.offsetX,a=t.offsetY;if(0!==i&&(e||n)){if(e){var s=r>3?1.4:r>1?1.2:1.1;_k(this,"zoom","zoomOnMouseWheel",t,{scale:i>0?s:1/s,originX:o,originY:a,isAvailableBehavior:null})}if(n){var l=Math.abs(i);_k(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:(i>0?1:-1)*(l>3?.4:l>1?.15:.05),originX:o,originY:a,isAvailableBehavior:null})}}},e.prototype._pinchHandler=function(t){bT(this._zr,"globalPan")||_k(this,"zoom",null,t,{scale:t.pinchScale>1?1.1:1/1.1,originX:t.pinchX,originY:t.pinchY,isAvailableBehavior:null})},e}(Ut);function _k(t,e,n,i,r){t.pointerChecker&&t.pointerChecker(i,r.originX,r.originY)&&(ue(i.event),xk(t,e,n,i,r))}function xk(t,e,n,i,r){r.isAvailableBehavior=H(wk,null,n,i),t.trigger(e,r)}function wk(t,e,n){var i=n[t];return!t||i&&(!Z(i)||e.event[i+"Key"])}var bk=Io();function Sk(t,e,n){bk(t).coordSysRecordMap.each((function(t){var i=t.dataZoomInfoMap.get(e.uid);i&&(i.getRange=n)}))}function Mk(t,e){if(e){t.removeKey(e.model.uid);var n=e.controller;n&&n.dispose()}}function Ck(t,e){t.isDisposed()||t.dispatchAction({type:"dataZoom",animation:{easing:"cubicOut",duration:100},batch:e})}function Tk(t,e,n,i){return t.coordinateSystem.containPoint([n,i])}function Ik(t){t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER,(function(t,e){var n=bk(e),i=n.coordSysRecordMap||(n.coordSysRecordMap=gt());i.each((function(t){t.dataZoomInfoMap=null})),t.eachComponent({mainType:"dataZoom",subType:"inside"},(function(t){z(NC(t).infoList,(function(n){var r=n.model.uid,o=i.get(r)||i.set(r,function(t,e){var n={model:e,containsPoint:W(Tk,e),dispatchAction:W(Ck,t),dataZoomInfoMap:null,controller:null},i=n.controller=new mk(t.getZr());return z(["pan","zoom","scrollMove"],(function(t){i.on(t,(function(e){var i=[];n.dataZoomInfoMap.each((function(r){if(e.isAvailableBehavior(r.model.option)){var o=(r.getRange||{})[t],a=o&&o(r.dzReferCoordSysInfo,n.model.mainType,n.controller,e);!r.model.get("disabled",!0)&&a&&i.push({dataZoomId:r.model.id,start:a[0],end:a[1]})}})),i.length&&n.dispatchAction(i)}))})),n}(e,n.model));(o.dataZoomInfoMap||(o.dataZoomInfoMap=gt())).set(t.uid,{dzReferCoordSysInfo:n,model:t,getRange:null})}))})),i.each((function(t){var e,n=t.controller,r=t.dataZoomInfoMap;if(r){var o=r.keys()[0];null!=o&&(e=r.get(o))}if(e){var a=function(t){var e,n="type_",i={type_true:2,type_move:1,type_false:0,type_undefined:-1},r=!0;return t.each((function(t){var o=t.model,a=!o.get("disabled",!0)&&(!o.get("zoomLock",!0)||"move");i[n+a]>i[n+e]&&(e=a),r=r&&o.get("preventDefaultMouseMove",!0)})),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!r}}}(r);n.enable(a.controlType,a.opt),n.setPointerChecker(t.containsPoint),hg(t,"dispatchAction",e.model.get("throttle",!0),"fixRate")}else Mk(i,t)}))}))}var Dk=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="dataZoom.inside",e}return n(e,t),e.prototype.render=function(e,n,i){t.prototype.render.apply(this,arguments),e.noTarget()?this._clear():(this.range=e.getPercentRange(),Sk(i,e,{pan:H(kk.pan,this),zoom:H(kk.zoom,this),scrollMove:H(kk.scrollMove,this)}))},e.prototype.dispose=function(){this._clear(),t.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){!function(t,e){for(var n=bk(t).coordSysRecordMap,i=n.keys(),r=0;r0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(o[1]-o[0])+o[0],u=Math.max(1/i.scale,0);o[0]=(o[0]-l)*u+l,o[1]=(o[1]-l)*u+l;var h=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return WC(0,o,[0,100],0,h.minSpan,h.maxSpan),this.range=o,r[0]!==o[0]||r[1]!==o[1]?o:void 0}},pan:Ak((function(t,e,n,i,r,o){var a=Pk[i]([o.oldX,o.oldY],[o.newX,o.newY],e,r,n);return a.signal*(t[1]-t[0])*a.pixel/a.pixelLength})),scrollMove:Ak((function(t,e,n,i,r,o){return Pk[i]([0,0],[o.scrollDelta,o.scrollDelta],e,r,n).signal*(t[1]-t[0])*o.scrollDelta}))};function Ak(t){return function(e,n,i,r){var o=this.range,a=o.slice(),s=e.axisModels[0];if(s)return WC(t(a,s,e,n,i,r),a,[0,100],"all"),this.range=a,o[0]!==a[0]||o[1]!==a[1]?a:void 0}}var Pk={grid:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem.getRect();return t=t||[0,0],"x"===o.dim?(a.pixel=e[0]-t[0],a.pixelLength=s.width,a.pixelStart=s.x,a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=s.height,a.pixelStart=s.y,a.signal=o.inverse?-1:1),a},polar:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),"radiusAxis"===n.mainType?(a.pixel=e[0]-t[0],a.pixelLength=l[1]-l[0],a.pixelStart=l[0],a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=u[1]-u[0],a.pixelStart=u[0],a.signal=o.inverse?-1:1),a},singleAxis:function(t,e,n,i,r){var o=n.axis,a=r.model.coordinateSystem.getRect(),s={};return t=t||[0,0],"horizontal"===o.orient?(s.pixel=e[0]-t[0],s.pixelLength=a.width,s.pixelStart=a.x,s.signal=o.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=a.height,s.pixelStart=a.y,s.signal=o.inverse?-1:1),s}};function Lk(t){KC(t),t.registerComponentModel(yk),t.registerComponentView(Dk),Ik(t)}var Ok=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="dataZoom.slider",e.layoutMode="box",e.defaultOption=ac(EC.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:"#d2dbee",borderRadius:3,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#d2dbee",width:.5},areaStyle:{color:"#d2dbee",opacity:.2}},selectedDataBackground:{lineStyle:{color:"#8fb0f7",width:.5},areaStyle:{color:"#8fb0f7",opacity:.2}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:"#fff",borderColor:"#ACB8D1"},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:"#D2DBEE",opacity:.7},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#6E7079"},brushSelect:!0,brushStyle:{color:"rgba(135,175,274,0.15)"},emphasis:{handleStyle:{borderColor:"#8FB0F7"},moveHandleStyle:{color:"#8FB0F7"}}}),e}(EC),Rk=Ds,Nk="horizontal",zk="vertical",Ek=["line","bar","candlestick","scatter"],Bk={easing:"cubicOut",duration:100,delay:0},Vk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._displayables={},n}return n(e,t),e.prototype.init=function(t,e){this.api=e,this._onBrush=H(this._onBrush,this),this._onBrushEnd=H(this._onBrushEnd,this)},e.prototype.render=function(e,n,i,r){if(t.prototype.render.apply(this,arguments),hg(this,"_dispatchZoomAction",e.get("throttle"),"fixRate"),this._orient=e.getOrient(),!1!==e.get("show")){if(e.noTarget())return this._clear(),void this.group.removeAll();r&&"dataZoom"===r.type&&r.from===this.uid||this._buildView(),this._updateView()}else this.group.removeAll()},e.prototype.dispose=function(){this._clear(),t.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){cg(this,"_dispatchZoomAction");var t=this.api.getZr();t.off("mousemove",this._onBrush),t.off("mouseup",this._onBrushEnd)},e.prototype._buildView=function(){var t=this.group;t.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var e=this._displayables.sliderGroup=new Pr;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(e),this._positionGroup()},e.prototype._resetLocation=function(){var t=this.dataZoomModel,e=this.api,n=t.get("brushSelect")?7:0,i=this._findCoordRect(),r={width:e.getWidth(),height:e.getHeight()},o=this._orient===Nk?{right:r.width-i.x-i.width,top:r.height-30-7-n,width:i.width,height:30}:{right:7,top:i.y,width:30,height:i.height},a=up(t.option);z(["right","top","width","height"],(function(t){"ph"===a[t]&&(a[t]=o[t])}));var s=op(a,r);this._location={x:s.x,y:s.y},this._size=[s.width,s.height],this._orient===zk&&this._size.reverse()},e.prototype._positionGroup=function(){var t=this.group,e=this._location,n=this._orient,i=this.dataZoomModel.getFirstTargetAxisModel(),r=i&&i.get("inverse"),o=this._displayables.sliderGroup,a=(this._dataShadowInfo||{}).otherAxisInverse;o.attr(n!==Nk||r?n===Nk&&r?{scaleY:a?1:-1,scaleX:-1}:n!==zk||r?{scaleY:a?-1:1,scaleX:-1,rotation:Math.PI/2}:{scaleY:a?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:a?1:-1,scaleX:1});var s=t.getBoundingRect([o]);t.x=e.x-s.x,t.y=e.y-s.y,t.markRedraw()},e.prototype._getViewExtent=function(){return[0,this._size[0]]},e.prototype._renderBackground=function(){var t=this.dataZoomModel,e=this._size,n=this._displayables.sliderGroup,i=t.get("brushSelect");n.add(new Rk({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:t.get("backgroundColor")},z2:-40}));var r=new Rk({shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:"transparent"},z2:0,onclick:H(this._onClickPanel,this)}),o=this.api.getZr();i?(r.on("mousedown",this._onBrushStart,this),r.cursor="crosshair",o.on("mousemove",this._onBrush),o.on("mouseup",this._onBrushEnd)):(o.off("mousemove",this._onBrush),o.off("mouseup",this._onBrushEnd)),n.add(r)},e.prototype._renderDataShadow=function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],t){var e=this._size,n=this._shadowSize||[],i=t.series,r=i.getRawData(),o=i.getShadowDim&&i.getShadowDim(),a=o&&r.getDimensionInfo(o)?i.getShadowDim():t.otherDim;if(null!=a){var s=this._shadowPolygonPts,l=this._shadowPolylinePts;if(r!==this._shadowData||a!==this._shadowDim||e[0]!==n[0]||e[1]!==n[1]){var u=r.getDataExtent(a),h=.3*(u[1]-u[0]);u=[u[0]-h,u[1]+h];var c,p=[0,e[1]],d=[0,e[0]],f=[[e[0],0],[0,0]],g=[],v=d[1]/(r.count()-1),y=0,m=Math.round(r.count()/e[0]);r.each([a],(function(t,e){if(m>0&&e%m)y+=v;else{var n=null==t||isNaN(t)||""===t,i=n?0:Wr(t,u,p,!0);n&&!c&&e?(f.push([f[f.length-1][0],0]),g.push([g[g.length-1][0],0])):!n&&c&&(f.push([y,0]),g.push([y,0])),f.push([y,i]),g.push([y,i]),y+=v,c=n}})),s=this._shadowPolygonPts=f,l=this._shadowPolylinePts=g}this._shadowData=r,this._shadowDim=a,this._shadowSize=[e[0],e[1]];for(var _=this.dataZoomModel,x=0;x<3;x++){var w=b(1===x);this._displayables.sliderGroup.add(w),this._displayables.dataShadowSegs.push(w)}}}function b(t){var e=_.getModel(t?"selectedDataBackground":"dataBackground"),n=new Pr,i=new Cu({shape:{points:s},segmentIgnoreThreshold:1,style:e.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),r=new Iu({shape:{points:l},segmentIgnoreThreshold:1,style:e.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return n.add(i),n.add(r),n}},e.prototype._prepareDataShadowInfo=function(){var t=this.dataZoomModel,e=t.get("showDataShadow");if(!1!==e){var n,i=this.ecModel;return t.eachTargetAxis((function(r,o){z(t.getAxisProxy(r,o).getTargetSeriesModels(),(function(t){if(!(n||!0!==e&&L(Ek,t.get("type"))<0)){var a,s=i.getComponent(OC(r),o).axis,l=function(t){var e={x:"y",y:"x",radius:"angle",angle:"radius"};return e[t]}(r),u=t.coordinateSystem;null!=l&&u.getOtherAxis&&(a=u.getOtherAxis(s).inverse),l=t.getData().mapDimension(l),n={thisAxis:s,series:t,thisDim:r,otherDim:l,otherAxisInverse:a}}}),this)}),this),n}},e.prototype._renderHandle=function(){var t=this.group,e=this._displayables,n=e.handles=[null,null],i=e.handleLabels=[null,null],r=this._displayables.sliderGroup,o=this._size,a=this.dataZoomModel,s=this.api,l=a.get("borderRadius")||0,u=a.get("brushSelect"),h=e.filler=new Rk({silent:u,style:{fill:a.get("fillerColor")},textConfig:{position:"inside"}});r.add(h),r.add(new Rk({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:o[0],height:o[1],r:l},style:{stroke:a.get("dataBackgroundColor")||a.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}})),z([0,1],(function(e){var o=a.get("handleIcon");!av[o]&&o.indexOf("path://")<0&&o.indexOf("image://")<0&&(o="path://"+o);var s=uv(o,-1,0,2,2,null,!0);s.attr({cursor:Fk(this._orient),draggable:!0,drift:H(this._onDragMove,this,e),ondragend:H(this._onDragEnd,this),onmouseover:H(this._showDataInfo,this,!0),onmouseout:H(this._showDataInfo,this,!1),z2:5});var l=s.getBoundingRect(),u=a.get("handleSize");this._handleHeight=Gr(u,this._size[1]),this._handleWidth=l.width/l.height*this._handleHeight,s.setStyle(a.getModel("handleStyle").getItemStyle()),s.style.strokeNoScale=!0,s.rectHover=!0,s.ensureState("emphasis").style=a.getModel(["emphasis","handleStyle"]).getItemStyle(),Al(s);var h=a.get("handleColor");null!=h&&(s.style.fill=h),r.add(n[e]=s);var c=a.getModel("textStyle");t.add(i[e]=new Ps({silent:!0,invisible:!0,style:Eh(c,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:c.getTextColor(),font:c.getFont()}),z2:10}))}),this);var c=h;if(u){var p=Gr(a.get("moveHandleSize"),o[1]),d=e.moveHandle=new Ds({style:a.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:o[1]-.5,height:p}}),f=.8*p,g=e.moveHandleIcon=uv(a.get("moveHandleIcon"),-f/2,-f/2,f,f,"#fff",!0);g.silent=!0,g.y=o[1]+p/2-.5,d.ensureState("emphasis").style=a.getModel(["emphasis","moveHandleStyle"]).getItemStyle();var v=Math.min(o[1]/2,Math.max(p,10));(c=e.moveZone=new Ds({invisible:!0,shape:{y:o[1]-v,height:p+v}})).on("mouseover",(function(){s.enterEmphasis(d)})).on("mouseout",(function(){s.leaveEmphasis(d)})),r.add(d),r.add(g),r.add(c)}c.attr({draggable:!0,cursor:Fk(this._orient),drift:H(this._onDragMove,this,"all"),ondragstart:H(this._showDataInfo,this,!0),ondragend:H(this._onDragEnd,this),onmouseover:H(this._showDataInfo,this,!0),onmouseout:H(this._showDataInfo,this,!1)})},e.prototype._resetInterval=function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[Wr(t[0],[0,100],e,!0),Wr(t[1],[0,100],e,!0)]},e.prototype._updateInterval=function(t,e){var n=this.dataZoomModel,i=this._handleEnds,r=this._getViewExtent(),o=n.findRepresentativeAxisProxy().getMinMaxSpan(),a=[0,100];WC(e,i,r,n.get("zoomLock")?"all":t,null!=o.minSpan?Wr(o.minSpan,a,r,!0):null,null!=o.maxSpan?Wr(o.maxSpan,a,r,!0):null);var s=this._range,l=this._range=Zr([Wr(i[0],r,a,!0),Wr(i[1],r,a,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},e.prototype._updateView=function(t){var e=this._displayables,n=this._handleEnds,i=Zr(n.slice()),r=this._size;z([0,1],(function(t){var i=e.handles[t],o=this._handleHeight;i.attr({scaleX:o/2,scaleY:o/2,x:n[t]+(t?-1:1),y:r[1]/2-o/2})}),this),e.filler.setShape({x:i[0],y:0,width:i[1]-i[0],height:r[1]});var o={x:i[0],width:i[1]-i[0]};e.moveHandle&&(e.moveHandle.setShape(o),e.moveZone.setShape(o),e.moveZone.getBoundingRect(),e.moveHandleIcon&&e.moveHandleIcon.attr("x",o.x+o.width/2));for(var a=e.dataShadowSegs,s=[0,i[0],i[1],r[0]],l=0;le[0]||n[1]<0||n[1]>e[1])){var i=this._handleEnds,r=(i[0]+i[1])/2,o=this._updateInterval("all",n[0]-r);this._updateView(),o&&this._dispatchZoomAction(!1)}},e.prototype._onBrushStart=function(t){var e=t.offsetX,n=t.offsetY;this._brushStart=new Se(e,n),this._brushing=!0,this._brushStartTime=+new Date},e.prototype._onBrushEnd=function(t){if(this._brushing){var e=this._displayables.brushRect;if(this._brushing=!1,e){e.attr("ignore",!0);var n=e.shape;if(!(+new Date-this._brushStartTime<200&&Math.abs(n.width)<5)){var i=this._getViewExtent(),r=[0,100];this._range=Zr([Wr(n.x,i,r,!0),Wr(n.x+n.width,i,r,!0)]),this._handleEnds=[n.x,n.x+n.width],this._updateView(),this._dispatchZoomAction(!1)}}}},e.prototype._onBrush=function(t){this._brushing&&(ue(t.event),this._updateBrushRect(t.offsetX,t.offsetY))},e.prototype._updateBrushRect=function(t,e){var n=this._displayables,i=this.dataZoomModel,r=n.brushRect;r||(r=n.brushRect=new Rk({silent:!0,style:i.getModel("brushStyle").getItemStyle()}),n.sliderGroup.add(r)),r.attr("ignore",!1);var o=this._brushStart,a=this._displayables.sliderGroup,s=a.transformCoordToLocal(t,e),l=a.transformCoordToLocal(o.x,o.y),u=this._size;s[0]=Math.max(Math.min(u[0],s[0]),0),r.setShape({x:l[0],y:0,width:s[0]-l[0],height:u[1]})},e.prototype._dispatchZoomAction=function(t){var e=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:t?Bk:null,start:e[0],end:e[1]})},e.prototype._findCoordRect=function(){var t,e=NC(this.dataZoomModel).infoList;if(!t&&e.length){var n=e[0].model.coordinateSystem;t=n.getRect&&n.getRect()}if(!t){var i=this.api.getWidth(),r=this.api.getHeight();t={x:.2*i,y:.2*r,width:.6*i,height:.6*r}}return t},e.type="dataZoom.slider",e}(FC);function Fk(t){return"vertical"===t?"ns-resize":"ew-resize"}function Hk(t){t.registerComponentModel(Ok),t.registerComponentView(Vk),KC(t)}var Wk={label:{enabled:!0},decal:{show:!1}},Gk=Io(),Uk={};function Zk(t,e){var n=t.getModel("aria");if(n.get("enabled")){var i=T(Wk);I(i.label,t.getLocaleModel().get("aria"),!1),I(n.option,i,!1),function(){if(n.getModel("decal").get("show")){var e=gt();t.eachSeries((function(t){if(!t.isColorBySeries()){var n=e.get(t.type);n||(n={},e.set(t.type,n)),Gk(t).scope=n}})),t.eachRawSeries((function(e){if(!t.isSeriesFiltered(e))if(U(e.enableAriaDecal))e.enableAriaDecal();else{var n=e.getData();if(e.isColorBySeries()){var i=Hp(e.ecModel,e.name,Uk,t.getSeriesCount()),r=n.getVisual("decal");n.setVisual("decal",u(r,i))}else{var o=e.getRawData(),a={},s=Gk(e).scope;n.each((function(t){var e=n.getRawIndex(t);a[e]=t}));var l=o.count();o.each((function(t){var i=a[t],r=o.getName(t)||t+"",h=Hp(e.ecModel,r,s,l),c=n.getItemVisual(i,"decal");n.setItemVisual(i,"decal",u(c,h))}))}}function u(t,e){var n=t?k(k({},e),t):e;return n.dirty=!0,n}}))}}(),function(){var i=e.getZr().dom;if(!i)return;var o=t.getLocaleModel().get("aria"),a=n.getModel("label");if(a.option=A(a.option,o),!a.get("enabled"))return;if(a.get("description"))return void i.setAttribute("aria-label",a.get("description"));var s,l=t.getSeriesCount(),u=a.get(["data","maxCount"])||10,h=a.get(["series","maxCount"])||10,c=Math.min(l,h);if(l<1)return;var p=function(){var e=t.get("title");e&&e.length&&(e=e[0]);return e&&e.text}();s=p?r(a.get(["general","withTitle"]),{title:p}):a.get(["general","withoutTitle"]);var d=[];s+=r(l>1?a.get(["series","multiple","prefix"]):a.get(["series","single","prefix"]),{seriesCount:l}),t.eachSeries((function(e,n){if(n1?a.get(["series","multiple",o]):a.get(["series","single",o]),{seriesId:e.seriesIndex,seriesName:e.get("name"),seriesType:(_=e.subType,x=t.getLocaleModel().get(["series","typeNames"]),x[_]||x.chart)});var s=e.getData();if(s.count()>u)i+=r(a.get(["data","partialData"]),{displayCnt:u});else i+=a.get(["data","allData"]);for(var h=a.get(["data","separator","middle"]),p=a.get(["data","separator","end"]),f=[],g=0;g0?n:1:n))}(0,r),d=l_(t),f=t.get("barMinHeight")||0,g=u&&e.getDimensionIndex(u),v=e.getLayout("size"),y=e.getLayout("offset");return{progress:function(t,e){for(var i,r=t.count,l=d&&e_(3*r),u=d&&s&&e_(3*r),m=d&&e_(r),_=n.master.getRect(),x=c?_.width:_.height,w=e.getStore(),b=0;null!=(i=t.next());){var S=w.get(h?g:o,i),M=w.get(a,i),C=p,T=void 0;h&&(T=+S-w.get(o,i));var I=void 0,D=void 0,k=void 0,A=void 0;if(c){var P=n.dataToPoint([S,M]);h&&(C=n.dataToPoint([T,M])[0]),I=C,D=P[1]+y,k=P[0]-C,A=v,Math.abs(k) { expect(Array.isArray(areaSeriesOptions(firstDataset))).to.be.true; const expected = [ { + name: 1, areaStyle: { opacity: 1 }, stack: 'area', symbol: 'none', type: 'line', }, { + name: 2, areaStyle: { opacity: 1 }, stack: 'area', symbol: 'none', @@ -510,6 +512,7 @@ describe('chart', () => { fontSize: 14, }, colorBy: 'series', + name: 100, showBackground: true, backgroundStyle: { color: '#EA3829', @@ -532,6 +535,7 @@ describe('chart', () => { fontSize: 14, }, colorBy: 'series', + name: 156, showBackground: true, backgroundStyle: { color: '#F48411', @@ -555,6 +559,7 @@ describe('chart', () => { const expected = [ { type: 'line', + name: 100, symbol: 'none', lineStyle: { width: 3 }, yAxisIndex: 0, @@ -598,12 +603,14 @@ describe('chart', () => { }, { type: 'line', + name: 156, symbol: 'none', lineStyle: { width: 3 }, yAxisIndex: 0, }, { type: 'line', + name: 160, symbol: 'none', lineStyle: { width: 3 }, yAxisIndex: 0, @@ -704,6 +711,9 @@ describe('chart', () => { init(el); const svg = await waitForElement('svg'); expect(svg).to.exist; + const chartWrapper = await waitForElement('.chart-wrapper'); + expect(chartWrapper.getAttribute('role')).to.equal('img'); + expect(chartWrapper.getAttribute('aria-label')).to.exist; }); it('getOversizedNumberSize returns maximum size for 1 character', () => { @@ -759,5 +769,9 @@ describe('chart', () => { init(el); const subheading = await waitForElement('.subheading'); expect(subheading).to.exist; + const chartWrapper = await waitForElement('.chart-wrapper'); + expect(chartWrapper).to.exist; + expect(chartWrapper.getAttribute('role')).to.equal('img'); + expect(chartWrapper.getAttribute('aria-label')).to.contain('This is a chart'); }); }); From b063e5d79f54de433ee33e2efc68249da1cb41b8 Mon Sep 17 00:00:00 2001 From: nishantka <126539566+nishantka@users.noreply.github.com> Date: Tue, 7 Jan 2025 14:47:38 +0530 Subject: [PATCH 44/86] MWPW-156410: add daa-lh/ll values for gnav promo (#3413) --- libs/blocks/global-navigation/utilities/menu/menu.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/blocks/global-navigation/utilities/menu/menu.js b/libs/blocks/global-navigation/utilities/menu/menu.js index aa2a21e7041..87b58edf46d 100644 --- a/libs/blocks/global-navigation/utilities/menu/menu.js +++ b/libs/blocks/global-navigation/utilities/menu/menu.js @@ -145,7 +145,7 @@ const decoratePromo = (elem, index) => { let promoImageElem; if (linkElem instanceof HTMLElement) { - promoImageElem = toFragment` + promoImageElem = toFragment` ${imageElem} `; } else { @@ -176,7 +176,7 @@ const decoratePromo = (elem, index) => { elem.classList.add('feds-promo--dark'); } - return toFragment`
    + return toFragment`
    ${elem}
    `; }; From 82694a30e44b40290f33d728c1e3e849ff95d61f Mon Sep 17 00:00:00 2001 From: Vivian A Goodrich <101133187+vgoodric@users.noreply.github.com> Date: Tue, 7 Jan 2025 02:17:45 -0700 Subject: [PATCH 45/86] MWPW-162760 [MEP] Issues with inline fragments (#3415) initial push --- libs/blocks/fragment/fragment.js | 5 +---- libs/features/personalization/personalization.js | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/libs/blocks/fragment/fragment.js b/libs/blocks/fragment/fragment.js index 1b08525b360..d3a6180da1e 100644 --- a/libs/blocks/fragment/fragment.js +++ b/libs/blocks/fragment/fragment.js @@ -119,10 +119,7 @@ export default async function init(a) { } const fragment = createTag('div', { class: 'fragment', 'data-path': relHref }); - - if (!inline) { - fragment.append(...sections); - } + fragment.append(...sections); updateFragMap(fragment, a, relHref); if (a.dataset.manifestId diff --git a/libs/features/personalization/personalization.js b/libs/features/personalization/personalization.js index e15f4141b6e..91e67a8c646 100644 --- a/libs/features/personalization/personalization.js +++ b/libs/features/personalization/personalization.js @@ -518,7 +518,7 @@ export function handleCommands( const section1 = document.querySelector('main > div'); commands.forEach((cmd) => { const { action, content, selector } = cmd; - cmd.content = forceInline ? addHash(content, INLINE_HASH) : content; + cmd.content = forceInline && getSelectorType(content) === 'fragment' ? addHash(content, INLINE_HASH) : content; if (selector.startsWith(IN_BLOCK_SELECTOR_PREFIX)) { registerInBlockActions(cmd); cmd.selectorType = IN_BLOCK_SELECTOR_PREFIX; From faf70c2c22e396e1f526b4bf750284870e7777d4 Mon Sep 17 00:00:00 2001 From: Akansha Arora Date: Thu, 9 Jan 2025 17:16:16 +0800 Subject: [PATCH 46/86] MWPW-162795: Complimentary/Product Entry CTAs (#3354) * Comp Web App Sign In * Comp Sign In * Complimentary CTA test cases and structural change * Adding Complimentary CTA block under synthetic blocks * Changing the reference to Product Entry CTA * Changing the reference to Product Entry CTA --------- Co-authored-by: Akansha Arora <> --- libs/blocks/fallback/fallback.js | 1 + .../global-navigation/global-navigation.css | 11 +++++++++++ .../global-navigation/global-navigation.js | 9 +++++++++ .../global-navigation/global-navigation.test.js | 17 +++++++++++++++++ ...global-navigation-product-entry-cta.plain.js | 9 +++++++++ 5 files changed, 47 insertions(+) create mode 100644 test/blocks/global-navigation/mocks/global-navigation-product-entry-cta.plain.js diff --git a/libs/blocks/fallback/fallback.js b/libs/blocks/fallback/fallback.js index cb5f2222ad4..fc04eb71f3b 100644 --- a/libs/blocks/fallback/fallback.js +++ b/libs/blocks/fallback/fallback.js @@ -17,6 +17,7 @@ const SYNTHETIC_BLOCKS = [ 'region-selector', 'search', 'social', + 'product-entry-cta', ]; // eslint-disable-next-line import/prefer-default-export diff --git a/libs/blocks/global-navigation/global-navigation.css b/libs/blocks/global-navigation/global-navigation.css index 8f984b225d8..f361fa00666 100644 --- a/libs/blocks/global-navigation/global-navigation.css +++ b/libs/blocks/global-navigation/global-navigation.css @@ -86,6 +86,11 @@ header.global-navigation { z-index: 1; } +/* Product Entry CTA */ +.feds-product-entry-cta{ + align-items: center; +} + /* Hamburger toggle */ .feds-toggle { width: 60px; @@ -488,6 +493,12 @@ header.global-navigation { right: auto; } +@media (max-width: 900px) { + .feds-product-entry-cta { + display: none; + } +} + /* Desktop styles */ @media (min-width: 900px) { /* General */ diff --git a/libs/blocks/global-navigation/global-navigation.js b/libs/blocks/global-navigation/global-navigation.js index 3bfc23ad46d..515d97480f3 100644 --- a/libs/blocks/global-navigation/global-navigation.js +++ b/libs/blocks/global-navigation/global-navigation.js @@ -354,6 +354,14 @@ class Gnav { lanaLog({ message: 'GNAV: Error with IMS', e, tags: 'errorType=info,module=gnav' }); })); + decorateProductEntryCTA = () => { + const button = this.content.querySelector('.product-entry-cta a'); + if (!button) return null; + const cta = decorateCta({ elem: button, type: this.getMainNavItemType(button) }); + cta.closest('.feds-cta-wrapper').classList.add('feds-product-entry-cta'); + return cta; + }; + decorateTopNav = () => { this.elements.mobileToggle = this.decorateToggle(); this.elements.topnav = toFragment` @@ -363,6 +371,7 @@ class Gnav { ${this.decorateBrand()}
    ${this.elements.navWrapper} + ${getMetadata('product-entry-cta')?.toLowerCase() === 'on' ? this.decorateProductEntryCTA() : ''} ${getConfig().searchEnabled === 'on' ? toFragment`` : ''} ${this.useUniversalNav ? this.blocks.universalNav : ''} ${(!this.useUniversalNav && this.blocks.profile.rawElem) ? this.blocks.profile.decoratedElem : ''} diff --git a/test/blocks/global-navigation/global-navigation.test.js b/test/blocks/global-navigation/global-navigation.test.js index 388233b81c1..7bee7cdcc2b 100644 --- a/test/blocks/global-navigation/global-navigation.test.js +++ b/test/blocks/global-navigation/global-navigation.test.js @@ -21,6 +21,7 @@ import darkNav from './mocks/dark-global-navigation.plain.js'; import navigationWithCustomLinks from './mocks/navigation-with-custom-links.plain.js'; import globalNavigationMock from './mocks/global-navigation.plain.js'; import noDropdownNav from './mocks/global-navigation-no-dropdown.plain.js'; +import productEntryCTA from './mocks/global-navigation-product-entry-cta.plain.js'; import { getConfig } from '../../../tools/send-to-caas/send-utils.js'; // TODO @@ -665,6 +666,22 @@ describe('global navigation', () => { }); }); + describe('Product Entry CTA feature in global navigation', () => { + it('should not append the feds-product-entry-cta class when product entry cta is disabled', async () => { + document.head.innerHTML = ''; + const gnav = await createFullGlobalNavigation({ globalNavigation: productEntryCTA }); + gnav.decorateProductEntryCTA(); + expect(document.querySelector(selectors.topNav).querySelector('.feds-cta-wrapper.feds-product-entry-cta')).to.not.exist; + }); + + it('should append the feds-product-entry-cta class when product entry cta is enabled', async () => { + document.head.innerHTML = ''; + const gnav = await createFullGlobalNavigation({ globalNavigation: productEntryCTA }); + gnav.decorateProductEntryCTA(); + expect(document.querySelector(selectors.topNav).querySelector('.feds-cta-wrapper.feds-product-entry-cta')).to.exist; + }); + }); + describe('Custom Links for mobile hamburger menu', () => { it('Add custom links through Link Group block in parallel to large menu\'s', async () => { const customLinks = 'home,apps,learn'; diff --git a/test/blocks/global-navigation/mocks/global-navigation-product-entry-cta.plain.js b/test/blocks/global-navigation/mocks/global-navigation-product-entry-cta.plain.js new file mode 100644 index 00000000000..1418e583df8 --- /dev/null +++ b/test/blocks/global-navigation/mocks/global-navigation-product-entry-cta.plain.js @@ -0,0 +1,9 @@ +export default ` +
    +
    + +
    +
    +`; From bfe9f9b6aaa8509fb545f2092ed2944e0ed0b2cc Mon Sep 17 00:00:00 2001 From: Victor Hargrave <115231412+vhargrave@users.noreply.github.com> Date: Thu, 9 Jan 2025 10:16:23 +0100 Subject: [PATCH 47/86] MWPW-164227 add checkmark animation on successful form submit (#3397) * MWPW-164227 add checkmark animation on successful form submit * MWPW-164227 cleanup code --- libs/blocks/faas/faas.css | 44 +++++++++++++++++++++++++++++++++ libs/blocks/faas/utils.js | 27 ++++++++++++++++++++ libs/ui/img/checkmark-green.svg | 3 +++ test/blocks/faas/faas.test.js | 30 ++++++++++++++++++++++ 4 files changed, 104 insertions(+) create mode 100644 libs/ui/img/checkmark-green.svg diff --git a/libs/blocks/faas/faas.css b/libs/blocks/faas/faas.css index bd0b0a8a35a..7dd613f111c 100644 --- a/libs/blocks/faas/faas.css +++ b/libs/blocks/faas/faas.css @@ -394,6 +394,25 @@ input[type="checkbox"] + label { line-height: 1.375em; } +.dialog-modal .faas-form-confirm-overlay { + position: absolute; + height: 100%; + width: 100%; + background-color: #FBFBFB; + opacity: 0.5; + top: 0; + display: flex; + align-items: center; + justify-content: center; + animation: fade-in-to-opaque .5s ease-in; +} + +.dialog-modal .faas-form-confirm-overlay .icon-milo.checkmark-green { + height: 44px; + animation: pulse 2s ease; +} + + /* for mobile */ @media (max-width:799.99px) { .faas-form label, @@ -450,3 +469,28 @@ input[type="checkbox"] + label { width: 100%; } } + + +@keyframes pulse { + 0% { + transform: scale(0.7); + } + + 50% { + transform: scale(1); + } + + 100% { + transform: scale(0.7); + } +} + +@keyframes fade-in-to-opaque { + 0% { + opacity: 0; + } + + 100% { + opacity: 0.5; + } +} diff --git a/libs/blocks/faas/utils.js b/libs/blocks/faas/utils.js index 9c3249d7e4a..e22a5934d5b 100644 --- a/libs/blocks/faas/utils.js +++ b/libs/blocks/faas/utils.js @@ -254,6 +254,32 @@ const beforeSubmitCallback = () => { }; /* c8 ignore stop */ +export const afterSubmitCallback = (e) => { + const config = getConfig(); + if (!e.success || !(config.faasCloseModalAfterSubmit === 'on')) return; + const faasForms = document.querySelectorAll('.dialog-modal .faas'); + if (faasForms.length !== 1) return; + const faas = faasForms[0]; + const dialogModal = faas.closest('.dialog-modal'); + if (!dialogModal) return; + const closeBtn = dialogModal.querySelector('.dialog-close'); + const faasFormWrapper = dialogModal.querySelector('.faas-form-wrapper'); + if (!faasFormWrapper) return; + const overlay = createTag('div', { class: 'faas-form-confirm-overlay' }); + const checkIcon = createTag('img', { + class: 'icon-milo checkmark-green', + src: `${config.miloLibs || config.codeRoot}/ui/img/checkmark-green.svg`, + alt: 'checkmark-green', + }); + overlay.append(checkIcon); + faasFormWrapper.append(overlay); + + checkIcon.addEventListener('animationend', () => { + if (faas.reset) faas.reset(); + if (closeBtn) closeBtn.click(); + }, { passive: true, once: true }); +}; + export const makeFaasConfig = (targetState) => { if (!targetState) { state = defaultState; @@ -293,6 +319,7 @@ export const makeFaasConfig = (targetState) => { e: { afterYiiLoadedCallback, beforeSubmitCallback, + afterSubmitCallback, }, style_backgroundTheme: targetState.style_backgroundTheme || 'white', style_layout: targetState.style_layout || 'column1', diff --git a/libs/ui/img/checkmark-green.svg b/libs/ui/img/checkmark-green.svg new file mode 100644 index 00000000000..96dccc01228 --- /dev/null +++ b/libs/ui/img/checkmark-green.svg @@ -0,0 +1,3 @@ + + + diff --git a/test/blocks/faas/faas.test.js b/test/blocks/faas/faas.test.js index 2d647c37353..0dc3b49728d 100644 --- a/test/blocks/faas/faas.test.js +++ b/test/blocks/faas/faas.test.js @@ -3,14 +3,17 @@ import { expect } from '@esm-bundle/chai'; import sinon from 'sinon'; import { waitForElement } from '../../helpers/waitfor.js'; import { setConfig } from '../../../libs/utils/utils.js'; +import { getModal } from '../../../libs/blocks/modal/modal.js'; const config = { imsClientId: 'milo', codeRoot: '/libs', locales: { '': { ietf: 'en-US', tk: 'hah7vzn.css' } }, + faasCloseModalAfterSubmit: 'on', }; setConfig(config); +const { afterSubmitCallback } = await import('../../../libs/blocks/faas/utils.js'); document.body.innerHTML = await readFile({ path: './mocks/body.html' }); const { default: init } = await import('../../../libs/blocks/faas/faas.js'); @@ -37,4 +40,31 @@ describe('Faas', () => { const faas = await waitForElement('.faas-form-wrapper'); expect(faas).to.exist; }); + + it('FaaS closes dialog if config set', async () => { + const dialogModal = await getModal(null, { id: 'dialog-modal', closeEvent: 'close', content: a }); + await init(a); + await waitForElement('.dialog-modal .faas-form-wrapper'); + const closeBtn = dialogModal.querySelector('.dialog-close'); + const closeClickSpy = sinon.spy(closeBtn, 'click'); + afterSubmitCallback({ success: true }); + const overlay = await waitForElement('.faas-form-confirm-overlay'); + + expect(overlay).to.exist; + expect(overlay.querySelector('img.checkmark-green')).to.exist; + + // Simulate animationend + const checkIcon = overlay.querySelector('img.checkmark-green'); + const animationEndEvent = new Event('animationend'); + const awaitAnimationEnd = new Promise((resolve) => { + checkIcon.addEventListener('animationend', () => { + resolve(); + }); + }); + + checkIcon.dispatchEvent(animationEndEvent); + + await awaitAnimationEnd; + expect(closeClickSpy.calledOnce).to.be.true; + }); }); From 73cb4e7ad2325650f80c939db36147d27a4396f4 Mon Sep 17 00:00:00 2001 From: Siva S <163842332+sivasadobe@users.noreply.github.com> Date: Thu, 9 Jan 2025 14:46:32 +0530 Subject: [PATCH 48/86] MWPW-162722: Sticky promo banner loading issue (#3263) * fix(sticky): Adjust sticky section top offset to align with header height initialy * chore: handled header absent * fix: removing hide class when no-delay is present --- .../blocks/section-metadata/sticky-section.js | 4 +++- test/blocks/section-metadata/mocks/body.html | 24 +++++++++++++++++++ .../section-metadata/section-meta.test.js | 8 +++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/libs/blocks/section-metadata/sticky-section.js b/libs/blocks/section-metadata/sticky-section.js index 38142dd8d64..e3d36a1e209 100644 --- a/libs/blocks/section-metadata/sticky-section.js +++ b/libs/blocks/section-metadata/sticky-section.js @@ -2,7 +2,7 @@ import { createTag } from '../../utils/utils.js'; import { getMetadata, getDelayTime } from './section-metadata.js'; function handleTopHeight(section) { - const headerHeight = document.querySelector('header').offsetHeight; + const headerHeight = document.querySelector('header')?.offsetHeight ?? 0; section.style.top = `${headerHeight}px`; } @@ -35,6 +35,7 @@ function handleStickyPromobar(section, delay) { if ((section.querySelector(':is(.promobar, .notification)').classList.contains('no-delay')) || (delay && section.classList.contains('popup'))) { hasScrollControl = true; + section.classList.remove('hide-sticky-section'); } if (!hasScrollControl && main.children[0] !== section) { stickySectionEl = createTag('div', { class: 'section show-sticky-section' }); @@ -53,6 +54,7 @@ export default async function handleStickySection(sticky, section) { case 'sticky-top': { const { debounce } = await import('../../utils/action.js'); window.addEventListener('resize', debounce(() => handleTopHeight(section))); + handleTopHeight(section); main.prepend(section); break; } diff --git a/test/blocks/section-metadata/mocks/body.html b/test/blocks/section-metadata/mocks/body.html index 923d0be2b1d..dbad37b7db3 100644 --- a/test/blocks/section-metadata/mocks/body.html +++ b/test/blocks/section-metadata/mocks/body.html @@ -130,6 +130,30 @@ +
    +
    +
    +
    +
    +
    +
    +

    + + + +

    +

    Body M 18/27 Lorem ipsum dolor sit amet, consectetur adipiscing elit. no-delay

    +

    Call to action

    +
    +
    +
    + +
    - + + - - - + - -
    -
    -

    inline-price #

    + + +
    + +

    inline-price #

    Introduction #

    This custom element renders an inline price supporting various display options and configurations. It retrieves pricing information from WCS based on the provided Offer Selector ID.

    See MAS to learn more.

    @@ -311,7 +305,7 @@

    Logs

    - + + - - - + - -
    -
    -

    Merch At Scale (MAS) #

    + + +
    + +

    Merch At Scale (MAS) #

    Table of Contents #

    1. Introduction
    2. @@ -102,7 +96,7 @@

      Analytics document.querySelectorAll('code.demo').forEach(el => { diff --git a/libs/features/mas/docs/mas.js.html b/libs/features/mas/docs/mas.js.html index 592146b4bc0..251bc2a3e6f 100644 --- a/libs/features/mas/docs/mas.js.html +++ b/libs/features/mas/docs/mas.js.html @@ -5,39 +5,33 @@ M@S Web Components - + - - - + - -
      -
      -

      mas.js #

      + + +
      + +

      mas.js #

      Introduction #

      This is a javasript library that enables M@S on any web surface.

      mas.js includes the followings custom elements:

      @@ -631,7 +625,7 @@

      Supported locales document.querySelectorAll('code.demo').forEach(el => { diff --git a/libs/features/mas/docs/merch-card.html b/libs/features/mas/docs/merch-card.html index 1bb632d7289..1cd0115c448 100644 --- a/libs/features/mas/docs/merch-card.html +++ b/libs/features/mas/docs/merch-card.html @@ -5,39 +5,33 @@ M@S Web Components - + - - - + - -
      -
      -

      merch-card custom element #

      + + +
      + +

      merch-card custom element #

      Introduction #

      This custom element implements all the merch-card variants provided in acom and ccd figma designs.

      A merch-card can be rendered using either static html markup or aem-fragment custom element to retrieve a card from Odin/AEM.

      @@ -434,7 +428,7 @@

      Example </script> -

      +
      + - - - + - -
      -
      - ${htmlContent} -
      + +
      +
      + +${htmlContent} +
      + + + + + +
      + +

      checkout-button #

      +

      Introduction #

      +

      This custom element renders a checkout button supporting most of the features documented at https://wiki.corp.adobe.com/pages/viewpage.action?spaceKey=businessservices&title=UCv3+button+Creation+Guide.

      +

      Behind the scene, it uses https://git.corp.adobe.com/PandoraUI/commerce-core to generate the checkout url.

      +

      It requires an Offer Selector ID to retrieve the offer details from WCS.

      +

      See MAS to learn more.

      +

      ℹ️ Unlike checkout-link, in order to prevent the default click event from redirecting to checkout url, register the click event using {capture: true}. +
      See the demo at the end

      +

      Example #

      +
      <button
      +    is="checkout-button"
      +    data-wcs-osi="A1xn6EL4pK93bWjM8flffQpfEL-bnvtoQKQAvkx574M"
      +>
      +    Buy now
      +</button>
      +
      +

      Attributes #

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      AttributeDescriptionDefault ValueRequiredProvider
      data-wcs-osiOffer Selector ID, can be multiple, separeted by commatruemas.js or consumer code
      data-checkout-workflowTarget checkout workflow for the generation of checkout urlsUCv3falsemas.js
      data-checkout-workflow-stepworkflow step to land on the unified checkout pageemailfalsemas.js
      data-extra-optionsadditional query params to append to the url, see: Table of public query params{}falsemas.js
      data-ims-countrythe ims country to code of the user if signed in, overrides the locale country in the generated checkout urlfalsemas.js or consumer code
      data-perpetualwhether this is a perpetual offer true|falsefalsemas.js
      data-promotion-codeFlex promotion code, if applicablefalsemas.js
      data-quantityQuantity of the offer to purchase1falsemas.js or consumer code
      data-entitlemententitlement flag for client side interpretationfalsefalsemas.js
      data-upgradeupgrade flag for client side interpretationfalsefalsemas.js
      data-modalmodal flag for client side interpretationfalsefalsemas.js
      data-analytics-idhuman-readable, non-translatable button id for analytics. Authored in Studio in button Editor.falsefalsemas.js
      daa-llmartech-compatible button id for analytics. Format: ‘${data-analytics-id}-${#}’, where # is the position of the button within a card. E.g. : see-terms-1, buy-now-2falsefalsemas.js
      +

      Examples #

      +

      Custom Workflow Step #

      +
      <button
      +    is="checkout-button"
      +    data-wcs-osi="A1xn6EL4pK93bWjM8flffQpfEL-bnvtoQKQAvkx574M"
      +    data-checkout-workflow-step="recommendation"
      +>
      +    Buy now
      +</button>
      +
      +

      Multiple Quantities #

      +

      Two photoshop and three acrobat pro single apps (TEAMS):

      +
      <button
      +    is="checkout-button"
      +    data-wcs-osi="yHKQJK2VOMSY5bINgg7oa2ov9RnmnU1oJe4NOg4QTYI,vV01ci-KLH6hYdRfUKMBFx009hdpxZcIRG1-BY_PutE"
      +    data-quantity="2,3"
      +>
      +    Buy now
      +</button>
      +
      +

      Custom query params #

      +
      <button
      +    is="checkout-button"
      +    data-wcs-osi="A1xn6EL4pK93bWjM8flffQpfEL-bnvtoQKQAvkx574M"
      +    data-extra-options='{"promoid":"promo12345","mv":1,"mv2":2}'
      +>
      +    Buy now
      +</button>
      +
      +

      IMS Country #

      +
      <button
      +    is="checkout-button"
      +    data-wcs-osi="A1xn6EL4pK93bWjM8flffQpfEL-bnvtoQKQAvkx574M"
      +    data-ims-country="JP"
      +>
      +    Buy now
      +</button>
      +
      +

      Properties #

      + + + + + + + + + + + + + + + + + + + + + + + + + +
      PropertyDescription
      isCheckoutButtonon checkout button elements, it will return true
      onceSettledpromise that resolves when the custom-element either resolves or fails to resolve the offer
      optionsJSON object with the complete set of properties used to resolve the offer
      valueThe actual offer that is used to render the checkout button. In some cases WCS can return multiple offers but only one will be picked to render for a single app.
      +

      Example #

      +
      <button
      +    id="co1"
      +    is="checkout-button"
      +    data-wcs-osi="A1xn6EL4pK93bWjM8flffQpfEL-bnvtoQKQAvkx574M"
      +    data-ims-country="CA"
      +>
      +    Buy now
      +</button>
      +<script type="module">
      +    document
      +        .getElementById('co1')
      +        .onceSettled()
      +        .then((el) => {
      +            document.getElementById('coValue').innerHTML = JSON.stringify(
      +                el.value,
      +                null,
      +                '\t',
      +            );
      +            document.getElementById('coOptions').innerHTML = JSON.stringify(
      +                el.options,
      +                null,
      +                '\t',
      +            );
      +        });
      +</script>
      +
      +

      value property #

      +
      
      +
      +

      options property #

      +
      
      +
      +

      Methods #

      + + + + + + + + + + + + + +
      PropertyDescription
      requestUpdate(true | false)Causes a re-render using the actual options, force = false by default, meaning if no change is found will skip
      +

      Events #

      + + + + + + + + + + + + + + + + + + + + + +
      EventDescription
      mas:pendingfires when checkout button starts loading
      mas:resolvedfires when the offer is successfully resolved
      mas:failedfires when the offer could not be found or fetched
      +
      +

      For each event, the following css classes are toggled on the element: placeholder-pending, placeholder-resolved, placeholder-failed.

      +

      Example #

      +
      <div id="eventsDemo">
      +    <button
      +        is="checkout-button"
      +        data-wcs-osi="A1xn6EL4pK93bWjM8flffQpfEL-bnvtoQKQAvkx574M"
      +        >Buy now (click me)</a
      +    >
      +    <br />
      +    <button
      +        is="checkout-button"
      +        data-wcs-osi="A1xn6EL4pK93bWjM8flffQpfEL-bnvtoQKQAvkx574M"
      +        ><span style="pointer-events: none;">Span + <strong>Strong + Buy now</strong></span></a
      +    >
      +</div>
      +<button id="btnRefresh">Refresh</button>
      +<script type="module">
      +    const log = document.getElementById('log');
      +    const logger = (...messages) =>
      +        (log.innerHTML = `${messages.join(' ')}<br>${log.innerHTML}`);
      +    const eventsDemo = document.getElementById('eventsDemo');
      +    eventsDemo.addEventListener('mas:pending', () =>
      +        logger('checkout-button pending'),
      +    );
      +    eventsDemo.addEventListener('mas:resolved', (e) =>
      +        logger('checkout-button resolved'),
      +    );
      +    eventsDemo.addEventListener('mas:failed', () =>
      +        logger('checkout-button failed'),
      +    );
      +    eventsDemo.addEventListener('click', (e) => {
      +        e.preventDefault();
      +        e.stopPropagation();
      +        if (e.target.isCheckoutButton) {
      +            logger('checkout button is clicked: ', e.target.href);
      +        } else {
      +            logger('element clicked: ', e.target);
      +        }
      +    }, {capture: true});
      +    document.getElementById('btnRefresh').addEventListener('click', () => {
      +        [...eventsDemo.querySelectorAll('a')].forEach((a) =>
      +            a.requestUpdate(true),
      +        );
      +    });
      +</script>
      +
      +

      Logs #

      +
      
      +
      + +
      +
      + + + diff --git a/libs/features/mas/docs/checkout-link.html b/libs/features/mas/docs/checkout-link.html index 80046de8186..cfa1a0ac676 100644 --- a/libs/features/mas/docs/checkout-link.html +++ b/libs/features/mas/docs/checkout-link.html @@ -6,7 +6,7 @@ M@S Web Components - + @@ -16,11 +16,9 @@ - - - +

      checkout-link #

      @@ -145,7 +143,7 @@

      Attributes Events mas:failed fires when the offer could not be found or fetched - -click -native click event on the a element -
      -

      For each event except click, the following css classes are toggled on the element: placeholder-pending, placeholder-resolved, placeholder-failed.

      +

      For each event, the following css classes are toggled on the element: placeholder-pending, placeholder-resolved, placeholder-failed.

      Example #

      <div id="eventsDemo">
           <a
      @@ -305,7 +299,9 @@ 

      Example <a is="checkout-link" data-wcs-osi="A1xn6EL4pK93bWjM8flffQpfEL-bnvtoQKQAvkx574M" - ><span>Span + <strong>Strong + Buy now</strong></span></a + ><span style="pointer-events: none;" + >Span + <strong>Strong + Buy now</strong></span + ></a > </div> <button id="btnRefresh">Refresh</button> diff --git a/libs/features/mas/docs/inline-price.html b/libs/features/mas/docs/inline-price.html index d75bacf1ff7..754986d9753 100644 --- a/libs/features/mas/docs/inline-price.html +++ b/libs/features/mas/docs/inline-price.html @@ -6,7 +6,7 @@ M@S Web Components - + @@ -16,11 +16,9 @@ - - - +

      inline-price #

      diff --git a/libs/features/mas/docs/mas.html b/libs/features/mas/docs/mas.html index 236e5f75b0a..ee46f93002e 100644 --- a/libs/features/mas/docs/mas.html +++ b/libs/features/mas/docs/mas.html @@ -6,7 +6,7 @@ M@S Web Components - + @@ -16,11 +16,9 @@ - - - +

      Merch At Scale (MAS) #

      diff --git a/libs/features/mas/docs/mas.js.html b/libs/features/mas/docs/mas.js.html index 251bc2a3e6f..80cd9b70371 100644 --- a/libs/features/mas/docs/mas.js.html +++ b/libs/features/mas/docs/mas.js.html @@ -6,7 +6,7 @@ M@S Web Components - + @@ -16,11 +16,9 @@ - - - +

      mas.js #

      @@ -38,10 +36,16 @@

      Introduction inline-price
    3. checkout-link
    4. +
    5. checkout-button
    6. merch-card
    7. Enablement mas-commerce-service #

      -

      You do need to have mas.js on your page / application, including it can be done like the following

      +

      ⚠️ Safari does not support customized built-in elements. Therefore, you need to load the following polyfill before mas.js for browser compatibility (not required for in-app usage).

      +
      <script
      +    src="https://www.adobe.comlibs/deps/custom-elements.js"
      +></script>
      +
      +

      To add mas.js to your page or application, include it as shown below:

      <script
           src="https://www.adobe.com/libs/features/mas/mas/dist/mas.js"
           type="module"
      diff --git a/libs/features/mas/docs/merch-card.html b/libs/features/mas/docs/merch-card.html
      index 1cd0115c448..7ba9a28c147 100644
      --- a/libs/features/mas/docs/merch-card.html
      +++ b/libs/features/mas/docs/merch-card.html
      @@ -6,7 +6,7 @@
           M@S Web Components
           
           
      -    
      +    
           
         
         
      @@ -16,11 +16,9 @@
         
         
         
      -  
      -  
       
       
      -
      +
       

      merch-card custom element #

      @@ -71,17 +69,21 @@

      With an Odin/A log(target, 'merch-card is ready: ', e.target.variant); }); - card1.addEventListener('click', (e) => { - e.preventDefault(); - e.stopPropagation(); - if (e.target.isCheckoutLink) { - log(target, 'merch-card checkout-link click: ', e.target); - } else if (e.target.isInlinePrice) { - log(target, 'merch-card price click: ', e.target.innerText); - } else { - log(target, 'merch-card click: ', e.target); - } - }); + card1.addEventListener( + 'click', + (e) => { + e.preventDefault(); + e.stopPropagation(); + if (e.target.isCheckoutButton) { + log(target, 'merch-card checkout-button click: ', e.target); + } else if (e.target.isInlinePrice) { + log(target, 'merch-card price click: ', e.target.innerText); + } else { + log(target, 'merch-card click: ', e.target); + } + }, + { capture: true }, + ); } </script>

      diff --git a/libs/features/mas/docs/src/build-docs.mjs b/libs/features/mas/docs/src/build-docs.mjs index e6f40ec35ff..db7ad8f382d 100644 --- a/libs/features/mas/docs/src/build-docs.mjs +++ b/libs/features/mas/docs/src/build-docs.mjs @@ -63,7 +63,7 @@ const htmlTemplate = ` M@S Web Components - + @@ -73,8 +73,6 @@ const htmlTemplate = ` - -

      diff --git a/libs/features/mas/docs/src/mas.js.md b/libs/features/mas/docs/src/mas.js.md index b6ccf69bf79..853c271c12a 100644 --- a/libs/features/mas/docs/src/mas.js.md +++ b/libs/features/mas/docs/src/mas.js.md @@ -8,11 +8,18 @@ mas.js includes the followings custom elements: - [inline-price](/libs/features/mas/docs/inline-price.html) - [checkout-link](/libs/features/mas/docs/checkout-link.html) +- [checkout-button](/libs/features/mas/docs/checkout-button.html) - [merch-card](/libs/features/mas/docs/merch-card.html) ## Enablement `mas-commerce-service` +⚠️ Safari does not support customized built-in elements. Therefore, you need to load the following polyfill before `mas.js` for browser compatibility (not required for in-app usage). +```html + +``` -You do need to have mas.js on your page / application, including it can be done like the following +To add `mas.js` to your page or application, include it as shown below: ```html ``` diff --git a/libs/features/mas/src/checkout-button.js b/libs/features/mas/src/checkout-button.js new file mode 100644 index 00000000000..fdfef99302f --- /dev/null +++ b/libs/features/mas/src/checkout-button.js @@ -0,0 +1,39 @@ +import { CheckoutMixin, createCheckoutElement } from './checkout-mixin.js'; + +export class CheckoutButton extends CheckoutMixin(HTMLButtonElement) { + static is = 'checkout-button'; + static tag = 'button'; + + static createCheckoutButton(options = {}, innerHTML = '') { + return createCheckoutElement(CheckoutButton, options, innerHTML); + } + + setCheckoutUrl(value) { + this.setAttribute('data-href', value); + } + + get href() { + return this.getAttribute('data-href'); + } + + get isCheckoutButton() { + return true; + } + + clickHandler(e) { + if (this.checkoutActionHandler) { + this.checkoutActionHandler?.(e); + return; + } + if (this.href) { + window.location.href = this.href; + } + } +} + +// Define custom DOM element +if (!window.customElements.get(CheckoutButton.is)) { + window.customElements.define(CheckoutButton.is, CheckoutButton, { + extends: CheckoutButton.tag, + }); +} diff --git a/libs/features/mas/src/checkout-link.js b/libs/features/mas/src/checkout-link.js index 669d7c1d421..ed25d509776 100644 --- a/libs/features/mas/src/checkout-link.js +++ b/libs/features/mas/src/checkout-link.js @@ -1,258 +1,27 @@ -import { ignore } from './external.js'; -import { - createMasElement, - updateMasElement, - MasElement, -} from './mas-element.js'; -import { selectOffers, useService } from './utilities.js'; +import { createCheckoutElement } from './checkout-mixin.js'; +import { CheckoutMixin } from './checkout-mixin.js'; -export const CLASS_NAME_DOWNLOAD = 'download'; -export const CLASS_NAME_UPGRADE = 'upgrade'; - -export class CheckoutLink extends HTMLAnchorElement { +export class CheckoutLink extends CheckoutMixin(HTMLAnchorElement) { static is = 'checkout-link'; static tag = 'a'; - /* c8 ignore next 1 */ - #checkoutActionHandler; - - masElement = new MasElement(this); - - attributeChangedCallback(name, _, value) { - this.masElement.attributeChangedCallback(name, _, value); - } - - connectedCallback() { - this.masElement.connectedCallback(); - this.addEventListener('click', this.handleClick); - } - - disconnectedCallback() { - this.masElement.disconnectedCallback(); - this.removeEventListener('click', this.handleClick); - } - - onceSettled() { - return this.masElement.onceSettled(); - } - - get value() { - return this.masElement.value; - } - - get options() { - return this.masElement.options; - } - - requestUpdate(force = false) { - return this.masElement.requestUpdate(force); - } - - constructor() { - super(); - this.handleClick = this.handleClick.bind(this); - } - - static get observedAttributes() { - return [ - 'data-checkout-workflow', - 'data-checkout-workflow-step', - 'data-extra-options', - 'data-ims-country', - 'data-perpetual', - 'data-promotion-code', - 'data-quantity', - 'data-template', - 'data-wcs-osi', - 'data-entitlement', - 'data-upgrade', - 'data-modal', - ]; - } - static createCheckoutLink(options = {}, innerHTML = '') { - // eslint-disable-next-line react-hooks/rules-of-hooks - const service = useService(); - if (!service) return null; - const { - checkoutMarketSegment, - checkoutWorkflow, - checkoutWorkflowStep, - entitlement, - upgrade, - modal, - perpetual, - promotionCode, - quantity, - wcsOsi, - extraOptions, - } = service.collectCheckoutOptions(options); + return createCheckoutElement(CheckoutLink, options, innerHTML); + } - const element = createMasElement(CheckoutLink, { - checkoutMarketSegment, - checkoutWorkflow, - checkoutWorkflowStep, - entitlement, - upgrade, - modal, - perpetual, - promotionCode, - quantity, - wcsOsi, - extraOptions, - }); - if (innerHTML) element.innerHTML = `${innerHTML}`; - return element; + setCheckoutUrl(value) { + this.setAttribute('href', value); } get isCheckoutLink() { return true; } - /** - * Click handler for checkout link. - * Triggers checkout action handler, if provided. - * @param {*} event - */ - handleClick(event) { - if (event.target !== this) { - event.preventDefault(); - event.stopImmediatePropagation(); - this.dispatchEvent( - new MouseEvent('click', { - bubbles: true, - cancelable: true, - view: window, - }), - ); + clickHandler(e) { + if (this.checkoutActionHandler) { + this.checkoutActionHandler?.(e); return; } - this.#checkoutActionHandler?.(event); - } - - async render(overrides = {}) { - if (!this.isConnected) return false; - // eslint-disable-next-line react-hooks/rules-of-hooks - const service = useService(); - if (!service) return false; - if (!this.dataset.imsCountry) { - service.imsCountryPromise.then((countryCode) => { - if (countryCode) this.dataset.imsCountry = countryCode; - }, ignore); - } - overrides.imsCountry = null; - const options = service.collectCheckoutOptions(overrides, this); - if (!options.wcsOsi.length) return false; - let extraOptions; - try { - extraOptions = JSON.parse(options.extraOptions ?? '{}'); - /* c8 ignore next 3 */ - } catch (e) { - this.masElement.log?.error('cannot parse exta checkout options', e); - } - const version = this.masElement.togglePending(options); - this.href = ''; - const promises = service.resolveOfferSelectors(options); - let offers = await Promise.all(promises); - // offer is expected to contain one or two offers at max (en, mult) - offers = offers.map((offer) => selectOffers(offer, options)); - options.country = this.dataset.imsCountry || options.country; - const checkoutAction = await service.buildCheckoutAction?.( - offers.flat(), - { ...extraOptions, ...options }, - this, - ); - return this.renderOffers( - offers.flat(), - options, - {}, - checkoutAction, - version, - ); - } - - /** - * Renders checkout link href for provided offers into this component. - * @param {Commerce.Wcs.Offer[]} offers - * @param {Commerce.Checkout.Options} options - * @param {Commerce.Checkout.AnyOptions} overrides - * @param {Commerce.Checkout.CheckoutAction} checkoutAction - * @param {number} version - */ - renderOffers( - offers, - options, - overrides = {}, - checkoutAction = undefined, - version = undefined, - ) { - if (!this.isConnected) return false; - // eslint-disable-next-line react-hooks/rules-of-hooks - const service = useService(); - if (!service) return false; - const extraOptions = JSON.parse(this.dataset.extraOptions ?? 'null'); - options = { ...extraOptions, ...options, ...overrides }; - version ??= this.masElement.togglePending(options); - if (this.#checkoutActionHandler) { - /* c8 ignore next 2 */ - this.#checkoutActionHandler = undefined; - } - if (checkoutAction) { - this.classList.remove(CLASS_NAME_DOWNLOAD, CLASS_NAME_UPGRADE); - this.masElement.toggleResolved(version, offers, options); - const { url, text, className, handler } = checkoutAction; - if (url) this.href = url; - if (text) this.firstElementChild.innerHTML = text; - if (className) this.classList.add(...className.split(' ')); - if (handler) { - this.setAttribute('href', '#'); - this.#checkoutActionHandler = handler.bind(this); - } - return true; - } else if (offers.length) { - if (this.masElement.toggleResolved(version, offers, options)) { - const url = service.buildCheckoutURL(offers, options); - this.setAttribute('href', url); - return true; - } - } else { - const error = new Error(`Not provided: ${options?.wcsOsi ?? '-'}`); - if (this.masElement.toggleFailed(version, error, options)) { - this.setAttribute('href', '#'); - return true; - } - } - } - - updateOptions(options = {}) { - // eslint-disable-next-line react-hooks/rules-of-hooks - const service = useService(); - if (!service) return false; - const { - checkoutMarketSegment, - checkoutWorkflow, - checkoutWorkflowStep, - entitlement, - upgrade, - modal, - perpetual, - promotionCode, - quantity, - wcsOsi, - } = service.collectCheckoutOptions(options); - updateMasElement(this, { - checkoutMarketSegment, - checkoutWorkflow, - checkoutWorkflowStep, - entitlement, - upgrade, - modal, - perpetual, - promotionCode, - quantity, - wcsOsi, - }); - return true; } } diff --git a/libs/features/mas/src/checkout-mixin.js b/libs/features/mas/src/checkout-mixin.js new file mode 100644 index 00000000000..3b154bbd342 --- /dev/null +++ b/libs/features/mas/src/checkout-mixin.js @@ -0,0 +1,242 @@ +import { ignore } from './external.js'; +import { + createMasElement, + updateMasElement, + MasElement, +} from './mas-element.js'; +import { selectOffers, useService } from './utilities.js'; + +export const CLASS_NAME_DOWNLOAD = 'download'; +export const CLASS_NAME_UPGRADE = 'upgrade'; + +export function createCheckoutElement(Class, options = {}, innerHTML = '') { + // eslint-disable-next-line react-hooks/rules-of-hooks + const service = useService(); + if (!service) return null; + const { + checkoutMarketSegment, + checkoutWorkflow, + checkoutWorkflowStep, + entitlement, + upgrade, + modal, + perpetual, + promotionCode, + quantity, + wcsOsi, + extraOptions, + } = service.collectCheckoutOptions(options); + + const element = createMasElement(Class, { + checkoutMarketSegment, + checkoutWorkflow, + checkoutWorkflowStep, + entitlement, + upgrade, + modal, + perpetual, + promotionCode, + quantity, + wcsOsi, + extraOptions, + }); + if (innerHTML) + element.innerHTML = `${innerHTML}`; + return element; +} + +export function CheckoutMixin(Base) { + return class CheckoutBase extends Base { + /* c8 ignore next 1 */ + checkoutActionHandler; + + masElement = new MasElement(this); + + attributeChangedCallback(name, oldValue, value) { + this.masElement.attributeChangedCallback(name, oldValue, value); + } + + connectedCallback() { + this.masElement.connectedCallback(); + this.addEventListener('click', this.clickHandler); + } + + disconnectedCallback() { + this.masElement.disconnectedCallback(); + this.removeEventListener('click', this.clickHandler); + } + + onceSettled() { + return this.masElement.onceSettled(); + } + + get value() { + return this.masElement.value; + } + + get options() { + return this.masElement.options; + } + + requestUpdate(force = false) { + return this.masElement.requestUpdate(force); + } + + static get observedAttributes() { + return [ + 'data-checkout-workflow', + 'data-checkout-workflow-step', + 'data-extra-options', + 'data-ims-country', + 'data-perpetual', + 'data-promotion-code', + 'data-quantity', + 'data-template', + 'data-wcs-osi', + 'data-entitlement', + 'data-upgrade', + 'data-modal', + ]; + } + + async render(overrides = {}) { + if (!this.isConnected) return false; + // eslint-disable-next-line react-hooks/rules-of-hooks + const service = useService(); + if (!service) return false; + if (!this.dataset.imsCountry) { + service.imsCountryPromise.then((countryCode) => { + if (countryCode) this.dataset.imsCountry = countryCode; + }, ignore); + } + overrides.imsCountry = null; + const options = service.collectCheckoutOptions(overrides, this); + if (!options.wcsOsi.length) return false; + let extraOptions; + try { + extraOptions = JSON.parse(options.extraOptions ?? '{}'); + /* c8 ignore next 3 */ + } catch (e) { + this.masElement.log?.error( + 'cannot parse exta checkout options', + e, + ); + } + const version = this.masElement.togglePending(options); + this.setCheckoutUrl(''); + const promises = service.resolveOfferSelectors(options); + let offers = await Promise.all(promises); + // offer is expected to contain one or two offers at max (en, mult) + offers = offers.map((offer) => selectOffers(offer, options)); + options.country = this.dataset.imsCountry || options.country; + const checkoutAction = await service.buildCheckoutAction?.( + offers.flat(), + { ...extraOptions, ...options }, + this, + ); + return this.renderOffers( + offers.flat(), + options, + {}, + checkoutAction, + version, + ); + } + + /** + * Renders checkout link href for provided offers into this component. + * @param {Commerce.Wcs.Offer[]} offers + * @param {Commerce.Checkout.Options} options + * @param {Commerce.Checkout.AnyOptions} overrides + * @param {Commerce.Checkout.CheckoutAction} checkoutAction + * @param {number} version + */ + renderOffers( + offers, + options, + overrides = {}, + checkoutAction = undefined, + version = undefined, + ) { + if (!this.isConnected) return false; + // eslint-disable-next-line react-hooks/rules-of-hooks + const service = useService(); + if (!service) return false; + const extraOptions = JSON.parse( + this.dataset.extraOptions ?? 'null', + ); + options = { ...extraOptions, ...options, ...overrides }; + version ??= this.masElement.togglePending(options); + if (this.checkoutActionHandler) { + /* c8 ignore next 2 */ + this.checkoutActionHandler = undefined; + } + if (checkoutAction) { + this.classList.remove(CLASS_NAME_DOWNLOAD, CLASS_NAME_UPGRADE); + this.masElement.toggleResolved(version, offers, options); + const { url, text, className, handler } = checkoutAction; + if (url) this.setCheckoutUrl(url); + if (text) this.firstElementChild.innerHTML = text; + if (className) this.classList.add(...className.split(' ')); + if (handler) { + this.setCheckoutUrl('#'); + this.checkoutActionHandler = handler.bind(this); + } + return true; + } else if (offers.length) { + if (this.masElement.toggleResolved(version, offers, options)) { + const url = service.buildCheckoutURL(offers, options); + this.setCheckoutUrl(url); + return true; + } + } else { + const error = new Error( + `Not provided: ${options?.wcsOsi ?? '-'}`, + ); + if (this.masElement.toggleFailed(version, error, options)) { + this.setCheckoutUrl('#'); + return true; + } + } + } + + setCheckoutUrl() { + // to be implemented in the subclass + } + + clickHandler(e) { + // to be implemented in the subclass + } + + updateOptions(options = {}) { + // eslint-disable-next-line react-hooks/rules-of-hooks + const service = useService(); + if (!service) return false; + const { + checkoutMarketSegment, + checkoutWorkflow, + checkoutWorkflowStep, + entitlement, + upgrade, + modal, + perpetual, + promotionCode, + quantity, + wcsOsi, + } = service.collectCheckoutOptions(options); + updateMasElement(this, { + checkoutMarketSegment, + checkoutWorkflow, + checkoutWorkflowStep, + entitlement, + upgrade, + modal, + perpetual, + promotionCode, + quantity, + wcsOsi, + }); + return true; + } + }; +} diff --git a/libs/features/mas/src/commerce.js b/libs/features/mas/src/commerce.js index e7806672915..1c64cbdcf8c 100644 --- a/libs/features/mas/src/commerce.js +++ b/libs/features/mas/src/commerce.js @@ -1,4 +1,5 @@ import { CheckoutLink } from './checkout-link.js'; +import { CheckoutButton } from './checkout-button.js'; import { Landscape } from './constants.js'; import { Defaults } from './defaults.js'; import { TAG_NAME_SERVICE } from './mas-commerce-service.js'; @@ -17,6 +18,7 @@ import { getSettings } from './settings.js'; export { TAG_NAME_SERVICE, CheckoutLink, + CheckoutButton, CheckoutWorkflow, CheckoutWorkflowStep, Defaults, diff --git a/libs/features/mas/src/global.css.js b/libs/features/mas/src/global.css.js index 062997dca9b..c3b86de89da 100644 --- a/libs/features/mas/src/global.css.js +++ b/libs/features/mas/src/global.css.js @@ -170,10 +170,6 @@ merch-card span[is='inline-price'] { display: inline-block; } -merch-card button a[is='checkout-link'] { - pointer-events: auto; -} - merch-card [slot^='heading-'] { color: var(--consonant-merch-card-heading-color); font-weight: 700; diff --git a/libs/features/mas/src/hydrate.js b/libs/features/mas/src/hydrate.js index c65de04750e..9dbe1fb4c8a 100644 --- a/libs/features/mas/src/hydrate.js +++ b/libs/features/mas/src/hydrate.js @@ -1,9 +1,9 @@ +import { CheckoutButton } from './checkout-button.js'; import { createTag } from './utils.js'; const DEFAULT_BADGE_COLOR = '#000000'; const DEFAULT_BADGE_BACKGROUND_COLOR = '#F8D904'; -const CHECKOUT_LINK_STYLE_PATTERN = - /(accent|primary|secondary)(-(outline|link))?/; +const CHECKOUT_STYLE_PATTERN = /(accent|primary|secondary)(-(outline|link))?/; export const ANALYTICS_TAG = 'mas:product_code/'; export const ANALYTICS_LINK_ATTR = 'daa-ll'; export const ANALYTICS_SECTION_ATTR = 'daa-lh'; @@ -121,7 +121,7 @@ export function processPrices(fields, merchCard, pricesConfig) { } } -function processDescription(fields, merchCard, descriptionConfig) { +export function processDescription(fields, merchCard, descriptionConfig) { if (fields.description && descriptionConfig) { const body = createTag( descriptionConfig.tag, @@ -133,31 +133,25 @@ function processDescription(fields, merchCard, descriptionConfig) { } function createSpectrumCssButton(cta, aemFragmentMapping, isOutline, variant) { + const CheckoutButton = customElements.get('checkout-button'); + const spectrumCta = CheckoutButton.createCheckoutButton({}, cta.innerHTML); + spectrumCta.setAttribute('tabindex', 0); + for (const attr of cta.attributes) { + if (['class', 'is'].includes(attr.name)) continue; + spectrumCta.setAttribute(attr.name, attr.value); + } + spectrumCta.firstElementChild?.classList.add('spectrum-Button-label'); const size = aemFragmentMapping.ctas.size ?? 'M'; const variantClass = `spectrum-Button--${variant}`; - const treatmentClass = isOutline ? ' spectrum-Button--outline' : ''; - cta.classList.add('spectrum-Button-label'); const sizeClass = SPECTRUM_BUTTON_SIZES.includes(size) - ? ` spectrum-Button--size${size}` - : ' spectrum-Button--sizeM'; - const spectrumClass = `spectrum-Button ${variantClass}${treatmentClass}${sizeClass}`; - const spectrumCta = createTag( - 'button', - { - class: spectrumClass, - tabIndex: 0, - }, - cta, - ); - - spectrumCta.addEventListener('click', (e) => { - if (e.target !== cta) { - /* c8 ignore next 3 */ - e.stopPropagation(); - cta.click(); - } - }); + ? `spectrum-Button--size${size}` + : 'spectrum-Button--sizeM'; + const spectrumClass = ['spectrum-Button', variantClass, sizeClass]; + if (isOutline) { + spectrumClass.push('spectrum-Button--outline'); + } + spectrumCta.classList.add(...spectrumClass); return spectrumCta; } @@ -206,8 +200,7 @@ export function processCTAs(fields, merchCard, aemFragmentMapping, variant) { const strong = cta.parentElement.tagName === 'STRONG'; if (merchCard.consonant) return processConsonantButton(cta, strong); const checkoutLinkStyle = - CHECKOUT_LINK_STYLE_PATTERN.exec(cta.className)?.[0] ?? - 'accent'; + CHECKOUT_STYLE_PATTERN.exec(cta.className)?.[0] ?? 'accent'; const isAccent = checkoutLinkStyle.includes('accent'); const isPrimary = checkoutLinkStyle.includes('primary'); const isSecondary = checkoutLinkStyle.includes('secondary'); @@ -224,7 +217,6 @@ export function processCTAs(fields, merchCard, aemFragmentMapping, variant) { } else if (isSecondary) { variant = 'secondary'; } - cta.tabIndex = -1; if (merchCard.spectrum === 'swc') return createSpectrumSwcButton( cta, @@ -255,16 +247,17 @@ export function processAnalytics(fields, merchCard) { if (!cardAnalyticsId) return; merchCard.setAttribute(ANALYTICS_SECTION_ATTR, cardAnalyticsId); merchCard - .querySelectorAll(`a[data-analytics-id]`) - .forEach((link, index) => { - link.setAttribute( + .querySelectorAll(`a[data-analytics-id],button[data-analytics-id]`) + .forEach((el, index) => { + el.setAttribute( ANALYTICS_LINK_ATTR, - `${link.dataset.analyticsId}-${index + 1}`, + `${el.dataset.analyticsId}-${index + 1}`, ); }); } -function updateLinks(merchCard) { +export function updateLinksCSS(merchCard) { + if (merchCard.spectrum !== 'css') return; [ ['primary-link', 'primary'], ['secondary-link', 'secondary'], @@ -316,5 +309,5 @@ export async function hydrate(fragment, merchCard) { processDescription(fields, merchCard, aemFragmentMapping.description); processCTAs(fields, merchCard, aemFragmentMapping, variant); processAnalytics(fields, merchCard); - updateLinks(merchCard); + updateLinksCSS(merchCard); } diff --git a/libs/features/mas/src/utils.js b/libs/features/mas/src/utils.js index 86b81d01eed..08bae879b37 100644 --- a/libs/features/mas/src/utils.js +++ b/libs/features/mas/src/utils.js @@ -18,8 +18,10 @@ export const getSlotText = (element, name) => * @param {*} content * @returns {HTMLElement} */ -export function createTag(tag, attributes = {}, content = '') { - const element = document.createElement(tag); +export function createTag(tag, attributes = {}, content = null, is = null) { + const element = is + ? document.createElement(tag, { is }) + : document.createElement(tag); if (content instanceof HTMLElement) { element.appendChild(content); } else { diff --git a/libs/features/mas/src/variants/ccd-slice.js b/libs/features/mas/src/variants/ccd-slice.js index 4ae3b022e31..b35e0802920 100644 --- a/libs/features/mas/src/variants/ccd-slice.js +++ b/libs/features/mas/src/variants/ccd-slice.js @@ -23,9 +23,9 @@ export class CCDSlice extends VariantLayout { renderLayout() { return html`
      - - ${this.badge} -
      + + ${this.badge} +

    @@ -36,11 +36,11 @@ export class CCDSlice extends VariantLayout { static variantStyle = css` :host([variant='ccd-slice']) { --consonant-merch-card-background-color: rgb(248, 248, 248); - --consonant-merch-card-border-color:rgb(230, 230, 230); + --consonant-merch-card-border-color: rgb(230, 230, 230); --consonant-merch-card-body-s-color: rgb(34, 34, 34); --merch-color-inline-price-strikethrough: var(--spectrum-gray-600); --mod-img-height: 29px; - + box-sizing: border-box; min-width: 290px; max-width: 322px; @@ -53,7 +53,7 @@ export class CCDSlice extends VariantLayout { } :host([variant='ccd-slice']) * { - overflow: hidden; + overflow: hidden; } :host([variant='ccd-slice']) ::slotted([slot='body-s']) { @@ -61,12 +61,15 @@ export class CCDSlice extends VariantLayout { line-height: var(--consonant-merch-card-body-xxs-line-height); min-width: 154px; max-width: 171px; - max-height: 54px; + height: 55px; overflow: hidden; } :host([variant='ccd-slice'][size='wide']) ::slotted([slot='body-s']) { - max-width: 425px; + max-width: 425px; + display: flex; + flex-direction: column; + justify-content: center; } :host([variant='ccd-slice'][size='wide']) { @@ -79,7 +82,8 @@ export class CCDSlice extends VariantLayout { gap: var(--consonant-merch-spacing-xxs); padding: 15px; padding-inline-end: 0; - width: 154px; + height: 154px; + box-sizing: border-box; min-height: 123px; flex-direction: column; justify-content: space-between; diff --git a/libs/features/mas/src/variants/ccd-suggested.js b/libs/features/mas/src/variants/ccd-suggested.js index 1208d3be71b..4bb2789b1da 100644 --- a/libs/features/mas/src/variants/ccd-suggested.js +++ b/libs/features/mas/src/variants/ccd-suggested.js @@ -62,6 +62,7 @@ export class CCDSuggested extends VariantLayout { this.card.classList.remove('thin-strip'); this.card.classList.remove('wide-strip'); if (!this.card.backgroundImage) { + // c8 ignore next 2 */ return; } const img = new Image(); diff --git a/libs/features/mas/test/checkout-button.test.js b/libs/features/mas/test/checkout-button.test.js new file mode 100644 index 00000000000..7e15ea9a0a1 --- /dev/null +++ b/libs/features/mas/test/checkout-button.test.js @@ -0,0 +1,369 @@ +import { + CLASS_NAME_DOWNLOAD, + CLASS_NAME_UPGRADE, +} from '../src/checkout-mixin.js'; + +import { CheckoutButton } from '../src/checkout-button.js'; +import { Checkout } from '../src/checkout.js'; +import { getSettings } from '../src/settings.js'; + +import { + CLASS_NAME_FAILED, + ERROR_MESSAGE_OFFER_NOT_FOUND, +} from '../src/constants.js'; +import { + CheckoutWorkflow, + CheckoutWorkflowStep, + delay, +} from '../src/external.js'; +import { mockFetch } from './mocks/fetch.js'; +import { mockIms, unmockIms } from './mocks/ims.js'; +import { mockLana, unmockLana } from './mocks/lana.js'; +import { withWcs } from './mocks/wcs.js'; +import { + expect, + sinon, + initMasCommerceService, + disableMasCommerceService, +} from './utilities.js'; + +const HREF = 'https://test.org/'; + +/** + * @param {string} wcsOsi + * @param {Record} options + * @returns {Commerce.Checkout.Placeholder} + */ +function mockCheckoutButton(wcsOsi, options = {}, append = true) { + const element = CheckoutButton.createCheckoutButton( + { wcsOsi, ...options }, + `Buy now: ${wcsOsi}`, + ); + if (append) document.body.append(element, document.createElement('br')); + return element; +} + +afterEach(() => { + disableMasCommerceService(); + unmockIms(); + unmockLana(); +}); + +beforeEach(async () => { + await mockFetch(withWcs); + mockLana(); +}); + +describe('class "CheckoutButton"', () => { + it('renders button', async () => { + await initMasCommerceService(); + const checkoutButton = mockCheckoutButton('abm'); + await checkoutButton.onceSettled(); + expect(checkoutButton.href).to.equal( + 'https://commerce.adobe.com/store/email?items%5B0%5D%5Bid%5D=632B3ADD940A7FBB7864AA5AD19B8D28&cli=adobe_com&ctx=fp&co=US&lang=en', + ); + expect(checkoutButton.value).to.be.not.empty; + expect(checkoutButton.options).to.be.not.empty; + }); + + it('renders button with workflow step from settings', async () => { + await initMasCommerceService({ + 'checkout-workflow-step': CheckoutWorkflowStep.SEGMENTATION, + }); + const checkoutButton = mockCheckoutButton('abm'); + await checkoutButton.onceSettled(); + expect(checkoutButton.href).to.equal( + 'https://commerce.adobe.com/store/segmentation?ms=COM&ot=BASE&pa=ccsn_direct_individual&cli=adobe_com&ctx=fp&co=US&lang=en', + ); + }); + + it('renders button with workflow step from dataset', async () => { + await initMasCommerceService(); + const checkoutButton = mockCheckoutButton('abm', { + checkoutWorkflowStep: CheckoutWorkflowStep.SEGMENTATION, + }); + await checkoutButton.onceSettled(); + expect(checkoutButton.href).to.equal( + 'https://commerce.adobe.com/store/segmentation?ms=COM&ot=BASE&pa=ccsn_direct_individual&cli=adobe_com&ctx=fp&co=US&lang=en', + ); + }); + + it('renders button with ims country', async () => { + mockIms('CH'); + const service = await initMasCommerceService(); + const checkoutButton = mockCheckoutButton('abm'); + await service.imsCountryPromise; + await delay(1); + await checkoutButton.onceSettled(); + expect(checkoutButton.href).to.equal( + 'https://commerce.adobe.com/store/email?items%5B0%5D%5Bid%5D=632B3ADD940A7FBB7864AA5AD19B8D28&cli=adobe_com&ctx=fp&co=CH&lang=en', + ); + }); + + it('renders button with promo from dataset', async () => { + await initMasCommerceService(); + const checkoutButton = mockCheckoutButton('abm-promo', { + promotionCode: 'nicopromo', + }); + await checkoutButton.onceSettled(); + expect(checkoutButton.href).to.equal( + 'https://commerce.adobe.com/store/email?items%5B0%5D%5Bid%5D=632B3ADD940A7FBB7864AA5AD19B8D28&apc=nicopromo&cli=adobe_com&ctx=fp&co=US&lang=en', + ); + checkoutButton.dataset.promotionCode = 'testpromo'; + await checkoutButton.onceSettled(); + expect(checkoutButton.href).to.equal( + 'https://commerce.adobe.com/store/email?items%5B0%5D%5Bid%5D=632B3ADD940A7FBB7864AA5AD19B8D28&apc=testpromo&cli=adobe_com&ctx=fp&co=US&lang=en', + ); + }); + + it('renders multiple checkout buttons', async () => { + await initMasCommerceService(); + const abm = mockCheckoutButton('abm'); + const puf = mockCheckoutButton('puf'); + const m2m = mockCheckoutButton('m2m'); + await Promise.all([ + abm.onceSettled(), + puf.onceSettled(), + m2m.onceSettled(), + ]); + expect([abm.href, puf.href, m2m.href]).to.deep.equal([ + 'https://commerce.adobe.com/store/email?items%5B0%5D%5Bid%5D=632B3ADD940A7FBB7864AA5AD19B8D28&cli=adobe_com&ctx=fp&co=US&lang=en', + 'https://commerce.adobe.com/store/email?items%5B0%5D%5Bid%5D=9E618D5A589EF8D6364DFBE02FC2C264&cli=adobe_com&ctx=fp&co=US&lang=en', + 'https://commerce.adobe.com/store/email?items%5B0%5D%5Bid%5D=257E1D82082387D152029F93C1030624&cli=adobe_com&ctx=fp&co=US&lang=en', + ]); + }); + + it('render button with multiple OSIs', async () => { + await initMasCommerceService(); + const checkoutButton = mockCheckoutButton('abm,stock-abm', { + quantity: '2,2', + }); + await checkoutButton.onceSettled(); + expect(checkoutButton.href).to.equal( + 'https://commerce.adobe.com/store/email?items%5B0%5D%5Bid%5D=632B3ADD940A7FBB7864AA5AD19B8D28&items%5B0%5D%5Bq%5D=2&items%5B1%5D%5Bid%5D=7164A328080BC96CC60FEBF33F64342D&items%5B1%5D%5Bq%5D=2&cli=adobe_com&ctx=fp&co=US&lang=en', + ); + }); + + it('fails with missing offer', async () => { + await initMasCommerceService(); + const checkoutButton = mockCheckoutButton('no-offer'); + await expect(checkoutButton.onceSettled()).eventually.be.rejectedWith( + ERROR_MESSAGE_OFFER_NOT_FOUND, + ); + }); + + it('fails with bad request', async () => { + await initMasCommerceService(); + const checkoutButton = mockCheckoutButton('xyz'); + await expect(checkoutButton.onceSettled()).eventually.be.rejectedWith( + 'Bad WCS request: 404, url: https://www.adobe.com/web_commerce_artifact?offer_selector_ids=xyz&country=US&locale=en_US&landscape=PUBLISHED&api_key=wcms-commerce-ims-ro-user-milo&language=MULT', + ); + }); + + it('renders button for perpetual offers', async () => { + await initMasCommerceService(); + const checkoutButton = mockCheckoutButton('perpetual', { + perpetual: 'true', + }); + await checkoutButton.onceSettled(); + expect(checkoutButton.href).to.equal( + 'https://commerce.adobe.com/store/email?items%5B0%5D%5Bid%5D=C5AC20C8AAF4892B67DE2E89B26D8ACA&cli=adobe_com&ctx=fp&co=US&lang=en', + ); + expect(fetch.lastCall.args[0]).to.contain('language=EN'); + + // no more perpetual offer + checkoutButton.dataset.perpetual = 'false'; + const promise = checkoutButton.onceSettled(); + await expect(promise).eventually.be.rejectedWith( + ERROR_MESSAGE_OFFER_NOT_FOUND, + ); + expect(fetch.lastCall.args[0]).to.contain('language=MULT'); + }); + + it('renders button with extra options and cleans up once unset', async () => { + await initMasCommerceService(); + const checkoutButton = mockCheckoutButton('abm', { + extraOptions: '{"mv":1, "mv2":2, "promoid": "abc"}', + }); + await checkoutButton.onceSettled(); + expect(checkoutButton.href).to.equal( + 'https://commerce.adobe.com/store/email?items%5B0%5D%5Bid%5D=632B3ADD940A7FBB7864AA5AD19B8D28&cli=adobe_com&ctx=fp&co=US&mv=1&mv2=2&promoid=abc&lang=en', + ); + delete checkoutButton.dataset.extraOptions; + await checkoutButton.onceSettled(); + expect(checkoutButton.href).to.equal( + 'https://commerce.adobe.com/store/email?items%5B0%5D%5Bid%5D=632B3ADD940A7FBB7864AA5AD19B8D28&cli=adobe_com&ctx=fp&co=US&lang=en', + ); + }); + + describe('property "isCheckoutButton"', () => { + it('returns true', async () => { + await initMasCommerceService(); + const checkoutButton = mockCheckoutButton('abm'); + expect(checkoutButton.isCheckoutButton).to.be.true; + }); + }); + + describe('method "render"', () => { + it('returns false if element is not connected to DOM', async () => { + await initMasCommerceService(); + const checkoutButton = mockCheckoutButton('no-offer', {}, false); + expect(await checkoutButton.render()).to.be.false; + }); + }); + + describe('method "renderOffers"', () => { + it('returns false and does not render href if element is not connected to DOM', async () => { + await initMasCommerceService(); + const checkoutButton = mockCheckoutButton('no-offer', {}, false); + checkoutButton.setCheckoutUrl(HREF); + expect(await checkoutButton.renderOffers([])).to.be.false; + expect(checkoutButton.href).to.be.equal(HREF); + }); + + it('returns false and renders failed placeholder if offers array is empty', async () => { + await initMasCommerceService(); + const checkoutButton = mockCheckoutButton('no-offer', {}); + checkoutButton.setCheckoutUrl(HREF); + expect(await checkoutButton.renderOffers([])).to.be.true; + expect(checkoutButton.classList.contains(CLASS_NAME_FAILED)).to.be + .true; + expect(checkoutButton.href).to.equal('#'); + }); + + it('skips rendering if version has changed', async () => { + await initMasCommerceService(); + const checkoutButton = mockCheckoutButton('no-offer', {}, false); + checkoutButton.setCheckoutUrl(HREF); + const version = checkoutButton.masElement.togglePending(); + checkoutButton.masElement.togglePending(); + expect(await checkoutButton.renderOffers([], {}, version)).to.be + .false; + expect(checkoutButton.href).to.equal(HREF); + }); + }); + + describe('method "updateOptions"', () => { + it('updates element data attributes', async () => { + await initMasCommerceService(); + const button = CheckoutButton.createCheckoutButton({ + quantity: ['1'], + wcsOsi: 'abm', + upgrade: 'true', + }); + expect(button.dataset.upgrade).to.be.equal('true'); + const options = { + checkoutMarketSegment: 'test', + checkoutWorkflow: CheckoutWorkflow.V3, + checkoutWorkflowStep: CheckoutWorkflowStep.EMAIL, + perpetual: true, + promotionCode: 'promo', + quantity: ['1', '2'], + wcsOsi: ['m2m', 'puf'], + upgrade: 'false', + }; + button.updateOptions(options); + const { dataset } = button; + expect(dataset.checkoutMarketSegment).to.equal( + options.checkoutMarketSegment, + ); + expect(dataset.checkoutWorkflow).to.equal(options.checkoutWorkflow); + expect(dataset.checkoutWorkflowStep).to.equal( + options.checkoutWorkflowStep, + ); + expect(dataset.perpetual).to.equal(String(options.perpetual)); + expect(dataset.promotionCode).to.equal( + String(options.promotionCode), + ); + expect(dataset.quantity).to.equal(String(options.quantity)); + expect(dataset.wcsOsi).to.equal(String(options.wcsOsi)); + expect(dataset.upgrade).to.be.equal('false'); + }); + }); + + describe('logged-in features', () => { + it('renders download button', async () => { + mockIms('US'); + await initMasCommerceService({}, () => { + return { + text: 'Download', + className: CLASS_NAME_DOWNLOAD, + url: 'https://helpx.adobe.com/download-install.html', + }; + }); + const checkoutButton = mockCheckoutButton('abm'); + await checkoutButton.onceSettled(); + expect(checkoutButton.textContent.trim()).to.equal('Download'); + expect(checkoutButton.classList.contains('download')).to.be.true; + expect(checkoutButton.href).to.equal( + 'https://helpx.adobe.com/download-install.html', + ); + }); + + it('renders upgrade button', async () => { + mockIms('US'); + const handler = sinon.stub(); + await initMasCommerceService({}, () => { + return { + text: 'Upgrade', + className: CLASS_NAME_UPGRADE, + handler, + }; + }); + const checkoutButton = mockCheckoutButton('abm'); + await checkoutButton.onceSettled(); + expect(checkoutButton.classList.contains('upgrade')).to.be.true; + checkoutButton.click(); + expect(checkoutButton.textContent.trim()).to.equal('Upgrade'); + sinon.assert.calledOnce(handler); + expect(checkoutButton.href).to.equal('#'); + }); + + it('skips entitlements check', async () => { + await initMasCommerceService(); + const checkoutButton = mockCheckoutButton('abm'); + checkoutButton.dataset.entitlement = 'false'; + await checkoutButton.onceSettled(); + expect(checkoutButton.textContent.trim()).to.equal('Buy now: abm'); + expect(checkoutButton.href).to.equal( + 'https://commerce.adobe.com/store/email?items%5B0%5D%5Bid%5D=632B3ADD940A7FBB7864AA5AD19B8D28&cli=adobe_com&ctx=fp&co=US&lang=en', + ); + checkoutButton.requestUpdate(); + }); + }); +}); + +describe('commerce service', async () => { + describe('function "buildCheckoutURL"', () => { + it('returns empty string if no offers provided', async () => { + await initMasCommerceService(); + const service = await initMasCommerceService(); + expect(service.buildCheckoutURL([])).to.be.empty; + }); + }); + + describe('function "direct checkout calls"', () => { + it('works as expected', async () => { + await initMasCommerceService(); + const service = await initMasCommerceService(); + const { collectCheckoutOptions, buildCheckoutURL } = new Checkout({ + literals: { price: {} }, + providers: { + checkout: [ + (p, o) => { + /*nop*/ + }, + ], + }, + settings: getSettings(service.config), + }); + const checkoutButton1 = mockCheckoutButton('abm'); + const options = collectCheckoutOptions({}, checkoutButton1); + expect(options).not.to.be.empty; + buildCheckoutURL( + [{ offerid: 'a', marketSegments: ['COM'], priceDetails: {} }], + options, + ); + }); + }); +}); diff --git a/libs/features/mas/test/checkout.test.js b/libs/features/mas/test/checkout-link.test.js similarity index 94% rename from libs/features/mas/test/checkout.test.js rename to libs/features/mas/test/checkout-link.test.js index 79fb2b7d88b..cdc360ba5a4 100644 --- a/libs/features/mas/test/checkout.test.js +++ b/libs/features/mas/test/checkout-link.test.js @@ -1,8 +1,8 @@ import { - CheckoutLink, CLASS_NAME_DOWNLOAD, CLASS_NAME_UPGRADE, -} from '../src/checkout-link.js'; +} from '../src/checkout-mixin.js'; +import { CheckoutLink } from '../src/checkout-link.js'; import { Checkout } from '../src/checkout.js'; import { getSettings } from '../src/settings.js'; @@ -43,7 +43,6 @@ function mockCheckoutLink(wcsOsi, options = {}, append = true) { } afterEach(() => { - document.body.innerHTML = ''; disableMasCommerceService(); unmockIms(); unmockLana(); @@ -66,30 +65,6 @@ describe('class "CheckoutLink"', () => { expect(checkoutLink.options).to.be.not.empty; }); - it('re-dispatches click event', async () => { - await initMasCommerceService(); - const checkoutLink = mockCheckoutLink('abm'); - let targetIsCheckoutlink = false; - checkoutLink.addEventListener( - 'click', - (event) => { - event.preventDefault(); - event.stopImmediatePropagation(); - targetIsCheckoutlink = event.target === checkoutLink; - }, - { once: true }, - ); - await checkoutLink.onceSettled(); - checkoutLink.firstElementChild.dispatchEvent( - new MouseEvent('click', { - bubbles: true, - cancelable: true, - view: window, - }), - ); - expect(targetIsCheckoutlink).to.be.true; - }); - it('renders link with workflow step from settings', async () => { await initMasCommerceService({ 'checkout-workflow-step': CheckoutWorkflowStep.SEGMENTATION, @@ -180,7 +155,8 @@ describe('class "CheckoutLink"', () => { await initMasCommerceService(); const checkoutLink = mockCheckoutLink('xyz'); await expect(checkoutLink.onceSettled()).eventually.be.rejectedWith( - 'Bad WCS request: 404, url: https://www.adobe.com/web_commerce_artifact?offer_selector_ids=xyz&country=US&locale=en_US&landscape=PUBLISHED&api_key=wcms-commerce-ims-ro-user-milo&language=MULT'); + 'Bad WCS request: 404, url: https://www.adobe.com/web_commerce_artifact?offer_selector_ids=xyz&country=US&locale=en_US&landscape=PUBLISHED&api_key=wcms-commerce-ims-ro-user-milo&language=MULT', + ); }); it('renders link for perpetual offers', async () => { diff --git a/libs/features/mas/test/hydrate.test.js b/libs/features/mas/test/hydrate.test.js index 8c5d2687d64..7065e7a5a87 100644 --- a/libs/features/mas/test/hydrate.test.js +++ b/libs/features/mas/test/hydrate.test.js @@ -15,6 +15,8 @@ import { ANALYTICS_TAG, ANALYTICS_LINK_ATTR, ANALYTICS_SECTION_ATTR, + processDescription, + updateLinksCSS, } from '../src/hydrate.js'; import { AEM_FRAGMENT_MAPPING } from '../src/variants/ccd-slice.js'; @@ -23,6 +25,7 @@ import { withWcs } from './mocks/wcs.js'; const mockMerchCard = () => { const merchCard = document.createElement('div'); + merchCard.spectrum = 'css'; document.body.appendChild(merchCard); const originalAppend = merchCard.append; merchCard.append = sinon.spy(function () { @@ -234,7 +237,7 @@ describe('processCTAs', async () => { const footer = merchCard.append.firstCall.args[0]; const button = footer.firstChild; expect(button.className).to.equal( - 'spectrum-Button spectrum-Button--accent spectrum-Button--outline spectrum-Button--sizeM', + 'spectrum-Button spectrum-Button--accent spectrum-Button--sizeM spectrum-Button--outline', ); }); @@ -251,33 +254,6 @@ describe('processCTAs', async () => { expect(link.tagName.toLowerCase()).to.equal('a'); expect(link.classList.contains('primary-link')).to.be.true; }); - - it('should handle click events on spectrum buttons', async () => { - const fields = { - ctas: 'Click me', - }; - - processCTAs(fields, merchCard, aemFragmentMapping); - - const footer = merchCard.append.firstCall.args[0]; - const button = footer.firstChild; - const link = button.firstChild; - const span = link.firstChild; - - let target; - link.addEventListener('click', (e) => { - target = e.target; - e.preventDefault(); // prevent infinite loop - }); - - const customEvent = new MouseEvent('click', { - bubbles: true, - cancelable: true, - view: window, - }); - span.dispatchEvent(customEvent); - expect(target).to.equal(link); - }); }); describe('processSubtitle', () => { @@ -495,8 +471,37 @@ describe('hydrate', () => { expect(merchCard.getAttribute(ANALYTICS_SECTION_ATTR)).to.equal('ccsn'); expect( merchCard - .querySelector(`a[data-analytics-id]`) + .querySelector(`button[data-analytics-id]`) .getAttribute('daa-ll'), ).to.equal('buy-now-1'); }); }); + +describe('processDescription', async () => { + let merchCard; + let aemFragmentMapping; + + beforeEach(async () => { + merchCard = mockMerchCard(); + + aemFragmentMapping = { + description: { tag: 'div', slot: 'body-xs' }, + }; + }); + + afterEach(() => { + sinon.restore(); + }); + + it('should process merch links', async () => { + const fields = { + description: `Buy Link StyleLink Style`, + }; + + processDescription(fields, merchCard, aemFragmentMapping.description); + updateLinksCSS(merchCard); + expect(merchCard.innerHTML).to.equal( + '', + ); + }); +}); diff --git a/nala/features/mas/ccd/masccd.page.js b/nala/features/mas/ccd/masccd.page.js index 38047029a3a..836d2be6c38 100644 --- a/nala/features/mas/ccd/masccd.page.js +++ b/nala/features/mas/ccd/masccd.page.js @@ -14,7 +14,7 @@ export default class MasCCDPage { this.suggestedCardLegalLink = page.locator('div[slot="body-xs"] p > a'); this.suggestedCardPrice = page.locator('p[slot="price"]'); this.suggestedCardCTA = page.locator('div[slot="cta"] > button'); - this.suggestedCardCTALink = page.locator('div[slot="cta"] a[is="checkout-link"]'); + this.suggestedCardCTAButton = page.locator('div[slot="cta"] button[is="checkout-button"]'); // slice cards this.sliceCard = page.locator('merch-card[variant="ccd-slice"]'); this.sliceCardWide = page.locator('merch-card[variant="ccd-slice"][size="wide"]'); @@ -22,7 +22,7 @@ export default class MasCCDPage { this.sliceCardDescription = page.locator('div[slot="body-s"] p > strong').first(); this.sliceCardLegalLink = page.locator('div[slot="body-s"] p > a'); this.sliceCardCTA = page.locator('div[slot="footer"] > button'); - this.sliceCardCTALink = page.locator('div[slot="footer"] a[is="checkout-link"]'); + this.sliceCardCTAButton = page.locator('div[slot="footer"] button[is="checkout-button"]'); // Suggested card properties: this.suggestedCssProp = { @@ -304,9 +304,9 @@ export default class MasCCDPage { 'slice-wide': this.sliceCardCTA, }, ctaLink: { - suggested: this.suggestedCardCTALink, - slice: this.sliceCardCTALink, - 'slice-wide': this.sliceCardCTALink, + suggested: this.suggestedCardCTAButton, + slice: this.sliceCardCTAButton, + 'slice-wide': this.sliceCardCTAButton, }, image: this.sliceCardImage, }; diff --git a/nala/features/mas/ccd/masccd.test.js b/nala/features/mas/ccd/masccd.test.js index 4999e13f03a..678d74b3c5c 100644 --- a/nala/features/mas/ccd/masccd.test.js +++ b/nala/features/mas/ccd/masccd.test.js @@ -50,7 +50,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'suggested')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', /.*/); }); @@ -116,7 +116,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'suggested')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', data.ctaAnalyticsId); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('daa-ll', data.ctaDaaLL); }); @@ -183,7 +183,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'suggested')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', /.*/); }); @@ -244,7 +244,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'suggested')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', /.*/); await expect(await CCD.getCard(data.id, 'suggested')).toHaveAttribute('background-image', new RegExp(data.background)); }); @@ -310,7 +310,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'suggested')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', /.*/); await expect(await CCD.getCard(data.id, 'suggested')).toHaveAttribute('background-image', new RegExp(data.background)); }); @@ -375,7 +375,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'suggested')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', /.*/); await expect(await CCD.getCard(data.id, 'suggested')).toHaveAttribute('background-image', new RegExp(data.background)); }); @@ -438,7 +438,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'suggested')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', /.*/); await expect(await CCD.getCard(data.id, 'suggested')).toHaveAttribute('background-image', new RegExp(data.background)); }); @@ -504,7 +504,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'suggested')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'suggested')).toHaveAttribute('class', /primary/); await expect(await CCD.getCardCTA(data.id, 'suggested')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'suggested')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'suggested')).toHaveAttribute('data-analytics-id', /.*/); await expect(await CCD.getCard(data.id, 'suggested')).toHaveAttribute('background-image', new RegExp(data.background)); }); @@ -566,7 +566,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'slice')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'slice')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('data-analytics-id', data.ctaAnalyticsId); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('daa-ll', data.ctadDaaLL); }); @@ -628,7 +628,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'slice')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect(((await CCD.getCardCTALink(data.id, 'slice'))).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('data-analytics-id', /.*/); }); @@ -693,7 +693,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'slice')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'slice')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('data-analytics-id', /.*/); }); @@ -756,7 +756,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'slice')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'slice')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('data-analytics-id', /.*/); }); @@ -815,7 +815,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'slice')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'slice')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('data-analytics-id', /.*/); }); @@ -873,7 +873,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'slice')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'slice')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'slice')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice')).toHaveAttribute('data-analytics-id', /.*/); }); @@ -938,7 +938,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toContainText(data.cta); - // await expect(await CCD.getCardCTALink(data.id, "slice-wide")).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + // await (expect(await CCD.getCardCTALink(data.id, "slice-wide")).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); // await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('data-analytics-id', /.*/); // await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('daa-ll', data.ctaDaaLL); }); @@ -1000,7 +1000,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'slice-wide')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('data-analytics-id', /.*/); }); @@ -1063,7 +1063,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'slice-wide')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('data-analytics-id', /.*/); }); @@ -1128,7 +1128,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'slice-wide')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('data-analytics-id', /.*/); }); @@ -1192,7 +1192,7 @@ test.describe('CCD Merchcard feature test suite', () => { await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toBeVisible(); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toHaveAttribute('class', /accent/); await expect(await CCD.getCardCTA(data.id, 'slice-wide')).toContainText(data.cta); - await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('href', new RegExp(`${data.offerid}`)); + await expect((await CCD.getCardCTALink(data.id, 'slice-wide')).evaluate((el) => el.href)).resolves.toMatch(new RegExp(`${data.offerid}`)); await expect(await CCD.getCardCTALink(data.id, 'slice-wide')).toHaveAttribute('data-analytics-id', /.*/); }); diff --git a/test/blocks/merch/merch.test.js b/test/blocks/merch/merch.test.js index 1017776a5b8..e099aa76bd6 100644 --- a/test/blocks/merch/merch.test.js +++ b/test/blocks/merch/merch.test.js @@ -524,8 +524,7 @@ describe('Merch Block', () => { describe('openModal', () => { it('sets the new hash and event listener to restore the hash on close', async () => { const prevHash = window.location.hash; - const event = new CustomEvent('dummy'); - await openModal(event, 'https://www.adobe.com/mini-plans/creativecloud.html?mid=ft&web=1', 'TRIAL', 'try-photoshop'); + await openModal(new CustomEvent('test'), 'https://www.adobe.com/mini-plans/creativecloud.html?mid=ft&web=1', 'TRIAL', 'try-photoshop'); expect(window.location.hash).to.equal('#try-photoshop'); const modalCloseEvent = new CustomEvent('milo:modal:closed'); window.dispatchEvent(modalCloseEvent); From bb7ef3d4b856fe17c800467a7c5c6dd70cbc292a Mon Sep 17 00:00:00 2001 From: Drashti Modasara Date: Mon, 20 Jan 2025 14:55:43 +0530 Subject: [PATCH 78/86] [MWPW-164132] Implementing Branch Quick Links with ECID Integration (#3424) * authorable solution * Updated copy for progress bar * code optimization * unit tests * eslint * milolibs fix * milolibs fix * Restructured the code and followed review comments * bug fix - mwpw-164933 * bug fix - mwpw-164933 * bug fix - mwpw-164933 * bug fix - mwpw-164933 * bug fix - mwpw-164933 * bug fix - mwpw-164933 * bug fix - mwpw-164933 * bug fix - mwpw-164933 * bug fix - mwpw-164933 * code review * ecid * Removed circle loader as it is not required * shortened variable names * moved css to branch-quick-links.css * cleaned css * changed authoring * Handled loader delay * Reverting UTs * modified UTs * UT fix * Unit tests * review changes --------- Co-authored-by: Drashti Modasara Co-authored-by: Drashti Modasara Co-authored-by: Drashti Modasara --- .../branch-quick-links/branch-quick-links.css | 19 +++++ .../branch-quick-links/branch-quick-links.js | 76 +++++++++++++++++++ libs/utils/utils.js | 8 ++ .../branch-quick-links.test.js | 41 ++++++++++ test/utils/mocks/body.html | 3 + test/utils/mocks/head.html | 2 + 6 files changed, 149 insertions(+) create mode 100644 libs/features/branch-quick-links/branch-quick-links.css create mode 100644 libs/features/branch-quick-links/branch-quick-links.js create mode 100644 test/features/branch-quick-links/branch-quick-links.test.js diff --git a/libs/features/branch-quick-links/branch-quick-links.css b/libs/features/branch-quick-links/branch-quick-links.css new file mode 100644 index 00000000000..d622103afdb --- /dev/null +++ b/libs/features/branch-quick-links/branch-quick-links.css @@ -0,0 +1,19 @@ +.pbar-container { + display: flex; + flex-direction: column; +} + +.pbar-value { + width: 100%; + height: 100%; + background-color: #1473E6; + animation: indeterminate-animation 1s infinite linear; + transform-origin: 0% 50%; + will-change: transform; +} + +@keyframes indeterminate-animation { + 0% { transform: translateX(0) scaleX(0); } + 40% { transform: translateX(0) scaleX(0.4); } + 100% { transform: translateX(100%) scaleX(0.5); } +} diff --git a/libs/features/branch-quick-links/branch-quick-links.js b/libs/features/branch-quick-links/branch-quick-links.js new file mode 100644 index 00000000000..153b5df0b84 --- /dev/null +++ b/libs/features/branch-quick-links/branch-quick-links.js @@ -0,0 +1,76 @@ +import { getMetadata, loadStyle, getConfig, createTag } from '../../utils/utils.js'; + +function addLoader(a) { + const { base } = getConfig(); + loadStyle(`${base}/features/branch-quick-links/branch-quick-links.css`); + const label = createTag('div', { class: 'pbar-label' }); + label.textContent = getMetadata('quick-link-loader-text') || ''; + const tr = createTag('div', { class: 'pbar-value' }); + tr.style.display = 'block'; + const progressBar = createTag('div', { class: 'pbar' }, tr); + Object.assign(progressBar.style, { + width: '100%', + height: '10px', + borderRadius: '5px', + backgroundColor: '#D5D5D5', + marginTop: '10px', + overflow: 'hidden', + }); + const container = createTag('div', { class: 'pbar-container' }, [label, progressBar]); + a.replaceWith(container); + return container; +} + +async function decorateQuickLink(a, hasConsent) { + if (!window.alloy) return; + let ecid = null; + try { + const data = await window.alloy('getIdentity'); + ecid = data?.identity?.ECID; + } catch (e) { + window.lana.log(`Error fetching ECID: ${e}`, { tags: 'branch-quick-links' }); + } + if (hasConsent && !a.href.includes('ecid')) { + a.href = a.href.concat(`?ecid=${ecid}`); + } + window.location.href = a.href; +} + +export default function processQuickLink(a) { + a.classList.add('quick-link'); + const getConsentStatus = () => { + const cookieGrp = window.adobePrivacy?.activeCookieGroups(); + return cookieGrp?.includes('C0002') && cookieGrp?.includes('C0004'); + }; + + function waitForConsent() { + return new Promise((resolve) => { + const fallbackTimeout = setTimeout(() => resolve(false), 30000); + if (window.adobePrivacy) { + clearTimeout(fallbackTimeout); + resolve(getConsentStatus()); + } + window.addEventListener('adobePrivacy:PrivacyConsent', () => { + clearTimeout(fallbackTimeout); + resolve(true); + }); + window.addEventListener('adobePrivacy:PrivacyReject', () => { + clearTimeout(fallbackTimeout); + resolve(false); + }); + window.addEventListener('adobePrivacy:PrivacyCustom', () => { + clearTimeout(fallbackTimeout); + resolve(getConsentStatus()); + }); + }); + } + + a.addEventListener('click', async (e) => { + e.preventDefault(); + let loader; + if (getMetadata('quick-link-loader') === 'on') loader = addLoader(a); + const hasConsent = await waitForConsent(); + if (loader) loader.replaceWith(a); + decorateQuickLink(a, hasConsent); + }); +} diff --git a/libs/utils/utils.js b/libs/utils/utils.js index 2f6d849a8ee..8d1441f1c0b 100644 --- a/libs/utils/utils.js +++ b/libs/utils/utils.js @@ -725,6 +725,14 @@ export function decorateLinks(el) { if (a.href.includes(copyEvent)) { decorateCopyLink(a, copyEvent); } + const branchQuickLink = 'app.link'; + + if (a.href.includes(branchQuickLink)) { + (async () => { + const { default: processQuickLink } = await import('../features/branch-quick-links/branch-quick-links.js'); + processQuickLink(a); + })(); + } // Append aria-label const pipeRegex = /\s?\|([^|]*)$/; if (pipeRegex.test(a.textContent) && !/\.[a-z]+/i.test(a.textContent)) { diff --git a/test/features/branch-quick-links/branch-quick-links.test.js b/test/features/branch-quick-links/branch-quick-links.test.js new file mode 100644 index 00000000000..f887d17f0eb --- /dev/null +++ b/test/features/branch-quick-links/branch-quick-links.test.js @@ -0,0 +1,41 @@ +import { readFile } from '@web/test-runner-commands'; +import { expect } from '@esm-bundle/chai'; +import sinon from 'sinon'; +import processQuickLink from '../../../libs/features/branch-quick-links/branch-quick-links.js'; + +describe('branch quick links', () => { + beforeEach(async () => { + window.adobePrivacy = { + hasUserProvidedConsent: () => true, + activeCookieGroups: () => ['C0002', 'C0004'], + }; + document.head.innerHTML = await readFile({ path: '../../../test/utils/mocks/head.html' }); + document.body.innerHTML = await readFile({ path: '../../../test/utils/mocks/body.html' }); + }); + + afterEach(() => { + sinon.restore(); + }); + + it('should add a class to the quick link', async () => { + window.alloy = new Promise(() => {}); + const alloyS = sinon.stub(window, 'alloy'); + alloyS.resolves({ identity: { ECID: '123' } }); + const quickLink = document.querySelector('a'); + processQuickLink(quickLink); + await quickLink.click(); + window.dispatchEvent(new CustomEvent('adobePrivacy:PrivacyConsent')); + window.dispatchEvent(new CustomEvent('adobePrivacy:PrivacyCustom')); + window.dispatchEvent(new CustomEvent('adobePrivacy:PrivacyReject')); + expect(quickLink.classList.contains('quick-link')).to.be.true; + alloyS.restore(); + }); + + it('should not add ecid if alloy is undefined', async () => { + window.alloy = undefined; + const quickLink = document.querySelector('a'); + processQuickLink(quickLink); + quickLink.click(); + expect(quickLink.href.includes('ecid')).to.be.false; + }); +}); diff --git a/test/utils/mocks/body.html b/test/utils/mocks/body.html index 2f414b6aaa1..543d1dc4423 100644 --- a/test/utils/mocks/body.html +++ b/test/utils/mocks/body.html @@ -39,6 +39,9 @@

    +

    + Get App For Free +

    Text diff --git a/test/utils/mocks/head.html b/test/utils/mocks/head.html index 669f58a4d1a..642d864be2a 100644 --- a/test/utils/mocks/head.html +++ b/test/utils/mocks/head.html @@ -3,3 +3,5 @@ + + From 965a8c682f0ebf8f0fffc66ed98f9ba50102c0a2 Mon Sep 17 00:00:00 2001 From: Mariia Lukianets Date: Mon, 20 Jan 2025 10:25:49 +0100 Subject: [PATCH 79/86] MWPW-161625: fix mas:pending event on requestUpdate (#3388) resolve conflicts with refactored code --- libs/deps/mas/commerce.js | 4 +- libs/deps/mas/mas.js | 90 +++++++++++------------ libs/deps/mas/merch-card-collection.js | 2 +- libs/deps/mas/merch-card.js | 84 ++++++++++----------- libs/deps/mas/merch-sidenav.js | 6 +- libs/deps/mas/merch-subscription-panel.js | 4 +- libs/features/mas/dist/mas.js | 90 +++++++++++------------ libs/features/mas/src/constants.js | 1 - libs/features/mas/src/mas-element.js | 18 +---- nala/features/mas/docs/masdocs.spec.js | 15 ++++ nala/features/mas/docs/masdocs.test.js | 40 ++++++++++ 11 files changed, 197 insertions(+), 157 deletions(-) create mode 100644 nala/features/mas/docs/masdocs.spec.js create mode 100644 nala/features/mas/docs/masdocs.test.js diff --git a/libs/deps/mas/commerce.js b/libs/deps/mas/commerce.js index 1137ab97684..e2156741ae5 100644 --- a/libs/deps/mas/commerce.js +++ b/libs/deps/mas/commerce.js @@ -1,3 +1,3 @@ -var ei=Object.create;var Ge=Object.defineProperty;var ti=Object.getOwnPropertyDescriptor;var ri=Object.getOwnPropertyNames;var ni=Object.getPrototypeOf,ii=Object.prototype.hasOwnProperty;var _r=e=>{throw TypeError(e)};var ai=(e,t,r)=>t in e?Ge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var oi=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),si=(e,t)=>{for(var r in t)Ge(e,r,{get:t[r],enumerable:!0})},li=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ri(t))!ii.call(e,i)&&i!==r&&Ge(e,i,{get:()=>t[i],enumerable:!(n=ti(t,i))||n.enumerable});return e};var ci=(e,t,r)=>(r=e!=null?ei(ni(e)):{},li(t||!e||!e.__esModule?Ge(r,"default",{value:e,enumerable:!0}):r,e));var L=(e,t,r)=>ai(e,typeof t!="symbol"?t+"":t,r),ui=(e,t,r)=>t.has(e)||_r("Cannot "+r);var Nr=(e,t,r)=>(ui(e,t,"read from private field"),r?r.call(e):t.get(e)),Cr=(e,t,r)=>t.has(e)?_r("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r);var Kn=oi((Ql,Eo)=>{Eo.exports={total:38,offset:0,limit:38,data:[{lang:"ar",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u0627\u0644\u0634\u0647\u0631} YEAR {/\u0627\u0644\u0639\u0627\u0645} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0643\u0644 \u0634\u0647\u0631} YEAR {\u0643\u0644 \u0639\u0627\u0645} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0644\u0643\u0644 \u062A\u0631\u062E\u064A\u0635} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0644\u0643\u0644 \u062A\u0631\u062E\u064A\u0635} other {}}",freeLabel:"\u0645\u062C\u0627\u0646\u064B\u0627",freeAriaLabel:"\u0645\u062C\u0627\u0646\u064B\u0627",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u0623\u0648 \u0628\u062F\u0644\u0627\u064B \u0645\u0646 \u0630\u0644\u0643 \u0628\u0642\u064A\u0645\u0629 {alternativePrice}",strikethroughAriaLabel:"\u0628\u0634\u0643\u0644 \u0645\u0646\u062A\u0638\u0645 \u0628\u0642\u064A\u0645\u0629 {strikethroughPrice}"},{lang:"bg",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0435\u0441.} YEAR {/\u0433\u043E\u0434.} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u043D\u0430 \u043C\u0435\u0441\u0435\u0446} YEAR {\u043D\u0430 \u0433\u043E\u0434\u0438\u043D\u0430} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437} other {}}",freeLabel:"\u0411\u0435\u0437\u043F\u043B\u0430\u0442\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0437\u043F\u043B\u0430\u0442\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u0410\u043B\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u043E \u043D\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0420\u0435\u0434\u043E\u0432\u043D\u043E \u043D\u0430 {strikethroughPrice}"},{lang:"cs",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\u011Bs\xEDc} YEAR {/rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {za m\u011Bs\xEDc} YEAR {za rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licenci} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licenci} other {}}",freeLabel:"Zdarma",freeAriaLabel:"Zdarma",taxExclusiveLabel:"{taxTerm, select, GST {bez dan\u011B ze zbo\u017E\xED a slu\u017Eeb} VAT {bez DPH} TAX {bez dan\u011B} IVA {bez IVA} SST {bez SST} KDV {bez KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {v\u010Detn\u011B dan\u011B ze zbo\u017E\xED a slu\u017Eeb} VAT {v\u010Detn\u011B DPH} TAX {v\u010Detn\u011B dan\u011B} IVA {v\u010Detn\u011B IVA} SST {v\u010Detn\u011B SST} KDV {v\u010Detn\u011B KDV} other {}}",alternativePriceAriaLabel:"P\u0159\xEDpadn\u011B za {alternativePrice}",strikethroughAriaLabel:"Pravideln\u011B za {strikethroughPrice}"},{lang:"da",recurrenceLabel:"{recurrenceTerm, select, MONTH {/md} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pr. m\xE5ned} YEAR {pr. \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pr. licens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pr. licens} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {ekskl. GST} VAT {ekskl. moms} TAX {ekskl. skat} IVA {ekskl. IVA} SST {ekskl. SST} KDV {ekskl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. skat} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt til {alternativePrice}",strikethroughAriaLabel:"Normalpris {strikethroughPrice}"},{lang:"de",recurrenceLabel:"{recurrenceTerm, select, MONTH {/Monat} YEAR {/Jahr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pro Monat} YEAR {pro Jahr} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pro Lizenz} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pro Lizenz} other {}}",freeLabel:"Kostenlos",freeAriaLabel:"Kostenlos",taxExclusiveLabel:"{taxTerm, select, GST {zzgl. GST} VAT {zzgl. MwSt.} TAX {zzgl. Steuern} IVA {zzgl. IVA} SST {zzgl. SST} KDV {zzgl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. MwSt.} TAX {inkl. Steuern} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativ: {alternativePrice}",strikethroughAriaLabel:"Regul\xE4r: {strikethroughPrice}"},{lang:"en",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mo} YEAR {/yr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per month} YEAR {per year} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per license} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per license} other {}}",freeLabel:"Free",freeAriaLabel:"Free",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternatively at {alternativePrice}",strikethroughAriaLabel:"Regularly at {strikethroughPrice}"},{lang:"et",recurrenceLabel:"{recurrenceTerm, select, MONTH {kuus} YEAR {aastas} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {kuus} YEAR {aastas} other {}}",perUnitLabel:"{perUnit, select, LICENSE {litsentsi kohta} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {litsentsi kohta} other {}}",freeLabel:"Tasuta",freeAriaLabel:"Tasuta",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Teise v\xF5imalusena hinnaga {alternativePrice}",strikethroughAriaLabel:"Tavahind {strikethroughPrice}"},{lang:"fi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/kk} YEAR {/v} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {kuukausittain} YEAR {vuosittain} other {}}",perUnitLabel:"{perUnit, select, LICENSE {k\xE4ytt\xF6oikeutta kohti} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {k\xE4ytt\xF6oikeutta kohti} other {}}",freeLabel:"Maksuton",freeAriaLabel:"Maksuton",taxExclusiveLabel:"{taxTerm, select, GST {ilman GST:t\xE4} VAT {ilman ALV:t\xE4} TAX {ilman veroja} IVA {ilman IVA:ta} SST {ilman SST:t\xE4} KDV {ilman KDV:t\xE4} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {sis. GST:n} VAT {sis. ALV:n} TAX {sis. verot} IVA {sis. IVA:n} SST {sis. SST:n} KDV {sis. KDV:n} other {}}",alternativePriceAriaLabel:"Vaihtoehtoisesti hintaan {alternativePrice}",strikethroughAriaLabel:"S\xE4\xE4nn\xF6llisesti hintaan {strikethroughPrice}"},{lang:"fr",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mois} YEAR {/an} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {par mois} YEAR {par an} other {}}",perUnitLabel:"{perUnit, select, LICENSE {par licence} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {par licence} other {}}",freeLabel:"Gratuit",freeAriaLabel:"Gratuit",taxExclusiveLabel:"{taxTerm, select, GST {hors TPS} VAT {hors TVA} TAX {hors taxes} IVA {hors IVA} SST {hors SST} KDV {hors KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {TPS comprise} VAT {TVA comprise} TAX {taxes comprises} IVA {IVA comprise} SST {SST comprise} KDV {KDV comprise} other {}}",alternativePriceAriaLabel:"Autre prix {alternativePrice}",strikethroughAriaLabel:"Prix habituel {strikethroughPrice}"},{lang:"he",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u05D7\u05D5\u05D3\u05E9} YEAR {/\u05E9\u05E0\u05D4} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u05DC\u05D7\u05D5\u05D3\u05E9} YEAR {\u05DC\u05E9\u05E0\u05D4} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",freeLabel:"\u05D7\u05D9\u05E0\u05DD",freeAriaLabel:"\u05D7\u05D9\u05E0\u05DD",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u05DC\u05D7\u05DC\u05D5\u05E4\u05D9\u05DF \u05D1-{alternativePrice}",strikethroughAriaLabel:"\u05D1\u05D0\u05D5\u05E4\u05DF \u05E7\u05D1\u05D5\u05E2 \u05D1-{strikethroughPrice}"},{lang:"hu",recurrenceLabel:"{recurrenceTerm, select, MONTH {/h\xF3} YEAR {/\xE9v} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {havonta} YEAR {\xE9vente} other {}}",perUnitLabel:"{perUnit, select, LICENSE {licencenk\xE9nt} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {licencenk\xE9nt} other {}}",freeLabel:"Ingyenes",freeAriaLabel:"Ingyenes",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"M\xE1sik lehet\u0151s\xE9g: {alternativePrice}",strikethroughAriaLabel:"\xC1ltal\xE1ban {strikethroughPrice} \xE1ron"},{lang:"it",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mese} YEAR {/anno} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {al mese} YEAR {all'anno} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licenza} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licenza} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {escl. GST} VAT {escl. IVA.} TAX {escl. imposte} IVA {escl. IVA} SST {escl. SST} KDV {escl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. IVA} TAX {incl. imposte} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"In alternativa a {alternativePrice}",strikethroughAriaLabel:"Regolarmente a {strikethroughPrice}"},{lang:"ja",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCE\u6708} YEAR {\u6BCE\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u30E9\u30A4\u30BB\u30F3\u30B9\u3054\u3068} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u30E9\u30A4\u30BB\u30F3\u30B9\u3054\u3068} other {}}",freeLabel:"\u7121\u6599",freeAriaLabel:"\u7121\u6599",taxExclusiveLabel:"{taxTerm, select, GST {GST \u5225} VAT {VAT \u5225} TAX {\u7A0E\u5225} IVA {IVA \u5225} SST {SST \u5225} KDV {KDV \u5225} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \u8FBC} VAT {VAT \u8FBC} TAX {\u7A0E\u8FBC} IVA {IVA \u8FBC} SST {SST \u8FBC} KDV {KDV \u8FBC} other {}}",alternativePriceAriaLabel:"\u7279\u5225\u4FA1\u683C : {alternativePrice}",strikethroughAriaLabel:"\u901A\u5E38\u4FA1\u683C : {strikethroughPrice}"},{lang:"ko",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\uC6D4} YEAR {/\uB144} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\uC6D4\uAC04} YEAR {\uC5F0\uAC04} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\uB77C\uC774\uC120\uC2A4\uB2F9} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\uB77C\uC774\uC120\uC2A4\uB2F9} other {}}",freeLabel:"\uBB34\uB8CC",freeAriaLabel:"\uBB34\uB8CC",taxExclusiveLabel:"{taxTerm, select, GST {GST \uC81C\uC678} VAT {VAT \uC81C\uC678} TAX {\uC138\uAE08 \uC81C\uC678} IVA {IVA \uC81C\uC678} SST {SST \uC81C\uC678} KDV {KDV \uC81C\uC678} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \uD3EC\uD568} VAT {VAT \uD3EC\uD568} TAX {\uC138\uAE08 \uD3EC\uD568} IVA {IVA \uD3EC\uD568} SST {SST \uD3EC\uD568} KDV {KDV \uD3EC\uD568} other {}}",alternativePriceAriaLabel:"\uB610\uB294 {alternativePrice}\uC5D0",strikethroughAriaLabel:"\uB610\uB294 {alternativePrice}\uC5D0"},{lang:"lt",recurrenceLabel:"{recurrenceTerm, select, MONTH { per m\u0117n.} YEAR { per metus} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\u0117n.} YEAR {per metus} other {}}",perUnitLabel:"{perUnit, select, LICENSE {u\u017E licencij\u0105} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {u\u017E licencij\u0105} other {}}",freeLabel:"Nemokamai",freeAriaLabel:"Nemokamai",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Arba u\u017E {alternativePrice}",strikethroughAriaLabel:"Normaliai u\u017E {strikethroughPrice}"},{lang:"lv",recurrenceLabel:"{recurrenceTerm, select, MONTH {m\u0113nes\u012B} YEAR {gad\u0101} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {m\u0113nes\u012B} YEAR {gad\u0101} other {}}",perUnitLabel:"{perUnit, select, LICENSE {vienai licencei} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {vienai licencei} other {}}",freeLabel:"Bezmaksas",freeAriaLabel:"Bezmaksas",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternat\u012Bvi par {alternativePrice}",strikethroughAriaLabel:"Regul\u0101ri par {strikethroughPrice}"},{lang:"nb",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mnd.} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\xE5ned} YEAR {per \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per lisens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per lisens} other {}}",freeLabel:"Fri",freeAriaLabel:"Fri",taxExclusiveLabel:"{taxTerm, select, GST {ekskl. GST} VAT {ekskl. moms} TAX {ekskl. avgift} IVA {ekskl. IVA} SST {ekskl. SST} KDV {ekskl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. avgift} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt til {alternativePrice}",strikethroughAriaLabel:"Regelmessig til {strikethroughPrice}"},{lang:"nl",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mnd} YEAR {/jr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per maand} YEAR {per jaar} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licentie} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licentie} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. btw} TAX {excl. belasting} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. btw} TAX {incl. belasting} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Nu {alternativePrice}",strikethroughAriaLabel:"Normaal {strikethroughPrice}"},{lang:"pl",recurrenceLabel:"{recurrenceTerm, select, MONTH { / mies.} YEAR { / rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH { / miesi\u0105c} YEAR { / rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licencj\u0119} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licencj\u0119} other {}}",freeLabel:"Bezp\u0142atne",freeAriaLabel:"Bezp\u0142atne",taxExclusiveLabel:"{taxTerm, select, GST {bez GST} VAT {bez VAT} TAX {netto} IVA {bez IVA} SST {bez SST} KDV {bez KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {z GST} VAT {z VAT} TAX {brutto} IVA {z IVA} SST {z SST} KDV {z KDV} other {}}",alternativePriceAriaLabel:"Lub za {alternativePrice}",strikethroughAriaLabel:"Cena zwyk\u0142a: {strikethroughPrice}"},{lang:"pt",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\xEAs} YEAR {/ano} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {por m\xEAs} YEAR {por ano} other {}}",perUnitLabel:"{perUnit, select, LICENSE {por licen\xE7a} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {por licen\xE7a} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {ICMS n\xE3o incluso} VAT {IVA n\xE3o incluso} TAX {impostos n\xE3o inclusos} IVA {IVA n\xE3o incluso} SST { SST n\xE3o incluso} KDV {KDV n\xE3o incluso} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {ICMS incluso} VAT {IVA incluso} TAX {impostos inclusos} IVA {IVA incluso} SST {SST incluso} KDV {KDV incluso} other {}}",alternativePriceAriaLabel:"Ou a {alternativePrice}",strikethroughAriaLabel:"Pre\xE7o normal: {strikethroughPrice}"},{lang:"ro",recurrenceLabel:"{recurrenceTerm, select, MONTH {/lun\u0103} YEAR {/an} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pe lun\u0103} YEAR {pe an} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pe licen\u021B\u0103} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pe licen\u021B\u0103} other {}}",freeLabel:"Gratuit",freeAriaLabel:"Gratuit",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternativ, la {alternativePrice}",strikethroughAriaLabel:"\xCEn mod normal, la {strikethroughPrice}"},{lang:"ru",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0435\u0441.} YEAR {/\u0433.} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0432 \u043C\u0435\u0441\u044F\u0446} YEAR {\u0432 \u0433\u043E\u0434} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E} other {}}",freeLabel:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {\u0438\u0441\u043A\u043B. \u043D\u0430\u043B\u043E\u0433 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438} VAT {\u0438\u0441\u043A\u043B. \u041D\u0414\u0421} TAX {\u0438\u0441\u043A\u043B. \u043D\u0430\u043B\u043E\u0433} IVA {\u0438\u0441\u043A\u043B. \u0418\u0412\u0410} SST {\u0438\u0441\u043A\u043B. SST} KDV {\u0438\u0441\u043A\u043B. \u041A\u0414\u0412} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0432\u043A\u043B. \u043D\u0430\u043B\u043E\u0433 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438} VAT {\u0432\u043A\u043B. \u041D\u0414\u0421} TAX {\u0432\u043A\u043B. \u043D\u0430\u043B\u043E\u0433} IVA {\u0432\u043A\u043B. \u0418\u0412\u0410} SST {\u0432\u043A\u043B. SST} KDV {\u0432\u043A\u043B. \u041A\u0414\u0412} other {}}",alternativePriceAriaLabel:"\u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442 \u0437\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0420\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u043E \u043F\u043E \u0446\u0435\u043D\u0435 {strikethroughPrice}"},{lang:"sk",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mesiac} YEAR {/rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {za mesiac} YEAR {za rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licenciu} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licenciu} other {}}",freeLabel:"Zadarmo",freeAriaLabel:"Zadarmo",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Pr\xEDpadne za {alternativePrice}",strikethroughAriaLabel:"Pravidelne za {strikethroughPrice}"},{lang:"sl",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mesec} YEAR {/leto} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {na mesec} YEAR {na leto} other {}}",perUnitLabel:"{perUnit, select, LICENSE {na licenco} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {na licenco} other {}}",freeLabel:"Brezpla\u010Dno",freeAriaLabel:"Brezpla\u010Dno",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Druga mo\u017Enost je: {alternativePrice}",strikethroughAriaLabel:"Redno po {strikethroughPrice}"},{lang:"sv",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\xE5n} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\xE5nad} YEAR {per \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licens} other {}}",freeLabel:"Kostnadsfritt",freeAriaLabel:"Kostnadsfritt",taxExclusiveLabel:"{taxTerm, select, GST {exkl. GST} VAT {exkl. moms} TAX {exkl. skatt} IVA {exkl. IVA} SST {exkl. SST} KDV {exkl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. skatt} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt f\xF6r {alternativePrice}",strikethroughAriaLabel:"Normalpris {strikethroughPrice}"},{lang:"tr",recurrenceLabel:"{recurrenceTerm, select, MONTH {/ay} YEAR {/y\u0131l} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {(ayl\u0131k)} YEAR {(y\u0131ll\u0131k)} other {}}",perUnitLabel:"{perUnit, select, LICENSE {(lisans ba\u015F\u0131na)} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {(lisans ba\u015F\u0131na)} other {}}",freeLabel:"\xDCcretsiz",freeAriaLabel:"\xDCcretsiz",taxExclusiveLabel:"{taxTerm, select, GST {GST hari\xE7} VAT {KDV hari\xE7} TAX {vergi hari\xE7} IVA {IVA hari\xE7} SST {SST hari\xE7} KDV {KDV hari\xE7} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST dahil} VAT {KDV dahil} TAX {vergi dahil} IVA {IVA dahil} SST {SST dahil} KDV {KDV dahil} other {}}",alternativePriceAriaLabel:"Ya da {alternativePrice}",strikethroughAriaLabel:"Standart fiyat: {strikethroughPrice}"},{lang:"uk",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0456\u0441.} YEAR {/\u0440\u0456\u043A} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u043D\u0430 \u043C\u0456\u0441\u044F\u0446\u044C} YEAR {\u043D\u0430 \u0440\u0456\u043A} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E} other {}}",freeLabel:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {\u0431\u0435\u0437 GST} VAT {\u0431\u0435\u0437 \u041F\u0414\u0412} TAX {\u0431\u0435\u0437 \u043F\u043E\u0434\u0430\u0442\u043A\u0443} IVA {\u0431\u0435\u0437 IVA} SST {\u0431\u0435\u0437 SST} KDV {\u0431\u0435\u0437 KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 GST} VAT {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 \u041F\u0414\u0412} TAX {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 \u043F\u043E\u0434\u0430\u0442\u043A\u043E\u043C} IVA {\u0440\u0430\u0437\u043E\u043C \u0437 IVA} SST {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 SST} KDV {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 KDV} other {}}",alternativePriceAriaLabel:"\u0410\u0431\u043E \u0437\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0417\u0432\u0438\u0447\u0430\u0439\u043D\u0430 \u0446\u0456\u043D\u0430 {strikethroughPrice}"},{lang:"zh-hans",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCF\u6708} YEAR {\u6BCF\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u6BCF\u4E2A\u8BB8\u53EF\u8BC1} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u6BCF\u4E2A\u8BB8\u53EF\u8BC1} other {}}",freeLabel:"\u514D\u8D39",freeAriaLabel:"\u514D\u8D39",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u6216\u5B9A\u4EF7 {alternativePrice}",strikethroughAriaLabel:"\u6B63\u5E38\u4EF7 {strikethroughPrice}"},{lang:"zh-hant",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCF\u6708} YEAR {\u6BCF\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u6BCF\u500B\u6388\u6B0A} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u6BCF\u500B\u6388\u6B0A} other {}}",freeLabel:"\u514D\u8CBB",freeAriaLabel:"\u514D\u8CBB",taxExclusiveLabel:"{taxTerm, select, GST {\u4E0D\u542B GST} VAT {\u4E0D\u542B VAT} TAX {\u4E0D\u542B\u7A05} IVA {\u4E0D\u542B IVA} SST {\u4E0D\u542B SST} KDV {\u4E0D\u542B KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u542B GST} VAT {\u542B VAT} TAX {\u542B\u7A05} IVA {\u542B IVA} SST {\u542B SST} KDV {\u542B KDV} other {}}",alternativePriceAriaLabel:"\u6216\u8005\u5728 {alternativePrice}",strikethroughAriaLabel:"\u6A19\u6E96\u50F9\u683C\u70BA {strikethroughPrice}"},{lang:"es",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mes} YEAR {/a\xF1o} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {al mes} YEAR {al a\xF1o} other {}}",perUnitLabel:"{perUnit, select, LICENSE {por licencia} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {por licencia} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {GST no incluido} VAT {IVA no incluido} TAX {Impuestos no incluidos} IVA {IVA no incluido} SST {SST no incluido} KDV {KDV no incluido} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST incluido} VAT {IVA incluido} TAX {Impuestos incluidos} IVA {IVA incluido} SST {SST incluido} KDV {KDV incluido} other {}}",alternativePriceAriaLabel:"Alternativamente por {alternativePrice}",strikethroughAriaLabel:"Normalmente a {strikethroughPrice}"},{lang:"in",recurrenceLabel:"{recurrenceTerm, select, MONTH {/bulan} YEAR {/tahun} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per bulan} YEAR {per tahun} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per lisensi} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per lisensi} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {tidak termasuk PBJ} VAT {tidak termasuk PPN} TAX {tidak termasuk pajak} IVA {tidak termasuk IVA} SST {tidak termasuk SST} KDV {tidak termasuk KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {termasuk PBJ} VAT {termasuk PPN} TAX {termasuk pajak} IVA {termasuk IVA} SST {termasuk SST} KDV {termasuk KDV} other {}}",alternativePriceAriaLabel:"Atau seharga {alternativePrice}",strikethroughAriaLabel:"Normalnya seharga {strikethroughPrice}"},{lang:"vi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/th\xE1ng} YEAR {/n\u0103m} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {m\u1ED7i th\xE1ng} YEAR {m\u1ED7i n\u0103m} other {}}",perUnitLabel:"{perUnit, select, LICENSE {m\u1ED7i gi\u1EA5y ph\xE9p} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {m\u1ED7i gi\u1EA5y ph\xE9p} other {}}",freeLabel:"Mi\u1EC5n ph\xED",freeAriaLabel:"Mi\u1EC5n ph\xED",taxExclusiveLabel:"{taxTerm, select, GST {ch\u01B0a bao g\u1ED3m thu\u1EBF h\xE0ng h\xF3a v\xE0 d\u1ECBch v\u1EE5} VAT {ch\u01B0a bao g\u1ED3m thu\u1EBF GTGT} TAX {ch\u01B0a bao g\u1ED3m thu\u1EBF} IVA {ch\u01B0a bao g\u1ED3m IVA} SST {ch\u01B0a bao g\u1ED3m SST} KDV {ch\u01B0a bao g\u1ED3m KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {(\u0111\xE3 bao g\u1ED3m thu\u1EBF h\xE0ng h\xF3a v\xE0 d\u1ECBch v\u1EE5)} VAT {(\u0111\xE3 bao g\u1ED3m thu\u1EBF GTGT)} TAX {(\u0111\xE3 bao g\u1ED3m thu\u1EBF)} IVA {(\u0111\xE3 bao g\u1ED3m IVA)} SST {(\u0111\xE3 bao g\u1ED3m SST)} KDV {(\u0111\xE3 bao g\u1ED3m KDV)} other {}}",alternativePriceAriaLabel:"Gi\xE1 \u01B0u \u0111\xE3i {alternativePrice}",strikethroughAriaLabel:"Gi\xE1 th\xF4ng th\u01B0\u1EDDng {strikethroughPrice}"},{lang:"th",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u0E40\u0E14\u0E37\u0E2D\u0E19} YEAR {/\u0E1B\u0E35} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0E15\u0E48\u0E2D\u0E40\u0E14\u0E37\u0E2D\u0E19} YEAR {\u0E15\u0E48\u0E2D\u0E1B\u0E35} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0E15\u0E48\u0E2D\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0E15\u0E48\u0E2D\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19} other {}}",freeLabel:"\u0E1F\u0E23\u0E35",freeAriaLabel:"\u0E1F\u0E23\u0E35",taxExclusiveLabel:"{taxTerm, select, GST {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35 GST} VAT {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 VAT} TAX {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35} IVA {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 IVA} SST {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 SST} KDV {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35 GST} VAT {\u0E23\u0E27\u0E21 VAT} TAX {\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35} IVA {\u0E23\u0E27\u0E21 IVA} SST {\u0E23\u0E27\u0E21 SST} KDV {\u0E23\u0E27\u0E21 KDV} other {}}",alternativePriceAriaLabel:"\u0E23\u0E32\u0E04\u0E32\u0E1E\u0E34\u0E40\u0E28\u0E29 {alternativePrice}",strikethroughAriaLabel:"\u0E23\u0E32\u0E04\u0E32\u0E1B\u0E01\u0E15\u0E34 {strikethroughPrice}"},{lang:"el",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u03BC\u03AE\u03BD\u03B1} YEAR {/\u03AD\u03C4\u03BF\u03C2} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u03BA\u03AC\u03B8\u03B5 \u03BC\u03AE\u03BD\u03B1} YEAR {\u03B1\u03BD\u03AC \u03AD\u03C4\u03BF\u03C2} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u03B1\u03BD\u03AC \u03AC\u03B4\u03B5\u03B9\u03B1 \u03C7\u03C1\u03AE\u03C3\u03B7\u03C2} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u03B1\u03BD\u03AC \u03AC\u03B4\u03B5\u03B9\u03B1 \u03C7\u03C1\u03AE\u03C3\u03B7\u03C2} other {}}",freeLabel:"\u0394\u03C9\u03C1\u03B5\u03AC\u03BD",freeAriaLabel:"\u0394\u03C9\u03C1\u03B5\u03AC\u03BD",taxExclusiveLabel:"{taxTerm, select, GST {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 GST)} VAT {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03A6\u03A0\u0391)} TAX {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C6\u03CC\u03C1\u03BF)} IVA {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 IVA)} SST {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 SST)} KDV {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 KDV)} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 GST)} VAT {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03A6\u03A0\u0391)} TAX {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 \u03C6\u03CC\u03C1\u03BF\u03C5)} IVA {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 IVA)} SST {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 SST)} KDV {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 KDV)} other {}}",alternativePriceAriaLabel:"\u0394\u03B9\u03B1\u03C6\u03BF\u03C1\u03B5\u03C4\u03B9\u03BA\u03AC, {alternativePrice}",strikethroughAriaLabel:"\u039A\u03B1\u03BD\u03BF\u03BD\u03B9\u03BA\u03AE \u03C4\u03B9\u03BC\u03AE {strikethroughPrice}"},{lang:"fil",recurrenceLabel:"{recurrenceTerm, select, MONTH {/buwan} YEAR {/taon} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per buwan} YEAR {per taon} other {}}",perUnitLabel:"{perUnit, select, LICENSE {kada lisensya} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {kada lisensya} other {}}",freeLabel:"Libre",freeAriaLabel:"Libre",taxExclusiveLabel:"{taxTerm, select, GST {hindi kasama ang GST} VAT {hindi kasama ang VAT} TAX {hindi kasama ang Buwis} IVA {hindi kasama ang IVA} SST {hindi kasama ang SST} KDV {hindi kasama ang KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {kasama ang GST} VAT {kasama ang VAT} TAX {kasama ang Buwis} IVA {kasama ang IVA} SST {kasama ang SST} KDV {kasama ang KDV} other {}}",alternativePriceAriaLabel:"Alternatibong nasa halagang {alternativePrice}",strikethroughAriaLabel:"Regular na nasa halagang {strikethroughPrice}"},{lang:"ms",recurrenceLabel:"{recurrenceTerm, select, MONTH {/bulan} YEAR {/tahun} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per bulan} YEAR {per tahun} other {}}",perUnitLabel:"{perUnit, select, LICENSE {setiap lesen} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {setiap lesen} other {}}",freeLabel:"Percuma",freeAriaLabel:"Percuma",taxExclusiveLabel:"{taxTerm, select, GST {kecuali GST} VAT {kecuali VAT} TAX {kecuali Cukai} IVA {kecuali IVA} SST {kecuali SST} KDV {kecuali KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {termasuk GST} VAT {termasuk VAT} TAX {termasuk Cukai} IVA {termasuk IVA} SST {termasuk SST} KDV {termasuk KDV} other {}}",alternativePriceAriaLabel:"Secara alternatif pada {alternativePrice}",strikethroughAriaLabel:"Biasanya pada {strikethroughPrice}"},{lang:"hi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u092E\u093E\u0939} YEAR {/\u0935\u0930\u094D\u0937} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per \u092E\u093E\u0939} YEAR {per \u0935\u0930\u094D\u0937} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u092A\u094D\u0930\u0924\u093F \u0932\u093E\u0907\u0938\u0947\u0902\u0938} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u092A\u094D\u0930\u0924\u093F \u0932\u093E\u0907\u0938\u0947\u0902\u0938} other {}}",freeLabel:"\u092B\u093C\u094D\u0930\u0940",freeAriaLabel:"\u092B\u093C\u094D\u0930\u0940",taxExclusiveLabel:"{taxTerm, select, GST {GST \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} VAT {VAT \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} TAX {\u0915\u0930 \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} IVA {IVA \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} SST {SST \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} KDV {KDV \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \u0938\u0939\u093F\u0924} VAT {VAT \u0938\u0939\u093F\u0924} TAX {\u0915\u0930 \u0938\u0939\u093F\u0924} IVA {IVA \u0938\u0939\u093F\u0924} SST {SST \u0938\u0939\u093F\u0924} KDV {KDV \u0938\u0939\u093F\u0924} other {}}",alternativePriceAriaLabel:"\u0935\u0948\u0915\u0932\u094D\u092A\u093F\u0915 \u0930\u0942\u092A \u0938\u0947 \u0907\u0938 \u092A\u0930 {alternativePrice}",strikethroughAriaLabel:"\u0928\u093F\u092F\u092E\u093F\u0924 \u0930\u0942\u092A \u0938\u0947 \u0907\u0938 \u092A\u0930 {strikethroughPrice}"},{lang:"iw",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u05D7\u05D5\u05D3\u05E9} YEAR {/\u05E9\u05E0\u05D4} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u05DC\u05D7\u05D5\u05D3\u05E9} YEAR {\u05DC\u05E9\u05E0\u05D4} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",freeLabel:"\u05D7\u05D9\u05E0\u05DD",freeAriaLabel:"\u05D7\u05D9\u05E0\u05DD",taxExclusiveLabel:'{taxTerm, select, GST {\u05DC\u05DC\u05D0 GST} VAT {\u05DC\u05DC\u05D0 \u05DE\u05E2"\u05DE} TAX {\u05DC\u05DC\u05D0 \u05DE\u05E1} IVA {\u05DC\u05DC\u05D0 IVA} SST {\u05DC\u05DC\u05D0 SST} KDV {\u05DC\u05DC\u05D0 KDV} other {}}',taxInclusiveLabel:'{taxTerm, select, GST {\u05DB\u05D5\u05DC\u05DC GST} VAT {\u05DB\u05D5\u05DC\u05DC \u05DE\u05E2"\u05DE} TAX {\u05DB\u05D5\u05DC\u05DC \u05DE\u05E1} IVA {\u05DB\u05D5\u05DC\u05DC IVA} SST {\u05DB\u05D5\u05DC\u05DC SST} KDV {\u05DB\u05D5\u05DC\u05DC KDV} other {}}',alternativePriceAriaLabel:"\u05DC\u05D7\u05DC\u05D5\u05E4\u05D9\u05DF \u05D1-{alternativePrice}",strikethroughAriaLabel:"\u05D1\u05D0\u05D5\u05E4\u05DF \u05E7\u05D1\u05D5\u05E2 \u05D1-{strikethroughPrice}"}],":type":"sheet"}});var ve;(function(e){e.STAGE="STAGE",e.PRODUCTION="PRODUCTION",e.LOCAL="LOCAL"})(ve||(ve={}));var Tt;(function(e){e.STAGE="STAGE",e.PRODUCTION="PROD",e.LOCAL="LOCAL"})(Tt||(Tt={}));var ye;(function(e){e.DRAFT="DRAFT",e.PUBLISHED="PUBLISHED"})(ye||(ye={}));var ie;(function(e){e.V2="UCv2",e.V3="UCv3"})(ie||(ie={}));var G;(function(e){e.CHECKOUT="checkout",e.CHECKOUT_EMAIL="checkout/email",e.SEGMENTATION="segmentation",e.BUNDLE="bundle",e.COMMITMENT="commitment",e.RECOMMENDATION="recommendation",e.EMAIL="email",e.PAYMENT="payment",e.CHANGE_PLAN_TEAM_PLANS="change-plan/team-upgrade/plans",e.CHANGE_PLAN_TEAM_PAYMENT="change-plan/team-upgrade/payment"})(G||(G={}));var At=function(e){var t;return(t=hi.get(e))!==null&&t!==void 0?t:e},hi=new Map([["countrySpecific","cs"],["quantity","q"],["authCode","code"],["checkoutPromoCode","apc"],["rurl","rUrl"],["curl","cUrl"],["ctxrturl","ctxRtUrl"],["country","co"],["language","lang"],["clientId","cli"],["context","ctx"],["productArrangementCode","pa"],["offerType","ot"],["marketSegment","ms"]]);var Vr=function(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Or=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)a.push(i.value)}catch(s){o={error:s}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return a};function Te(e,t,r){var n,i;try{for(var a=Vr(Object.entries(e)),o=a.next();!o.done;o=a.next()){var s=Or(o.value,2),l=s[0],c=s[1],u=At(l);c!=null&&r.has(u)&&t.set(u,c)}}catch(h){n={error:h}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}}function Be(e){switch(e){case ve.PRODUCTION:return"https://commerce.adobe.com";default:return"https://commerce-stg.adobe.com"}}function Fe(e,t){var r,n;for(var i in e){var a=e[i];try{for(var o=(r=void 0,Vr(Object.entries(a))),s=o.next();!s.done;s=o.next()){var l=Or(s.value,2),c=l[0],u=l[1];if(u!=null){var h=At(c);t.set("items["+i+"]["+h+"]",u)}}}catch(f){r={error:f}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}}}var fi=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};function wr(e){Ai(e);var t=e.env,r=e.items,n=e.workflowStep,i=fi(e,["env","items","workflowStep"]),a=new URL(Be(t));return a.pathname=n+"/",Fe(r,a.searchParams),Te(i,a.searchParams,mi),a.toString()}var mi=new Set(["cli","co","lang","ctx","cUrl","mv","nglwfdata","otac","promoid","rUrl","sdid","spint","trackingid","code","campaignid","appctxid"]),Ti=["env","workflowStep","clientId","country","items"];function Ai(e){var t,r;try{for(var n=pi(Ti),i=n.next();!i.done;i=n.next()){var a=i.value;if(!e[a])throw new Error('Argument "checkoutData" is not valid, missing: '+a)}}catch(o){t={error:o}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}return!0}var Ei=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Si="p_draft_landscape",bi="/store/";function dt(e){gi(e);var t=e.env,r=e.items,n=e.workflowStep,i=e.ms,a=e.marketSegment,o=e.ot,s=e.offerType,l=e.pa,c=e.productArrangementCode,u=e.landscape,h=Ei(e,["env","items","workflowStep","ms","marketSegment","ot","offerType","pa","productArrangementCode","landscape"]),f={marketSegment:a??i,offerType:s??o,productArrangementCode:c??l},p=new URL(Be(t));return p.pathname=""+bi+n,n!==G.SEGMENTATION&&n!==G.CHANGE_PLAN_TEAM_PLANS&&Fe(r,p.searchParams),n===G.SEGMENTATION&&Te(f,p.searchParams,Et),Te(h,p.searchParams,Et),u===ye.DRAFT&&Te({af:Si},p.searchParams,Et),p.toString()}var Et=new Set(["af","ai","apc","appctxid","cli","co","csm","ctx","ctxRtUrl","DCWATC","dp","fr","gsp","ijt","lang","lo","mal","ms","mv","mv2","nglwfdata","ot","otac","pa","pcid","promoid","q","rf","sc","scl","sdid","sid","spint","svar","th","thm","trackingid","usid","workflowid","context.guid","so.ca","so.su","so.tr","so.va"]),xi=["env","workflowStep","clientId","country"];function gi(e){var t,r;try{for(var n=di(xi),i=n.next();!i.done;i=n.next()){var a=i.value;if(!e[a])throw new Error('Argument "checkoutData" is not valid, missing: '+a)}}catch(o){t={error:o}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}if(e.workflowStep!==G.SEGMENTATION&&e.workflowStep!==G.CHANGE_PLAN_TEAM_PLANS&&!e.items)throw new Error('Argument "checkoutData" is not valid, missing: items');return!0}function St(e,t){switch(e){case ie.V2:return wr(t);case ie.V3:return dt(t);default:return console.warn("Unsupported CheckoutType, will use UCv3 as default. Given type: "+e),dt(t)}}var bt;(function(e){e.BASE="BASE",e.TRIAL="TRIAL",e.PROMOTION="PROMOTION"})(bt||(bt={}));var w;(function(e){e.MONTH="MONTH",e.YEAR="YEAR",e.TWO_YEARS="TWO_YEARS",e.THREE_YEARS="THREE_YEARS",e.PERPETUAL="PERPETUAL",e.TERM_LICENSE="TERM_LICENSE",e.ACCESS_PASS="ACCESS_PASS",e.THREE_MONTHS="THREE_MONTHS",e.SIX_MONTHS="SIX_MONTHS"})(w||(w={}));var _;(function(e){e.ANNUAL="ANNUAL",e.MONTHLY="MONTHLY",e.TWO_YEARS="TWO_YEARS",e.THREE_YEARS="THREE_YEARS",e.P1D="P1D",e.P1Y="P1Y",e.P3Y="P3Y",e.P10Y="P10Y",e.P15Y="P15Y",e.P3D="P3D",e.P7D="P7D",e.P30D="P30D",e.HALF_YEARLY="HALF_YEARLY",e.QUARTERLY="QUARTERLY"})(_||(_={}));var xt;(function(e){e.INDIVIDUAL="INDIVIDUAL",e.TEAM="TEAM",e.ENTERPRISE="ENTERPRISE"})(xt||(xt={}));var gt;(function(e){e.COM="COM",e.EDU="EDU",e.GOV="GOV"})(gt||(gt={}));var Lt;(function(e){e.DIRECT="DIRECT",e.INDIRECT="INDIRECT"})(Lt||(Lt={}));var vt;(function(e){e.ENTERPRISE_PRODUCT="ENTERPRISE_PRODUCT",e.ETLA="ETLA",e.RETAIL="RETAIL",e.VIP="VIP",e.VIPMP="VIPMP",e.FREE="FREE"})(vt||(vt={}));var Rr="tacocat.js";var Ke=(e,t)=>String(e??"").toLowerCase()==String(t??"").toLowerCase(),kr=e=>`${e??""}`.replace(/[&<>'"]/g,t=>({"&":"&","<":"<",">":">","'":"'",'"':"""})[t]??t)??"";function N(e,t={},{metadata:r=!0,search:n=!0,storage:i=!0}={}){let a;if(n&&a==null){let o=new URLSearchParams(window.location.search),s=Ae(n)?n:e;a=o.get(s)}if(i&&a==null){let o=Ae(i)?i:e;a=window.sessionStorage.getItem(o)??window.localStorage.getItem(o)}if(r&&a==null){let o=Li(Ae(r)?r:e);a=document.documentElement.querySelector(`meta[name="${o}"]`)?.content}return a??t[e]}var Ee=()=>{};var Hr=e=>typeof e=="boolean",Pe=e=>typeof e=="function",Ye=e=>typeof e=="number",Dr=e=>e!=null&&typeof e=="object";var Ae=e=>typeof e=="string",yt=e=>Ae(e)&&e,de=e=>Ye(e)&&Number.isFinite(e)&&e>0;function Se(e,t=r=>r==null||r===""){return e!=null&&Object.entries(e).forEach(([r,n])=>{t(n)&&delete e[r]}),e}function x(e,t){if(Hr(e))return e;let r=String(e);return r==="1"||r==="true"?!0:r==="0"||r==="false"?!1:t}function ee(e,t,r){let n=Object.values(t);return n.find(i=>Ke(i,e))??r??n[0]}function Li(e=""){return String(e).replace(/(\p{Lowercase_Letter})(\p{Uppercase_Letter})/gu,(t,r,n)=>`${r}-${n}`).replace(/\W+/gu,"-").toLowerCase()}function be(e,t=1){return Ye(e)||(e=Number.parseInt(e,10)),!Number.isNaN(e)&&e>0&&Number.isFinite(e)?e:t}var vi=Date.now(),Pt=()=>`(+${Date.now()-vi}ms)`,Xe=new Set,yi=x(N("tacocat.debug",{},{metadata:!1}),typeof process<"u"&&process.env?.DEBUG);function Ur(e){let t=`[${Rr}/${e}]`,r=(o,s,...l)=>o?!0:(i(s,...l),!1),n=yi?(o,...s)=>{console.debug(`${t} ${o}`,...s,Pt())}:()=>{},i=(o,...s)=>{let l=`${t} ${o}`;Xe.forEach(([c])=>c(l,...s))};return{assert:r,debug:n,error:i,warn:(o,...s)=>{let l=`${t} ${o}`;Xe.forEach(([,c])=>c(l,...s))}}}function Pi(e,t){let r=[e,t];return Xe.add(r),()=>{Xe.delete(r)}}Pi((e,...t)=>{console.error(e,...t,Pt())},(e,...t)=>{console.warn(e,...t,Pt())});var Ii="no promo",Mr="promo-tag",_i="yellow",Ni="neutral",Ci=(e,t,r)=>{let n=a=>a||Ii,i=r?` (was "${n(t)}")`:"";return`${n(e)}${i}`},Vi="cancel-context",Ie=(e,t)=>{let r=e===Vi,n=!r&&e?.length>0,i=(n||r)&&(t&&t!=e||!t&&!r),a=i&&n||!i&&!!t,o=a?e||t:void 0;return{effectivePromoCode:o,overridenPromoCode:e,className:a?Mr:`${Mr} no-promo`,text:Ci(o,t,i),variant:a?_i:Ni,isOverriden:i}};var It="ABM",_t="PUF",Nt="M2M",Ct="PERPETUAL",Vt="P3Y",Oi="TAX_INCLUSIVE_DETAILS",wi="TAX_EXCLUSIVE",Gr={ABM:It,PUF:_t,M2M:Nt,PERPETUAL:Ct,P3Y:Vt},Zo={[It]:{commitment:w.YEAR,term:_.MONTHLY},[_t]:{commitment:w.YEAR,term:_.ANNUAL},[Nt]:{commitment:w.MONTH,term:_.MONTHLY},[Ct]:{commitment:w.PERPETUAL,term:void 0},[Vt]:{commitment:w.THREE_MONTHS,term:_.P3Y}},Br="Value is not an offer",We=e=>{if(typeof e!="object")return Br;let{commitment:t,term:r}=e,n=Ri(t,r);return{...e,planType:n}};var Ri=(e,t)=>{switch(e){case void 0:return Br;case"":return"";case w.YEAR:return t===_.MONTHLY?It:t===_.ANNUAL?_t:"";case w.MONTH:return t===_.MONTHLY?Nt:"";case w.PERPETUAL:return Ct;case w.TERM_LICENSE:return t===_.P3Y?Vt:"";default:return""}};function Ot(e){let{priceDetails:t}=e,{price:r,priceWithoutDiscount:n,priceWithoutTax:i,priceWithoutDiscountAndTax:a,taxDisplay:o}=t;if(o!==Oi)return e;let s={...e,priceDetails:{...t,price:i??r,priceWithoutDiscount:a??n,taxDisplay:wi}};return s.offerType==="TRIAL"&&s.priceDetails.price===0&&(s.priceDetails.price=s.priceDetails.priceWithoutDiscount),s}var wt=function(e,t){return wt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[i]=n[i])},wt(e,t)};function _e(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");wt(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}var d=function(){return d=Object.assign||function(t){for(var r,n=1,i=arguments.length;n0}),r=[],n=0,i=t;n1)throw new RangeError("integer-width stems only accept a single optional option");i.options[0].replace(Di,function(l,c,u,h,f,p){if(c)t.minimumIntegerDigits=u.length;else{if(h&&f)throw new Error("We currently do not support maximum integer digits");if(p)throw new Error("We currently do not support exact integer digits")}return""});continue}if(Zr.test(i.stem)){t.minimumIntegerDigits=i.stem.length;continue}if(Wr.test(i.stem)){if(i.options.length>1)throw new RangeError("Fraction-precision stems only accept a single optional option");i.stem.replace(Wr,function(l,c,u,h,f,p){return u==="*"?t.minimumFractionDigits=c.length:h&&h[0]==="#"?t.maximumFractionDigits=h.length:f&&p?(t.minimumFractionDigits=f.length,t.maximumFractionDigits=f.length+p.length):(t.minimumFractionDigits=c.length,t.maximumFractionDigits=c.length),""});var a=i.options[0];a==="w"?t=d(d({},t),{trailingZeroDisplay:"stripIfInteger"}):a&&(t=d(d({},t),jr(a)));continue}if(qr.test(i.stem)){t=d(d({},t),jr(i.stem));continue}var o=Jr(i.stem);o&&(t=d(d({},t),o));var s=Ui(i.stem);s&&(t=d(d({},t),s))}return t}var Ce={AX:["H"],BQ:["H"],CP:["H"],CZ:["H"],DK:["H"],FI:["H"],ID:["H"],IS:["H"],ML:["H"],NE:["H"],RU:["H"],SE:["H"],SJ:["H"],SK:["H"],AS:["h","H"],BT:["h","H"],DJ:["h","H"],ER:["h","H"],GH:["h","H"],IN:["h","H"],LS:["h","H"],PG:["h","H"],PW:["h","H"],SO:["h","H"],TO:["h","H"],VU:["h","H"],WS:["h","H"],"001":["H","h"],AL:["h","H","hB"],TD:["h","H","hB"],"ca-ES":["H","h","hB"],CF:["H","h","hB"],CM:["H","h","hB"],"fr-CA":["H","h","hB"],"gl-ES":["H","h","hB"],"it-CH":["H","h","hB"],"it-IT":["H","h","hB"],LU:["H","h","hB"],NP:["H","h","hB"],PF:["H","h","hB"],SC:["H","h","hB"],SM:["H","h","hB"],SN:["H","h","hB"],TF:["H","h","hB"],VA:["H","h","hB"],CY:["h","H","hb","hB"],GR:["h","H","hb","hB"],CO:["h","H","hB","hb"],DO:["h","H","hB","hb"],KP:["h","H","hB","hb"],KR:["h","H","hB","hb"],NA:["h","H","hB","hb"],PA:["h","H","hB","hb"],PR:["h","H","hB","hb"],VE:["h","H","hB","hb"],AC:["H","h","hb","hB"],AI:["H","h","hb","hB"],BW:["H","h","hb","hB"],BZ:["H","h","hb","hB"],CC:["H","h","hb","hB"],CK:["H","h","hb","hB"],CX:["H","h","hb","hB"],DG:["H","h","hb","hB"],FK:["H","h","hb","hB"],GB:["H","h","hb","hB"],GG:["H","h","hb","hB"],GI:["H","h","hb","hB"],IE:["H","h","hb","hB"],IM:["H","h","hb","hB"],IO:["H","h","hb","hB"],JE:["H","h","hb","hB"],LT:["H","h","hb","hB"],MK:["H","h","hb","hB"],MN:["H","h","hb","hB"],MS:["H","h","hb","hB"],NF:["H","h","hb","hB"],NG:["H","h","hb","hB"],NR:["H","h","hb","hB"],NU:["H","h","hb","hB"],PN:["H","h","hb","hB"],SH:["H","h","hb","hB"],SX:["H","h","hb","hB"],TA:["H","h","hb","hB"],ZA:["H","h","hb","hB"],"af-ZA":["H","h","hB","hb"],AR:["H","h","hB","hb"],CL:["H","h","hB","hb"],CR:["H","h","hB","hb"],CU:["H","h","hB","hb"],EA:["H","h","hB","hb"],"es-BO":["H","h","hB","hb"],"es-BR":["H","h","hB","hb"],"es-EC":["H","h","hB","hb"],"es-ES":["H","h","hB","hb"],"es-GQ":["H","h","hB","hb"],"es-PE":["H","h","hB","hb"],GT:["H","h","hB","hb"],HN:["H","h","hB","hb"],IC:["H","h","hB","hb"],KG:["H","h","hB","hb"],KM:["H","h","hB","hb"],LK:["H","h","hB","hb"],MA:["H","h","hB","hb"],MX:["H","h","hB","hb"],NI:["H","h","hB","hb"],PY:["H","h","hB","hb"],SV:["H","h","hB","hb"],UY:["H","h","hB","hb"],JP:["H","h","K"],AD:["H","hB"],AM:["H","hB"],AO:["H","hB"],AT:["H","hB"],AW:["H","hB"],BE:["H","hB"],BF:["H","hB"],BJ:["H","hB"],BL:["H","hB"],BR:["H","hB"],CG:["H","hB"],CI:["H","hB"],CV:["H","hB"],DE:["H","hB"],EE:["H","hB"],FR:["H","hB"],GA:["H","hB"],GF:["H","hB"],GN:["H","hB"],GP:["H","hB"],GW:["H","hB"],HR:["H","hB"],IL:["H","hB"],IT:["H","hB"],KZ:["H","hB"],MC:["H","hB"],MD:["H","hB"],MF:["H","hB"],MQ:["H","hB"],MZ:["H","hB"],NC:["H","hB"],NL:["H","hB"],PM:["H","hB"],PT:["H","hB"],RE:["H","hB"],RO:["H","hB"],SI:["H","hB"],SR:["H","hB"],ST:["H","hB"],TG:["H","hB"],TR:["H","hB"],WF:["H","hB"],YT:["H","hB"],BD:["h","hB","H"],PK:["h","hB","H"],AZ:["H","hB","h"],BA:["H","hB","h"],BG:["H","hB","h"],CH:["H","hB","h"],GE:["H","hB","h"],LI:["H","hB","h"],ME:["H","hB","h"],RS:["H","hB","h"],UA:["H","hB","h"],UZ:["H","hB","h"],XK:["H","hB","h"],AG:["h","hb","H","hB"],AU:["h","hb","H","hB"],BB:["h","hb","H","hB"],BM:["h","hb","H","hB"],BS:["h","hb","H","hB"],CA:["h","hb","H","hB"],DM:["h","hb","H","hB"],"en-001":["h","hb","H","hB"],FJ:["h","hb","H","hB"],FM:["h","hb","H","hB"],GD:["h","hb","H","hB"],GM:["h","hb","H","hB"],GU:["h","hb","H","hB"],GY:["h","hb","H","hB"],JM:["h","hb","H","hB"],KI:["h","hb","H","hB"],KN:["h","hb","H","hB"],KY:["h","hb","H","hB"],LC:["h","hb","H","hB"],LR:["h","hb","H","hB"],MH:["h","hb","H","hB"],MP:["h","hb","H","hB"],MW:["h","hb","H","hB"],NZ:["h","hb","H","hB"],SB:["h","hb","H","hB"],SG:["h","hb","H","hB"],SL:["h","hb","H","hB"],SS:["h","hb","H","hB"],SZ:["h","hb","H","hB"],TC:["h","hb","H","hB"],TT:["h","hb","H","hB"],UM:["h","hb","H","hB"],US:["h","hb","H","hB"],VC:["h","hb","H","hB"],VG:["h","hb","H","hB"],VI:["h","hb","H","hB"],ZM:["h","hb","H","hB"],BO:["H","hB","h","hb"],EC:["H","hB","h","hb"],ES:["H","hB","h","hb"],GQ:["H","hB","h","hb"],PE:["H","hB","h","hb"],AE:["h","hB","hb","H"],"ar-001":["h","hB","hb","H"],BH:["h","hB","hb","H"],DZ:["h","hB","hb","H"],EG:["h","hB","hb","H"],EH:["h","hB","hb","H"],HK:["h","hB","hb","H"],IQ:["h","hB","hb","H"],JO:["h","hB","hb","H"],KW:["h","hB","hb","H"],LB:["h","hB","hb","H"],LY:["h","hB","hb","H"],MO:["h","hB","hb","H"],MR:["h","hB","hb","H"],OM:["h","hB","hb","H"],PH:["h","hB","hb","H"],PS:["h","hB","hb","H"],QA:["h","hB","hb","H"],SA:["h","hB","hb","H"],SD:["h","hB","hb","H"],SY:["h","hB","hb","H"],TN:["h","hB","hb","H"],YE:["h","hB","hb","H"],AF:["H","hb","hB","h"],LA:["H","hb","hB","h"],CN:["H","hB","hb","h"],LV:["H","hB","hb","h"],TL:["H","hB","hb","h"],"zu-ZA":["H","hB","hb","h"],CD:["hB","H"],IR:["hB","H"],"hi-IN":["hB","h","H"],"kn-IN":["hB","h","H"],"ml-IN":["hB","h","H"],"te-IN":["hB","h","H"],KH:["hB","h","H","hb"],"ta-IN":["hB","h","hb","H"],BN:["hb","hB","h","H"],MY:["hb","hB","h","H"],ET:["hB","hb","h","H"],"gu-IN":["hB","hb","h","H"],"mr-IN":["hB","hb","h","H"],"pa-IN":["hB","hb","h","H"],TW:["hB","hb","h","H"],KE:["hB","hb","H","h"],MM:["hB","hb","H","h"],TZ:["hB","hb","H","h"],UG:["hB","hb","H","h"]};function en(e,t){for(var r="",n=0;n>1),l="a",c=Mi(t);for((c=="H"||c=="k")&&(s=0);s-- >0;)r+=l;for(;o-- >0;)r=c+r}else i==="J"?r+="H":r+=i}return r}function Mi(e){var t=e.hourCycle;if(t===void 0&&e.hourCycles&&e.hourCycles.length&&(t=e.hourCycles[0]),t)switch(t){case"h24":return"k";case"h23":return"H";case"h12":return"h";case"h11":return"K";default:throw new Error("Invalid hourCycle")}var r=e.language,n;r!=="root"&&(n=e.maximize().region);var i=Ce[n||""]||Ce[r||""]||Ce["".concat(r,"-001")]||Ce["001"];return i[0]}var Ht,Gi=new RegExp("^".concat(kt.source,"*")),Bi=new RegExp("".concat(kt.source,"*$"));function S(e,t){return{start:e,end:t}}var Fi=!!String.prototype.startsWith,Ki=!!String.fromCodePoint,Yi=!!Object.fromEntries,Xi=!!String.prototype.codePointAt,Wi=!!String.prototype.trimStart,ji=!!String.prototype.trimEnd,zi=!!Number.isSafeInteger,$i=zi?Number.isSafeInteger:function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e&&Math.abs(e)<=9007199254740991},Ut=!0;try{tn=on("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu"),Ut=((Ht=tn.exec("a"))===null||Ht===void 0?void 0:Ht[0])==="a"}catch{Ut=!1}var tn,rn=Fi?function(t,r,n){return t.startsWith(r,n)}:function(t,r,n){return t.slice(n,n+r.length)===r},Mt=Ki?String.fromCodePoint:function(){for(var t=[],r=0;ra;){if(o=t[a++],o>1114111)throw RangeError(o+" is not a valid code point");n+=o<65536?String.fromCharCode(o):String.fromCharCode(((o-=65536)>>10)+55296,o%1024+56320)}return n},nn=Yi?Object.fromEntries:function(t){for(var r={},n=0,i=t;n=n)){var i=t.charCodeAt(r),a;return i<55296||i>56319||r+1===n||(a=t.charCodeAt(r+1))<56320||a>57343?i:(i-55296<<10)+(a-56320)+65536}},qi=Wi?function(t){return t.trimStart()}:function(t){return t.replace(Gi,"")},Zi=ji?function(t){return t.trimEnd()}:function(t){return t.replace(Bi,"")};function on(e,t){return new RegExp(e,t)}var Gt;Ut?(Dt=on("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu"),Gt=function(t,r){var n;Dt.lastIndex=r;var i=Dt.exec(t);return(n=i[1])!==null&&n!==void 0?n:""}):Gt=function(t,r){for(var n=[];;){var i=an(t,r);if(i===void 0||ln(i)||ea(i))break;n.push(i),r+=i>=65536?2:1}return Mt.apply(void 0,n)};var Dt,sn=function(){function e(t,r){r===void 0&&(r={}),this.message=t,this.position={offset:0,line:1,column:1},this.ignoreTag=!!r.ignoreTag,this.locale=r.locale,this.requiresOtherClause=!!r.requiresOtherClause,this.shouldParseSkeletons=!!r.shouldParseSkeletons}return e.prototype.parse=function(){if(this.offset()!==0)throw Error("parser can only be used once");return this.parseMessage(0,"",!1)},e.prototype.parseMessage=function(t,r,n){for(var i=[];!this.isEOF();){var a=this.char();if(a===123){var o=this.parseArgument(t,n);if(o.err)return o;i.push(o.val)}else{if(a===125&&t>0)break;if(a===35&&(r==="plural"||r==="selectordinal")){var s=this.clonePosition();this.bump(),i.push({type:y.pound,location:S(s,this.clonePosition())})}else if(a===60&&!this.ignoreTag&&this.peek()===47){if(n)break;return this.error(E.UNMATCHED_CLOSING_TAG,S(this.clonePosition(),this.clonePosition()))}else if(a===60&&!this.ignoreTag&&Bt(this.peek()||0)){var o=this.parseTag(t,r);if(o.err)return o;i.push(o.val)}else{var o=this.parseLiteral(t,r);if(o.err)return o;i.push(o.val)}}}return{val:i,err:null}},e.prototype.parseTag=function(t,r){var n=this.clonePosition();this.bump();var i=this.parseTagName();if(this.bumpSpace(),this.bumpIf("/>"))return{val:{type:y.literal,value:"<".concat(i,"/>"),location:S(n,this.clonePosition())},err:null};if(this.bumpIf(">")){var a=this.parseMessage(t+1,r,!0);if(a.err)return a;var o=a.val,s=this.clonePosition();if(this.bumpIf("")?{val:{type:y.tag,value:i,children:o,location:S(n,this.clonePosition())},err:null}:this.error(E.INVALID_TAG,S(s,this.clonePosition())))}else return this.error(E.UNCLOSED_TAG,S(n,this.clonePosition()))}else return this.error(E.INVALID_TAG,S(n,this.clonePosition()))},e.prototype.parseTagName=function(){var t=this.offset();for(this.bump();!this.isEOF()&&Qi(this.char());)this.bump();return this.message.slice(t,this.offset())},e.prototype.parseLiteral=function(t,r){for(var n=this.clonePosition(),i="";;){var a=this.tryParseQuote(r);if(a){i+=a;continue}var o=this.tryParseUnquoted(t,r);if(o){i+=o;continue}var s=this.tryParseLeftAngleBracket();if(s){i+=s;continue}break}var l=S(n,this.clonePosition());return{val:{type:y.literal,value:i,location:l},err:null}},e.prototype.tryParseLeftAngleBracket=function(){return!this.isEOF()&&this.char()===60&&(this.ignoreTag||!Ji(this.peek()||0))?(this.bump(),"<"):null},e.prototype.tryParseQuote=function(t){if(this.isEOF()||this.char()!==39)return null;switch(this.peek()){case 39:return this.bump(),this.bump(),"'";case 123:case 60:case 62:case 125:break;case 35:if(t==="plural"||t==="selectordinal")break;return null;default:return null}this.bump();var r=[this.char()];for(this.bump();!this.isEOF();){var n=this.char();if(n===39)if(this.peek()===39)r.push(39),this.bump();else{this.bump();break}else r.push(n);this.bump()}return Mt.apply(void 0,r)},e.prototype.tryParseUnquoted=function(t,r){if(this.isEOF())return null;var n=this.char();return n===60||n===123||n===35&&(r==="plural"||r==="selectordinal")||n===125&&t>0?null:(this.bump(),Mt(n))},e.prototype.parseArgument=function(t,r){var n=this.clonePosition();if(this.bump(),this.bumpSpace(),this.isEOF())return this.error(E.EXPECT_ARGUMENT_CLOSING_BRACE,S(n,this.clonePosition()));if(this.char()===125)return this.bump(),this.error(E.EMPTY_ARGUMENT,S(n,this.clonePosition()));var i=this.parseIdentifierIfPossible().value;if(!i)return this.error(E.MALFORMED_ARGUMENT,S(n,this.clonePosition()));if(this.bumpSpace(),this.isEOF())return this.error(E.EXPECT_ARGUMENT_CLOSING_BRACE,S(n,this.clonePosition()));switch(this.char()){case 125:return this.bump(),{val:{type:y.argument,value:i,location:S(n,this.clonePosition())},err:null};case 44:return this.bump(),this.bumpSpace(),this.isEOF()?this.error(E.EXPECT_ARGUMENT_CLOSING_BRACE,S(n,this.clonePosition())):this.parseArgumentOptions(t,r,i,n);default:return this.error(E.MALFORMED_ARGUMENT,S(n,this.clonePosition()))}},e.prototype.parseIdentifierIfPossible=function(){var t=this.clonePosition(),r=this.offset(),n=Gt(this.message,r),i=r+n.length;this.bumpTo(i);var a=this.clonePosition(),o=S(t,a);return{value:n,location:o}},e.prototype.parseArgumentOptions=function(t,r,n,i){var a,o=this.clonePosition(),s=this.parseIdentifierIfPossible().value,l=this.clonePosition();switch(s){case"":return this.error(E.EXPECT_ARGUMENT_TYPE,S(o,l));case"number":case"date":case"time":{this.bumpSpace();var c=null;if(this.bumpIf(",")){this.bumpSpace();var u=this.clonePosition(),h=this.parseSimpleArgStyleIfPossible();if(h.err)return h;var f=Zi(h.val);if(f.length===0)return this.error(E.EXPECT_ARGUMENT_STYLE,S(this.clonePosition(),this.clonePosition()));var p=S(u,this.clonePosition());c={style:f,styleLocation:p}}var m=this.tryParseArgumentClose(i);if(m.err)return m;var T=S(i,this.clonePosition());if(c&&rn(c?.style,"::",0)){var v=qi(c.style.slice(2));if(s==="number"){var h=this.parseNumberSkeletonFromString(v,c.styleLocation);return h.err?h:{val:{type:y.number,value:n,location:T,style:h.val},err:null}}else{if(v.length===0)return this.error(E.EXPECT_DATE_TIME_SKELETON,T);var P=v;this.locale&&(P=en(v,this.locale));var f={type:ae.dateTime,pattern:P,location:c.styleLocation,parsedOptions:this.shouldParseSkeletons?Yr(P):{}},A=s==="date"?y.date:y.time;return{val:{type:A,value:n,location:T,style:f},err:null}}}return{val:{type:s==="number"?y.number:s==="date"?y.date:y.time,value:n,location:T,style:(a=c?.style)!==null&&a!==void 0?a:null},err:null}}case"plural":case"selectordinal":case"select":{var b=this.clonePosition();if(this.bumpSpace(),!this.bumpIf(","))return this.error(E.EXPECT_SELECT_ARGUMENT_OPTIONS,S(b,d({},b)));this.bumpSpace();var I=this.parseIdentifierIfPossible(),C=0;if(s!=="select"&&I.value==="offset"){if(!this.bumpIf(":"))return this.error(E.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,S(this.clonePosition(),this.clonePosition()));this.bumpSpace();var h=this.tryParseDecimalInteger(E.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,E.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);if(h.err)return h;this.bumpSpace(),I=this.parseIdentifierIfPossible(),C=h.val}var V=this.tryParsePluralOrSelectOptions(t,s,r,I);if(V.err)return V;var m=this.tryParseArgumentClose(i);if(m.err)return m;var O=S(i,this.clonePosition());return s==="select"?{val:{type:y.select,value:n,options:nn(V.val),location:O},err:null}:{val:{type:y.plural,value:n,options:nn(V.val),offset:C,pluralType:s==="plural"?"cardinal":"ordinal",location:O},err:null}}default:return this.error(E.INVALID_ARGUMENT_TYPE,S(o,l))}},e.prototype.tryParseArgumentClose=function(t){return this.isEOF()||this.char()!==125?this.error(E.EXPECT_ARGUMENT_CLOSING_BRACE,S(t,this.clonePosition())):(this.bump(),{val:!0,err:null})},e.prototype.parseSimpleArgStyleIfPossible=function(){for(var t=0,r=this.clonePosition();!this.isEOF();){var n=this.char();switch(n){case 39:{this.bump();var i=this.clonePosition();if(!this.bumpUntil("'"))return this.error(E.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE,S(i,this.clonePosition()));this.bump();break}case 123:{t+=1,this.bump();break}case 125:{if(t>0)t-=1;else return{val:this.message.slice(r.offset,this.offset()),err:null};break}default:this.bump();break}}return{val:this.message.slice(r.offset,this.offset()),err:null}},e.prototype.parseNumberSkeletonFromString=function(t,r){var n=[];try{n=$r(t)}catch{return this.error(E.INVALID_NUMBER_SKELETON,r)}return{val:{type:ae.number,tokens:n,location:r,parsedOptions:this.shouldParseSkeletons?Qr(n):{}},err:null}},e.prototype.tryParsePluralOrSelectOptions=function(t,r,n,i){for(var a,o=!1,s=[],l=new Set,c=i.value,u=i.location;;){if(c.length===0){var h=this.clonePosition();if(r!=="select"&&this.bumpIf("=")){var f=this.tryParseDecimalInteger(E.EXPECT_PLURAL_ARGUMENT_SELECTOR,E.INVALID_PLURAL_ARGUMENT_SELECTOR);if(f.err)return f;u=S(h,this.clonePosition()),c=this.message.slice(h.offset,this.offset())}else break}if(l.has(c))return this.error(r==="select"?E.DUPLICATE_SELECT_ARGUMENT_SELECTOR:E.DUPLICATE_PLURAL_ARGUMENT_SELECTOR,u);c==="other"&&(o=!0),this.bumpSpace();var p=this.clonePosition();if(!this.bumpIf("{"))return this.error(r==="select"?E.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT:E.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT,S(this.clonePosition(),this.clonePosition()));var m=this.parseMessage(t+1,r,n);if(m.err)return m;var T=this.tryParseArgumentClose(p);if(T.err)return T;s.push([c,{value:m.val,location:S(p,this.clonePosition())}]),l.add(c),this.bumpSpace(),a=this.parseIdentifierIfPossible(),c=a.value,u=a.location}return s.length===0?this.error(r==="select"?E.EXPECT_SELECT_ARGUMENT_SELECTOR:E.EXPECT_PLURAL_ARGUMENT_SELECTOR,S(this.clonePosition(),this.clonePosition())):this.requiresOtherClause&&!o?this.error(E.MISSING_OTHER_CLAUSE,S(this.clonePosition(),this.clonePosition())):{val:s,err:null}},e.prototype.tryParseDecimalInteger=function(t,r){var n=1,i=this.clonePosition();this.bumpIf("+")||this.bumpIf("-")&&(n=-1);for(var a=!1,o=0;!this.isEOF();){var s=this.char();if(s>=48&&s<=57)a=!0,o=o*10+(s-48),this.bump();else break}var l=S(i,this.clonePosition());return a?(o*=n,$i(o)?{val:o,err:null}:this.error(r,l)):this.error(t,l)},e.prototype.offset=function(){return this.position.offset},e.prototype.isEOF=function(){return this.offset()===this.message.length},e.prototype.clonePosition=function(){return{offset:this.position.offset,line:this.position.line,column:this.position.column}},e.prototype.char=function(){var t=this.position.offset;if(t>=this.message.length)throw Error("out of bound");var r=an(this.message,t);if(r===void 0)throw Error("Offset ".concat(t," is at invalid UTF-16 code unit boundary"));return r},e.prototype.error=function(t,r){return{val:null,err:{kind:t,message:this.message,location:r}}},e.prototype.bump=function(){if(!this.isEOF()){var t=this.char();t===10?(this.position.line+=1,this.position.column=1,this.position.offset+=1):(this.position.column+=1,this.position.offset+=t<65536?1:2)}},e.prototype.bumpIf=function(t){if(rn(this.message,t,this.offset())){for(var r=0;r=0?(this.bumpTo(n),!0):(this.bumpTo(this.message.length),!1)},e.prototype.bumpTo=function(t){if(this.offset()>t)throw Error("targetOffset ".concat(t," must be greater than or equal to the current offset ").concat(this.offset()));for(t=Math.min(t,this.message.length);;){var r=this.offset();if(r===t)break;if(r>t)throw Error("targetOffset ".concat(t," is at invalid UTF-16 code unit boundary"));if(this.bump(),this.isEOF())break}},e.prototype.bumpSpace=function(){for(;!this.isEOF()&&ln(this.char());)this.bump()},e.prototype.peek=function(){if(this.isEOF())return null;var t=this.char(),r=this.offset(),n=this.message.charCodeAt(r+(t>=65536?2:1));return n??null},e}();function Bt(e){return e>=97&&e<=122||e>=65&&e<=90}function Ji(e){return Bt(e)||e===47}function Qi(e){return e===45||e===46||e>=48&&e<=57||e===95||e>=97&&e<=122||e>=65&&e<=90||e==183||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8255&&e<=8256||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}function ln(e){return e>=9&&e<=13||e===32||e===133||e>=8206&&e<=8207||e===8232||e===8233}function ea(e){return e>=33&&e<=35||e===36||e>=37&&e<=39||e===40||e===41||e===42||e===43||e===44||e===45||e>=46&&e<=47||e>=58&&e<=59||e>=60&&e<=62||e>=63&&e<=64||e===91||e===92||e===93||e===94||e===96||e===123||e===124||e===125||e===126||e===161||e>=162&&e<=165||e===166||e===167||e===169||e===171||e===172||e===174||e===176||e===177||e===182||e===187||e===191||e===215||e===247||e>=8208&&e<=8213||e>=8214&&e<=8215||e===8216||e===8217||e===8218||e>=8219&&e<=8220||e===8221||e===8222||e===8223||e>=8224&&e<=8231||e>=8240&&e<=8248||e===8249||e===8250||e>=8251&&e<=8254||e>=8257&&e<=8259||e===8260||e===8261||e===8262||e>=8263&&e<=8273||e===8274||e===8275||e>=8277&&e<=8286||e>=8592&&e<=8596||e>=8597&&e<=8601||e>=8602&&e<=8603||e>=8604&&e<=8607||e===8608||e>=8609&&e<=8610||e===8611||e>=8612&&e<=8613||e===8614||e>=8615&&e<=8621||e===8622||e>=8623&&e<=8653||e>=8654&&e<=8655||e>=8656&&e<=8657||e===8658||e===8659||e===8660||e>=8661&&e<=8691||e>=8692&&e<=8959||e>=8960&&e<=8967||e===8968||e===8969||e===8970||e===8971||e>=8972&&e<=8991||e>=8992&&e<=8993||e>=8994&&e<=9e3||e===9001||e===9002||e>=9003&&e<=9083||e===9084||e>=9085&&e<=9114||e>=9115&&e<=9139||e>=9140&&e<=9179||e>=9180&&e<=9185||e>=9186&&e<=9254||e>=9255&&e<=9279||e>=9280&&e<=9290||e>=9291&&e<=9311||e>=9472&&e<=9654||e===9655||e>=9656&&e<=9664||e===9665||e>=9666&&e<=9719||e>=9720&&e<=9727||e>=9728&&e<=9838||e===9839||e>=9840&&e<=10087||e===10088||e===10089||e===10090||e===10091||e===10092||e===10093||e===10094||e===10095||e===10096||e===10097||e===10098||e===10099||e===10100||e===10101||e>=10132&&e<=10175||e>=10176&&e<=10180||e===10181||e===10182||e>=10183&&e<=10213||e===10214||e===10215||e===10216||e===10217||e===10218||e===10219||e===10220||e===10221||e===10222||e===10223||e>=10224&&e<=10239||e>=10240&&e<=10495||e>=10496&&e<=10626||e===10627||e===10628||e===10629||e===10630||e===10631||e===10632||e===10633||e===10634||e===10635||e===10636||e===10637||e===10638||e===10639||e===10640||e===10641||e===10642||e===10643||e===10644||e===10645||e===10646||e===10647||e===10648||e>=10649&&e<=10711||e===10712||e===10713||e===10714||e===10715||e>=10716&&e<=10747||e===10748||e===10749||e>=10750&&e<=11007||e>=11008&&e<=11055||e>=11056&&e<=11076||e>=11077&&e<=11078||e>=11079&&e<=11084||e>=11085&&e<=11123||e>=11124&&e<=11125||e>=11126&&e<=11157||e===11158||e>=11159&&e<=11263||e>=11776&&e<=11777||e===11778||e===11779||e===11780||e===11781||e>=11782&&e<=11784||e===11785||e===11786||e===11787||e===11788||e===11789||e>=11790&&e<=11798||e===11799||e>=11800&&e<=11801||e===11802||e===11803||e===11804||e===11805||e>=11806&&e<=11807||e===11808||e===11809||e===11810||e===11811||e===11812||e===11813||e===11814||e===11815||e===11816||e===11817||e>=11818&&e<=11822||e===11823||e>=11824&&e<=11833||e>=11834&&e<=11835||e>=11836&&e<=11839||e===11840||e===11841||e===11842||e>=11843&&e<=11855||e>=11856&&e<=11857||e===11858||e>=11859&&e<=11903||e>=12289&&e<=12291||e===12296||e===12297||e===12298||e===12299||e===12300||e===12301||e===12302||e===12303||e===12304||e===12305||e>=12306&&e<=12307||e===12308||e===12309||e===12310||e===12311||e===12312||e===12313||e===12314||e===12315||e===12316||e===12317||e>=12318&&e<=12319||e===12320||e===12336||e===64830||e===64831||e>=65093&&e<=65094}function Ft(e){e.forEach(function(t){if(delete t.location,Ze(t)||Je(t))for(var r in t.options)delete t.options[r].location,Ft(t.options[r].value);else ze(t)&&et(t.style)||($e(t)||qe(t))&&Ne(t.style)?delete t.style.location:Qe(t)&&Ft(t.children)})}function cn(e,t){t===void 0&&(t={}),t=d({shouldParseSkeletons:!0,requiresOtherClause:!0},t);var r=new sn(e,t).parse();if(r.err){var n=SyntaxError(E[r.err.kind]);throw n.location=r.err.location,n.originalMessage=r.err.message,n}return t?.captureLocation||Ft(r.val),r.val}function Ve(e,t){var r=t&&t.cache?t.cache:oa,n=t&&t.serializer?t.serializer:aa,i=t&&t.strategy?t.strategy:ra;return i(e,{cache:r,serializer:n})}function ta(e){return e==null||typeof e=="number"||typeof e=="boolean"}function un(e,t,r,n){var i=ta(n)?n:r(n),a=t.get(i);return typeof a>"u"&&(a=e.call(this,n),t.set(i,a)),a}function hn(e,t,r){var n=Array.prototype.slice.call(arguments,3),i=r(n),a=t.get(i);return typeof a>"u"&&(a=e.apply(this,n),t.set(i,a)),a}function Kt(e,t,r,n,i){return r.bind(t,e,n,i)}function ra(e,t){var r=e.length===1?un:hn;return Kt(e,this,r,t.cache.create(),t.serializer)}function na(e,t){return Kt(e,this,hn,t.cache.create(),t.serializer)}function ia(e,t){return Kt(e,this,un,t.cache.create(),t.serializer)}var aa=function(){return JSON.stringify(arguments)};function Yt(){this.cache=Object.create(null)}Yt.prototype.get=function(e){return this.cache[e]};Yt.prototype.set=function(e,t){this.cache[e]=t};var oa={create:function(){return new Yt}},tt={variadic:na,monadic:ia};var oe;(function(e){e.MISSING_VALUE="MISSING_VALUE",e.INVALID_VALUE="INVALID_VALUE",e.MISSING_INTL_API="MISSING_INTL_API"})(oe||(oe={}));var Oe=function(e){_e(t,e);function t(r,n,i){var a=e.call(this,r)||this;return a.code=n,a.originalMessage=i,a}return t.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},t}(Error);var Xt=function(e){_e(t,e);function t(r,n,i,a){return e.call(this,'Invalid values for "'.concat(r,'": "').concat(n,'". Options are "').concat(Object.keys(i).join('", "'),'"'),oe.INVALID_VALUE,a)||this}return t}(Oe);var fn=function(e){_e(t,e);function t(r,n,i){return e.call(this,'Value for "'.concat(r,'" must be of type ').concat(n),oe.INVALID_VALUE,i)||this}return t}(Oe);var pn=function(e){_e(t,e);function t(r,n){return e.call(this,'The intl string context variable "'.concat(r,'" was not provided to the string "').concat(n,'"'),oe.MISSING_VALUE,n)||this}return t}(Oe);var k;(function(e){e[e.literal=0]="literal",e[e.object=1]="object"})(k||(k={}));function sa(e){return e.length<2?e:e.reduce(function(t,r){var n=t[t.length-1];return!n||n.type!==k.literal||r.type!==k.literal?t.push(r):n.value+=r.value,t},[])}function la(e){return typeof e=="function"}function we(e,t,r,n,i,a,o){if(e.length===1&&Rt(e[0]))return[{type:k.literal,value:e[0].value}];for(var s=[],l=0,c=e;l{throw TypeError(e)};var ii=(e,t,r)=>t in e?Ge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var ai=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),oi=(e,t)=>{for(var r in t)Ge(e,r,{get:t[r],enumerable:!0})},si=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ti(t))!ni.call(e,i)&&i!==r&&Ge(e,i,{get:()=>t[i],enumerable:!(n=ei(t,i))||n.enumerable});return e};var li=(e,t,r)=>(r=e!=null?Qn(ri(e)):{},si(t||!e||!e.__esModule?Ge(r,"default",{value:e,enumerable:!0}):r,e));var L=(e,t,r)=>ii(e,typeof t!="symbol"?t+"":t,r),ci=(e,t,r)=>t.has(e)||Ir("Cannot "+r);var _r=(e,t,r)=>(ci(e,t,"read from private field"),r?r.call(e):t.get(e)),Nr=(e,t,r)=>t.has(e)?Ir("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r);var Fn=ai((Jl,Ao)=>{Ao.exports={total:38,offset:0,limit:38,data:[{lang:"ar",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u0627\u0644\u0634\u0647\u0631} YEAR {/\u0627\u0644\u0639\u0627\u0645} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0643\u0644 \u0634\u0647\u0631} YEAR {\u0643\u0644 \u0639\u0627\u0645} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0644\u0643\u0644 \u062A\u0631\u062E\u064A\u0635} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0644\u0643\u0644 \u062A\u0631\u062E\u064A\u0635} other {}}",freeLabel:"\u0645\u062C\u0627\u0646\u064B\u0627",freeAriaLabel:"\u0645\u062C\u0627\u0646\u064B\u0627",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u0623\u0648 \u0628\u062F\u0644\u0627\u064B \u0645\u0646 \u0630\u0644\u0643 \u0628\u0642\u064A\u0645\u0629 {alternativePrice}",strikethroughAriaLabel:"\u0628\u0634\u0643\u0644 \u0645\u0646\u062A\u0638\u0645 \u0628\u0642\u064A\u0645\u0629 {strikethroughPrice}"},{lang:"bg",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0435\u0441.} YEAR {/\u0433\u043E\u0434.} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u043D\u0430 \u043C\u0435\u0441\u0435\u0446} YEAR {\u043D\u0430 \u0433\u043E\u0434\u0438\u043D\u0430} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437} other {}}",freeLabel:"\u0411\u0435\u0437\u043F\u043B\u0430\u0442\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0437\u043F\u043B\u0430\u0442\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u0410\u043B\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u043E \u043D\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0420\u0435\u0434\u043E\u0432\u043D\u043E \u043D\u0430 {strikethroughPrice}"},{lang:"cs",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\u011Bs\xEDc} YEAR {/rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {za m\u011Bs\xEDc} YEAR {za rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licenci} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licenci} other {}}",freeLabel:"Zdarma",freeAriaLabel:"Zdarma",taxExclusiveLabel:"{taxTerm, select, GST {bez dan\u011B ze zbo\u017E\xED a slu\u017Eeb} VAT {bez DPH} TAX {bez dan\u011B} IVA {bez IVA} SST {bez SST} KDV {bez KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {v\u010Detn\u011B dan\u011B ze zbo\u017E\xED a slu\u017Eeb} VAT {v\u010Detn\u011B DPH} TAX {v\u010Detn\u011B dan\u011B} IVA {v\u010Detn\u011B IVA} SST {v\u010Detn\u011B SST} KDV {v\u010Detn\u011B KDV} other {}}",alternativePriceAriaLabel:"P\u0159\xEDpadn\u011B za {alternativePrice}",strikethroughAriaLabel:"Pravideln\u011B za {strikethroughPrice}"},{lang:"da",recurrenceLabel:"{recurrenceTerm, select, MONTH {/md} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pr. m\xE5ned} YEAR {pr. \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pr. licens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pr. licens} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {ekskl. GST} VAT {ekskl. moms} TAX {ekskl. skat} IVA {ekskl. IVA} SST {ekskl. SST} KDV {ekskl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. skat} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt til {alternativePrice}",strikethroughAriaLabel:"Normalpris {strikethroughPrice}"},{lang:"de",recurrenceLabel:"{recurrenceTerm, select, MONTH {/Monat} YEAR {/Jahr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pro Monat} YEAR {pro Jahr} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pro Lizenz} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pro Lizenz} other {}}",freeLabel:"Kostenlos",freeAriaLabel:"Kostenlos",taxExclusiveLabel:"{taxTerm, select, GST {zzgl. GST} VAT {zzgl. MwSt.} TAX {zzgl. Steuern} IVA {zzgl. IVA} SST {zzgl. SST} KDV {zzgl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. MwSt.} TAX {inkl. Steuern} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativ: {alternativePrice}",strikethroughAriaLabel:"Regul\xE4r: {strikethroughPrice}"},{lang:"en",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mo} YEAR {/yr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per month} YEAR {per year} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per license} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per license} other {}}",freeLabel:"Free",freeAriaLabel:"Free",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternatively at {alternativePrice}",strikethroughAriaLabel:"Regularly at {strikethroughPrice}"},{lang:"et",recurrenceLabel:"{recurrenceTerm, select, MONTH {kuus} YEAR {aastas} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {kuus} YEAR {aastas} other {}}",perUnitLabel:"{perUnit, select, LICENSE {litsentsi kohta} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {litsentsi kohta} other {}}",freeLabel:"Tasuta",freeAriaLabel:"Tasuta",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Teise v\xF5imalusena hinnaga {alternativePrice}",strikethroughAriaLabel:"Tavahind {strikethroughPrice}"},{lang:"fi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/kk} YEAR {/v} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {kuukausittain} YEAR {vuosittain} other {}}",perUnitLabel:"{perUnit, select, LICENSE {k\xE4ytt\xF6oikeutta kohti} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {k\xE4ytt\xF6oikeutta kohti} other {}}",freeLabel:"Maksuton",freeAriaLabel:"Maksuton",taxExclusiveLabel:"{taxTerm, select, GST {ilman GST:t\xE4} VAT {ilman ALV:t\xE4} TAX {ilman veroja} IVA {ilman IVA:ta} SST {ilman SST:t\xE4} KDV {ilman KDV:t\xE4} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {sis. GST:n} VAT {sis. ALV:n} TAX {sis. verot} IVA {sis. IVA:n} SST {sis. SST:n} KDV {sis. KDV:n} other {}}",alternativePriceAriaLabel:"Vaihtoehtoisesti hintaan {alternativePrice}",strikethroughAriaLabel:"S\xE4\xE4nn\xF6llisesti hintaan {strikethroughPrice}"},{lang:"fr",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mois} YEAR {/an} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {par mois} YEAR {par an} other {}}",perUnitLabel:"{perUnit, select, LICENSE {par licence} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {par licence} other {}}",freeLabel:"Gratuit",freeAriaLabel:"Gratuit",taxExclusiveLabel:"{taxTerm, select, GST {hors TPS} VAT {hors TVA} TAX {hors taxes} IVA {hors IVA} SST {hors SST} KDV {hors KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {TPS comprise} VAT {TVA comprise} TAX {taxes comprises} IVA {IVA comprise} SST {SST comprise} KDV {KDV comprise} other {}}",alternativePriceAriaLabel:"Autre prix {alternativePrice}",strikethroughAriaLabel:"Prix habituel {strikethroughPrice}"},{lang:"he",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u05D7\u05D5\u05D3\u05E9} YEAR {/\u05E9\u05E0\u05D4} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u05DC\u05D7\u05D5\u05D3\u05E9} YEAR {\u05DC\u05E9\u05E0\u05D4} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",freeLabel:"\u05D7\u05D9\u05E0\u05DD",freeAriaLabel:"\u05D7\u05D9\u05E0\u05DD",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u05DC\u05D7\u05DC\u05D5\u05E4\u05D9\u05DF \u05D1-{alternativePrice}",strikethroughAriaLabel:"\u05D1\u05D0\u05D5\u05E4\u05DF \u05E7\u05D1\u05D5\u05E2 \u05D1-{strikethroughPrice}"},{lang:"hu",recurrenceLabel:"{recurrenceTerm, select, MONTH {/h\xF3} YEAR {/\xE9v} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {havonta} YEAR {\xE9vente} other {}}",perUnitLabel:"{perUnit, select, LICENSE {licencenk\xE9nt} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {licencenk\xE9nt} other {}}",freeLabel:"Ingyenes",freeAriaLabel:"Ingyenes",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"M\xE1sik lehet\u0151s\xE9g: {alternativePrice}",strikethroughAriaLabel:"\xC1ltal\xE1ban {strikethroughPrice} \xE1ron"},{lang:"it",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mese} YEAR {/anno} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {al mese} YEAR {all'anno} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licenza} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licenza} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {escl. GST} VAT {escl. IVA.} TAX {escl. imposte} IVA {escl. IVA} SST {escl. SST} KDV {escl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. IVA} TAX {incl. imposte} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"In alternativa a {alternativePrice}",strikethroughAriaLabel:"Regolarmente a {strikethroughPrice}"},{lang:"ja",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCE\u6708} YEAR {\u6BCE\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u30E9\u30A4\u30BB\u30F3\u30B9\u3054\u3068} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u30E9\u30A4\u30BB\u30F3\u30B9\u3054\u3068} other {}}",freeLabel:"\u7121\u6599",freeAriaLabel:"\u7121\u6599",taxExclusiveLabel:"{taxTerm, select, GST {GST \u5225} VAT {VAT \u5225} TAX {\u7A0E\u5225} IVA {IVA \u5225} SST {SST \u5225} KDV {KDV \u5225} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \u8FBC} VAT {VAT \u8FBC} TAX {\u7A0E\u8FBC} IVA {IVA \u8FBC} SST {SST \u8FBC} KDV {KDV \u8FBC} other {}}",alternativePriceAriaLabel:"\u7279\u5225\u4FA1\u683C : {alternativePrice}",strikethroughAriaLabel:"\u901A\u5E38\u4FA1\u683C : {strikethroughPrice}"},{lang:"ko",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\uC6D4} YEAR {/\uB144} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\uC6D4\uAC04} YEAR {\uC5F0\uAC04} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\uB77C\uC774\uC120\uC2A4\uB2F9} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\uB77C\uC774\uC120\uC2A4\uB2F9} other {}}",freeLabel:"\uBB34\uB8CC",freeAriaLabel:"\uBB34\uB8CC",taxExclusiveLabel:"{taxTerm, select, GST {GST \uC81C\uC678} VAT {VAT \uC81C\uC678} TAX {\uC138\uAE08 \uC81C\uC678} IVA {IVA \uC81C\uC678} SST {SST \uC81C\uC678} KDV {KDV \uC81C\uC678} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \uD3EC\uD568} VAT {VAT \uD3EC\uD568} TAX {\uC138\uAE08 \uD3EC\uD568} IVA {IVA \uD3EC\uD568} SST {SST \uD3EC\uD568} KDV {KDV \uD3EC\uD568} other {}}",alternativePriceAriaLabel:"\uB610\uB294 {alternativePrice}\uC5D0",strikethroughAriaLabel:"\uB610\uB294 {alternativePrice}\uC5D0"},{lang:"lt",recurrenceLabel:"{recurrenceTerm, select, MONTH { per m\u0117n.} YEAR { per metus} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\u0117n.} YEAR {per metus} other {}}",perUnitLabel:"{perUnit, select, LICENSE {u\u017E licencij\u0105} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {u\u017E licencij\u0105} other {}}",freeLabel:"Nemokamai",freeAriaLabel:"Nemokamai",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Arba u\u017E {alternativePrice}",strikethroughAriaLabel:"Normaliai u\u017E {strikethroughPrice}"},{lang:"lv",recurrenceLabel:"{recurrenceTerm, select, MONTH {m\u0113nes\u012B} YEAR {gad\u0101} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {m\u0113nes\u012B} YEAR {gad\u0101} other {}}",perUnitLabel:"{perUnit, select, LICENSE {vienai licencei} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {vienai licencei} other {}}",freeLabel:"Bezmaksas",freeAriaLabel:"Bezmaksas",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternat\u012Bvi par {alternativePrice}",strikethroughAriaLabel:"Regul\u0101ri par {strikethroughPrice}"},{lang:"nb",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mnd.} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\xE5ned} YEAR {per \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per lisens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per lisens} other {}}",freeLabel:"Fri",freeAriaLabel:"Fri",taxExclusiveLabel:"{taxTerm, select, GST {ekskl. GST} VAT {ekskl. moms} TAX {ekskl. avgift} IVA {ekskl. IVA} SST {ekskl. SST} KDV {ekskl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. avgift} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt til {alternativePrice}",strikethroughAriaLabel:"Regelmessig til {strikethroughPrice}"},{lang:"nl",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mnd} YEAR {/jr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per maand} YEAR {per jaar} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licentie} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licentie} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. btw} TAX {excl. belasting} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. btw} TAX {incl. belasting} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Nu {alternativePrice}",strikethroughAriaLabel:"Normaal {strikethroughPrice}"},{lang:"pl",recurrenceLabel:"{recurrenceTerm, select, MONTH { / mies.} YEAR { / rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH { / miesi\u0105c} YEAR { / rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licencj\u0119} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licencj\u0119} other {}}",freeLabel:"Bezp\u0142atne",freeAriaLabel:"Bezp\u0142atne",taxExclusiveLabel:"{taxTerm, select, GST {bez GST} VAT {bez VAT} TAX {netto} IVA {bez IVA} SST {bez SST} KDV {bez KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {z GST} VAT {z VAT} TAX {brutto} IVA {z IVA} SST {z SST} KDV {z KDV} other {}}",alternativePriceAriaLabel:"Lub za {alternativePrice}",strikethroughAriaLabel:"Cena zwyk\u0142a: {strikethroughPrice}"},{lang:"pt",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\xEAs} YEAR {/ano} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {por m\xEAs} YEAR {por ano} other {}}",perUnitLabel:"{perUnit, select, LICENSE {por licen\xE7a} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {por licen\xE7a} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {ICMS n\xE3o incluso} VAT {IVA n\xE3o incluso} TAX {impostos n\xE3o inclusos} IVA {IVA n\xE3o incluso} SST { SST n\xE3o incluso} KDV {KDV n\xE3o incluso} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {ICMS incluso} VAT {IVA incluso} TAX {impostos inclusos} IVA {IVA incluso} SST {SST incluso} KDV {KDV incluso} other {}}",alternativePriceAriaLabel:"Ou a {alternativePrice}",strikethroughAriaLabel:"Pre\xE7o normal: {strikethroughPrice}"},{lang:"ro",recurrenceLabel:"{recurrenceTerm, select, MONTH {/lun\u0103} YEAR {/an} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pe lun\u0103} YEAR {pe an} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pe licen\u021B\u0103} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pe licen\u021B\u0103} other {}}",freeLabel:"Gratuit",freeAriaLabel:"Gratuit",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternativ, la {alternativePrice}",strikethroughAriaLabel:"\xCEn mod normal, la {strikethroughPrice}"},{lang:"ru",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0435\u0441.} YEAR {/\u0433.} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0432 \u043C\u0435\u0441\u044F\u0446} YEAR {\u0432 \u0433\u043E\u0434} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E} other {}}",freeLabel:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {\u0438\u0441\u043A\u043B. \u043D\u0430\u043B\u043E\u0433 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438} VAT {\u0438\u0441\u043A\u043B. \u041D\u0414\u0421} TAX {\u0438\u0441\u043A\u043B. \u043D\u0430\u043B\u043E\u0433} IVA {\u0438\u0441\u043A\u043B. \u0418\u0412\u0410} SST {\u0438\u0441\u043A\u043B. SST} KDV {\u0438\u0441\u043A\u043B. \u041A\u0414\u0412} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0432\u043A\u043B. \u043D\u0430\u043B\u043E\u0433 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438} VAT {\u0432\u043A\u043B. \u041D\u0414\u0421} TAX {\u0432\u043A\u043B. \u043D\u0430\u043B\u043E\u0433} IVA {\u0432\u043A\u043B. \u0418\u0412\u0410} SST {\u0432\u043A\u043B. SST} KDV {\u0432\u043A\u043B. \u041A\u0414\u0412} other {}}",alternativePriceAriaLabel:"\u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442 \u0437\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0420\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u043E \u043F\u043E \u0446\u0435\u043D\u0435 {strikethroughPrice}"},{lang:"sk",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mesiac} YEAR {/rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {za mesiac} YEAR {za rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licenciu} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licenciu} other {}}",freeLabel:"Zadarmo",freeAriaLabel:"Zadarmo",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Pr\xEDpadne za {alternativePrice}",strikethroughAriaLabel:"Pravidelne za {strikethroughPrice}"},{lang:"sl",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mesec} YEAR {/leto} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {na mesec} YEAR {na leto} other {}}",perUnitLabel:"{perUnit, select, LICENSE {na licenco} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {na licenco} other {}}",freeLabel:"Brezpla\u010Dno",freeAriaLabel:"Brezpla\u010Dno",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Druga mo\u017Enost je: {alternativePrice}",strikethroughAriaLabel:"Redno po {strikethroughPrice}"},{lang:"sv",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\xE5n} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\xE5nad} YEAR {per \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licens} other {}}",freeLabel:"Kostnadsfritt",freeAriaLabel:"Kostnadsfritt",taxExclusiveLabel:"{taxTerm, select, GST {exkl. GST} VAT {exkl. moms} TAX {exkl. skatt} IVA {exkl. IVA} SST {exkl. SST} KDV {exkl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. skatt} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt f\xF6r {alternativePrice}",strikethroughAriaLabel:"Normalpris {strikethroughPrice}"},{lang:"tr",recurrenceLabel:"{recurrenceTerm, select, MONTH {/ay} YEAR {/y\u0131l} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {(ayl\u0131k)} YEAR {(y\u0131ll\u0131k)} other {}}",perUnitLabel:"{perUnit, select, LICENSE {(lisans ba\u015F\u0131na)} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {(lisans ba\u015F\u0131na)} other {}}",freeLabel:"\xDCcretsiz",freeAriaLabel:"\xDCcretsiz",taxExclusiveLabel:"{taxTerm, select, GST {GST hari\xE7} VAT {KDV hari\xE7} TAX {vergi hari\xE7} IVA {IVA hari\xE7} SST {SST hari\xE7} KDV {KDV hari\xE7} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST dahil} VAT {KDV dahil} TAX {vergi dahil} IVA {IVA dahil} SST {SST dahil} KDV {KDV dahil} other {}}",alternativePriceAriaLabel:"Ya da {alternativePrice}",strikethroughAriaLabel:"Standart fiyat: {strikethroughPrice}"},{lang:"uk",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0456\u0441.} YEAR {/\u0440\u0456\u043A} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u043D\u0430 \u043C\u0456\u0441\u044F\u0446\u044C} YEAR {\u043D\u0430 \u0440\u0456\u043A} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E} other {}}",freeLabel:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {\u0431\u0435\u0437 GST} VAT {\u0431\u0435\u0437 \u041F\u0414\u0412} TAX {\u0431\u0435\u0437 \u043F\u043E\u0434\u0430\u0442\u043A\u0443} IVA {\u0431\u0435\u0437 IVA} SST {\u0431\u0435\u0437 SST} KDV {\u0431\u0435\u0437 KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 GST} VAT {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 \u041F\u0414\u0412} TAX {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 \u043F\u043E\u0434\u0430\u0442\u043A\u043E\u043C} IVA {\u0440\u0430\u0437\u043E\u043C \u0437 IVA} SST {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 SST} KDV {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 KDV} other {}}",alternativePriceAriaLabel:"\u0410\u0431\u043E \u0437\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0417\u0432\u0438\u0447\u0430\u0439\u043D\u0430 \u0446\u0456\u043D\u0430 {strikethroughPrice}"},{lang:"zh-hans",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCF\u6708} YEAR {\u6BCF\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u6BCF\u4E2A\u8BB8\u53EF\u8BC1} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u6BCF\u4E2A\u8BB8\u53EF\u8BC1} other {}}",freeLabel:"\u514D\u8D39",freeAriaLabel:"\u514D\u8D39",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u6216\u5B9A\u4EF7 {alternativePrice}",strikethroughAriaLabel:"\u6B63\u5E38\u4EF7 {strikethroughPrice}"},{lang:"zh-hant",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCF\u6708} YEAR {\u6BCF\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u6BCF\u500B\u6388\u6B0A} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u6BCF\u500B\u6388\u6B0A} other {}}",freeLabel:"\u514D\u8CBB",freeAriaLabel:"\u514D\u8CBB",taxExclusiveLabel:"{taxTerm, select, GST {\u4E0D\u542B GST} VAT {\u4E0D\u542B VAT} TAX {\u4E0D\u542B\u7A05} IVA {\u4E0D\u542B IVA} SST {\u4E0D\u542B SST} KDV {\u4E0D\u542B KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u542B GST} VAT {\u542B VAT} TAX {\u542B\u7A05} IVA {\u542B IVA} SST {\u542B SST} KDV {\u542B KDV} other {}}",alternativePriceAriaLabel:"\u6216\u8005\u5728 {alternativePrice}",strikethroughAriaLabel:"\u6A19\u6E96\u50F9\u683C\u70BA {strikethroughPrice}"},{lang:"es",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mes} YEAR {/a\xF1o} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {al mes} YEAR {al a\xF1o} other {}}",perUnitLabel:"{perUnit, select, LICENSE {por licencia} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {por licencia} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {GST no incluido} VAT {IVA no incluido} TAX {Impuestos no incluidos} IVA {IVA no incluido} SST {SST no incluido} KDV {KDV no incluido} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST incluido} VAT {IVA incluido} TAX {Impuestos incluidos} IVA {IVA incluido} SST {SST incluido} KDV {KDV incluido} other {}}",alternativePriceAriaLabel:"Alternativamente por {alternativePrice}",strikethroughAriaLabel:"Normalmente a {strikethroughPrice}"},{lang:"in",recurrenceLabel:"{recurrenceTerm, select, MONTH {/bulan} YEAR {/tahun} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per bulan} YEAR {per tahun} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per lisensi} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per lisensi} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {tidak termasuk PBJ} VAT {tidak termasuk PPN} TAX {tidak termasuk pajak} IVA {tidak termasuk IVA} SST {tidak termasuk SST} KDV {tidak termasuk KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {termasuk PBJ} VAT {termasuk PPN} TAX {termasuk pajak} IVA {termasuk IVA} SST {termasuk SST} KDV {termasuk KDV} other {}}",alternativePriceAriaLabel:"Atau seharga {alternativePrice}",strikethroughAriaLabel:"Normalnya seharga {strikethroughPrice}"},{lang:"vi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/th\xE1ng} YEAR {/n\u0103m} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {m\u1ED7i th\xE1ng} YEAR {m\u1ED7i n\u0103m} other {}}",perUnitLabel:"{perUnit, select, LICENSE {m\u1ED7i gi\u1EA5y ph\xE9p} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {m\u1ED7i gi\u1EA5y ph\xE9p} other {}}",freeLabel:"Mi\u1EC5n ph\xED",freeAriaLabel:"Mi\u1EC5n ph\xED",taxExclusiveLabel:"{taxTerm, select, GST {ch\u01B0a bao g\u1ED3m thu\u1EBF h\xE0ng h\xF3a v\xE0 d\u1ECBch v\u1EE5} VAT {ch\u01B0a bao g\u1ED3m thu\u1EBF GTGT} TAX {ch\u01B0a bao g\u1ED3m thu\u1EBF} IVA {ch\u01B0a bao g\u1ED3m IVA} SST {ch\u01B0a bao g\u1ED3m SST} KDV {ch\u01B0a bao g\u1ED3m KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {(\u0111\xE3 bao g\u1ED3m thu\u1EBF h\xE0ng h\xF3a v\xE0 d\u1ECBch v\u1EE5)} VAT {(\u0111\xE3 bao g\u1ED3m thu\u1EBF GTGT)} TAX {(\u0111\xE3 bao g\u1ED3m thu\u1EBF)} IVA {(\u0111\xE3 bao g\u1ED3m IVA)} SST {(\u0111\xE3 bao g\u1ED3m SST)} KDV {(\u0111\xE3 bao g\u1ED3m KDV)} other {}}",alternativePriceAriaLabel:"Gi\xE1 \u01B0u \u0111\xE3i {alternativePrice}",strikethroughAriaLabel:"Gi\xE1 th\xF4ng th\u01B0\u1EDDng {strikethroughPrice}"},{lang:"th",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u0E40\u0E14\u0E37\u0E2D\u0E19} YEAR {/\u0E1B\u0E35} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0E15\u0E48\u0E2D\u0E40\u0E14\u0E37\u0E2D\u0E19} YEAR {\u0E15\u0E48\u0E2D\u0E1B\u0E35} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0E15\u0E48\u0E2D\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0E15\u0E48\u0E2D\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19} other {}}",freeLabel:"\u0E1F\u0E23\u0E35",freeAriaLabel:"\u0E1F\u0E23\u0E35",taxExclusiveLabel:"{taxTerm, select, GST {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35 GST} VAT {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 VAT} TAX {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35} IVA {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 IVA} SST {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 SST} KDV {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35 GST} VAT {\u0E23\u0E27\u0E21 VAT} TAX {\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35} IVA {\u0E23\u0E27\u0E21 IVA} SST {\u0E23\u0E27\u0E21 SST} KDV {\u0E23\u0E27\u0E21 KDV} other {}}",alternativePriceAriaLabel:"\u0E23\u0E32\u0E04\u0E32\u0E1E\u0E34\u0E40\u0E28\u0E29 {alternativePrice}",strikethroughAriaLabel:"\u0E23\u0E32\u0E04\u0E32\u0E1B\u0E01\u0E15\u0E34 {strikethroughPrice}"},{lang:"el",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u03BC\u03AE\u03BD\u03B1} YEAR {/\u03AD\u03C4\u03BF\u03C2} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u03BA\u03AC\u03B8\u03B5 \u03BC\u03AE\u03BD\u03B1} YEAR {\u03B1\u03BD\u03AC \u03AD\u03C4\u03BF\u03C2} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u03B1\u03BD\u03AC \u03AC\u03B4\u03B5\u03B9\u03B1 \u03C7\u03C1\u03AE\u03C3\u03B7\u03C2} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u03B1\u03BD\u03AC \u03AC\u03B4\u03B5\u03B9\u03B1 \u03C7\u03C1\u03AE\u03C3\u03B7\u03C2} other {}}",freeLabel:"\u0394\u03C9\u03C1\u03B5\u03AC\u03BD",freeAriaLabel:"\u0394\u03C9\u03C1\u03B5\u03AC\u03BD",taxExclusiveLabel:"{taxTerm, select, GST {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 GST)} VAT {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03A6\u03A0\u0391)} TAX {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C6\u03CC\u03C1\u03BF)} IVA {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 IVA)} SST {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 SST)} KDV {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 KDV)} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 GST)} VAT {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03A6\u03A0\u0391)} TAX {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 \u03C6\u03CC\u03C1\u03BF\u03C5)} IVA {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 IVA)} SST {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 SST)} KDV {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 KDV)} other {}}",alternativePriceAriaLabel:"\u0394\u03B9\u03B1\u03C6\u03BF\u03C1\u03B5\u03C4\u03B9\u03BA\u03AC, {alternativePrice}",strikethroughAriaLabel:"\u039A\u03B1\u03BD\u03BF\u03BD\u03B9\u03BA\u03AE \u03C4\u03B9\u03BC\u03AE {strikethroughPrice}"},{lang:"fil",recurrenceLabel:"{recurrenceTerm, select, MONTH {/buwan} YEAR {/taon} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per buwan} YEAR {per taon} other {}}",perUnitLabel:"{perUnit, select, LICENSE {kada lisensya} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {kada lisensya} other {}}",freeLabel:"Libre",freeAriaLabel:"Libre",taxExclusiveLabel:"{taxTerm, select, GST {hindi kasama ang GST} VAT {hindi kasama ang VAT} TAX {hindi kasama ang Buwis} IVA {hindi kasama ang IVA} SST {hindi kasama ang SST} KDV {hindi kasama ang KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {kasama ang GST} VAT {kasama ang VAT} TAX {kasama ang Buwis} IVA {kasama ang IVA} SST {kasama ang SST} KDV {kasama ang KDV} other {}}",alternativePriceAriaLabel:"Alternatibong nasa halagang {alternativePrice}",strikethroughAriaLabel:"Regular na nasa halagang {strikethroughPrice}"},{lang:"ms",recurrenceLabel:"{recurrenceTerm, select, MONTH {/bulan} YEAR {/tahun} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per bulan} YEAR {per tahun} other {}}",perUnitLabel:"{perUnit, select, LICENSE {setiap lesen} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {setiap lesen} other {}}",freeLabel:"Percuma",freeAriaLabel:"Percuma",taxExclusiveLabel:"{taxTerm, select, GST {kecuali GST} VAT {kecuali VAT} TAX {kecuali Cukai} IVA {kecuali IVA} SST {kecuali SST} KDV {kecuali KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {termasuk GST} VAT {termasuk VAT} TAX {termasuk Cukai} IVA {termasuk IVA} SST {termasuk SST} KDV {termasuk KDV} other {}}",alternativePriceAriaLabel:"Secara alternatif pada {alternativePrice}",strikethroughAriaLabel:"Biasanya pada {strikethroughPrice}"},{lang:"hi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u092E\u093E\u0939} YEAR {/\u0935\u0930\u094D\u0937} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per \u092E\u093E\u0939} YEAR {per \u0935\u0930\u094D\u0937} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u092A\u094D\u0930\u0924\u093F \u0932\u093E\u0907\u0938\u0947\u0902\u0938} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u092A\u094D\u0930\u0924\u093F \u0932\u093E\u0907\u0938\u0947\u0902\u0938} other {}}",freeLabel:"\u092B\u093C\u094D\u0930\u0940",freeAriaLabel:"\u092B\u093C\u094D\u0930\u0940",taxExclusiveLabel:"{taxTerm, select, GST {GST \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} VAT {VAT \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} TAX {\u0915\u0930 \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} IVA {IVA \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} SST {SST \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} KDV {KDV \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \u0938\u0939\u093F\u0924} VAT {VAT \u0938\u0939\u093F\u0924} TAX {\u0915\u0930 \u0938\u0939\u093F\u0924} IVA {IVA \u0938\u0939\u093F\u0924} SST {SST \u0938\u0939\u093F\u0924} KDV {KDV \u0938\u0939\u093F\u0924} other {}}",alternativePriceAriaLabel:"\u0935\u0948\u0915\u0932\u094D\u092A\u093F\u0915 \u0930\u0942\u092A \u0938\u0947 \u0907\u0938 \u092A\u0930 {alternativePrice}",strikethroughAriaLabel:"\u0928\u093F\u092F\u092E\u093F\u0924 \u0930\u0942\u092A \u0938\u0947 \u0907\u0938 \u092A\u0930 {strikethroughPrice}"},{lang:"iw",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u05D7\u05D5\u05D3\u05E9} YEAR {/\u05E9\u05E0\u05D4} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u05DC\u05D7\u05D5\u05D3\u05E9} YEAR {\u05DC\u05E9\u05E0\u05D4} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",freeLabel:"\u05D7\u05D9\u05E0\u05DD",freeAriaLabel:"\u05D7\u05D9\u05E0\u05DD",taxExclusiveLabel:'{taxTerm, select, GST {\u05DC\u05DC\u05D0 GST} VAT {\u05DC\u05DC\u05D0 \u05DE\u05E2"\u05DE} TAX {\u05DC\u05DC\u05D0 \u05DE\u05E1} IVA {\u05DC\u05DC\u05D0 IVA} SST {\u05DC\u05DC\u05D0 SST} KDV {\u05DC\u05DC\u05D0 KDV} other {}}',taxInclusiveLabel:'{taxTerm, select, GST {\u05DB\u05D5\u05DC\u05DC GST} VAT {\u05DB\u05D5\u05DC\u05DC \u05DE\u05E2"\u05DE} TAX {\u05DB\u05D5\u05DC\u05DC \u05DE\u05E1} IVA {\u05DB\u05D5\u05DC\u05DC IVA} SST {\u05DB\u05D5\u05DC\u05DC SST} KDV {\u05DB\u05D5\u05DC\u05DC KDV} other {}}',alternativePriceAriaLabel:"\u05DC\u05D7\u05DC\u05D5\u05E4\u05D9\u05DF \u05D1-{alternativePrice}",strikethroughAriaLabel:"\u05D1\u05D0\u05D5\u05E4\u05DF \u05E7\u05D1\u05D5\u05E2 \u05D1-{strikethroughPrice}"}],":type":"sheet"}});var ve;(function(e){e.STAGE="STAGE",e.PRODUCTION="PRODUCTION",e.LOCAL="LOCAL"})(ve||(ve={}));var Tt;(function(e){e.STAGE="STAGE",e.PRODUCTION="PROD",e.LOCAL="LOCAL"})(Tt||(Tt={}));var ye;(function(e){e.DRAFT="DRAFT",e.PUBLISHED="PUBLISHED"})(ye||(ye={}));var ne;(function(e){e.V2="UCv2",e.V3="UCv3"})(ne||(ne={}));var G;(function(e){e.CHECKOUT="checkout",e.CHECKOUT_EMAIL="checkout/email",e.SEGMENTATION="segmentation",e.BUNDLE="bundle",e.COMMITMENT="commitment",e.RECOMMENDATION="recommendation",e.EMAIL="email",e.PAYMENT="payment",e.CHANGE_PLAN_TEAM_PLANS="change-plan/team-upgrade/plans",e.CHANGE_PLAN_TEAM_PAYMENT="change-plan/team-upgrade/payment"})(G||(G={}));var At=function(e){var t;return(t=ui.get(e))!==null&&t!==void 0?t:e},ui=new Map([["countrySpecific","cs"],["quantity","q"],["authCode","code"],["checkoutPromoCode","apc"],["rurl","rUrl"],["curl","cUrl"],["ctxrturl","ctxRtUrl"],["country","co"],["language","lang"],["clientId","cli"],["context","ctx"],["productArrangementCode","pa"],["offerType","ot"],["marketSegment","ms"]]);var Cr=function(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Vr=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)a.push(i.value)}catch(s){o={error:s}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return a};function Te(e,t,r){var n,i;try{for(var a=Cr(Object.entries(e)),o=a.next();!o.done;o=a.next()){var s=Vr(o.value,2),l=s[0],c=s[1],u=At(l);c!=null&&r.has(u)&&t.set(u,c)}}catch(h){n={error:h}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}}function Be(e){switch(e){case ve.PRODUCTION:return"https://commerce.adobe.com";default:return"https://commerce-stg.adobe.com"}}function Fe(e,t){var r,n;for(var i in e){var a=e[i];try{for(var o=(r=void 0,Cr(Object.entries(a))),s=o.next();!s.done;s=o.next()){var l=Vr(s.value,2),c=l[0],u=l[1];if(u!=null){var h=At(c);t.set("items["+i+"]["+h+"]",u)}}}catch(f){r={error:f}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}}}var hi=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};function Or(e){Ti(e);var t=e.env,r=e.items,n=e.workflowStep,i=hi(e,["env","items","workflowStep"]),a=new URL(Be(t));return a.pathname=n+"/",Fe(r,a.searchParams),Te(i,a.searchParams,pi),a.toString()}var pi=new Set(["cli","co","lang","ctx","cUrl","mv","nglwfdata","otac","promoid","rUrl","sdid","spint","trackingid","code","campaignid","appctxid"]),mi=["env","workflowStep","clientId","country","items"];function Ti(e){var t,r;try{for(var n=fi(mi),i=n.next();!i.done;i=n.next()){var a=i.value;if(!e[a])throw new Error('Argument "checkoutData" is not valid, missing: '+a)}}catch(o){t={error:o}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}return!0}var Ai=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},di="p_draft_landscape",Si="/store/";function dt(e){xi(e);var t=e.env,r=e.items,n=e.workflowStep,i=e.ms,a=e.marketSegment,o=e.ot,s=e.offerType,l=e.pa,c=e.productArrangementCode,u=e.landscape,h=Ai(e,["env","items","workflowStep","ms","marketSegment","ot","offerType","pa","productArrangementCode","landscape"]),f={marketSegment:a??i,offerType:s??o,productArrangementCode:c??l},p=new URL(Be(t));return p.pathname=""+Si+n,n!==G.SEGMENTATION&&n!==G.CHANGE_PLAN_TEAM_PLANS&&Fe(r,p.searchParams),n===G.SEGMENTATION&&Te(f,p.searchParams,Et),Te(h,p.searchParams,Et),u===ye.DRAFT&&Te({af:di},p.searchParams,Et),p.toString()}var Et=new Set(["af","ai","apc","appctxid","cli","co","csm","ctx","ctxRtUrl","DCWATC","dp","fr","gsp","ijt","lang","lo","mal","ms","mv","mv2","nglwfdata","ot","otac","pa","pcid","promoid","q","rf","sc","scl","sdid","sid","spint","svar","th","thm","trackingid","usid","workflowid","context.guid","so.ca","so.su","so.tr","so.va"]),bi=["env","workflowStep","clientId","country"];function xi(e){var t,r;try{for(var n=Ei(bi),i=n.next();!i.done;i=n.next()){var a=i.value;if(!e[a])throw new Error('Argument "checkoutData" is not valid, missing: '+a)}}catch(o){t={error:o}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}if(e.workflowStep!==G.SEGMENTATION&&e.workflowStep!==G.CHANGE_PLAN_TEAM_PLANS&&!e.items)throw new Error('Argument "checkoutData" is not valid, missing: items');return!0}function St(e,t){switch(e){case ne.V2:return Or(t);case ne.V3:return dt(t);default:return console.warn("Unsupported CheckoutType, will use UCv3 as default. Given type: "+e),dt(t)}}var bt;(function(e){e.BASE="BASE",e.TRIAL="TRIAL",e.PROMOTION="PROMOTION"})(bt||(bt={}));var w;(function(e){e.MONTH="MONTH",e.YEAR="YEAR",e.TWO_YEARS="TWO_YEARS",e.THREE_YEARS="THREE_YEARS",e.PERPETUAL="PERPETUAL",e.TERM_LICENSE="TERM_LICENSE",e.ACCESS_PASS="ACCESS_PASS",e.THREE_MONTHS="THREE_MONTHS",e.SIX_MONTHS="SIX_MONTHS"})(w||(w={}));var _;(function(e){e.ANNUAL="ANNUAL",e.MONTHLY="MONTHLY",e.TWO_YEARS="TWO_YEARS",e.THREE_YEARS="THREE_YEARS",e.P1D="P1D",e.P1Y="P1Y",e.P3Y="P3Y",e.P10Y="P10Y",e.P15Y="P15Y",e.P3D="P3D",e.P7D="P7D",e.P30D="P30D",e.HALF_YEARLY="HALF_YEARLY",e.QUARTERLY="QUARTERLY"})(_||(_={}));var xt;(function(e){e.INDIVIDUAL="INDIVIDUAL",e.TEAM="TEAM",e.ENTERPRISE="ENTERPRISE"})(xt||(xt={}));var gt;(function(e){e.COM="COM",e.EDU="EDU",e.GOV="GOV"})(gt||(gt={}));var Lt;(function(e){e.DIRECT="DIRECT",e.INDIRECT="INDIRECT"})(Lt||(Lt={}));var vt;(function(e){e.ENTERPRISE_PRODUCT="ENTERPRISE_PRODUCT",e.ETLA="ETLA",e.RETAIL="RETAIL",e.VIP="VIP",e.VIPMP="VIPMP",e.FREE="FREE"})(vt||(vt={}));var wr="tacocat.js";var Ke=(e,t)=>String(e??"").toLowerCase()==String(t??"").toLowerCase(),Rr=e=>`${e??""}`.replace(/[&<>'"]/g,t=>({"&":"&","<":"<",">":">","'":"'",'"':"""})[t]??t)??"";function N(e,t={},{metadata:r=!0,search:n=!0,storage:i=!0}={}){let a;if(n&&a==null){let o=new URLSearchParams(window.location.search),s=Ae(n)?n:e;a=o.get(s)}if(i&&a==null){let o=Ae(i)?i:e;a=window.sessionStorage.getItem(o)??window.localStorage.getItem(o)}if(r&&a==null){let o=gi(Ae(r)?r:e);a=document.documentElement.querySelector(`meta[name="${o}"]`)?.content}return a??t[e]}var Ee=()=>{};var kr=e=>typeof e=="boolean",Pe=e=>typeof e=="function",Ye=e=>typeof e=="number",Hr=e=>e!=null&&typeof e=="object";var Ae=e=>typeof e=="string",yt=e=>Ae(e)&&e,de=e=>Ye(e)&&Number.isFinite(e)&&e>0;function Se(e,t=r=>r==null||r===""){return e!=null&&Object.entries(e).forEach(([r,n])=>{t(n)&&delete e[r]}),e}function x(e,t){if(kr(e))return e;let r=String(e);return r==="1"||r==="true"?!0:r==="0"||r==="false"?!1:t}function Q(e,t,r){let n=Object.values(t);return n.find(i=>Ke(i,e))??r??n[0]}function gi(e=""){return String(e).replace(/(\p{Lowercase_Letter})(\p{Uppercase_Letter})/gu,(t,r,n)=>`${r}-${n}`).replace(/\W+/gu,"-").toLowerCase()}function be(e,t=1){return Ye(e)||(e=Number.parseInt(e,10)),!Number.isNaN(e)&&e>0&&Number.isFinite(e)?e:t}var Li=Date.now(),Pt=()=>`(+${Date.now()-Li}ms)`,Xe=new Set,vi=x(N("tacocat.debug",{},{metadata:!1}),typeof process<"u"&&process.env?.DEBUG);function Dr(e){let t=`[${wr}/${e}]`,r=(o,s,...l)=>o?!0:(i(s,...l),!1),n=vi?(o,...s)=>{console.debug(`${t} ${o}`,...s,Pt())}:()=>{},i=(o,...s)=>{let l=`${t} ${o}`;Xe.forEach(([c])=>c(l,...s))};return{assert:r,debug:n,error:i,warn:(o,...s)=>{let l=`${t} ${o}`;Xe.forEach(([,c])=>c(l,...s))}}}function yi(e,t){let r=[e,t];return Xe.add(r),()=>{Xe.delete(r)}}yi((e,...t)=>{console.error(e,...t,Pt())},(e,...t)=>{console.warn(e,...t,Pt())});var Pi="no promo",Ur="promo-tag",Ii="yellow",_i="neutral",Ni=(e,t,r)=>{let n=a=>a||Pi,i=r?` (was "${n(t)}")`:"";return`${n(e)}${i}`},Ci="cancel-context",Ie=(e,t)=>{let r=e===Ci,n=!r&&e?.length>0,i=(n||r)&&(t&&t!=e||!t&&!r),a=i&&n||!i&&!!t,o=a?e||t:void 0;return{effectivePromoCode:o,overridenPromoCode:e,className:a?Ur:`${Ur} no-promo`,text:Ni(o,t,i),variant:a?Ii:_i,isOverriden:i}};var It="ABM",_t="PUF",Nt="M2M",Ct="PERPETUAL",Vt="P3Y",Vi="TAX_INCLUSIVE_DETAILS",Oi="TAX_EXCLUSIVE",Mr={ABM:It,PUF:_t,M2M:Nt,PERPETUAL:Ct,P3Y:Vt},qo={[It]:{commitment:w.YEAR,term:_.MONTHLY},[_t]:{commitment:w.YEAR,term:_.ANNUAL},[Nt]:{commitment:w.MONTH,term:_.MONTHLY},[Ct]:{commitment:w.PERPETUAL,term:void 0},[Vt]:{commitment:w.THREE_MONTHS,term:_.P3Y}},Gr="Value is not an offer",We=e=>{if(typeof e!="object")return Gr;let{commitment:t,term:r}=e,n=wi(t,r);return{...e,planType:n}};var wi=(e,t)=>{switch(e){case void 0:return Gr;case"":return"";case w.YEAR:return t===_.MONTHLY?It:t===_.ANNUAL?_t:"";case w.MONTH:return t===_.MONTHLY?Nt:"";case w.PERPETUAL:return Ct;case w.TERM_LICENSE:return t===_.P3Y?Vt:"";default:return""}};function Ot(e){let{priceDetails:t}=e,{price:r,priceWithoutDiscount:n,priceWithoutTax:i,priceWithoutDiscountAndTax:a,taxDisplay:o}=t;if(o!==Vi)return e;let s={...e,priceDetails:{...t,price:i??r,priceWithoutDiscount:a??n,taxDisplay:Oi}};return s.offerType==="TRIAL"&&s.priceDetails.price===0&&(s.priceDetails.price=s.priceDetails.priceWithoutDiscount),s}var wt=function(e,t){return wt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[i]=n[i])},wt(e,t)};function _e(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");wt(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}var d=function(){return d=Object.assign||function(t){for(var r,n=1,i=arguments.length;n0}),r=[],n=0,i=t;n1)throw new RangeError("integer-width stems only accept a single optional option");i.options[0].replace(Hi,function(l,c,u,h,f,p){if(c)t.minimumIntegerDigits=u.length;else{if(h&&f)throw new Error("We currently do not support maximum integer digits");if(p)throw new Error("We currently do not support exact integer digits")}return""});continue}if(qr.test(i.stem)){t.minimumIntegerDigits=i.stem.length;continue}if(Xr.test(i.stem)){if(i.options.length>1)throw new RangeError("Fraction-precision stems only accept a single optional option");i.stem.replace(Xr,function(l,c,u,h,f,p){return u==="*"?t.minimumFractionDigits=c.length:h&&h[0]==="#"?t.maximumFractionDigits=h.length:f&&p?(t.minimumFractionDigits=f.length,t.maximumFractionDigits=f.length+p.length):(t.minimumFractionDigits=c.length,t.maximumFractionDigits=c.length),""});var a=i.options[0];a==="w"?t=d(d({},t),{trailingZeroDisplay:"stripIfInteger"}):a&&(t=d(d({},t),Wr(a)));continue}if($r.test(i.stem)){t=d(d({},t),Wr(i.stem));continue}var o=Zr(i.stem);o&&(t=d(d({},t),o));var s=Di(i.stem);s&&(t=d(d({},t),s))}return t}var Ce={AX:["H"],BQ:["H"],CP:["H"],CZ:["H"],DK:["H"],FI:["H"],ID:["H"],IS:["H"],ML:["H"],NE:["H"],RU:["H"],SE:["H"],SJ:["H"],SK:["H"],AS:["h","H"],BT:["h","H"],DJ:["h","H"],ER:["h","H"],GH:["h","H"],IN:["h","H"],LS:["h","H"],PG:["h","H"],PW:["h","H"],SO:["h","H"],TO:["h","H"],VU:["h","H"],WS:["h","H"],"001":["H","h"],AL:["h","H","hB"],TD:["h","H","hB"],"ca-ES":["H","h","hB"],CF:["H","h","hB"],CM:["H","h","hB"],"fr-CA":["H","h","hB"],"gl-ES":["H","h","hB"],"it-CH":["H","h","hB"],"it-IT":["H","h","hB"],LU:["H","h","hB"],NP:["H","h","hB"],PF:["H","h","hB"],SC:["H","h","hB"],SM:["H","h","hB"],SN:["H","h","hB"],TF:["H","h","hB"],VA:["H","h","hB"],CY:["h","H","hb","hB"],GR:["h","H","hb","hB"],CO:["h","H","hB","hb"],DO:["h","H","hB","hb"],KP:["h","H","hB","hb"],KR:["h","H","hB","hb"],NA:["h","H","hB","hb"],PA:["h","H","hB","hb"],PR:["h","H","hB","hb"],VE:["h","H","hB","hb"],AC:["H","h","hb","hB"],AI:["H","h","hb","hB"],BW:["H","h","hb","hB"],BZ:["H","h","hb","hB"],CC:["H","h","hb","hB"],CK:["H","h","hb","hB"],CX:["H","h","hb","hB"],DG:["H","h","hb","hB"],FK:["H","h","hb","hB"],GB:["H","h","hb","hB"],GG:["H","h","hb","hB"],GI:["H","h","hb","hB"],IE:["H","h","hb","hB"],IM:["H","h","hb","hB"],IO:["H","h","hb","hB"],JE:["H","h","hb","hB"],LT:["H","h","hb","hB"],MK:["H","h","hb","hB"],MN:["H","h","hb","hB"],MS:["H","h","hb","hB"],NF:["H","h","hb","hB"],NG:["H","h","hb","hB"],NR:["H","h","hb","hB"],NU:["H","h","hb","hB"],PN:["H","h","hb","hB"],SH:["H","h","hb","hB"],SX:["H","h","hb","hB"],TA:["H","h","hb","hB"],ZA:["H","h","hb","hB"],"af-ZA":["H","h","hB","hb"],AR:["H","h","hB","hb"],CL:["H","h","hB","hb"],CR:["H","h","hB","hb"],CU:["H","h","hB","hb"],EA:["H","h","hB","hb"],"es-BO":["H","h","hB","hb"],"es-BR":["H","h","hB","hb"],"es-EC":["H","h","hB","hb"],"es-ES":["H","h","hB","hb"],"es-GQ":["H","h","hB","hb"],"es-PE":["H","h","hB","hb"],GT:["H","h","hB","hb"],HN:["H","h","hB","hb"],IC:["H","h","hB","hb"],KG:["H","h","hB","hb"],KM:["H","h","hB","hb"],LK:["H","h","hB","hb"],MA:["H","h","hB","hb"],MX:["H","h","hB","hb"],NI:["H","h","hB","hb"],PY:["H","h","hB","hb"],SV:["H","h","hB","hb"],UY:["H","h","hB","hb"],JP:["H","h","K"],AD:["H","hB"],AM:["H","hB"],AO:["H","hB"],AT:["H","hB"],AW:["H","hB"],BE:["H","hB"],BF:["H","hB"],BJ:["H","hB"],BL:["H","hB"],BR:["H","hB"],CG:["H","hB"],CI:["H","hB"],CV:["H","hB"],DE:["H","hB"],EE:["H","hB"],FR:["H","hB"],GA:["H","hB"],GF:["H","hB"],GN:["H","hB"],GP:["H","hB"],GW:["H","hB"],HR:["H","hB"],IL:["H","hB"],IT:["H","hB"],KZ:["H","hB"],MC:["H","hB"],MD:["H","hB"],MF:["H","hB"],MQ:["H","hB"],MZ:["H","hB"],NC:["H","hB"],NL:["H","hB"],PM:["H","hB"],PT:["H","hB"],RE:["H","hB"],RO:["H","hB"],SI:["H","hB"],SR:["H","hB"],ST:["H","hB"],TG:["H","hB"],TR:["H","hB"],WF:["H","hB"],YT:["H","hB"],BD:["h","hB","H"],PK:["h","hB","H"],AZ:["H","hB","h"],BA:["H","hB","h"],BG:["H","hB","h"],CH:["H","hB","h"],GE:["H","hB","h"],LI:["H","hB","h"],ME:["H","hB","h"],RS:["H","hB","h"],UA:["H","hB","h"],UZ:["H","hB","h"],XK:["H","hB","h"],AG:["h","hb","H","hB"],AU:["h","hb","H","hB"],BB:["h","hb","H","hB"],BM:["h","hb","H","hB"],BS:["h","hb","H","hB"],CA:["h","hb","H","hB"],DM:["h","hb","H","hB"],"en-001":["h","hb","H","hB"],FJ:["h","hb","H","hB"],FM:["h","hb","H","hB"],GD:["h","hb","H","hB"],GM:["h","hb","H","hB"],GU:["h","hb","H","hB"],GY:["h","hb","H","hB"],JM:["h","hb","H","hB"],KI:["h","hb","H","hB"],KN:["h","hb","H","hB"],KY:["h","hb","H","hB"],LC:["h","hb","H","hB"],LR:["h","hb","H","hB"],MH:["h","hb","H","hB"],MP:["h","hb","H","hB"],MW:["h","hb","H","hB"],NZ:["h","hb","H","hB"],SB:["h","hb","H","hB"],SG:["h","hb","H","hB"],SL:["h","hb","H","hB"],SS:["h","hb","H","hB"],SZ:["h","hb","H","hB"],TC:["h","hb","H","hB"],TT:["h","hb","H","hB"],UM:["h","hb","H","hB"],US:["h","hb","H","hB"],VC:["h","hb","H","hB"],VG:["h","hb","H","hB"],VI:["h","hb","H","hB"],ZM:["h","hb","H","hB"],BO:["H","hB","h","hb"],EC:["H","hB","h","hb"],ES:["H","hB","h","hb"],GQ:["H","hB","h","hb"],PE:["H","hB","h","hb"],AE:["h","hB","hb","H"],"ar-001":["h","hB","hb","H"],BH:["h","hB","hb","H"],DZ:["h","hB","hb","H"],EG:["h","hB","hb","H"],EH:["h","hB","hb","H"],HK:["h","hB","hb","H"],IQ:["h","hB","hb","H"],JO:["h","hB","hb","H"],KW:["h","hB","hb","H"],LB:["h","hB","hb","H"],LY:["h","hB","hb","H"],MO:["h","hB","hb","H"],MR:["h","hB","hb","H"],OM:["h","hB","hb","H"],PH:["h","hB","hb","H"],PS:["h","hB","hb","H"],QA:["h","hB","hb","H"],SA:["h","hB","hb","H"],SD:["h","hB","hb","H"],SY:["h","hB","hb","H"],TN:["h","hB","hb","H"],YE:["h","hB","hb","H"],AF:["H","hb","hB","h"],LA:["H","hb","hB","h"],CN:["H","hB","hb","h"],LV:["H","hB","hb","h"],TL:["H","hB","hb","h"],"zu-ZA":["H","hB","hb","h"],CD:["hB","H"],IR:["hB","H"],"hi-IN":["hB","h","H"],"kn-IN":["hB","h","H"],"ml-IN":["hB","h","H"],"te-IN":["hB","h","H"],KH:["hB","h","H","hb"],"ta-IN":["hB","h","hb","H"],BN:["hb","hB","h","H"],MY:["hb","hB","h","H"],ET:["hB","hb","h","H"],"gu-IN":["hB","hb","h","H"],"mr-IN":["hB","hb","h","H"],"pa-IN":["hB","hb","h","H"],TW:["hB","hb","h","H"],KE:["hB","hb","H","h"],MM:["hB","hb","H","h"],TZ:["hB","hb","H","h"],UG:["hB","hb","H","h"]};function Qr(e,t){for(var r="",n=0;n>1),l="a",c=Ui(t);for((c=="H"||c=="k")&&(s=0);s-- >0;)r+=l;for(;o-- >0;)r=c+r}else i==="J"?r+="H":r+=i}return r}function Ui(e){var t=e.hourCycle;if(t===void 0&&e.hourCycles&&e.hourCycles.length&&(t=e.hourCycles[0]),t)switch(t){case"h24":return"k";case"h23":return"H";case"h12":return"h";case"h11":return"K";default:throw new Error("Invalid hourCycle")}var r=e.language,n;r!=="root"&&(n=e.maximize().region);var i=Ce[n||""]||Ce[r||""]||Ce["".concat(r,"-001")]||Ce["001"];return i[0]}var Ht,Mi=new RegExp("^".concat(kt.source,"*")),Gi=new RegExp("".concat(kt.source,"*$"));function S(e,t){return{start:e,end:t}}var Bi=!!String.prototype.startsWith,Fi=!!String.fromCodePoint,Ki=!!Object.fromEntries,Yi=!!String.prototype.codePointAt,Xi=!!String.prototype.trimStart,Wi=!!String.prototype.trimEnd,ji=!!Number.isSafeInteger,zi=ji?Number.isSafeInteger:function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e&&Math.abs(e)<=9007199254740991},Ut=!0;try{en=an("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu"),Ut=((Ht=en.exec("a"))===null||Ht===void 0?void 0:Ht[0])==="a"}catch{Ut=!1}var en,tn=Bi?function(t,r,n){return t.startsWith(r,n)}:function(t,r,n){return t.slice(n,n+r.length)===r},Mt=Fi?String.fromCodePoint:function(){for(var t=[],r=0;ra;){if(o=t[a++],o>1114111)throw RangeError(o+" is not a valid code point");n+=o<65536?String.fromCharCode(o):String.fromCharCode(((o-=65536)>>10)+55296,o%1024+56320)}return n},rn=Ki?Object.fromEntries:function(t){for(var r={},n=0,i=t;n=n)){var i=t.charCodeAt(r),a;return i<55296||i>56319||r+1===n||(a=t.charCodeAt(r+1))<56320||a>57343?i:(i-55296<<10)+(a-56320)+65536}},$i=Xi?function(t){return t.trimStart()}:function(t){return t.replace(Mi,"")},qi=Wi?function(t){return t.trimEnd()}:function(t){return t.replace(Gi,"")};function an(e,t){return new RegExp(e,t)}var Gt;Ut?(Dt=an("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu"),Gt=function(t,r){var n;Dt.lastIndex=r;var i=Dt.exec(t);return(n=i[1])!==null&&n!==void 0?n:""}):Gt=function(t,r){for(var n=[];;){var i=nn(t,r);if(i===void 0||sn(i)||Qi(i))break;n.push(i),r+=i>=65536?2:1}return Mt.apply(void 0,n)};var Dt,on=function(){function e(t,r){r===void 0&&(r={}),this.message=t,this.position={offset:0,line:1,column:1},this.ignoreTag=!!r.ignoreTag,this.locale=r.locale,this.requiresOtherClause=!!r.requiresOtherClause,this.shouldParseSkeletons=!!r.shouldParseSkeletons}return e.prototype.parse=function(){if(this.offset()!==0)throw Error("parser can only be used once");return this.parseMessage(0,"",!1)},e.prototype.parseMessage=function(t,r,n){for(var i=[];!this.isEOF();){var a=this.char();if(a===123){var o=this.parseArgument(t,n);if(o.err)return o;i.push(o.val)}else{if(a===125&&t>0)break;if(a===35&&(r==="plural"||r==="selectordinal")){var s=this.clonePosition();this.bump(),i.push({type:y.pound,location:S(s,this.clonePosition())})}else if(a===60&&!this.ignoreTag&&this.peek()===47){if(n)break;return this.error(E.UNMATCHED_CLOSING_TAG,S(this.clonePosition(),this.clonePosition()))}else if(a===60&&!this.ignoreTag&&Bt(this.peek()||0)){var o=this.parseTag(t,r);if(o.err)return o;i.push(o.val)}else{var o=this.parseLiteral(t,r);if(o.err)return o;i.push(o.val)}}}return{val:i,err:null}},e.prototype.parseTag=function(t,r){var n=this.clonePosition();this.bump();var i=this.parseTagName();if(this.bumpSpace(),this.bumpIf("/>"))return{val:{type:y.literal,value:"<".concat(i,"/>"),location:S(n,this.clonePosition())},err:null};if(this.bumpIf(">")){var a=this.parseMessage(t+1,r,!0);if(a.err)return a;var o=a.val,s=this.clonePosition();if(this.bumpIf("")?{val:{type:y.tag,value:i,children:o,location:S(n,this.clonePosition())},err:null}:this.error(E.INVALID_TAG,S(s,this.clonePosition())))}else return this.error(E.UNCLOSED_TAG,S(n,this.clonePosition()))}else return this.error(E.INVALID_TAG,S(n,this.clonePosition()))},e.prototype.parseTagName=function(){var t=this.offset();for(this.bump();!this.isEOF()&&Ji(this.char());)this.bump();return this.message.slice(t,this.offset())},e.prototype.parseLiteral=function(t,r){for(var n=this.clonePosition(),i="";;){var a=this.tryParseQuote(r);if(a){i+=a;continue}var o=this.tryParseUnquoted(t,r);if(o){i+=o;continue}var s=this.tryParseLeftAngleBracket();if(s){i+=s;continue}break}var l=S(n,this.clonePosition());return{val:{type:y.literal,value:i,location:l},err:null}},e.prototype.tryParseLeftAngleBracket=function(){return!this.isEOF()&&this.char()===60&&(this.ignoreTag||!Zi(this.peek()||0))?(this.bump(),"<"):null},e.prototype.tryParseQuote=function(t){if(this.isEOF()||this.char()!==39)return null;switch(this.peek()){case 39:return this.bump(),this.bump(),"'";case 123:case 60:case 62:case 125:break;case 35:if(t==="plural"||t==="selectordinal")break;return null;default:return null}this.bump();var r=[this.char()];for(this.bump();!this.isEOF();){var n=this.char();if(n===39)if(this.peek()===39)r.push(39),this.bump();else{this.bump();break}else r.push(n);this.bump()}return Mt.apply(void 0,r)},e.prototype.tryParseUnquoted=function(t,r){if(this.isEOF())return null;var n=this.char();return n===60||n===123||n===35&&(r==="plural"||r==="selectordinal")||n===125&&t>0?null:(this.bump(),Mt(n))},e.prototype.parseArgument=function(t,r){var n=this.clonePosition();if(this.bump(),this.bumpSpace(),this.isEOF())return this.error(E.EXPECT_ARGUMENT_CLOSING_BRACE,S(n,this.clonePosition()));if(this.char()===125)return this.bump(),this.error(E.EMPTY_ARGUMENT,S(n,this.clonePosition()));var i=this.parseIdentifierIfPossible().value;if(!i)return this.error(E.MALFORMED_ARGUMENT,S(n,this.clonePosition()));if(this.bumpSpace(),this.isEOF())return this.error(E.EXPECT_ARGUMENT_CLOSING_BRACE,S(n,this.clonePosition()));switch(this.char()){case 125:return this.bump(),{val:{type:y.argument,value:i,location:S(n,this.clonePosition())},err:null};case 44:return this.bump(),this.bumpSpace(),this.isEOF()?this.error(E.EXPECT_ARGUMENT_CLOSING_BRACE,S(n,this.clonePosition())):this.parseArgumentOptions(t,r,i,n);default:return this.error(E.MALFORMED_ARGUMENT,S(n,this.clonePosition()))}},e.prototype.parseIdentifierIfPossible=function(){var t=this.clonePosition(),r=this.offset(),n=Gt(this.message,r),i=r+n.length;this.bumpTo(i);var a=this.clonePosition(),o=S(t,a);return{value:n,location:o}},e.prototype.parseArgumentOptions=function(t,r,n,i){var a,o=this.clonePosition(),s=this.parseIdentifierIfPossible().value,l=this.clonePosition();switch(s){case"":return this.error(E.EXPECT_ARGUMENT_TYPE,S(o,l));case"number":case"date":case"time":{this.bumpSpace();var c=null;if(this.bumpIf(",")){this.bumpSpace();var u=this.clonePosition(),h=this.parseSimpleArgStyleIfPossible();if(h.err)return h;var f=qi(h.val);if(f.length===0)return this.error(E.EXPECT_ARGUMENT_STYLE,S(this.clonePosition(),this.clonePosition()));var p=S(u,this.clonePosition());c={style:f,styleLocation:p}}var m=this.tryParseArgumentClose(i);if(m.err)return m;var T=S(i,this.clonePosition());if(c&&tn(c?.style,"::",0)){var v=$i(c.style.slice(2));if(s==="number"){var h=this.parseNumberSkeletonFromString(v,c.styleLocation);return h.err?h:{val:{type:y.number,value:n,location:T,style:h.val},err:null}}else{if(v.length===0)return this.error(E.EXPECT_DATE_TIME_SKELETON,T);var P=v;this.locale&&(P=Qr(v,this.locale));var f={type:ie.dateTime,pattern:P,location:c.styleLocation,parsedOptions:this.shouldParseSkeletons?Kr(P):{}},A=s==="date"?y.date:y.time;return{val:{type:A,value:n,location:T,style:f},err:null}}}return{val:{type:s==="number"?y.number:s==="date"?y.date:y.time,value:n,location:T,style:(a=c?.style)!==null&&a!==void 0?a:null},err:null}}case"plural":case"selectordinal":case"select":{var b=this.clonePosition();if(this.bumpSpace(),!this.bumpIf(","))return this.error(E.EXPECT_SELECT_ARGUMENT_OPTIONS,S(b,d({},b)));this.bumpSpace();var I=this.parseIdentifierIfPossible(),C=0;if(s!=="select"&&I.value==="offset"){if(!this.bumpIf(":"))return this.error(E.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,S(this.clonePosition(),this.clonePosition()));this.bumpSpace();var h=this.tryParseDecimalInteger(E.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,E.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);if(h.err)return h;this.bumpSpace(),I=this.parseIdentifierIfPossible(),C=h.val}var V=this.tryParsePluralOrSelectOptions(t,s,r,I);if(V.err)return V;var m=this.tryParseArgumentClose(i);if(m.err)return m;var O=S(i,this.clonePosition());return s==="select"?{val:{type:y.select,value:n,options:rn(V.val),location:O},err:null}:{val:{type:y.plural,value:n,options:rn(V.val),offset:C,pluralType:s==="plural"?"cardinal":"ordinal",location:O},err:null}}default:return this.error(E.INVALID_ARGUMENT_TYPE,S(o,l))}},e.prototype.tryParseArgumentClose=function(t){return this.isEOF()||this.char()!==125?this.error(E.EXPECT_ARGUMENT_CLOSING_BRACE,S(t,this.clonePosition())):(this.bump(),{val:!0,err:null})},e.prototype.parseSimpleArgStyleIfPossible=function(){for(var t=0,r=this.clonePosition();!this.isEOF();){var n=this.char();switch(n){case 39:{this.bump();var i=this.clonePosition();if(!this.bumpUntil("'"))return this.error(E.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE,S(i,this.clonePosition()));this.bump();break}case 123:{t+=1,this.bump();break}case 125:{if(t>0)t-=1;else return{val:this.message.slice(r.offset,this.offset()),err:null};break}default:this.bump();break}}return{val:this.message.slice(r.offset,this.offset()),err:null}},e.prototype.parseNumberSkeletonFromString=function(t,r){var n=[];try{n=zr(t)}catch{return this.error(E.INVALID_NUMBER_SKELETON,r)}return{val:{type:ie.number,tokens:n,location:r,parsedOptions:this.shouldParseSkeletons?Jr(n):{}},err:null}},e.prototype.tryParsePluralOrSelectOptions=function(t,r,n,i){for(var a,o=!1,s=[],l=new Set,c=i.value,u=i.location;;){if(c.length===0){var h=this.clonePosition();if(r!=="select"&&this.bumpIf("=")){var f=this.tryParseDecimalInteger(E.EXPECT_PLURAL_ARGUMENT_SELECTOR,E.INVALID_PLURAL_ARGUMENT_SELECTOR);if(f.err)return f;u=S(h,this.clonePosition()),c=this.message.slice(h.offset,this.offset())}else break}if(l.has(c))return this.error(r==="select"?E.DUPLICATE_SELECT_ARGUMENT_SELECTOR:E.DUPLICATE_PLURAL_ARGUMENT_SELECTOR,u);c==="other"&&(o=!0),this.bumpSpace();var p=this.clonePosition();if(!this.bumpIf("{"))return this.error(r==="select"?E.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT:E.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT,S(this.clonePosition(),this.clonePosition()));var m=this.parseMessage(t+1,r,n);if(m.err)return m;var T=this.tryParseArgumentClose(p);if(T.err)return T;s.push([c,{value:m.val,location:S(p,this.clonePosition())}]),l.add(c),this.bumpSpace(),a=this.parseIdentifierIfPossible(),c=a.value,u=a.location}return s.length===0?this.error(r==="select"?E.EXPECT_SELECT_ARGUMENT_SELECTOR:E.EXPECT_PLURAL_ARGUMENT_SELECTOR,S(this.clonePosition(),this.clonePosition())):this.requiresOtherClause&&!o?this.error(E.MISSING_OTHER_CLAUSE,S(this.clonePosition(),this.clonePosition())):{val:s,err:null}},e.prototype.tryParseDecimalInteger=function(t,r){var n=1,i=this.clonePosition();this.bumpIf("+")||this.bumpIf("-")&&(n=-1);for(var a=!1,o=0;!this.isEOF();){var s=this.char();if(s>=48&&s<=57)a=!0,o=o*10+(s-48),this.bump();else break}var l=S(i,this.clonePosition());return a?(o*=n,zi(o)?{val:o,err:null}:this.error(r,l)):this.error(t,l)},e.prototype.offset=function(){return this.position.offset},e.prototype.isEOF=function(){return this.offset()===this.message.length},e.prototype.clonePosition=function(){return{offset:this.position.offset,line:this.position.line,column:this.position.column}},e.prototype.char=function(){var t=this.position.offset;if(t>=this.message.length)throw Error("out of bound");var r=nn(this.message,t);if(r===void 0)throw Error("Offset ".concat(t," is at invalid UTF-16 code unit boundary"));return r},e.prototype.error=function(t,r){return{val:null,err:{kind:t,message:this.message,location:r}}},e.prototype.bump=function(){if(!this.isEOF()){var t=this.char();t===10?(this.position.line+=1,this.position.column=1,this.position.offset+=1):(this.position.column+=1,this.position.offset+=t<65536?1:2)}},e.prototype.bumpIf=function(t){if(tn(this.message,t,this.offset())){for(var r=0;r=0?(this.bumpTo(n),!0):(this.bumpTo(this.message.length),!1)},e.prototype.bumpTo=function(t){if(this.offset()>t)throw Error("targetOffset ".concat(t," must be greater than or equal to the current offset ").concat(this.offset()));for(t=Math.min(t,this.message.length);;){var r=this.offset();if(r===t)break;if(r>t)throw Error("targetOffset ".concat(t," is at invalid UTF-16 code unit boundary"));if(this.bump(),this.isEOF())break}},e.prototype.bumpSpace=function(){for(;!this.isEOF()&&sn(this.char());)this.bump()},e.prototype.peek=function(){if(this.isEOF())return null;var t=this.char(),r=this.offset(),n=this.message.charCodeAt(r+(t>=65536?2:1));return n??null},e}();function Bt(e){return e>=97&&e<=122||e>=65&&e<=90}function Zi(e){return Bt(e)||e===47}function Ji(e){return e===45||e===46||e>=48&&e<=57||e===95||e>=97&&e<=122||e>=65&&e<=90||e==183||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8255&&e<=8256||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}function sn(e){return e>=9&&e<=13||e===32||e===133||e>=8206&&e<=8207||e===8232||e===8233}function Qi(e){return e>=33&&e<=35||e===36||e>=37&&e<=39||e===40||e===41||e===42||e===43||e===44||e===45||e>=46&&e<=47||e>=58&&e<=59||e>=60&&e<=62||e>=63&&e<=64||e===91||e===92||e===93||e===94||e===96||e===123||e===124||e===125||e===126||e===161||e>=162&&e<=165||e===166||e===167||e===169||e===171||e===172||e===174||e===176||e===177||e===182||e===187||e===191||e===215||e===247||e>=8208&&e<=8213||e>=8214&&e<=8215||e===8216||e===8217||e===8218||e>=8219&&e<=8220||e===8221||e===8222||e===8223||e>=8224&&e<=8231||e>=8240&&e<=8248||e===8249||e===8250||e>=8251&&e<=8254||e>=8257&&e<=8259||e===8260||e===8261||e===8262||e>=8263&&e<=8273||e===8274||e===8275||e>=8277&&e<=8286||e>=8592&&e<=8596||e>=8597&&e<=8601||e>=8602&&e<=8603||e>=8604&&e<=8607||e===8608||e>=8609&&e<=8610||e===8611||e>=8612&&e<=8613||e===8614||e>=8615&&e<=8621||e===8622||e>=8623&&e<=8653||e>=8654&&e<=8655||e>=8656&&e<=8657||e===8658||e===8659||e===8660||e>=8661&&e<=8691||e>=8692&&e<=8959||e>=8960&&e<=8967||e===8968||e===8969||e===8970||e===8971||e>=8972&&e<=8991||e>=8992&&e<=8993||e>=8994&&e<=9e3||e===9001||e===9002||e>=9003&&e<=9083||e===9084||e>=9085&&e<=9114||e>=9115&&e<=9139||e>=9140&&e<=9179||e>=9180&&e<=9185||e>=9186&&e<=9254||e>=9255&&e<=9279||e>=9280&&e<=9290||e>=9291&&e<=9311||e>=9472&&e<=9654||e===9655||e>=9656&&e<=9664||e===9665||e>=9666&&e<=9719||e>=9720&&e<=9727||e>=9728&&e<=9838||e===9839||e>=9840&&e<=10087||e===10088||e===10089||e===10090||e===10091||e===10092||e===10093||e===10094||e===10095||e===10096||e===10097||e===10098||e===10099||e===10100||e===10101||e>=10132&&e<=10175||e>=10176&&e<=10180||e===10181||e===10182||e>=10183&&e<=10213||e===10214||e===10215||e===10216||e===10217||e===10218||e===10219||e===10220||e===10221||e===10222||e===10223||e>=10224&&e<=10239||e>=10240&&e<=10495||e>=10496&&e<=10626||e===10627||e===10628||e===10629||e===10630||e===10631||e===10632||e===10633||e===10634||e===10635||e===10636||e===10637||e===10638||e===10639||e===10640||e===10641||e===10642||e===10643||e===10644||e===10645||e===10646||e===10647||e===10648||e>=10649&&e<=10711||e===10712||e===10713||e===10714||e===10715||e>=10716&&e<=10747||e===10748||e===10749||e>=10750&&e<=11007||e>=11008&&e<=11055||e>=11056&&e<=11076||e>=11077&&e<=11078||e>=11079&&e<=11084||e>=11085&&e<=11123||e>=11124&&e<=11125||e>=11126&&e<=11157||e===11158||e>=11159&&e<=11263||e>=11776&&e<=11777||e===11778||e===11779||e===11780||e===11781||e>=11782&&e<=11784||e===11785||e===11786||e===11787||e===11788||e===11789||e>=11790&&e<=11798||e===11799||e>=11800&&e<=11801||e===11802||e===11803||e===11804||e===11805||e>=11806&&e<=11807||e===11808||e===11809||e===11810||e===11811||e===11812||e===11813||e===11814||e===11815||e===11816||e===11817||e>=11818&&e<=11822||e===11823||e>=11824&&e<=11833||e>=11834&&e<=11835||e>=11836&&e<=11839||e===11840||e===11841||e===11842||e>=11843&&e<=11855||e>=11856&&e<=11857||e===11858||e>=11859&&e<=11903||e>=12289&&e<=12291||e===12296||e===12297||e===12298||e===12299||e===12300||e===12301||e===12302||e===12303||e===12304||e===12305||e>=12306&&e<=12307||e===12308||e===12309||e===12310||e===12311||e===12312||e===12313||e===12314||e===12315||e===12316||e===12317||e>=12318&&e<=12319||e===12320||e===12336||e===64830||e===64831||e>=65093&&e<=65094}function Ft(e){e.forEach(function(t){if(delete t.location,Ze(t)||Je(t))for(var r in t.options)delete t.options[r].location,Ft(t.options[r].value);else ze(t)&&et(t.style)||($e(t)||qe(t))&&Ne(t.style)?delete t.style.location:Qe(t)&&Ft(t.children)})}function ln(e,t){t===void 0&&(t={}),t=d({shouldParseSkeletons:!0,requiresOtherClause:!0},t);var r=new on(e,t).parse();if(r.err){var n=SyntaxError(E[r.err.kind]);throw n.location=r.err.location,n.originalMessage=r.err.message,n}return t?.captureLocation||Ft(r.val),r.val}function Ve(e,t){var r=t&&t.cache?t.cache:aa,n=t&&t.serializer?t.serializer:ia,i=t&&t.strategy?t.strategy:ta;return i(e,{cache:r,serializer:n})}function ea(e){return e==null||typeof e=="number"||typeof e=="boolean"}function cn(e,t,r,n){var i=ea(n)?n:r(n),a=t.get(i);return typeof a>"u"&&(a=e.call(this,n),t.set(i,a)),a}function un(e,t,r){var n=Array.prototype.slice.call(arguments,3),i=r(n),a=t.get(i);return typeof a>"u"&&(a=e.apply(this,n),t.set(i,a)),a}function Kt(e,t,r,n,i){return r.bind(t,e,n,i)}function ta(e,t){var r=e.length===1?cn:un;return Kt(e,this,r,t.cache.create(),t.serializer)}function ra(e,t){return Kt(e,this,un,t.cache.create(),t.serializer)}function na(e,t){return Kt(e,this,cn,t.cache.create(),t.serializer)}var ia=function(){return JSON.stringify(arguments)};function Yt(){this.cache=Object.create(null)}Yt.prototype.get=function(e){return this.cache[e]};Yt.prototype.set=function(e,t){this.cache[e]=t};var aa={create:function(){return new Yt}},tt={variadic:ra,monadic:na};var ae;(function(e){e.MISSING_VALUE="MISSING_VALUE",e.INVALID_VALUE="INVALID_VALUE",e.MISSING_INTL_API="MISSING_INTL_API"})(ae||(ae={}));var Oe=function(e){_e(t,e);function t(r,n,i){var a=e.call(this,r)||this;return a.code=n,a.originalMessage=i,a}return t.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},t}(Error);var Xt=function(e){_e(t,e);function t(r,n,i,a){return e.call(this,'Invalid values for "'.concat(r,'": "').concat(n,'". Options are "').concat(Object.keys(i).join('", "'),'"'),ae.INVALID_VALUE,a)||this}return t}(Oe);var hn=function(e){_e(t,e);function t(r,n,i){return e.call(this,'Value for "'.concat(r,'" must be of type ').concat(n),ae.INVALID_VALUE,i)||this}return t}(Oe);var fn=function(e){_e(t,e);function t(r,n){return e.call(this,'The intl string context variable "'.concat(r,'" was not provided to the string "').concat(n,'"'),ae.MISSING_VALUE,n)||this}return t}(Oe);var k;(function(e){e[e.literal=0]="literal",e[e.object=1]="object"})(k||(k={}));function oa(e){return e.length<2?e:e.reduce(function(t,r){var n=t[t.length-1];return!n||n.type!==k.literal||r.type!==k.literal?t.push(r):n.value+=r.value,t},[])}function sa(e){return typeof e=="function"}function we(e,t,r,n,i,a,o){if(e.length===1&&Rt(e[0]))return[{type:k.literal,value:e[0].value}];for(var s=[],l=0,c=e;l0?new Intl.Locale(r[0]):new Intl.Locale(typeof t=="string"?t:t[0])},e.__parse=cn,e.formats={number:{integer:{maximumFractionDigits:0},currency:{style:"currency"},percent:{style:"percent"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}},e}();var Tn=mn;var fa=/[0-9\-+#]/,pa=/[^\d\-+#]/g;function An(e){return e.search(fa)}function ma(e="#.##"){let t={},r=e.length,n=An(e);t.prefix=n>0?e.substring(0,n):"";let i=An(e.split("").reverse().join("")),a=r-i,o=e.substring(a,a+1),s=a+(o==="."||o===","?1:0);t.suffix=i>0?e.substring(s,r):"",t.mask=e.substring(n,s),t.maskHasNegativeSign=t.mask.charAt(0)==="-",t.maskHasPositiveSign=t.mask.charAt(0)==="+";let l=t.mask.match(pa);return t.decimal=l&&l[l.length-1]||".",t.separator=l&&l[1]&&l[0]||",",l=t.mask.split(t.decimal),t.integer=l[0],t.fraction=l[1],t}function Ta(e,t,r){let n=!1,i={value:e};e<0&&(n=!0,i.value=-i.value),i.sign=n?"-":"",i.value=Number(i.value).toFixed(t.fraction&&t.fraction.length),i.value=Number(i.value).toString();let a=t.fraction&&t.fraction.lastIndexOf("0"),[o="0",s=""]=i.value.split(".");return(!s||s&&s.length<=a)&&(s=a<0?"":(+("0."+s)).toFixed(a+1).replace("0.","")),i.integer=o,i.fraction=s,Aa(i,t),(i.result==="0"||i.result==="")&&(n=!1,i.sign=""),!n&&t.maskHasPositiveSign?i.sign="+":n&&t.maskHasPositiveSign?i.sign="-":n&&(i.sign=r&&r.enforceMaskSign&&!t.maskHasNegativeSign?"":"-"),i}function Aa(e,t){e.result="";let r=t.integer.split(t.separator),n=r.join(""),i=n&&n.indexOf("0");if(i>-1)for(;e.integer.length({accept:e,round:t}),ba=[jt(({divisor:e,price:t})=>t%e==0,({divisor:e,price:t})=>t/e),jt(({usePrecision:e})=>e,({divisor:e,price:t})=>Math.round(t/e*100)/100),jt(()=>!0,({divisor:e,price:t})=>Math.ceil(Math.floor(t*100/e)/100))],zt={[w.YEAR]:{[_.MONTHLY]:Re.MONTH,[_.ANNUAL]:Re.YEAR},[w.MONTH]:{[_.MONTHLY]:Re.MONTH}},xa=(e,t)=>e.indexOf(`'${t}'`)===0,ga=(e,t=!0)=>{let r=e.replace(/'.*?'/,"").trim(),n=Ln(r);return!!n?t||(r=r.replace(/[,\.]0+/,n)):r=r.replace(/\s?(#.*0)(?!\s)?/,"$&"+va(e)),r},La=e=>{let t=ya(e),r=xa(e,t),n=e.replace(/'.*?'/,""),i=bn.test(n)||xn.test(n);return{currencySymbol:t,isCurrencyFirst:r,hasCurrencySpace:i}},gn=e=>e.replace(bn,Sn).replace(xn,Sn),va=e=>e.match(/#(.?)#/)?.[1]===dn?da:dn,ya=e=>e.match(/'(.*?)'/)?.[1]??"",Ln=e=>e.match(/0(.?)0/)?.[1]??"";function rt({formatString:e,price:t,usePrecision:r,isIndianPrice:n=!1},i,a=o=>o){let{currencySymbol:o,isCurrencyFirst:s,hasCurrencySpace:l}=La(e),c=r?Ln(e):"",u=ga(e,r),h=r?2:0,f=a(t,{currencySymbol:o}),p=n?f.toLocaleString("hi-IN",{minimumFractionDigits:h,maximumFractionDigits:h}):En(u,f),m=r?p.lastIndexOf(c):p.length,T=p.substring(0,m),v=p.substring(m+1);return{accessiblePrice:e.replace(/'.*?'/,"SYMBOL").replace(/#.*0/,p).replace(/SYMBOL/,o),currencySymbol:o,decimals:v,decimalsDelimiter:c,hasCurrencySpace:l,integer:T,isCurrencyFirst:s,recurrenceTerm:i}}var vn=e=>{let{commitment:t,term:r,usePrecision:n}=e,i=Sa[r]??1;return rt(e,i>1?Re.MONTH:zt[t]?.[r],a=>{let o={divisor:i,price:a,usePrecision:n},{round:s}=ba.find(({accept:l})=>l(o));if(!s)throw new Error(`Missing rounding rule for: ${JSON.stringify(o)}`);return s(o)})},yn=({commitment:e,term:t,...r})=>rt(r,zt[e]?.[t]),Pn=e=>{let{commitment:t,term:r}=e;return t===w.YEAR&&r===_.MONTHLY?rt(e,Re.YEAR,n=>n*12):rt(e,zt[t]?.[r])};var Pa={recurrenceLabel:"{recurrenceTerm, select, MONTH {/mo} YEAR {/yr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per month} YEAR {per year} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per license} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per license} other {}}",freeLabel:"Free",freeAriaLabel:"Free",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternatively at {alternativePrice}",strikethroughAriaLabel:"Regularly at {strikethroughPrice}"},Ia=Ur("ConsonantTemplates/price"),_a=/<\/?[^>]+(>|$)/g,R={container:"price",containerOptical:"price-optical",containerStrikethrough:"price-strikethrough",containerAnnual:"price-annual",containerAnnualPrefix:"price-annual-prefix",containerAnnualSuffix:"price-annual-suffix",disabled:"disabled",currencySpace:"price-currency-space",currencySymbol:"price-currency-symbol",decimals:"price-decimals",decimalsDelimiter:"price-decimals-delimiter",integer:"price-integer",recurrence:"price-recurrence",taxInclusivity:"price-tax-inclusivity",unitType:"price-unit-type"},se={perUnitLabel:"perUnitLabel",perUnitAriaLabel:"perUnitAriaLabel",recurrenceLabel:"recurrenceLabel",recurrenceAriaLabel:"recurrenceAriaLabel",taxExclusiveLabel:"taxExclusiveLabel",taxInclusiveLabel:"taxInclusiveLabel",strikethroughAriaLabel:"strikethroughAriaLabel"},Na="TAX_EXCLUSIVE",Ca=e=>Dr(e)?Object.entries(e).filter(([,t])=>Ae(t)||Ye(t)||t===!0).reduce((t,[r,n])=>t+` ${r}${n===!0?"":'="'+kr(n)+'"'}`,""):"",H=(e,t,r,n=!1)=>`${n?gn(t):t??""}`;function Va(e,{accessibleLabel:t,currencySymbol:r,decimals:n,decimalsDelimiter:i,hasCurrencySpace:a,integer:o,isCurrencyFirst:s,recurrenceLabel:l,perUnitLabel:c,taxInclusivityLabel:u},h={}){let f=H(R.currencySymbol,r),p=H(R.currencySpace,a?" ":""),m="";return s&&(m+=f+p),m+=H(R.integer,o),m+=H(R.decimalsDelimiter,i),m+=H(R.decimals,n),s||(m+=p+f),m+=H(R.recurrence,l,null,!0),m+=H(R.unitType,c,null,!0),m+=H(R.taxInclusivity,u,!0),H(e,m,{...h,"aria-label":t})}var U=({displayOptical:e=!1,displayStrikethrough:t=!1,displayAnnual:r=!1}={})=>({country:n,displayFormatted:i=!0,displayRecurrence:a=!0,displayPerUnit:o=!1,displayTax:s=!1,language:l,literals:c={}}={},{commitment:u,offerSelectorIds:h,formatString:f,price:p,priceWithoutDiscount:m,taxDisplay:T,taxTerm:v,term:P,usePrecision:A}={},b={})=>{Object.entries({country:n,formatString:f,language:l,price:p}).forEach(([$,pt])=>{if(pt==null)throw new Error(`Argument "${$}" is missing for osi ${h?.toString()}, country ${n}, language ${l}`)});let I={...Pa,...c},C=`${l.toLowerCase()}-${n.toUpperCase()}`;function V($,pt){let mt=I[$];if(mt==null)return"";try{return new Tn(mt.replace(_a,""),C).format(pt)}catch{return Ia.error("Failed to format literal:",mt),""}}let O=t&&m?m:p,j=e?vn:yn;r&&(j=Pn);let{accessiblePrice:fe,recurrenceTerm:re,...pe}=j({commitment:u,formatString:f,term:P,price:e?p:O,usePrecision:A,isIndianPrice:n==="IN"}),B=fe,Q="";if(x(a)&&re){let $=V(se.recurrenceAriaLabel,{recurrenceTerm:re});$&&(B+=" "+$),Q=V(se.recurrenceLabel,{recurrenceTerm:re})}let z="";if(x(o)){z=V(se.perUnitLabel,{perUnit:"LICENSE"});let $=V(se.perUnitAriaLabel,{perUnit:"LICENSE"});$&&(B+=" "+$)}let F="";x(s)&&v&&(F=V(T===Na?se.taxExclusiveLabel:se.taxInclusiveLabel,{taxTerm:v}),F&&(B+=" "+F)),t&&(B=V(se.strikethroughAriaLabel,{strikethroughPrice:B}));let ne=R.container;if(e&&(ne+=" "+R.containerOptical),t&&(ne+=" "+R.containerStrikethrough),r&&(ne+=" "+R.containerAnnual),x(i))return Va(ne,{...pe,accessibleLabel:B,recurrenceLabel:Q,perUnitLabel:z,taxInclusivityLabel:F},b);let{currencySymbol:Pr,decimals:$n,decimalsDelimiter:qn,hasCurrencySpace:Ir,integer:Zn,isCurrencyFirst:Jn}=pe,me=[Zn,qn,$n];Jn?(me.unshift(Ir?"\xA0":""),me.unshift(Pr)):(me.push(Ir?"\xA0":""),me.push(Pr)),me.push(Q,z,F);let Qn=me.join("");return H(ne,Qn,b)},In=()=>(e,t,r)=>{let i=(e.displayOldPrice===void 0||x(e.displayOldPrice))&&t.priceWithoutDiscount&&t.priceWithoutDiscount!=t.price;return`${U()(e,t,r)}${i?" "+U({displayStrikethrough:!0})(e,t,r):""}`},_n=()=>(e,t,r)=>{let n={...e,displayTax:!1,displayPerUnit:!1};return`${(e.displayOldPrice===void 0||x(e.displayOldPrice))&&t.priceWithoutDiscount&&t.priceWithoutDiscount!=t.price?U({displayStrikethrough:!0})(n,t,r)+" ":""}${U()(e,t,r)}${H(R.containerAnnualPrefix," (")}${U({displayAnnual:!0})(n,t,r)}${H(R.containerAnnualSuffix,")")}`},Nn=()=>(e,t,r)=>{let n={...e,displayTax:!1,displayPerUnit:!1};return`${U()(e,t,r)}${H(R.containerAnnualPrefix," (")}${U({displayAnnual:!0})(n,t,r)}${H(R.containerAnnualSuffix,")")}`};var $t=U(),qt=In(),Zt=U({displayOptical:!0}),Jt=U({displayStrikethrough:!0}),Qt=U({displayAnnual:!0}),er=Nn(),tr=_n();var Oa=(e,t)=>{if(!(!de(e)||!de(t)))return Math.floor((t-e)/t*100)},Cn=()=>(e,t)=>{let{price:r,priceWithoutDiscount:n}=t,i=Oa(r,n);return i===void 0?'':`${i}%`};var rr=Cn();var{freeze:ke}=Object,K=ke({...ie}),Y=ke({...G}),le={STAGE:"STAGE",PRODUCTION:"PRODUCTION",LOCAL:"LOCAL"},nr=ke({...w}),ir=ke({...Gr}),ar=ke({..._});var dr={};si(dr,{CLASS_NAME_FAILED:()=>or,CLASS_NAME_HIDDEN:()=>Ra,CLASS_NAME_PENDING:()=>sr,CLASS_NAME_RESOLVED:()=>lr,ERROR_MESSAGE_BAD_REQUEST:()=>nt,ERROR_MESSAGE_MISSING_LITERALS_URL:()=>Ja,ERROR_MESSAGE_OFFER_NOT_FOUND:()=>cr,EVENT_AEM_ERROR:()=>$a,EVENT_AEM_LOAD:()=>za,EVENT_MAS_ERROR:()=>Za,EVENT_MAS_READY:()=>qa,EVENT_MERCH_CARD_ACTION_MENU_TOGGLE:()=>Ma,EVENT_MERCH_CARD_COLLECTION_SHOWMORE:()=>Wa,EVENT_MERCH_CARD_COLLECTION_SORT:()=>Xa,EVENT_MERCH_CARD_READY:()=>Ua,EVENT_MERCH_OFFER_READY:()=>Ha,EVENT_MERCH_OFFER_SELECT_READY:()=>Da,EVENT_MERCH_QUANTITY_SELECTOR_CHANGE:()=>Ka,EVENT_MERCH_SEARCH_CHANGE:()=>Ya,EVENT_MERCH_SIDENAV_SELECT:()=>ja,EVENT_MERCH_STOCK_CHANGE:()=>Ba,EVENT_MERCH_STORAGE_CHANGE:()=>Fa,EVENT_OFFER_SELECTED:()=>Ga,EVENT_TYPE_FAILED:()=>ur,EVENT_TYPE_PENDING:()=>hr,EVENT_TYPE_READY:()=>xe,EVENT_TYPE_RESOLVED:()=>fr,LOG_NAMESPACE:()=>pr,Landscape:()=>ce,NAMESPACE:()=>wa,PARAM_AOS_API_KEY:()=>Qa,PARAM_ENV:()=>mr,PARAM_LANDSCAPE:()=>Tr,PARAM_WCS_API_KEY:()=>eo,STATE_FAILED:()=>q,STATE_PENDING:()=>Z,STATE_RESOLVED:()=>J,TAG_NAME_SERVICE:()=>ka,WCS_PROD_URL:()=>Ar,WCS_STAGE_URL:()=>Er});var wa="merch",Ra="hidden",xe="wcms:commerce:ready",ka="mas-commerce-service",Ha="merch-offer:ready",Da="merch-offer-select:ready",Ua="merch-card:ready",Ma="merch-card:action-menu-toggle",Ga="merch-offer:selected",Ba="merch-stock:change",Fa="merch-storage:change",Ka="merch-quantity-selector:change",Ya="merch-search:change",Xa="merch-card-collection:sort",Wa="merch-card-collection:showmore",ja="merch-sidenav:select",za="aem:load",$a="aem:error",qa="mas:ready",Za="mas:error",or="placeholder-failed",sr="placeholder-pending",lr="placeholder-resolved",nt="Bad WCS request",cr="Commerce offer not found",Ja="Literals URL not provided",ur="mas:failed",hr="mas:pending",fr="mas:resolved",pr="mas/commerce",mr="commerce.env",Tr="commerce.landscape",Qa="commerce.aosKey",eo="commerce.wcsKey",Ar="https://www.adobe.com/web_commerce_artifact",Er="https://www.stage.adobe.com/web_commerce_artifact_stage",q="failed",Z="pending",J="resolved",ce={DRAFT:"DRAFT",PUBLISHED:"PUBLISHED"};var Vn="mas-commerce-service";function On(e,{once:t=!1}={}){let r=null;function n(){let i=document.querySelector(Vn);i!==r&&(r=i,i&&e(i))}return document.addEventListener(xe,n,{once:t}),te(n),()=>document.removeEventListener(xe,n)}function He(e,{country:t,forceTaxExclusive:r,perpetual:n}){let i;if(e.length<2)i=e;else{let a=t==="GB"||n?"EN":"MULT",[o,s]=e;i=[o.language===a?o:s]}return r&&(i=i.map(Ot)),i}var te=e=>window.setTimeout(e);function ge(e,t=1){if(e==null)return[t];let r=(Array.isArray(e)?e:String(e).split(",")).map(be).filter(de);return r.length||(r=[t]),r}function it(e){return e==null?[]:(Array.isArray(e)?e:String(e).split(",")).filter(yt)}function M(){return document.getElementsByTagName(Vn)?.[0]}var ue={clientId:"merch-at-scale",delimiter:"\xB6",ignoredProperties:["analytics","literals"],serializableTypes:["Array","Object"],sampleRate:1,tags:"acom",isProdDomain:!1},wn=1e3,Rn=new Set;function to(e){return e instanceof Error||typeof e?.originatingRequest=="string"}function kn(e){if(e==null)return;let t=typeof e;if(t==="function")return e.name?`function ${e.name}`:"function";if(t==="object"){if(e instanceof Error)return e.message;if(typeof e.originatingRequest=="string"){let{message:n,originatingRequest:i,status:a}=e;return[n,a,i].filter(Boolean).join(" ")}let r=e[Symbol.toStringTag]??Object.getPrototypeOf(e).constructor.name;if(!ue.serializableTypes.includes(r))return r}return e}function ro(e,t){if(!ue.ignoredProperties.includes(e))return kn(t)}var Sr={append(e){if(e.level!=="error")return;let{message:t,params:r}=e,n=[],i=[],a=t;r.forEach(c=>{c!=null&&(to(c)?n:i).push(c)}),n.length&&(a+=" "+n.map(kn).join(" "));let{pathname:o,search:s}=window.location,l=`${ue.delimiter}page=${o}${s}`;l.length>wn&&(l=`${l.slice(0,wn)}`),a+=l,i.length&&(a+=`${ue.delimiter}facts=`,a+=JSON.stringify(i,ro)),Rn.has(a)||(Rn.add(a),window.lana?.log(a,ue))}};function at(e){Object.assign(ue,Object.fromEntries(Object.entries(e).filter(([t,r])=>t in ue&&r!==""&&r!==null&&r!==void 0&&!Number.isNaN(r))))}var g=Object.freeze({checkoutClientId:"adobe_com",checkoutWorkflow:K.V3,checkoutWorkflowStep:Y.EMAIL,country:"US",displayOldPrice:!0,displayPerUnit:!1,displayRecurrence:!0,displayTax:!1,env:le.PRODUCTION,forceTaxExclusive:!1,language:"en",entitlement:!1,extraOptions:{},modal:!1,promotionCode:"",quantity:1,wcsApiKey:"wcms-commerce-ims-ro-user-milo",wcsBufferDelay:1,wcsURL:"https://www.adobe.com/web_commerce_artifact",landscape:ce.PUBLISHED,wcsBufferLimit:1});var br=Object.freeze({LOCAL:"local",PROD:"prod",STAGE:"stage"});function no({locale:e=void 0,country:t=void 0,language:r=void 0}={}){return r??(r=e?.split("_")?.[0]||g.language),t??(t=e?.split("_")?.[1]||g.country),e??(e=`${r}_${t}`),{locale:e,country:t,language:r}}function xr(e={}){let{commerce:t={}}=e,r=le.PRODUCTION,n=Ar,i=N("checkoutClientId",t)??g.checkoutClientId,a=ee(N("checkoutWorkflow",t),K,g.checkoutWorkflow),o=Y.CHECKOUT;a===K.V3&&(o=ee(N("checkoutWorkflowStep",t),Y,g.checkoutWorkflowStep));let s=x(N("displayOldPrice",t),g.displayOldPrice),l=x(N("displayPerUnit",t),g.displayPerUnit),c=x(N("displayRecurrence",t),g.displayRecurrence),u=x(N("displayTax",t),g.displayTax),h=x(N("entitlement",t),g.entitlement),f=x(N("modal",t),g.modal),p=x(N("forceTaxExclusive",t),g.forceTaxExclusive),m=N("promotionCode",t)??g.promotionCode,T=ge(N("quantity",t)),v=N("wcsApiKey",t)??g.wcsApiKey,P=t?.env==="stage",A=ce.PUBLISHED;["true",""].includes(t.allowOverride)&&(P=(N(mr,t,{metadata:!1})?.toLowerCase()??t?.env)==="stage",A=ee(N(Tr,t),ce,A)),P&&(r=le.STAGE,n=Er);let I=be(N("wcsBufferDelay",t),g.wcsBufferDelay),C=be(N("wcsBufferLimit",t),g.wcsBufferLimit);return{...no(e),displayOldPrice:s,checkoutClientId:i,checkoutWorkflow:a,checkoutWorkflowStep:o,displayPerUnit:l,displayRecurrence:c,displayTax:u,entitlement:h,extraOptions:g.extraOptions,modal:f,env:r,forceTaxExclusive:p,promotionCode:m,quantity:T,wcsApiKey:v,wcsBufferDelay:I,wcsBufferLimit:C,wcsURL:n,landscape:A}}var gr={DEBUG:"debug",ERROR:"error",INFO:"info",WARN:"warn"},io=Date.now(),Lr=new Set,vr=new Set,Hn=new Map,Dn={append({level:e,message:t,params:r,timestamp:n,source:i}){console[e](`${n}ms [${i}] %c${t}`,"font-weight: bold;",...r)}},Un={filter:({level:e})=>e!==gr.DEBUG},ao={filter:()=>!1};function oo(e,t,r,n,i){return{level:e,message:t,namespace:r,get params(){return n.length===1&&Pe(n[0])&&(n=n[0](),Array.isArray(n)||(n=[n])),n},source:i,timestamp:Date.now()-io}}function so(e){[...vr].every(t=>t(e))&&Lr.forEach(t=>t(e))}function Mn(e){let t=(Hn.get(e)??0)+1;Hn.set(e,t);let r=`${e} #${t}`,n={id:r,namespace:e,module:i=>Mn(`${n.namespace}/${i}`),updateConfig:at};return Object.values(gr).forEach(i=>{n[i]=(a,...o)=>so(oo(i,a,e,o,r))}),Object.seal(n)}function ot(...e){e.forEach(t=>{let{append:r,filter:n}=t;Pe(n)&&vr.add(n),Pe(r)&&Lr.add(r)})}function lo(e={}){let{name:t}=e,r=x(N("commerce.debug",{search:!0,storage:!0}),t===br.LOCAL);return ot(r?Dn:Un),t===br.PROD&&ot(Sr),D}function co(){Lr.clear(),vr.clear()}var D={...Mn(pr),Level:gr,Plugins:{consoleAppender:Dn,debugFilter:Un,quietFilter:ao,lanaAppender:Sr},init:lo,reset:co,use:ot};var uo={[q]:or,[Z]:sr,[J]:lr},ho={[q]:ur,[Z]:hr,[J]:fr},Le=class{constructor(t){L(this,"changes",new Map);L(this,"connected",!1);L(this,"dispose",Ee);L(this,"error");L(this,"log");L(this,"options");L(this,"promises",[]);L(this,"state",Z);L(this,"timer",null);L(this,"value");L(this,"version",0);L(this,"wrapperElement");this.wrapperElement=t}update(){[q,Z,J].forEach(t=>{this.wrapperElement.classList.toggle(uo[t],t===this.state)})}notify(){(this.state===J||this.state===q)&&(this.state===J?this.promises.forEach(({resolve:t})=>t(this.wrapperElement)):this.state===q&&this.promises.forEach(({reject:t})=>t(this.error)),this.promises=[]),this.wrapperElement.dispatchEvent(new CustomEvent(ho[this.state],{bubbles:!0}))}attributeChangedCallback(t,r,n){this.changes.set(t,n),this.requestUpdate()}connectedCallback(){this.dispose=On(()=>this.requestUpdate(!0))}disconnectedCallback(){this.connected&&(this.connected=!1,this.log?.debug("Disconnected:",{element:this.wrapperElement})),this.dispose(),this.dispose=Ee}onceSettled(){let{error:t,promises:r,state:n}=this;return J===n?Promise.resolve(this.wrapperElement):q===n?Promise.reject(t):new Promise((i,a)=>{r.push({resolve:i,reject:a})})}toggleResolved(t,r,n){return t!==this.version?!1:(n!==void 0&&(this.options=n),this.state=J,this.value=r,this.update(),this.log?.debug("Resolved:",{element:this.wrapperElement,value:r}),te(()=>this.notify()),!0)}toggleFailed(t,r,n){return t!==this.version?!1:(n!==void 0&&(this.options=n),this.error=r,this.state=q,this.update(),this.log?.error("Failed:",{element:this.wrapperElement,error:r}),te(()=>this.notify()),!0)}togglePending(t){return this.version++,t&&(this.options=t),this.state=Z,this.update(),te(()=>this.notify()),this.version}requestUpdate(t=!1){if(!this.wrapperElement.isConnected||!M()||this.timer)return;let r=D.module("mas-element"),{error:n,options:i,state:a,value:o,version:s}=this;this.state=Z,this.timer=te(async()=>{this.timer=null;let l=null;if(this.changes.size&&(l=Object.fromEntries(this.changes.entries()),this.changes.clear()),this.connected?this.log?.debug("Updated:",{element:this.wrapperElement,changes:l}):(this.connected=!0,this.log?.debug("Connected:",{element:this.wrapperElement,changes:l})),l||t)try{await this.wrapperElement.render?.()===!1&&this.state===Z&&this.version===s&&(this.state=a,this.error=n,this.value=o,this.update(),this.notify())}catch(c){r.error("Failed to render mas-element: ",c),this.toggleFailed(this.version,c,i)}})}};function Gn(e={}){return Object.entries(e).forEach(([t,r])=>{(r==null||r===""||r?.length===0)&&delete e[t]}),e}function st(e,t={}){let{tag:r,is:n}=e,i=document.createElement(r,{is:n});return i.setAttribute("is",n),Object.assign(i.dataset,Gn(t)),i}function lt(e,t={}){return e instanceof HTMLElement?(Object.assign(e.dataset,Gn(t)),e):null}var fo="download",po="upgrade";function ct(e,t={},r=""){let n=M();if(!n)return null;let{checkoutMarketSegment:i,checkoutWorkflow:a,checkoutWorkflowStep:o,entitlement:s,upgrade:l,modal:c,perpetual:u,promotionCode:h,quantity:f,wcsOsi:p,extraOptions:m}=n.collectCheckoutOptions(t),T=st(e,{checkoutMarketSegment:i,checkoutWorkflow:a,checkoutWorkflowStep:o,entitlement:s,upgrade:l,modal:c,perpetual:u,promotionCode:h,quantity:f,wcsOsi:p,extraOptions:m});return r&&(T.innerHTML=`${r}`),T}function ut(e){return class extends e{constructor(){super(...arguments);L(this,"checkoutActionHandler");L(this,"masElement",new Le(this))}attributeChangedCallback(n,i,a){this.masElement.attributeChangedCallback(n,i,a)}connectedCallback(){this.masElement.connectedCallback(),this.addEventListener("click",this.clickHandler)}disconnectedCallback(){this.masElement.disconnectedCallback(),this.removeEventListener("click",this.clickHandler)}onceSettled(){return this.masElement.onceSettled()}get value(){return this.masElement.value}get options(){return this.masElement.options}requestUpdate(n=!1){return this.masElement.requestUpdate(n)}static get observedAttributes(){return["data-checkout-workflow","data-checkout-workflow-step","data-extra-options","data-ims-country","data-perpetual","data-promotion-code","data-quantity","data-template","data-wcs-osi","data-entitlement","data-upgrade","data-modal"]}async render(n={}){if(!this.isConnected)return!1;let i=M();if(!i)return!1;this.dataset.imsCountry||i.imsCountryPromise.then(h=>{h&&(this.dataset.imsCountry=h)},Ee),n.imsCountry=null;let a=i.collectCheckoutOptions(n,this);if(!a.wcsOsi.length)return!1;let o;try{o=JSON.parse(a.extraOptions??"{}")}catch(h){this.masElement.log?.error("cannot parse exta checkout options",h)}let s=this.masElement.togglePending(a);this.setCheckoutUrl("");let l=i.resolveOfferSelectors(a),c=await Promise.all(l);c=c.map(h=>He(h,a)),a.country=this.dataset.imsCountry||a.country;let u=await i.buildCheckoutAction?.(c.flat(),{...o,...a},this);return this.renderOffers(c.flat(),a,{},u,s)}renderOffers(n,i,a={},o=void 0,s=void 0){if(!this.isConnected)return!1;let l=M();if(!l)return!1;if(i={...JSON.parse(this.dataset.extraOptions??"null"),...i,...a},s??(s=this.masElement.togglePending(i)),this.checkoutActionHandler&&(this.checkoutActionHandler=void 0),o){this.classList.remove(fo,po),this.masElement.toggleResolved(s,n,i);let{url:u,text:h,className:f,handler:p}=o;return u&&this.setCheckoutUrl(u),h&&(this.firstElementChild.innerHTML=h),f&&this.classList.add(...f.split(" ")),p&&(this.setCheckoutUrl("#"),this.checkoutActionHandler=p.bind(this)),!0}else if(n.length){if(this.masElement.toggleResolved(s,n,i)){let u=l.buildCheckoutURL(n,i);return this.setCheckoutUrl(u),!0}}else{let u=new Error(`Not provided: ${i?.wcsOsi??"-"}`);if(this.masElement.toggleFailed(s,u,i))return this.setCheckoutUrl("#"),!0}}setCheckoutUrl(){}clickHandler(n){}updateOptions(n={}){let i=M();if(!i)return!1;let{checkoutMarketSegment:a,checkoutWorkflow:o,checkoutWorkflowStep:s,entitlement:l,upgrade:c,modal:u,perpetual:h,promotionCode:f,quantity:p,wcsOsi:m}=i.collectCheckoutOptions(n);return lt(this,{checkoutMarketSegment:a,checkoutWorkflow:o,checkoutWorkflowStep:s,entitlement:l,upgrade:c,modal:u,perpetual:h,promotionCode:f,quantity:p,wcsOsi:m}),!0}}}var De=class De extends ut(HTMLAnchorElement){static createCheckoutLink(t={},r=""){return ct(De,t,r)}setCheckoutUrl(t){this.setAttribute("href",t)}get isCheckoutLink(){return!0}clickHandler(t){if(this.checkoutActionHandler){this.checkoutActionHandler?.(t);return}}};L(De,"is","checkout-link"),L(De,"tag","a");var X=De;window.customElements.get(X.is)||window.customElements.define(X.is,X,{extends:X.tag});var Ue=class Ue extends ut(HTMLButtonElement){static createCheckoutButton(t={},r=""){return ct(Ue,t,r)}setCheckoutUrl(t){this.setAttribute("data-href",t)}get href(){return this.getAttribute("data-href")}get isCheckoutButton(){return!0}clickHandler(t){if(this.checkoutActionHandler){this.checkoutActionHandler?.(t);return}this.href&&(window.location.href=this.href)}};L(Ue,"is","checkout-button"),L(Ue,"tag","button");var he=Ue;window.customElements.get(he.is)||window.customElements.define(he.is,he,{extends:he.tag});function Bn({providers:e,settings:t}){function r(a,o){let{checkoutClientId:s,checkoutWorkflow:l,checkoutWorkflowStep:c,country:u,language:h,promotionCode:f,quantity:p}=t,{checkoutMarketSegment:m,checkoutWorkflow:T=l,checkoutWorkflowStep:v=c,imsCountry:P,country:A=P??u,language:b=h,quantity:I=p,entitlement:C,upgrade:V,modal:O,perpetual:j,promotionCode:fe=f,wcsOsi:re,extraOptions:pe,...B}=Object.assign({},o?.dataset??{},a??{}),Q=ee(T,K,g.checkoutWorkflow),z=Y.CHECKOUT;Q===K.V3&&(z=ee(v,Y,g.checkoutWorkflowStep));let F=Se({...B,extraOptions:pe,checkoutClientId:s,checkoutMarketSegment:m,country:A,quantity:ge(I,g.quantity),checkoutWorkflow:Q,checkoutWorkflowStep:z,language:b,entitlement:x(C),upgrade:x(V),modal:x(O),perpetual:x(j),promotionCode:Ie(fe).effectivePromoCode,wcsOsi:it(re)});if(o)for(let ne of e.checkout)ne(o,F);return F}function n(a,o){if(!Array.isArray(a)||!a.length||!o)return"";let{env:s,landscape:l}=t,{checkoutClientId:c,checkoutMarketSegment:u,checkoutWorkflow:h,checkoutWorkflowStep:f,country:p,promotionCode:m,quantity:T,...v}=r(o),P=window.frameElement?"if":"fp",A={checkoutPromoCode:m,clientId:c,context:P,country:p,env:s,items:[],marketSegment:u,workflowStep:f,landscape:l,...v};if(a.length===1){let[{offerId:b,offerType:I,productArrangementCode:C}]=a,{marketSegments:[V]}=a[0];Object.assign(A,{marketSegment:V,offerType:I,productArrangementCode:C}),A.items.push(T[0]===1?{id:b}:{id:b,quantity:T[0]})}else A.items.push(...a.map(({offerId:b},I)=>({id:b,quantity:T[I]??g.quantity})));return St(h,A)}let{createCheckoutLink:i}=X;return{CheckoutLink:X,CheckoutWorkflow:K,CheckoutWorkflowStep:Y,buildCheckoutURL:n,collectCheckoutOptions:r,createCheckoutLink:i}}function mo({interval:e=200,maxAttempts:t=25}={}){let r=D.module("ims");return new Promise(n=>{r.debug("Waing for IMS to be ready");let i=0;function a(){window.adobeIMS?.initialized?n():++i>t?(r.debug("Timeout"),n()):setTimeout(a,e)}a()})}function To(e){return e.then(()=>window.adobeIMS?.isSignedInUser()??!1)}function Ao(e){let t=D.module("ims");return e.then(r=>r?window.adobeIMS.getProfile().then(({countryCode:n})=>(t.debug("Got user country:",n),n),n=>{t.error("Unable to get user country:",n)}):null)}function Fn({}){let e=mo(),t=To(e),r=Ao(t);return{imsReadyPromise:e,imsSignedInPromise:t,imsCountryPromise:r}}async function Yn(e,t){let{data:r}=t||await Promise.resolve().then(()=>ci(Kn(),1));if(Array.isArray(r)){let n=a=>r.find(o=>Ke(o.lang,a)),i=n(e.language)??n(g.language);if(i)return Object.freeze(i)}return{}}var Xn=["GB_en","AU_en","FR_fr","AT_de","BE_en","BE_fr","BE_nl","BG_bg","CH_de","CH_fr","CH_it","CZ_cs","DE_de","DK_da","EE_et","EG_ar","EG_en","ES_es","FI_fi","FR_fr","GR_el","GR_en","HU_hu","IE_en","IT_it","LU_de","LU_en","LU_fr","NL_nl","NO_nb","PL_pl","PT_pt","RO_ro","SE_sv","SI_sl","SK_sk","TR_tr","UA_uk","ID_en","ID_in","IN_en","IN_hi","JP_ja","MY_en","MY_ms","NZ_en","TH_en","TH_th"],So={INDIVIDUAL_COM:["ZA_en","LT_lt","LV_lv","NG_en","SA_ar","SA_en","ZA_en","SG_en","KR_ko"],TEAM_COM:["ZA_en","LT_lt","LV_lv","NG_en","ZA_en","CO_es","KR_ko"],INDIVIDUAL_EDU:["LT_lt","LV_lv","SA_en","SG_en"],TEAM_EDU:["SG_en","KR_ko"]},Me=class Me extends HTMLSpanElement{constructor(){super();L(this,"masElement",new Le(this));this.handleClick=this.handleClick.bind(this)}static get observedAttributes(){return["data-display-old-price","data-display-per-unit","data-display-recurrence","data-display-tax","data-perpetual","data-promotion-code","data-tax-exclusive","data-template","data-wcs-osi"]}static createInlinePrice(r){let n=M();if(!n)return null;let{displayOldPrice:i,displayPerUnit:a,displayRecurrence:o,displayTax:s,forceTaxExclusive:l,perpetual:c,promotionCode:u,quantity:h,template:f,wcsOsi:p}=n.collectPriceOptions(r);return st(Me,{displayOldPrice:i,displayPerUnit:a,displayRecurrence:o,displayTax:s,forceTaxExclusive:l,perpetual:c,promotionCode:u,quantity:h,template:f,wcsOsi:p})}get isInlinePrice(){return!0}attributeChangedCallback(r,n,i){this.masElement.attributeChangedCallback(r,n,i)}connectedCallback(){this.masElement.connectedCallback(),this.addEventListener("click",this.handleClick)}disconnectedCallback(){this.masElement.disconnectedCallback(),this.removeEventListener("click",this.handleClick)}handleClick(r){r.target!==this&&(r.stopImmediatePropagation(),this.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window})))}onceSettled(){return this.masElement.onceSettled()}get value(){return this.masElement.value}get options(){return this.masElement.options}requestUpdate(r=!1){return this.masElement.requestUpdate(r)}resolveDisplayTaxForGeoAndSegment(r,n,i,a){let o=`${r}_${n}`;if(Xn.includes(r)||Xn.includes(o))return!0;let s=So[`${i}_${a}`];return s?!!(s.includes(r)||s.includes(o)):!1}async resolveDisplayTax(r,n){let[i]=await r.resolveOfferSelectors(n),a=He(await i,n);if(a?.length){let{country:o,language:s}=n,l=a[0],[c=""]=l.marketSegments;return this.resolveDisplayTaxForGeoAndSegment(o,s,l.customerSegment,c)}}async render(r={}){if(!this.isConnected)return!1;let n=M();if(!n)return!1;let i=n.collectPriceOptions(r,this);if(!i.wcsOsi.length)return!1;let a=this.masElement.togglePending(i);this.innerHTML="";let[o]=n.resolveOfferSelectors(i);return this.renderOffers(He(await o,i),i,a)}renderOffers(r,n={},i=void 0){if(!this.isConnected)return;let a=M();if(!a)return!1;let o=a.collectPriceOptions({...this.dataset,...n},this);if(i??(i=this.masElement.togglePending(o)),r.length){if(this.masElement.toggleResolved(i,r,o))return this.innerHTML=a.buildPriceHTML(r,o),!0}else{let s=new Error(`Not provided: ${o?.wcsOsi??"-"}`);if(this.masElement.toggleFailed(i,s,o))return this.innerHTML="",!0}return!1}updateOptions(r){let n=M();if(!n)return!1;let{displayOldPrice:i,displayPerUnit:a,displayRecurrence:o,displayTax:s,forceTaxExclusive:l,perpetual:c,promotionCode:u,quantity:h,template:f,wcsOsi:p}=n.collectPriceOptions(r);return lt(this,{displayOldPrice:i,displayPerUnit:a,displayRecurrence:o,displayTax:s,forceTaxExclusive:l,perpetual:c,promotionCode:u,quantity:h,template:f,wcsOsi:p}),!0}};L(Me,"is","inline-price"),L(Me,"tag","span");var W=Me;window.customElements.get(W.is)||window.customElements.define(W.is,W,{extends:W.tag});function Wn({literals:e,providers:t,settings:r}){function n(o,s){let{country:l,displayOldPrice:c,displayPerUnit:u,displayRecurrence:h,displayTax:f,forceTaxExclusive:p,language:m,promotionCode:T,quantity:v}=r,{displayOldPrice:P=c,displayPerUnit:A=u,displayRecurrence:b=h,displayTax:I=f,forceTaxExclusive:C=p,country:V=l,language:O=m,perpetual:j,promotionCode:fe=T,quantity:re=v,template:pe,wcsOsi:B,...Q}=Object.assign({},s?.dataset??{},o??{}),z=Se({...Q,country:V,displayOldPrice:x(P),displayPerUnit:x(A),displayRecurrence:x(b),displayTax:x(I),forceTaxExclusive:x(C),language:O,perpetual:x(j),promotionCode:Ie(fe).effectivePromoCode,quantity:ge(re,g.quantity),template:pe,wcsOsi:it(B)});if(s)for(let F of t.price)F(s,z);return z}function i(o,s){if(!Array.isArray(o)||!o.length||!s)return"";let{template:l}=s,c;switch(l){case"discount":c=rr;break;case"strikethrough":c=Jt;break;case"optical":c=Zt;break;case"annual":c=Qt;break;default:s.country==="AU"&&o[0].planType==="ABM"?c=s.promotionCode?tr:er:c=s.promotionCode?qt:$t}let u=n(s);u.literals=Object.assign({},e.price,Se(s.literals??{}));let[h]=o;return h={...h,...h.priceDetails},c(u,h)}let a=W.createInlinePrice;return{InlinePrice:W,buildPriceHTML:i,collectPriceOptions:n,createInlinePrice:a}}function jn({settings:e}){let t=D.module("wcs"),{env:r,wcsApiKey:n}=e,i=new Map,a=new Map,o;async function s(h,f,p=!0){let m=cr;t.debug("Fetching:",h);let T="",v,P=(A,b,I)=>`${A}: ${b?.status}, url: ${I.toString()}`;try{if(h.offerSelectorIds=h.offerSelectorIds.sort(),T=new URL(e.wcsURL),T.searchParams.set("offer_selector_ids",h.offerSelectorIds.join(",")),T.searchParams.set("country",h.country),T.searchParams.set("locale",h.locale),T.searchParams.set("landscape",r===le.STAGE?"ALL":e.landscape),T.searchParams.set("api_key",n),h.language&&T.searchParams.set("language",h.language),h.promotionCode&&T.searchParams.set("promotion_code",h.promotionCode),h.currency&&T.searchParams.set("currency",h.currency),v=await fetch(T.toString(),{credentials:"omit"}),v.ok){let A=await v.json();t.debug("Fetched:",h,A);let b=A.resolvedOffers??[];b=b.map(We),f.forEach(({resolve:I},C)=>{let V=b.filter(({offerSelectorIds:O})=>O.includes(C)).flat();V.length&&(f.delete(C),I(V))})}else v.status===404&&h.offerSelectorIds.length>1?(t.debug("Multi-osi 404, fallback to fetch-by-one strategy"),await Promise.allSettled(h.offerSelectorIds.map(A=>s({...h,offerSelectorIds:[A]},f,!1)))):m=nt}catch(A){m=nt,t.error(m,h,A)}p&&f.size&&(t.debug("Missing:",{offerSelectorIds:[...f.keys()]}),f.forEach(A=>{A.reject(new Error(P(m,v,T)))}))}function l(){clearTimeout(o);let h=[...a.values()];a.clear(),h.forEach(({options:f,promises:p})=>s(f,p))}function c(){let h=i.size;i.clear(),t.debug(`Flushed ${h} cache entries`)}function u({country:h,language:f,perpetual:p=!1,promotionCode:m="",wcsOsi:T=[]}){let v=`${f}_${h}`;h!=="GB"&&(f=p?"EN":"MULT");let P=[h,f,m].filter(A=>A).join("-").toLowerCase();return T.map(A=>{let b=`${A}-${P}`;if(!i.has(b)){let I=new Promise((C,V)=>{let O=a.get(P);if(!O){let j={country:h,locale:v,offerSelectorIds:[]};h!=="GB"&&(j.language=f),O={options:j,promises:new Map},a.set(P,O)}m&&(O.options.promotionCode=m),O.options.offerSelectorIds.push(A),O.promises.set(A,{resolve:C,reject:V}),O.options.offerSelectorIds.length>=e.wcsBufferLimit?l():(t.debug("Queued:",O.options),o||(o=setTimeout(l,e.wcsBufferDelay)))});i.set(b,I)}return i.get(b)})}return{WcsCommitment:nr,WcsPlanType:ir,WcsTerm:ar,resolveOfferSelectors:u,flushWcsCache:c}}var yr="mas-commerce-service",bo="mas:start",xo="mas:ready",ft,zn,ht=class extends HTMLElement{constructor(){super(...arguments);Cr(this,ft);L(this,"promise",null)}async registerCheckoutAction(r){typeof r=="function"&&(this.buildCheckoutAction=async(n,i,a)=>{let o=await r?.(n,i,this.imsSignedInPromise,a);return o||null})}async activate(){let r=Nr(this,ft,zn),n=Object.freeze(xr(r));at(r.lana);let i=D.init(r.hostEnv).module("service");i.debug("Activating:",r);let a={price:{}};try{a.price=await Yn(n,r.commerce.priceLiterals)}catch{}let o={checkout:new Set,price:new Set},s={literals:a,providers:o,settings:n};Object.defineProperties(this,Object.getOwnPropertyDescriptors({...Bn(s),...Fn(s),...Wn(s),...jn(s),...dr,Log:D,get defaults(){return g},get log(){return D},get providers(){return{checkout(l){return o.checkout.add(l),()=>o.checkout.delete(l)},price(l){return o.price.add(l),()=>o.price.delete(l)}}},get settings(){return n}})),i.debug("Activated:",{literals:a,settings:n}),te(()=>{let l=new CustomEvent(xe,{bubbles:!0,cancelable:!1,detail:this});performance.mark(xo),this.dispatchEvent(l)})}connectedCallback(){this.readyPromise||(performance.mark(bo),this.readyPromise=this.activate())}disconnectedCallback(){this.readyPromise=null}flushWcsCache(){this.flushWcsCache(),this.log.debug("Flushed WCS cache")}refreshOffers(){this.flushWcsCache(),document.querySelectorAll('span[is="inline-price"],a[is="checkout-link"]').forEach(r=>r.requestUpdate(!0)),this.log.debug("Refreshed WCS offers")}refreshFragments(){this.flushWcsCache(),document.querySelectorAll("aem-fragment").forEach(r=>r.refresh()),this.log.debug("Refreshed AEM fragments")}};ft=new WeakSet,zn=function(){let r={hostEnv:{name:this.getAttribute("host-env")??"prod"},commerce:{env:this.getAttribute("env")},lana:{tags:this.getAttribute("lana-tags"),sampleRate:parseInt(this.getAttribute("lana-sample-rate"),10),isProdDomain:this.getAttribute("host-env")==="prod"}};return["locale","country","language"].forEach(n=>{let i=this.getAttribute(n);i&&(r[n]=i)}),["checkout-workflow-step","force-tax-exclusive","checkout-client-id","allow-override","wcs-api-key"].forEach(n=>{let i=this.getAttribute(n);if(i!=null){let a=n.replace(/-([a-z])/g,o=>o[1].toUpperCase());r.commerce[a]=i}}),r},L(ht,"instance");window.customElements.get(yr)||window.customElements.define(yr,ht);export{he as CheckoutButton,X as CheckoutLink,K as CheckoutWorkflow,Y as CheckoutWorkflowStep,g as Defaults,W as InlinePrice,ce as Landscape,D as Log,yr as TAG_NAME_SERVICE,nr as WcsCommitment,ir as WcsPlanType,ar as WcsTerm,We as applyPlanType,xr as getSettings}; +`,ae.MISSING_INTL_API,o);var I=r.getPluralRules(t,{type:u.pluralType}).select(f-(u.offset||0));b=u.options[I]||u.options.other}if(!b)throw new Xt(u.value,f,Object.keys(u.options),o);s.push.apply(s,we(b.value,t,r,n,i,f-(u.offset||0)));continue}}return oa(s)}function la(e,t){return t?d(d(d({},e||{}),t||{}),Object.keys(e).reduce(function(r,n){return r[n]=d(d({},e[n]),t[n]||{}),r},{})):e}function ca(e,t){return t?Object.keys(e).reduce(function(r,n){return r[n]=la(e[n],t[n]),r},d({},e)):e}function Wt(e){return{create:function(){return{get:function(t){return e[t]},set:function(t,r){e[t]=r}}}}}function ua(e){return e===void 0&&(e={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:Ve(function(){for(var t,r=[],n=0;n0?new Intl.Locale(r[0]):new Intl.Locale(typeof t=="string"?t:t[0])},e.__parse=ln,e.formats={number:{integer:{maximumFractionDigits:0},currency:{style:"currency"},percent:{style:"percent"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}},e}();var mn=pn;var ha=/[0-9\-+#]/,fa=/[^\d\-+#]/g;function Tn(e){return e.search(ha)}function pa(e="#.##"){let t={},r=e.length,n=Tn(e);t.prefix=n>0?e.substring(0,n):"";let i=Tn(e.split("").reverse().join("")),a=r-i,o=e.substring(a,a+1),s=a+(o==="."||o===","?1:0);t.suffix=i>0?e.substring(s,r):"",t.mask=e.substring(n,s),t.maskHasNegativeSign=t.mask.charAt(0)==="-",t.maskHasPositiveSign=t.mask.charAt(0)==="+";let l=t.mask.match(fa);return t.decimal=l&&l[l.length-1]||".",t.separator=l&&l[1]&&l[0]||",",l=t.mask.split(t.decimal),t.integer=l[0],t.fraction=l[1],t}function ma(e,t,r){let n=!1,i={value:e};e<0&&(n=!0,i.value=-i.value),i.sign=n?"-":"",i.value=Number(i.value).toFixed(t.fraction&&t.fraction.length),i.value=Number(i.value).toString();let a=t.fraction&&t.fraction.lastIndexOf("0"),[o="0",s=""]=i.value.split(".");return(!s||s&&s.length<=a)&&(s=a<0?"":(+("0."+s)).toFixed(a+1).replace("0.","")),i.integer=o,i.fraction=s,Ta(i,t),(i.result==="0"||i.result==="")&&(n=!1,i.sign=""),!n&&t.maskHasPositiveSign?i.sign="+":n&&t.maskHasPositiveSign?i.sign="-":n&&(i.sign=r&&r.enforceMaskSign&&!t.maskHasNegativeSign?"":"-"),i}function Ta(e,t){e.result="";let r=t.integer.split(t.separator),n=r.join(""),i=n&&n.indexOf("0");if(i>-1)for(;e.integer.length({accept:e,round:t}),Sa=[jt(({divisor:e,price:t})=>t%e==0,({divisor:e,price:t})=>t/e),jt(({usePrecision:e})=>e,({divisor:e,price:t})=>Math.round(t/e*100)/100),jt(()=>!0,({divisor:e,price:t})=>Math.ceil(Math.floor(t*100/e)/100))],zt={[w.YEAR]:{[_.MONTHLY]:Re.MONTH,[_.ANNUAL]:Re.YEAR},[w.MONTH]:{[_.MONTHLY]:Re.MONTH}},ba=(e,t)=>e.indexOf(`'${t}'`)===0,xa=(e,t=!0)=>{let r=e.replace(/'.*?'/,"").trim(),n=gn(r);return!!n?t||(r=r.replace(/[,\.]0+/,n)):r=r.replace(/\s?(#.*0)(?!\s)?/,"$&"+La(e)),r},ga=e=>{let t=va(e),r=ba(e,t),n=e.replace(/'.*?'/,""),i=Sn.test(n)||bn.test(n);return{currencySymbol:t,isCurrencyFirst:r,hasCurrencySpace:i}},xn=e=>e.replace(Sn,dn).replace(bn,dn),La=e=>e.match(/#(.?)#/)?.[1]===En?Ea:En,va=e=>e.match(/'(.*?)'/)?.[1]??"",gn=e=>e.match(/0(.?)0/)?.[1]??"";function rt({formatString:e,price:t,usePrecision:r,isIndianPrice:n=!1},i,a=o=>o){let{currencySymbol:o,isCurrencyFirst:s,hasCurrencySpace:l}=ga(e),c=r?gn(e):"",u=xa(e,r),h=r?2:0,f=a(t,{currencySymbol:o}),p=n?f.toLocaleString("hi-IN",{minimumFractionDigits:h,maximumFractionDigits:h}):An(u,f),m=r?p.lastIndexOf(c):p.length,T=p.substring(0,m),v=p.substring(m+1);return{accessiblePrice:e.replace(/'.*?'/,"SYMBOL").replace(/#.*0/,p).replace(/SYMBOL/,o),currencySymbol:o,decimals:v,decimalsDelimiter:c,hasCurrencySpace:l,integer:T,isCurrencyFirst:s,recurrenceTerm:i}}var Ln=e=>{let{commitment:t,term:r,usePrecision:n}=e,i=da[r]??1;return rt(e,i>1?Re.MONTH:zt[t]?.[r],a=>{let o={divisor:i,price:a,usePrecision:n},{round:s}=Sa.find(({accept:l})=>l(o));if(!s)throw new Error(`Missing rounding rule for: ${JSON.stringify(o)}`);return s(o)})},vn=({commitment:e,term:t,...r})=>rt(r,zt[e]?.[t]),yn=e=>{let{commitment:t,term:r}=e;return t===w.YEAR&&r===_.MONTHLY?rt(e,Re.YEAR,n=>n*12):rt(e,zt[t]?.[r])};var ya={recurrenceLabel:"{recurrenceTerm, select, MONTH {/mo} YEAR {/yr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per month} YEAR {per year} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per license} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per license} other {}}",freeLabel:"Free",freeAriaLabel:"Free",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternatively at {alternativePrice}",strikethroughAriaLabel:"Regularly at {strikethroughPrice}"},Pa=Dr("ConsonantTemplates/price"),Ia=/<\/?[^>]+(>|$)/g,R={container:"price",containerOptical:"price-optical",containerStrikethrough:"price-strikethrough",containerAnnual:"price-annual",containerAnnualPrefix:"price-annual-prefix",containerAnnualSuffix:"price-annual-suffix",disabled:"disabled",currencySpace:"price-currency-space",currencySymbol:"price-currency-symbol",decimals:"price-decimals",decimalsDelimiter:"price-decimals-delimiter",integer:"price-integer",recurrence:"price-recurrence",taxInclusivity:"price-tax-inclusivity",unitType:"price-unit-type"},oe={perUnitLabel:"perUnitLabel",perUnitAriaLabel:"perUnitAriaLabel",recurrenceLabel:"recurrenceLabel",recurrenceAriaLabel:"recurrenceAriaLabel",taxExclusiveLabel:"taxExclusiveLabel",taxInclusiveLabel:"taxInclusiveLabel",strikethroughAriaLabel:"strikethroughAriaLabel"},_a="TAX_EXCLUSIVE",Na=e=>Hr(e)?Object.entries(e).filter(([,t])=>Ae(t)||Ye(t)||t===!0).reduce((t,[r,n])=>t+` ${r}${n===!0?"":'="'+Rr(n)+'"'}`,""):"",H=(e,t,r,n=!1)=>`${n?xn(t):t??""}`;function Ca(e,{accessibleLabel:t,currencySymbol:r,decimals:n,decimalsDelimiter:i,hasCurrencySpace:a,integer:o,isCurrencyFirst:s,recurrenceLabel:l,perUnitLabel:c,taxInclusivityLabel:u},h={}){let f=H(R.currencySymbol,r),p=H(R.currencySpace,a?" ":""),m="";return s&&(m+=f+p),m+=H(R.integer,o),m+=H(R.decimalsDelimiter,i),m+=H(R.decimals,n),s||(m+=p+f),m+=H(R.recurrence,l,null,!0),m+=H(R.unitType,c,null,!0),m+=H(R.taxInclusivity,u,!0),H(e,m,{...h,"aria-label":t})}var U=({displayOptical:e=!1,displayStrikethrough:t=!1,displayAnnual:r=!1}={})=>({country:n,displayFormatted:i=!0,displayRecurrence:a=!0,displayPerUnit:o=!1,displayTax:s=!1,language:l,literals:c={}}={},{commitment:u,offerSelectorIds:h,formatString:f,price:p,priceWithoutDiscount:m,taxDisplay:T,taxTerm:v,term:P,usePrecision:A}={},b={})=>{Object.entries({country:n,formatString:f,language:l,price:p}).forEach(([$,pt])=>{if(pt==null)throw new Error(`Argument "${$}" is missing for osi ${h?.toString()}, country ${n}, language ${l}`)});let I={...ya,...c},C=`${l.toLowerCase()}-${n.toUpperCase()}`;function V($,pt){let mt=I[$];if(mt==null)return"";try{return new mn(mt.replace(Ia,""),C).format(pt)}catch{return Pa.error("Failed to format literal:",mt),""}}let O=t&&m?m:p,j=e?Ln:vn;r&&(j=yn);let{accessiblePrice:fe,recurrenceTerm:te,...pe}=j({commitment:u,formatString:f,term:P,price:e?p:O,usePrecision:A,isIndianPrice:n==="IN"}),B=fe,J="";if(x(a)&&te){let $=V(oe.recurrenceAriaLabel,{recurrenceTerm:te});$&&(B+=" "+$),J=V(oe.recurrenceLabel,{recurrenceTerm:te})}let z="";if(x(o)){z=V(oe.perUnitLabel,{perUnit:"LICENSE"});let $=V(oe.perUnitAriaLabel,{perUnit:"LICENSE"});$&&(B+=" "+$)}let F="";x(s)&&v&&(F=V(T===_a?oe.taxExclusiveLabel:oe.taxInclusiveLabel,{taxTerm:v}),F&&(B+=" "+F)),t&&(B=V(oe.strikethroughAriaLabel,{strikethroughPrice:B}));let re=R.container;if(e&&(re+=" "+R.containerOptical),t&&(re+=" "+R.containerStrikethrough),r&&(re+=" "+R.containerAnnual),x(i))return Ca(re,{...pe,accessibleLabel:B,recurrenceLabel:J,perUnitLabel:z,taxInclusivityLabel:F},b);let{currencySymbol:yr,decimals:zn,decimalsDelimiter:$n,hasCurrencySpace:Pr,integer:qn,isCurrencyFirst:Zn}=pe,me=[qn,$n,zn];Zn?(me.unshift(Pr?"\xA0":""),me.unshift(yr)):(me.push(Pr?"\xA0":""),me.push(yr)),me.push(J,z,F);let Jn=me.join("");return H(re,Jn,b)},Pn=()=>(e,t,r)=>{let i=(e.displayOldPrice===void 0||x(e.displayOldPrice))&&t.priceWithoutDiscount&&t.priceWithoutDiscount!=t.price;return`${U()(e,t,r)}${i?" "+U({displayStrikethrough:!0})(e,t,r):""}`},In=()=>(e,t,r)=>{let n={...e,displayTax:!1,displayPerUnit:!1};return`${(e.displayOldPrice===void 0||x(e.displayOldPrice))&&t.priceWithoutDiscount&&t.priceWithoutDiscount!=t.price?U({displayStrikethrough:!0})(n,t,r)+" ":""}${U()(e,t,r)}${H(R.containerAnnualPrefix," (")}${U({displayAnnual:!0})(n,t,r)}${H(R.containerAnnualSuffix,")")}`},_n=()=>(e,t,r)=>{let n={...e,displayTax:!1,displayPerUnit:!1};return`${U()(e,t,r)}${H(R.containerAnnualPrefix," (")}${U({displayAnnual:!0})(n,t,r)}${H(R.containerAnnualSuffix,")")}`};var $t=U(),qt=Pn(),Zt=U({displayOptical:!0}),Jt=U({displayStrikethrough:!0}),Qt=U({displayAnnual:!0}),er=_n(),tr=In();var Va=(e,t)=>{if(!(!de(e)||!de(t)))return Math.floor((t-e)/t*100)},Nn=()=>(e,t)=>{let{price:r,priceWithoutDiscount:n}=t,i=Va(r,n);return i===void 0?'':`${i}%`};var rr=Nn();var{freeze:ke}=Object,K=ke({...ne}),Y=ke({...G}),se={STAGE:"STAGE",PRODUCTION:"PRODUCTION",LOCAL:"LOCAL"},nr=ke({...w}),ir=ke({...Mr}),ar=ke({..._});var Er={};oi(Er,{CLASS_NAME_FAILED:()=>or,CLASS_NAME_HIDDEN:()=>wa,CLASS_NAME_PENDING:()=>sr,CLASS_NAME_RESOLVED:()=>lr,ERROR_MESSAGE_BAD_REQUEST:()=>nt,ERROR_MESSAGE_MISSING_LITERALS_URL:()=>Za,ERROR_MESSAGE_OFFER_NOT_FOUND:()=>cr,EVENT_AEM_ERROR:()=>za,EVENT_AEM_LOAD:()=>ja,EVENT_MAS_ERROR:()=>qa,EVENT_MAS_READY:()=>$a,EVENT_MERCH_CARD_ACTION_MENU_TOGGLE:()=>Ua,EVENT_MERCH_CARD_COLLECTION_SHOWMORE:()=>Xa,EVENT_MERCH_CARD_COLLECTION_SORT:()=>Ya,EVENT_MERCH_CARD_READY:()=>Da,EVENT_MERCH_OFFER_READY:()=>ka,EVENT_MERCH_OFFER_SELECT_READY:()=>Ha,EVENT_MERCH_QUANTITY_SELECTOR_CHANGE:()=>Fa,EVENT_MERCH_SEARCH_CHANGE:()=>Ka,EVENT_MERCH_SIDENAV_SELECT:()=>Wa,EVENT_MERCH_STOCK_CHANGE:()=>Ga,EVENT_MERCH_STORAGE_CHANGE:()=>Ba,EVENT_OFFER_SELECTED:()=>Ma,EVENT_TYPE_FAILED:()=>ur,EVENT_TYPE_READY:()=>xe,EVENT_TYPE_RESOLVED:()=>hr,LOG_NAMESPACE:()=>fr,Landscape:()=>le,NAMESPACE:()=>Oa,PARAM_AOS_API_KEY:()=>Ja,PARAM_ENV:()=>pr,PARAM_LANDSCAPE:()=>mr,PARAM_WCS_API_KEY:()=>Qa,STATE_FAILED:()=>q,STATE_PENDING:()=>ee,STATE_RESOLVED:()=>Z,TAG_NAME_SERVICE:()=>Ra,WCS_PROD_URL:()=>Tr,WCS_STAGE_URL:()=>Ar});var Oa="merch",wa="hidden",xe="wcms:commerce:ready",Ra="mas-commerce-service",ka="merch-offer:ready",Ha="merch-offer-select:ready",Da="merch-card:ready",Ua="merch-card:action-menu-toggle",Ma="merch-offer:selected",Ga="merch-stock:change",Ba="merch-storage:change",Fa="merch-quantity-selector:change",Ka="merch-search:change",Ya="merch-card-collection:sort",Xa="merch-card-collection:showmore",Wa="merch-sidenav:select",ja="aem:load",za="aem:error",$a="mas:ready",qa="mas:error",or="placeholder-failed",sr="placeholder-pending",lr="placeholder-resolved",nt="Bad WCS request",cr="Commerce offer not found",Za="Literals URL not provided",ur="mas:failed",hr="mas:resolved",fr="mas/commerce",pr="commerce.env",mr="commerce.landscape",Ja="commerce.aosKey",Qa="commerce.wcsKey",Tr="https://www.adobe.com/web_commerce_artifact",Ar="https://www.stage.adobe.com/web_commerce_artifact_stage",q="failed",ee="pending",Z="resolved",le={DRAFT:"DRAFT",PUBLISHED:"PUBLISHED"};var Cn="mas-commerce-service";function Vn(e,{once:t=!1}={}){let r=null;function n(){let i=document.querySelector(Cn);i!==r&&(r=i,i&&e(i))}return document.addEventListener(xe,n,{once:t}),ce(n),()=>document.removeEventListener(xe,n)}function He(e,{country:t,forceTaxExclusive:r,perpetual:n}){let i;if(e.length<2)i=e;else{let a=t==="GB"||n?"EN":"MULT",[o,s]=e;i=[o.language===a?o:s]}return r&&(i=i.map(Ot)),i}var ce=e=>window.setTimeout(e);function ge(e,t=1){if(e==null)return[t];let r=(Array.isArray(e)?e:String(e).split(",")).map(be).filter(de);return r.length||(r=[t]),r}function it(e){return e==null?[]:(Array.isArray(e)?e:String(e).split(",")).filter(yt)}function M(){return document.getElementsByTagName(Cn)?.[0]}var ue={clientId:"merch-at-scale",delimiter:"\xB6",ignoredProperties:["analytics","literals"],serializableTypes:["Array","Object"],sampleRate:1,tags:"acom",isProdDomain:!1},On=1e3,wn=new Set;function eo(e){return e instanceof Error||typeof e?.originatingRequest=="string"}function Rn(e){if(e==null)return;let t=typeof e;if(t==="function")return e.name?`function ${e.name}`:"function";if(t==="object"){if(e instanceof Error)return e.message;if(typeof e.originatingRequest=="string"){let{message:n,originatingRequest:i,status:a}=e;return[n,a,i].filter(Boolean).join(" ")}let r=e[Symbol.toStringTag]??Object.getPrototypeOf(e).constructor.name;if(!ue.serializableTypes.includes(r))return r}return e}function to(e,t){if(!ue.ignoredProperties.includes(e))return Rn(t)}var dr={append(e){if(e.level!=="error")return;let{message:t,params:r}=e,n=[],i=[],a=t;r.forEach(c=>{c!=null&&(eo(c)?n:i).push(c)}),n.length&&(a+=" "+n.map(Rn).join(" "));let{pathname:o,search:s}=window.location,l=`${ue.delimiter}page=${o}${s}`;l.length>On&&(l=`${l.slice(0,On)}`),a+=l,i.length&&(a+=`${ue.delimiter}facts=`,a+=JSON.stringify(i,to)),wn.has(a)||(wn.add(a),window.lana?.log(a,ue))}};function at(e){Object.assign(ue,Object.fromEntries(Object.entries(e).filter(([t,r])=>t in ue&&r!==""&&r!==null&&r!==void 0&&!Number.isNaN(r))))}var g=Object.freeze({checkoutClientId:"adobe_com",checkoutWorkflow:K.V3,checkoutWorkflowStep:Y.EMAIL,country:"US",displayOldPrice:!0,displayPerUnit:!1,displayRecurrence:!0,displayTax:!1,env:se.PRODUCTION,forceTaxExclusive:!1,language:"en",entitlement:!1,extraOptions:{},modal:!1,promotionCode:"",quantity:1,wcsApiKey:"wcms-commerce-ims-ro-user-milo",wcsBufferDelay:1,wcsURL:"https://www.adobe.com/web_commerce_artifact",landscape:le.PUBLISHED,wcsBufferLimit:1});var Sr=Object.freeze({LOCAL:"local",PROD:"prod",STAGE:"stage"});function ro({locale:e=void 0,country:t=void 0,language:r=void 0}={}){return r??(r=e?.split("_")?.[0]||g.language),t??(t=e?.split("_")?.[1]||g.country),e??(e=`${r}_${t}`),{locale:e,country:t,language:r}}function br(e={}){let{commerce:t={}}=e,r=se.PRODUCTION,n=Tr,i=N("checkoutClientId",t)??g.checkoutClientId,a=Q(N("checkoutWorkflow",t),K,g.checkoutWorkflow),o=Y.CHECKOUT;a===K.V3&&(o=Q(N("checkoutWorkflowStep",t),Y,g.checkoutWorkflowStep));let s=x(N("displayOldPrice",t),g.displayOldPrice),l=x(N("displayPerUnit",t),g.displayPerUnit),c=x(N("displayRecurrence",t),g.displayRecurrence),u=x(N("displayTax",t),g.displayTax),h=x(N("entitlement",t),g.entitlement),f=x(N("modal",t),g.modal),p=x(N("forceTaxExclusive",t),g.forceTaxExclusive),m=N("promotionCode",t)??g.promotionCode,T=ge(N("quantity",t)),v=N("wcsApiKey",t)??g.wcsApiKey,P=t?.env==="stage",A=le.PUBLISHED;["true",""].includes(t.allowOverride)&&(P=(N(pr,t,{metadata:!1})?.toLowerCase()??t?.env)==="stage",A=Q(N(mr,t),le,A)),P&&(r=se.STAGE,n=Ar);let I=be(N("wcsBufferDelay",t),g.wcsBufferDelay),C=be(N("wcsBufferLimit",t),g.wcsBufferLimit);return{...ro(e),displayOldPrice:s,checkoutClientId:i,checkoutWorkflow:a,checkoutWorkflowStep:o,displayPerUnit:l,displayRecurrence:c,displayTax:u,entitlement:h,extraOptions:g.extraOptions,modal:f,env:r,forceTaxExclusive:p,promotionCode:m,quantity:T,wcsApiKey:v,wcsBufferDelay:I,wcsBufferLimit:C,wcsURL:n,landscape:A}}var xr={DEBUG:"debug",ERROR:"error",INFO:"info",WARN:"warn"},no=Date.now(),gr=new Set,Lr=new Set,kn=new Map,Hn={append({level:e,message:t,params:r,timestamp:n,source:i}){console[e](`${n}ms [${i}] %c${t}`,"font-weight: bold;",...r)}},Dn={filter:({level:e})=>e!==xr.DEBUG},io={filter:()=>!1};function ao(e,t,r,n,i){return{level:e,message:t,namespace:r,get params(){return n.length===1&&Pe(n[0])&&(n=n[0](),Array.isArray(n)||(n=[n])),n},source:i,timestamp:Date.now()-no}}function oo(e){[...Lr].every(t=>t(e))&&gr.forEach(t=>t(e))}function Un(e){let t=(kn.get(e)??0)+1;kn.set(e,t);let r=`${e} #${t}`,n={id:r,namespace:e,module:i=>Un(`${n.namespace}/${i}`),updateConfig:at};return Object.values(xr).forEach(i=>{n[i]=(a,...o)=>oo(ao(i,a,e,o,r))}),Object.seal(n)}function ot(...e){e.forEach(t=>{let{append:r,filter:n}=t;Pe(n)&&Lr.add(n),Pe(r)&&gr.add(r)})}function so(e={}){let{name:t}=e,r=x(N("commerce.debug",{search:!0,storage:!0}),t===Sr.LOCAL);return ot(r?Hn:Dn),t===Sr.PROD&&ot(dr),D}function lo(){gr.clear(),Lr.clear()}var D={...Un(fr),Level:xr,Plugins:{consoleAppender:Hn,debugFilter:Dn,quietFilter:io,lanaAppender:dr},init:so,reset:lo,use:ot};var co={[q]:or,[ee]:sr,[Z]:lr},uo={[q]:ur,[Z]:hr},Le=class{constructor(t){L(this,"changes",new Map);L(this,"connected",!1);L(this,"dispose",Ee);L(this,"error");L(this,"log");L(this,"options");L(this,"promises",[]);L(this,"state",ee);L(this,"timer",null);L(this,"value");L(this,"version",0);L(this,"wrapperElement");this.wrapperElement=t}update(){[q,ee,Z].forEach(t=>{this.wrapperElement.classList.toggle(co[t],t===this.state)})}notify(){(this.state===Z||this.state===q)&&(this.state===Z?this.promises.forEach(({resolve:t})=>t(this.wrapperElement)):this.state===q&&this.promises.forEach(({reject:t})=>t(this.error)),this.promises=[]),this.wrapperElement.dispatchEvent(new CustomEvent(uo[this.state],{bubbles:!0}))}attributeChangedCallback(t,r,n){this.changes.set(t,n),this.requestUpdate()}connectedCallback(){this.dispose=Vn(()=>this.requestUpdate(!0))}disconnectedCallback(){this.connected&&(this.connected=!1,this.log?.debug("Disconnected:",{element:this.wrapperElement})),this.dispose(),this.dispose=Ee}onceSettled(){let{error:t,promises:r,state:n}=this;return Z===n?Promise.resolve(this.wrapperElement):q===n?Promise.reject(t):new Promise((i,a)=>{r.push({resolve:i,reject:a})})}toggleResolved(t,r,n){return t!==this.version?!1:(n!==void 0&&(this.options=n),this.state=Z,this.value=r,this.update(),this.log?.debug("Resolved:",{element:this.wrapperElement,value:r}),ce(()=>this.notify()),!0)}toggleFailed(t,r,n){return t!==this.version?!1:(n!==void 0&&(this.options=n),this.error=r,this.state=q,this.update(),this.log?.error("Failed:",{element:this.wrapperElement,error:r}),ce(()=>this.notify()),!0)}togglePending(t){return this.version++,t&&(this.options=t),this.state=ee,this.update(),this.log?.debug("Pending:",{osi:this.wrapperElement?.options?.wcsOsi}),this.version}requestUpdate(t=!1){if(!this.wrapperElement.isConnected||!M()||this.timer)return;let r=D.module("mas-element"),{error:n,options:i,state:a,value:o,version:s}=this;this.state=ee,this.timer=ce(async()=>{this.timer=null;let l=null;if(this.changes.size&&(l=Object.fromEntries(this.changes.entries()),this.changes.clear()),this.connected?this.log?.debug("Updated:",{element:this.wrapperElement,changes:l}):(this.connected=!0,this.log?.debug("Connected:",{element:this.wrapperElement,changes:l})),l||t)try{await this.wrapperElement.render?.()===!1&&this.state===ee&&this.version===s&&(this.state=a,this.error=n,this.value=o,this.update(),this.notify())}catch(c){r.error("Failed to render mas-element: ",c),this.toggleFailed(this.version,c,i)}})}};function Mn(e={}){return Object.entries(e).forEach(([t,r])=>{(r==null||r===""||r?.length===0)&&delete e[t]}),e}function st(e,t={}){let{tag:r,is:n}=e,i=document.createElement(r,{is:n});return i.setAttribute("is",n),Object.assign(i.dataset,Mn(t)),i}function lt(e,t={}){return e instanceof HTMLElement?(Object.assign(e.dataset,Mn(t)),e):null}var ho="download",fo="upgrade";function ct(e,t={},r=""){let n=M();if(!n)return null;let{checkoutMarketSegment:i,checkoutWorkflow:a,checkoutWorkflowStep:o,entitlement:s,upgrade:l,modal:c,perpetual:u,promotionCode:h,quantity:f,wcsOsi:p,extraOptions:m}=n.collectCheckoutOptions(t),T=st(e,{checkoutMarketSegment:i,checkoutWorkflow:a,checkoutWorkflowStep:o,entitlement:s,upgrade:l,modal:c,perpetual:u,promotionCode:h,quantity:f,wcsOsi:p,extraOptions:m});return r&&(T.innerHTML=`${r}`),T}function ut(e){return class extends e{constructor(){super(...arguments);L(this,"checkoutActionHandler");L(this,"masElement",new Le(this))}attributeChangedCallback(n,i,a){this.masElement.attributeChangedCallback(n,i,a)}connectedCallback(){this.masElement.connectedCallback(),this.addEventListener("click",this.clickHandler)}disconnectedCallback(){this.masElement.disconnectedCallback(),this.removeEventListener("click",this.clickHandler)}onceSettled(){return this.masElement.onceSettled()}get value(){return this.masElement.value}get options(){return this.masElement.options}requestUpdate(n=!1){return this.masElement.requestUpdate(n)}static get observedAttributes(){return["data-checkout-workflow","data-checkout-workflow-step","data-extra-options","data-ims-country","data-perpetual","data-promotion-code","data-quantity","data-template","data-wcs-osi","data-entitlement","data-upgrade","data-modal"]}async render(n={}){if(!this.isConnected)return!1;let i=M();if(!i)return!1;this.dataset.imsCountry||i.imsCountryPromise.then(h=>{h&&(this.dataset.imsCountry=h)},Ee),n.imsCountry=null;let a=i.collectCheckoutOptions(n,this);if(!a.wcsOsi.length)return!1;let o;try{o=JSON.parse(a.extraOptions??"{}")}catch(h){this.masElement.log?.error("cannot parse exta checkout options",h)}let s=this.masElement.togglePending(a);this.setCheckoutUrl("");let l=i.resolveOfferSelectors(a),c=await Promise.all(l);c=c.map(h=>He(h,a)),a.country=this.dataset.imsCountry||a.country;let u=await i.buildCheckoutAction?.(c.flat(),{...o,...a},this);return this.renderOffers(c.flat(),a,{},u,s)}renderOffers(n,i,a={},o=void 0,s=void 0){if(!this.isConnected)return!1;let l=M();if(!l)return!1;if(i={...JSON.parse(this.dataset.extraOptions??"null"),...i,...a},s??(s=this.masElement.togglePending(i)),this.checkoutActionHandler&&(this.checkoutActionHandler=void 0),o){this.classList.remove(ho,fo),this.masElement.toggleResolved(s,n,i);let{url:u,text:h,className:f,handler:p}=o;return u&&this.setCheckoutUrl(u),h&&(this.firstElementChild.innerHTML=h),f&&this.classList.add(...f.split(" ")),p&&(this.setCheckoutUrl("#"),this.checkoutActionHandler=p.bind(this)),!0}else if(n.length){if(this.masElement.toggleResolved(s,n,i)){let u=l.buildCheckoutURL(n,i);return this.setCheckoutUrl(u),!0}}else{let u=new Error(`Not provided: ${i?.wcsOsi??"-"}`);if(this.masElement.toggleFailed(s,u,i))return this.setCheckoutUrl("#"),!0}}setCheckoutUrl(){}clickHandler(n){}updateOptions(n={}){let i=M();if(!i)return!1;let{checkoutMarketSegment:a,checkoutWorkflow:o,checkoutWorkflowStep:s,entitlement:l,upgrade:c,modal:u,perpetual:h,promotionCode:f,quantity:p,wcsOsi:m}=i.collectCheckoutOptions(n);return lt(this,{checkoutMarketSegment:a,checkoutWorkflow:o,checkoutWorkflowStep:s,entitlement:l,upgrade:c,modal:u,perpetual:h,promotionCode:f,quantity:p,wcsOsi:m}),!0}}}var De=class De extends ut(HTMLAnchorElement){static createCheckoutLink(t={},r=""){return ct(De,t,r)}setCheckoutUrl(t){this.setAttribute("href",t)}get isCheckoutLink(){return!0}clickHandler(t){if(this.checkoutActionHandler){this.checkoutActionHandler?.(t);return}}};L(De,"is","checkout-link"),L(De,"tag","a");var X=De;window.customElements.get(X.is)||window.customElements.define(X.is,X,{extends:X.tag});var Ue=class Ue extends ut(HTMLButtonElement){static createCheckoutButton(t={},r=""){return ct(Ue,t,r)}setCheckoutUrl(t){this.setAttribute("data-href",t)}get href(){return this.getAttribute("data-href")}get isCheckoutButton(){return!0}clickHandler(t){if(this.checkoutActionHandler){this.checkoutActionHandler?.(t);return}this.href&&(window.location.href=this.href)}};L(Ue,"is","checkout-button"),L(Ue,"tag","button");var he=Ue;window.customElements.get(he.is)||window.customElements.define(he.is,he,{extends:he.tag});function Gn({providers:e,settings:t}){function r(a,o){let{checkoutClientId:s,checkoutWorkflow:l,checkoutWorkflowStep:c,country:u,language:h,promotionCode:f,quantity:p}=t,{checkoutMarketSegment:m,checkoutWorkflow:T=l,checkoutWorkflowStep:v=c,imsCountry:P,country:A=P??u,language:b=h,quantity:I=p,entitlement:C,upgrade:V,modal:O,perpetual:j,promotionCode:fe=f,wcsOsi:te,extraOptions:pe,...B}=Object.assign({},o?.dataset??{},a??{}),J=Q(T,K,g.checkoutWorkflow),z=Y.CHECKOUT;J===K.V3&&(z=Q(v,Y,g.checkoutWorkflowStep));let F=Se({...B,extraOptions:pe,checkoutClientId:s,checkoutMarketSegment:m,country:A,quantity:ge(I,g.quantity),checkoutWorkflow:J,checkoutWorkflowStep:z,language:b,entitlement:x(C),upgrade:x(V),modal:x(O),perpetual:x(j),promotionCode:Ie(fe).effectivePromoCode,wcsOsi:it(te)});if(o)for(let re of e.checkout)re(o,F);return F}function n(a,o){if(!Array.isArray(a)||!a.length||!o)return"";let{env:s,landscape:l}=t,{checkoutClientId:c,checkoutMarketSegment:u,checkoutWorkflow:h,checkoutWorkflowStep:f,country:p,promotionCode:m,quantity:T,...v}=r(o),P=window.frameElement?"if":"fp",A={checkoutPromoCode:m,clientId:c,context:P,country:p,env:s,items:[],marketSegment:u,workflowStep:f,landscape:l,...v};if(a.length===1){let[{offerId:b,offerType:I,productArrangementCode:C}]=a,{marketSegments:[V]}=a[0];Object.assign(A,{marketSegment:V,offerType:I,productArrangementCode:C}),A.items.push(T[0]===1?{id:b}:{id:b,quantity:T[0]})}else A.items.push(...a.map(({offerId:b},I)=>({id:b,quantity:T[I]??g.quantity})));return St(h,A)}let{createCheckoutLink:i}=X;return{CheckoutLink:X,CheckoutWorkflow:K,CheckoutWorkflowStep:Y,buildCheckoutURL:n,collectCheckoutOptions:r,createCheckoutLink:i}}function po({interval:e=200,maxAttempts:t=25}={}){let r=D.module("ims");return new Promise(n=>{r.debug("Waing for IMS to be ready");let i=0;function a(){window.adobeIMS?.initialized?n():++i>t?(r.debug("Timeout"),n()):setTimeout(a,e)}a()})}function mo(e){return e.then(()=>window.adobeIMS?.isSignedInUser()??!1)}function To(e){let t=D.module("ims");return e.then(r=>r?window.adobeIMS.getProfile().then(({countryCode:n})=>(t.debug("Got user country:",n),n),n=>{t.error("Unable to get user country:",n)}):null)}function Bn({}){let e=po(),t=mo(e),r=To(t);return{imsReadyPromise:e,imsSignedInPromise:t,imsCountryPromise:r}}async function Kn(e,t){let{data:r}=t||await Promise.resolve().then(()=>li(Fn(),1));if(Array.isArray(r)){let n=a=>r.find(o=>Ke(o.lang,a)),i=n(e.language)??n(g.language);if(i)return Object.freeze(i)}return{}}var Yn=["GB_en","AU_en","FR_fr","AT_de","BE_en","BE_fr","BE_nl","BG_bg","CH_de","CH_fr","CH_it","CZ_cs","DE_de","DK_da","EE_et","EG_ar","EG_en","ES_es","FI_fi","FR_fr","GR_el","GR_en","HU_hu","IE_en","IT_it","LU_de","LU_en","LU_fr","NL_nl","NO_nb","PL_pl","PT_pt","RO_ro","SE_sv","SI_sl","SK_sk","TR_tr","UA_uk","ID_en","ID_in","IN_en","IN_hi","JP_ja","MY_en","MY_ms","NZ_en","TH_en","TH_th"],Eo={INDIVIDUAL_COM:["ZA_en","LT_lt","LV_lv","NG_en","SA_ar","SA_en","ZA_en","SG_en","KR_ko"],TEAM_COM:["ZA_en","LT_lt","LV_lv","NG_en","ZA_en","CO_es","KR_ko"],INDIVIDUAL_EDU:["LT_lt","LV_lv","SA_en","SG_en"],TEAM_EDU:["SG_en","KR_ko"]},Me=class Me extends HTMLSpanElement{constructor(){super();L(this,"masElement",new Le(this));this.handleClick=this.handleClick.bind(this)}static get observedAttributes(){return["data-display-old-price","data-display-per-unit","data-display-recurrence","data-display-tax","data-perpetual","data-promotion-code","data-tax-exclusive","data-template","data-wcs-osi"]}static createInlinePrice(r){let n=M();if(!n)return null;let{displayOldPrice:i,displayPerUnit:a,displayRecurrence:o,displayTax:s,forceTaxExclusive:l,perpetual:c,promotionCode:u,quantity:h,template:f,wcsOsi:p}=n.collectPriceOptions(r);return st(Me,{displayOldPrice:i,displayPerUnit:a,displayRecurrence:o,displayTax:s,forceTaxExclusive:l,perpetual:c,promotionCode:u,quantity:h,template:f,wcsOsi:p})}get isInlinePrice(){return!0}attributeChangedCallback(r,n,i){this.masElement.attributeChangedCallback(r,n,i)}connectedCallback(){this.masElement.connectedCallback(),this.addEventListener("click",this.handleClick)}disconnectedCallback(){this.masElement.disconnectedCallback(),this.removeEventListener("click",this.handleClick)}handleClick(r){r.target!==this&&(r.stopImmediatePropagation(),this.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window})))}onceSettled(){return this.masElement.onceSettled()}get value(){return this.masElement.value}get options(){return this.masElement.options}requestUpdate(r=!1){return this.masElement.requestUpdate(r)}resolveDisplayTaxForGeoAndSegment(r,n,i,a){let o=`${r}_${n}`;if(Yn.includes(r)||Yn.includes(o))return!0;let s=Eo[`${i}_${a}`];return s?!!(s.includes(r)||s.includes(o)):!1}async resolveDisplayTax(r,n){let[i]=await r.resolveOfferSelectors(n),a=He(await i,n);if(a?.length){let{country:o,language:s}=n,l=a[0],[c=""]=l.marketSegments;return this.resolveDisplayTaxForGeoAndSegment(o,s,l.customerSegment,c)}}async render(r={}){if(!this.isConnected)return!1;let n=M();if(!n)return!1;let i=n.collectPriceOptions(r,this);if(!i.wcsOsi.length)return!1;let a=this.masElement.togglePending(i);this.innerHTML="";let[o]=n.resolveOfferSelectors(i);return this.renderOffers(He(await o,i),i,a)}renderOffers(r,n={},i=void 0){if(!this.isConnected)return;let a=M();if(!a)return!1;let o=a.collectPriceOptions({...this.dataset,...n},this);if(i??(i=this.masElement.togglePending(o)),r.length){if(this.masElement.toggleResolved(i,r,o))return this.innerHTML=a.buildPriceHTML(r,o),!0}else{let s=new Error(`Not provided: ${o?.wcsOsi??"-"}`);if(this.masElement.toggleFailed(i,s,o))return this.innerHTML="",!0}return!1}updateOptions(r){let n=M();if(!n)return!1;let{displayOldPrice:i,displayPerUnit:a,displayRecurrence:o,displayTax:s,forceTaxExclusive:l,perpetual:c,promotionCode:u,quantity:h,template:f,wcsOsi:p}=n.collectPriceOptions(r);return lt(this,{displayOldPrice:i,displayPerUnit:a,displayRecurrence:o,displayTax:s,forceTaxExclusive:l,perpetual:c,promotionCode:u,quantity:h,template:f,wcsOsi:p}),!0}};L(Me,"is","inline-price"),L(Me,"tag","span");var W=Me;window.customElements.get(W.is)||window.customElements.define(W.is,W,{extends:W.tag});function Xn({literals:e,providers:t,settings:r}){function n(o,s){let{country:l,displayOldPrice:c,displayPerUnit:u,displayRecurrence:h,displayTax:f,forceTaxExclusive:p,language:m,promotionCode:T,quantity:v}=r,{displayOldPrice:P=c,displayPerUnit:A=u,displayRecurrence:b=h,displayTax:I=f,forceTaxExclusive:C=p,country:V=l,language:O=m,perpetual:j,promotionCode:fe=T,quantity:te=v,template:pe,wcsOsi:B,...J}=Object.assign({},s?.dataset??{},o??{}),z=Se({...J,country:V,displayOldPrice:x(P),displayPerUnit:x(A),displayRecurrence:x(b),displayTax:x(I),forceTaxExclusive:x(C),language:O,perpetual:x(j),promotionCode:Ie(fe).effectivePromoCode,quantity:ge(te,g.quantity),template:pe,wcsOsi:it(B)});if(s)for(let F of t.price)F(s,z);return z}function i(o,s){if(!Array.isArray(o)||!o.length||!s)return"";let{template:l}=s,c;switch(l){case"discount":c=rr;break;case"strikethrough":c=Jt;break;case"optical":c=Zt;break;case"annual":c=Qt;break;default:s.country==="AU"&&o[0].planType==="ABM"?c=s.promotionCode?tr:er:c=s.promotionCode?qt:$t}let u=n(s);u.literals=Object.assign({},e.price,Se(s.literals??{}));let[h]=o;return h={...h,...h.priceDetails},c(u,h)}let a=W.createInlinePrice;return{InlinePrice:W,buildPriceHTML:i,collectPriceOptions:n,createInlinePrice:a}}function Wn({settings:e}){let t=D.module("wcs"),{env:r,wcsApiKey:n}=e,i=new Map,a=new Map,o;async function s(h,f,p=!0){let m=cr;t.debug("Fetching:",h);let T="",v,P=(A,b,I)=>`${A}: ${b?.status}, url: ${I.toString()}`;try{if(h.offerSelectorIds=h.offerSelectorIds.sort(),T=new URL(e.wcsURL),T.searchParams.set("offer_selector_ids",h.offerSelectorIds.join(",")),T.searchParams.set("country",h.country),T.searchParams.set("locale",h.locale),T.searchParams.set("landscape",r===se.STAGE?"ALL":e.landscape),T.searchParams.set("api_key",n),h.language&&T.searchParams.set("language",h.language),h.promotionCode&&T.searchParams.set("promotion_code",h.promotionCode),h.currency&&T.searchParams.set("currency",h.currency),v=await fetch(T.toString(),{credentials:"omit"}),v.ok){let A=await v.json();t.debug("Fetched:",h,A);let b=A.resolvedOffers??[];b=b.map(We),f.forEach(({resolve:I},C)=>{let V=b.filter(({offerSelectorIds:O})=>O.includes(C)).flat();V.length&&(f.delete(C),I(V))})}else v.status===404&&h.offerSelectorIds.length>1?(t.debug("Multi-osi 404, fallback to fetch-by-one strategy"),await Promise.allSettled(h.offerSelectorIds.map(A=>s({...h,offerSelectorIds:[A]},f,!1)))):m=nt}catch(A){m=nt,t.error(m,h,A)}p&&f.size&&(t.debug("Missing:",{offerSelectorIds:[...f.keys()]}),f.forEach(A=>{A.reject(new Error(P(m,v,T)))}))}function l(){clearTimeout(o);let h=[...a.values()];a.clear(),h.forEach(({options:f,promises:p})=>s(f,p))}function c(){let h=i.size;i.clear(),t.debug(`Flushed ${h} cache entries`)}function u({country:h,language:f,perpetual:p=!1,promotionCode:m="",wcsOsi:T=[]}){let v=`${f}_${h}`;h!=="GB"&&(f=p?"EN":"MULT");let P=[h,f,m].filter(A=>A).join("-").toLowerCase();return T.map(A=>{let b=`${A}-${P}`;if(!i.has(b)){let I=new Promise((C,V)=>{let O=a.get(P);if(!O){let j={country:h,locale:v,offerSelectorIds:[]};h!=="GB"&&(j.language=f),O={options:j,promises:new Map},a.set(P,O)}m&&(O.options.promotionCode=m),O.options.offerSelectorIds.push(A),O.promises.set(A,{resolve:C,reject:V}),O.options.offerSelectorIds.length>=e.wcsBufferLimit?l():(t.debug("Queued:",O.options),o||(o=setTimeout(l,e.wcsBufferDelay)))});i.set(b,I)}return i.get(b)})}return{WcsCommitment:nr,WcsPlanType:ir,WcsTerm:ar,resolveOfferSelectors:u,flushWcsCache:c}}var vr="mas-commerce-service",So="mas:start",bo="mas:ready",ft,jn,ht=class extends HTMLElement{constructor(){super(...arguments);Nr(this,ft);L(this,"promise",null)}async registerCheckoutAction(r){typeof r=="function"&&(this.buildCheckoutAction=async(n,i,a)=>{let o=await r?.(n,i,this.imsSignedInPromise,a);return o||null})}async activate(){let r=_r(this,ft,jn),n=Object.freeze(br(r));at(r.lana);let i=D.init(r.hostEnv).module("service");i.debug("Activating:",r);let a={price:{}};try{a.price=await Kn(n,r.commerce.priceLiterals)}catch{}let o={checkout:new Set,price:new Set},s={literals:a,providers:o,settings:n};Object.defineProperties(this,Object.getOwnPropertyDescriptors({...Gn(s),...Bn(s),...Xn(s),...Wn(s),...Er,Log:D,get defaults(){return g},get log(){return D},get providers(){return{checkout(l){return o.checkout.add(l),()=>o.checkout.delete(l)},price(l){return o.price.add(l),()=>o.price.delete(l)}}},get settings(){return n}})),i.debug("Activated:",{literals:a,settings:n}),ce(()=>{let l=new CustomEvent(xe,{bubbles:!0,cancelable:!1,detail:this});performance.mark(bo),this.dispatchEvent(l)})}connectedCallback(){this.readyPromise||(performance.mark(So),this.readyPromise=this.activate())}disconnectedCallback(){this.readyPromise=null}flushWcsCache(){this.flushWcsCache(),this.log.debug("Flushed WCS cache")}refreshOffers(){this.flushWcsCache(),document.querySelectorAll('span[is="inline-price"],a[is="checkout-link"]').forEach(r=>r.requestUpdate(!0)),this.log.debug("Refreshed WCS offers")}refreshFragments(){this.flushWcsCache(),document.querySelectorAll("aem-fragment").forEach(r=>r.refresh()),this.log.debug("Refreshed AEM fragments")}};ft=new WeakSet,jn=function(){let r={hostEnv:{name:this.getAttribute("host-env")??"prod"},commerce:{env:this.getAttribute("env")},lana:{tags:this.getAttribute("lana-tags"),sampleRate:parseInt(this.getAttribute("lana-sample-rate"),10),isProdDomain:this.getAttribute("host-env")==="prod"}};return["locale","country","language"].forEach(n=>{let i=this.getAttribute(n);i&&(r[n]=i)}),["checkout-workflow-step","force-tax-exclusive","checkout-client-id","allow-override","wcs-api-key"].forEach(n=>{let i=this.getAttribute(n);if(i!=null){let a=n.replace(/-([a-z])/g,o=>o[1].toUpperCase());r.commerce[a]=i}}),r},L(ht,"instance");window.customElements.get(vr)||window.customElements.define(vr,ht);export{he as CheckoutButton,X as CheckoutLink,K as CheckoutWorkflow,Y as CheckoutWorkflowStep,g as Defaults,W as InlinePrice,le as Landscape,D as Log,vr as TAG_NAME_SERVICE,nr as WcsCommitment,ir as WcsPlanType,ar as WcsTerm,We as applyPlanType,br as getSettings}; diff --git a/libs/deps/mas/mas.js b/libs/deps/mas/mas.js index c9a8d4975b9..f03e59daf7c 100644 --- a/libs/deps/mas/mas.js +++ b/libs/deps/mas/mas.js @@ -1,9 +1,9 @@ -var _s=Object.create;var er=Object.defineProperty;var ws=Object.getOwnPropertyDescriptor;var Ps=Object.getOwnPropertyNames;var Cs=Object.getPrototypeOf,Is=Object.prototype.hasOwnProperty;var qi=e=>{throw TypeError(e)};var ks=(e,t,r)=>t in e?er(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Ns=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Os=(e,t)=>{for(var r in t)er(e,r,{get:t[r],enumerable:!0})},Rs=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ps(t))!Is.call(e,i)&&i!==r&&er(e,i,{get:()=>t[i],enumerable:!(n=ws(t,i))||n.enumerable});return e};var Vs=(e,t,r)=>(r=e!=null?_s(Cs(e)):{},Rs(t||!e||!e.__esModule?er(r,"default",{value:e,enumerable:!0}):r,e));var p=(e,t,r)=>ks(e,typeof t!="symbol"?t+"":t,r),Wr=(e,t,r)=>t.has(e)||qi("Cannot "+r);var w=(e,t,r)=>(Wr(e,t,"read from private field"),r?r.call(e):t.get(e)),K=(e,t,r)=>t.has(e)?qi("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Y=(e,t,r,n)=>(Wr(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),xe=(e,t,r)=>(Wr(e,t,"access private method"),r);var fs=Ns((Hf,Eh)=>{Eh.exports={total:38,offset:0,limit:38,data:[{lang:"ar",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u0627\u0644\u0634\u0647\u0631} YEAR {/\u0627\u0644\u0639\u0627\u0645} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0643\u0644 \u0634\u0647\u0631} YEAR {\u0643\u0644 \u0639\u0627\u0645} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0644\u0643\u0644 \u062A\u0631\u062E\u064A\u0635} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0644\u0643\u0644 \u062A\u0631\u062E\u064A\u0635} other {}}",freeLabel:"\u0645\u062C\u0627\u0646\u064B\u0627",freeAriaLabel:"\u0645\u062C\u0627\u0646\u064B\u0627",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u0623\u0648 \u0628\u062F\u0644\u0627\u064B \u0645\u0646 \u0630\u0644\u0643 \u0628\u0642\u064A\u0645\u0629 {alternativePrice}",strikethroughAriaLabel:"\u0628\u0634\u0643\u0644 \u0645\u0646\u062A\u0638\u0645 \u0628\u0642\u064A\u0645\u0629 {strikethroughPrice}"},{lang:"bg",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0435\u0441.} YEAR {/\u0433\u043E\u0434.} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u043D\u0430 \u043C\u0435\u0441\u0435\u0446} YEAR {\u043D\u0430 \u0433\u043E\u0434\u0438\u043D\u0430} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437} other {}}",freeLabel:"\u0411\u0435\u0437\u043F\u043B\u0430\u0442\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0437\u043F\u043B\u0430\u0442\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u0410\u043B\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u043E \u043D\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0420\u0435\u0434\u043E\u0432\u043D\u043E \u043D\u0430 {strikethroughPrice}"},{lang:"cs",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\u011Bs\xEDc} YEAR {/rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {za m\u011Bs\xEDc} YEAR {za rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licenci} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licenci} other {}}",freeLabel:"Zdarma",freeAriaLabel:"Zdarma",taxExclusiveLabel:"{taxTerm, select, GST {bez dan\u011B ze zbo\u017E\xED a slu\u017Eeb} VAT {bez DPH} TAX {bez dan\u011B} IVA {bez IVA} SST {bez SST} KDV {bez KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {v\u010Detn\u011B dan\u011B ze zbo\u017E\xED a slu\u017Eeb} VAT {v\u010Detn\u011B DPH} TAX {v\u010Detn\u011B dan\u011B} IVA {v\u010Detn\u011B IVA} SST {v\u010Detn\u011B SST} KDV {v\u010Detn\u011B KDV} other {}}",alternativePriceAriaLabel:"P\u0159\xEDpadn\u011B za {alternativePrice}",strikethroughAriaLabel:"Pravideln\u011B za {strikethroughPrice}"},{lang:"da",recurrenceLabel:"{recurrenceTerm, select, MONTH {/md} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pr. m\xE5ned} YEAR {pr. \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pr. licens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pr. licens} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {ekskl. GST} VAT {ekskl. moms} TAX {ekskl. skat} IVA {ekskl. IVA} SST {ekskl. SST} KDV {ekskl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. skat} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt til {alternativePrice}",strikethroughAriaLabel:"Normalpris {strikethroughPrice}"},{lang:"de",recurrenceLabel:"{recurrenceTerm, select, MONTH {/Monat} YEAR {/Jahr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pro Monat} YEAR {pro Jahr} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pro Lizenz} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pro Lizenz} other {}}",freeLabel:"Kostenlos",freeAriaLabel:"Kostenlos",taxExclusiveLabel:"{taxTerm, select, GST {zzgl. GST} VAT {zzgl. MwSt.} TAX {zzgl. Steuern} IVA {zzgl. IVA} SST {zzgl. SST} KDV {zzgl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. MwSt.} TAX {inkl. Steuern} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativ: {alternativePrice}",strikethroughAriaLabel:"Regul\xE4r: {strikethroughPrice}"},{lang:"en",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mo} YEAR {/yr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per month} YEAR {per year} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per license} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per license} other {}}",freeLabel:"Free",freeAriaLabel:"Free",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternatively at {alternativePrice}",strikethroughAriaLabel:"Regularly at {strikethroughPrice}"},{lang:"et",recurrenceLabel:"{recurrenceTerm, select, MONTH {kuus} YEAR {aastas} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {kuus} YEAR {aastas} other {}}",perUnitLabel:"{perUnit, select, LICENSE {litsentsi kohta} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {litsentsi kohta} other {}}",freeLabel:"Tasuta",freeAriaLabel:"Tasuta",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Teise v\xF5imalusena hinnaga {alternativePrice}",strikethroughAriaLabel:"Tavahind {strikethroughPrice}"},{lang:"fi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/kk} YEAR {/v} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {kuukausittain} YEAR {vuosittain} other {}}",perUnitLabel:"{perUnit, select, LICENSE {k\xE4ytt\xF6oikeutta kohti} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {k\xE4ytt\xF6oikeutta kohti} other {}}",freeLabel:"Maksuton",freeAriaLabel:"Maksuton",taxExclusiveLabel:"{taxTerm, select, GST {ilman GST:t\xE4} VAT {ilman ALV:t\xE4} TAX {ilman veroja} IVA {ilman IVA:ta} SST {ilman SST:t\xE4} KDV {ilman KDV:t\xE4} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {sis. GST:n} VAT {sis. ALV:n} TAX {sis. verot} IVA {sis. IVA:n} SST {sis. SST:n} KDV {sis. KDV:n} other {}}",alternativePriceAriaLabel:"Vaihtoehtoisesti hintaan {alternativePrice}",strikethroughAriaLabel:"S\xE4\xE4nn\xF6llisesti hintaan {strikethroughPrice}"},{lang:"fr",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mois} YEAR {/an} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {par mois} YEAR {par an} other {}}",perUnitLabel:"{perUnit, select, LICENSE {par licence} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {par licence} other {}}",freeLabel:"Gratuit",freeAriaLabel:"Gratuit",taxExclusiveLabel:"{taxTerm, select, GST {hors TPS} VAT {hors TVA} TAX {hors taxes} IVA {hors IVA} SST {hors SST} KDV {hors KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {TPS comprise} VAT {TVA comprise} TAX {taxes comprises} IVA {IVA comprise} SST {SST comprise} KDV {KDV comprise} other {}}",alternativePriceAriaLabel:"Autre prix {alternativePrice}",strikethroughAriaLabel:"Prix habituel {strikethroughPrice}"},{lang:"he",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u05D7\u05D5\u05D3\u05E9} YEAR {/\u05E9\u05E0\u05D4} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u05DC\u05D7\u05D5\u05D3\u05E9} YEAR {\u05DC\u05E9\u05E0\u05D4} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",freeLabel:"\u05D7\u05D9\u05E0\u05DD",freeAriaLabel:"\u05D7\u05D9\u05E0\u05DD",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u05DC\u05D7\u05DC\u05D5\u05E4\u05D9\u05DF \u05D1-{alternativePrice}",strikethroughAriaLabel:"\u05D1\u05D0\u05D5\u05E4\u05DF \u05E7\u05D1\u05D5\u05E2 \u05D1-{strikethroughPrice}"},{lang:"hu",recurrenceLabel:"{recurrenceTerm, select, MONTH {/h\xF3} YEAR {/\xE9v} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {havonta} YEAR {\xE9vente} other {}}",perUnitLabel:"{perUnit, select, LICENSE {licencenk\xE9nt} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {licencenk\xE9nt} other {}}",freeLabel:"Ingyenes",freeAriaLabel:"Ingyenes",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"M\xE1sik lehet\u0151s\xE9g: {alternativePrice}",strikethroughAriaLabel:"\xC1ltal\xE1ban {strikethroughPrice} \xE1ron"},{lang:"it",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mese} YEAR {/anno} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {al mese} YEAR {all'anno} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licenza} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licenza} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {escl. GST} VAT {escl. IVA.} TAX {escl. imposte} IVA {escl. IVA} SST {escl. SST} KDV {escl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. IVA} TAX {incl. imposte} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"In alternativa a {alternativePrice}",strikethroughAriaLabel:"Regolarmente a {strikethroughPrice}"},{lang:"ja",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCE\u6708} YEAR {\u6BCE\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u30E9\u30A4\u30BB\u30F3\u30B9\u3054\u3068} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u30E9\u30A4\u30BB\u30F3\u30B9\u3054\u3068} other {}}",freeLabel:"\u7121\u6599",freeAriaLabel:"\u7121\u6599",taxExclusiveLabel:"{taxTerm, select, GST {GST \u5225} VAT {VAT \u5225} TAX {\u7A0E\u5225} IVA {IVA \u5225} SST {SST \u5225} KDV {KDV \u5225} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \u8FBC} VAT {VAT \u8FBC} TAX {\u7A0E\u8FBC} IVA {IVA \u8FBC} SST {SST \u8FBC} KDV {KDV \u8FBC} other {}}",alternativePriceAriaLabel:"\u7279\u5225\u4FA1\u683C : {alternativePrice}",strikethroughAriaLabel:"\u901A\u5E38\u4FA1\u683C : {strikethroughPrice}"},{lang:"ko",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\uC6D4} YEAR {/\uB144} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\uC6D4\uAC04} YEAR {\uC5F0\uAC04} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\uB77C\uC774\uC120\uC2A4\uB2F9} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\uB77C\uC774\uC120\uC2A4\uB2F9} other {}}",freeLabel:"\uBB34\uB8CC",freeAriaLabel:"\uBB34\uB8CC",taxExclusiveLabel:"{taxTerm, select, GST {GST \uC81C\uC678} VAT {VAT \uC81C\uC678} TAX {\uC138\uAE08 \uC81C\uC678} IVA {IVA \uC81C\uC678} SST {SST \uC81C\uC678} KDV {KDV \uC81C\uC678} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \uD3EC\uD568} VAT {VAT \uD3EC\uD568} TAX {\uC138\uAE08 \uD3EC\uD568} IVA {IVA \uD3EC\uD568} SST {SST \uD3EC\uD568} KDV {KDV \uD3EC\uD568} other {}}",alternativePriceAriaLabel:"\uB610\uB294 {alternativePrice}\uC5D0",strikethroughAriaLabel:"\uB610\uB294 {alternativePrice}\uC5D0"},{lang:"lt",recurrenceLabel:"{recurrenceTerm, select, MONTH { per m\u0117n.} YEAR { per metus} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\u0117n.} YEAR {per metus} other {}}",perUnitLabel:"{perUnit, select, LICENSE {u\u017E licencij\u0105} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {u\u017E licencij\u0105} other {}}",freeLabel:"Nemokamai",freeAriaLabel:"Nemokamai",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Arba u\u017E {alternativePrice}",strikethroughAriaLabel:"Normaliai u\u017E {strikethroughPrice}"},{lang:"lv",recurrenceLabel:"{recurrenceTerm, select, MONTH {m\u0113nes\u012B} YEAR {gad\u0101} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {m\u0113nes\u012B} YEAR {gad\u0101} other {}}",perUnitLabel:"{perUnit, select, LICENSE {vienai licencei} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {vienai licencei} other {}}",freeLabel:"Bezmaksas",freeAriaLabel:"Bezmaksas",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternat\u012Bvi par {alternativePrice}",strikethroughAriaLabel:"Regul\u0101ri par {strikethroughPrice}"},{lang:"nb",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mnd.} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\xE5ned} YEAR {per \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per lisens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per lisens} other {}}",freeLabel:"Fri",freeAriaLabel:"Fri",taxExclusiveLabel:"{taxTerm, select, GST {ekskl. GST} VAT {ekskl. moms} TAX {ekskl. avgift} IVA {ekskl. IVA} SST {ekskl. SST} KDV {ekskl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. avgift} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt til {alternativePrice}",strikethroughAriaLabel:"Regelmessig til {strikethroughPrice}"},{lang:"nl",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mnd} YEAR {/jr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per maand} YEAR {per jaar} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licentie} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licentie} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. btw} TAX {excl. belasting} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. btw} TAX {incl. belasting} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Nu {alternativePrice}",strikethroughAriaLabel:"Normaal {strikethroughPrice}"},{lang:"pl",recurrenceLabel:"{recurrenceTerm, select, MONTH { / mies.} YEAR { / rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH { / miesi\u0105c} YEAR { / rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licencj\u0119} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licencj\u0119} other {}}",freeLabel:"Bezp\u0142atne",freeAriaLabel:"Bezp\u0142atne",taxExclusiveLabel:"{taxTerm, select, GST {bez GST} VAT {bez VAT} TAX {netto} IVA {bez IVA} SST {bez SST} KDV {bez KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {z GST} VAT {z VAT} TAX {brutto} IVA {z IVA} SST {z SST} KDV {z KDV} other {}}",alternativePriceAriaLabel:"Lub za {alternativePrice}",strikethroughAriaLabel:"Cena zwyk\u0142a: {strikethroughPrice}"},{lang:"pt",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\xEAs} YEAR {/ano} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {por m\xEAs} YEAR {por ano} other {}}",perUnitLabel:"{perUnit, select, LICENSE {por licen\xE7a} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {por licen\xE7a} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {ICMS n\xE3o incluso} VAT {IVA n\xE3o incluso} TAX {impostos n\xE3o inclusos} IVA {IVA n\xE3o incluso} SST { SST n\xE3o incluso} KDV {KDV n\xE3o incluso} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {ICMS incluso} VAT {IVA incluso} TAX {impostos inclusos} IVA {IVA incluso} SST {SST incluso} KDV {KDV incluso} other {}}",alternativePriceAriaLabel:"Ou a {alternativePrice}",strikethroughAriaLabel:"Pre\xE7o normal: {strikethroughPrice}"},{lang:"ro",recurrenceLabel:"{recurrenceTerm, select, MONTH {/lun\u0103} YEAR {/an} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pe lun\u0103} YEAR {pe an} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pe licen\u021B\u0103} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pe licen\u021B\u0103} other {}}",freeLabel:"Gratuit",freeAriaLabel:"Gratuit",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternativ, la {alternativePrice}",strikethroughAriaLabel:"\xCEn mod normal, la {strikethroughPrice}"},{lang:"ru",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0435\u0441.} YEAR {/\u0433.} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0432 \u043C\u0435\u0441\u044F\u0446} YEAR {\u0432 \u0433\u043E\u0434} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E} other {}}",freeLabel:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {\u0438\u0441\u043A\u043B. \u043D\u0430\u043B\u043E\u0433 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438} VAT {\u0438\u0441\u043A\u043B. \u041D\u0414\u0421} TAX {\u0438\u0441\u043A\u043B. \u043D\u0430\u043B\u043E\u0433} IVA {\u0438\u0441\u043A\u043B. \u0418\u0412\u0410} SST {\u0438\u0441\u043A\u043B. SST} KDV {\u0438\u0441\u043A\u043B. \u041A\u0414\u0412} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0432\u043A\u043B. \u043D\u0430\u043B\u043E\u0433 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438} VAT {\u0432\u043A\u043B. \u041D\u0414\u0421} TAX {\u0432\u043A\u043B. \u043D\u0430\u043B\u043E\u0433} IVA {\u0432\u043A\u043B. \u0418\u0412\u0410} SST {\u0432\u043A\u043B. SST} KDV {\u0432\u043A\u043B. \u041A\u0414\u0412} other {}}",alternativePriceAriaLabel:"\u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442 \u0437\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0420\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u043E \u043F\u043E \u0446\u0435\u043D\u0435 {strikethroughPrice}"},{lang:"sk",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mesiac} YEAR {/rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {za mesiac} YEAR {za rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licenciu} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licenciu} other {}}",freeLabel:"Zadarmo",freeAriaLabel:"Zadarmo",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Pr\xEDpadne za {alternativePrice}",strikethroughAriaLabel:"Pravidelne za {strikethroughPrice}"},{lang:"sl",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mesec} YEAR {/leto} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {na mesec} YEAR {na leto} other {}}",perUnitLabel:"{perUnit, select, LICENSE {na licenco} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {na licenco} other {}}",freeLabel:"Brezpla\u010Dno",freeAriaLabel:"Brezpla\u010Dno",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Druga mo\u017Enost je: {alternativePrice}",strikethroughAriaLabel:"Redno po {strikethroughPrice}"},{lang:"sv",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\xE5n} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\xE5nad} YEAR {per \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licens} other {}}",freeLabel:"Kostnadsfritt",freeAriaLabel:"Kostnadsfritt",taxExclusiveLabel:"{taxTerm, select, GST {exkl. GST} VAT {exkl. moms} TAX {exkl. skatt} IVA {exkl. IVA} SST {exkl. SST} KDV {exkl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. skatt} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt f\xF6r {alternativePrice}",strikethroughAriaLabel:"Normalpris {strikethroughPrice}"},{lang:"tr",recurrenceLabel:"{recurrenceTerm, select, MONTH {/ay} YEAR {/y\u0131l} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {(ayl\u0131k)} YEAR {(y\u0131ll\u0131k)} other {}}",perUnitLabel:"{perUnit, select, LICENSE {(lisans ba\u015F\u0131na)} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {(lisans ba\u015F\u0131na)} other {}}",freeLabel:"\xDCcretsiz",freeAriaLabel:"\xDCcretsiz",taxExclusiveLabel:"{taxTerm, select, GST {GST hari\xE7} VAT {KDV hari\xE7} TAX {vergi hari\xE7} IVA {IVA hari\xE7} SST {SST hari\xE7} KDV {KDV hari\xE7} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST dahil} VAT {KDV dahil} TAX {vergi dahil} IVA {IVA dahil} SST {SST dahil} KDV {KDV dahil} other {}}",alternativePriceAriaLabel:"Ya da {alternativePrice}",strikethroughAriaLabel:"Standart fiyat: {strikethroughPrice}"},{lang:"uk",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0456\u0441.} YEAR {/\u0440\u0456\u043A} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u043D\u0430 \u043C\u0456\u0441\u044F\u0446\u044C} YEAR {\u043D\u0430 \u0440\u0456\u043A} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E} other {}}",freeLabel:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {\u0431\u0435\u0437 GST} VAT {\u0431\u0435\u0437 \u041F\u0414\u0412} TAX {\u0431\u0435\u0437 \u043F\u043E\u0434\u0430\u0442\u043A\u0443} IVA {\u0431\u0435\u0437 IVA} SST {\u0431\u0435\u0437 SST} KDV {\u0431\u0435\u0437 KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 GST} VAT {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 \u041F\u0414\u0412} TAX {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 \u043F\u043E\u0434\u0430\u0442\u043A\u043E\u043C} IVA {\u0440\u0430\u0437\u043E\u043C \u0437 IVA} SST {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 SST} KDV {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 KDV} other {}}",alternativePriceAriaLabel:"\u0410\u0431\u043E \u0437\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0417\u0432\u0438\u0447\u0430\u0439\u043D\u0430 \u0446\u0456\u043D\u0430 {strikethroughPrice}"},{lang:"zh-hans",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCF\u6708} YEAR {\u6BCF\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u6BCF\u4E2A\u8BB8\u53EF\u8BC1} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u6BCF\u4E2A\u8BB8\u53EF\u8BC1} other {}}",freeLabel:"\u514D\u8D39",freeAriaLabel:"\u514D\u8D39",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u6216\u5B9A\u4EF7 {alternativePrice}",strikethroughAriaLabel:"\u6B63\u5E38\u4EF7 {strikethroughPrice}"},{lang:"zh-hant",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCF\u6708} YEAR {\u6BCF\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u6BCF\u500B\u6388\u6B0A} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u6BCF\u500B\u6388\u6B0A} other {}}",freeLabel:"\u514D\u8CBB",freeAriaLabel:"\u514D\u8CBB",taxExclusiveLabel:"{taxTerm, select, GST {\u4E0D\u542B GST} VAT {\u4E0D\u542B VAT} TAX {\u4E0D\u542B\u7A05} IVA {\u4E0D\u542B IVA} SST {\u4E0D\u542B SST} KDV {\u4E0D\u542B KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u542B GST} VAT {\u542B VAT} TAX {\u542B\u7A05} IVA {\u542B IVA} SST {\u542B SST} KDV {\u542B KDV} other {}}",alternativePriceAriaLabel:"\u6216\u8005\u5728 {alternativePrice}",strikethroughAriaLabel:"\u6A19\u6E96\u50F9\u683C\u70BA {strikethroughPrice}"},{lang:"es",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mes} YEAR {/a\xF1o} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {al mes} YEAR {al a\xF1o} other {}}",perUnitLabel:"{perUnit, select, LICENSE {por licencia} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {por licencia} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {GST no incluido} VAT {IVA no incluido} TAX {Impuestos no incluidos} IVA {IVA no incluido} SST {SST no incluido} KDV {KDV no incluido} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST incluido} VAT {IVA incluido} TAX {Impuestos incluidos} IVA {IVA incluido} SST {SST incluido} KDV {KDV incluido} other {}}",alternativePriceAriaLabel:"Alternativamente por {alternativePrice}",strikethroughAriaLabel:"Normalmente a {strikethroughPrice}"},{lang:"in",recurrenceLabel:"{recurrenceTerm, select, MONTH {/bulan} YEAR {/tahun} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per bulan} YEAR {per tahun} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per lisensi} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per lisensi} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {tidak termasuk PBJ} VAT {tidak termasuk PPN} TAX {tidak termasuk pajak} IVA {tidak termasuk IVA} SST {tidak termasuk SST} KDV {tidak termasuk KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {termasuk PBJ} VAT {termasuk PPN} TAX {termasuk pajak} IVA {termasuk IVA} SST {termasuk SST} KDV {termasuk KDV} other {}}",alternativePriceAriaLabel:"Atau seharga {alternativePrice}",strikethroughAriaLabel:"Normalnya seharga {strikethroughPrice}"},{lang:"vi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/th\xE1ng} YEAR {/n\u0103m} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {m\u1ED7i th\xE1ng} YEAR {m\u1ED7i n\u0103m} other {}}",perUnitLabel:"{perUnit, select, LICENSE {m\u1ED7i gi\u1EA5y ph\xE9p} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {m\u1ED7i gi\u1EA5y ph\xE9p} other {}}",freeLabel:"Mi\u1EC5n ph\xED",freeAriaLabel:"Mi\u1EC5n ph\xED",taxExclusiveLabel:"{taxTerm, select, GST {ch\u01B0a bao g\u1ED3m thu\u1EBF h\xE0ng h\xF3a v\xE0 d\u1ECBch v\u1EE5} VAT {ch\u01B0a bao g\u1ED3m thu\u1EBF GTGT} TAX {ch\u01B0a bao g\u1ED3m thu\u1EBF} IVA {ch\u01B0a bao g\u1ED3m IVA} SST {ch\u01B0a bao g\u1ED3m SST} KDV {ch\u01B0a bao g\u1ED3m KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {(\u0111\xE3 bao g\u1ED3m thu\u1EBF h\xE0ng h\xF3a v\xE0 d\u1ECBch v\u1EE5)} VAT {(\u0111\xE3 bao g\u1ED3m thu\u1EBF GTGT)} TAX {(\u0111\xE3 bao g\u1ED3m thu\u1EBF)} IVA {(\u0111\xE3 bao g\u1ED3m IVA)} SST {(\u0111\xE3 bao g\u1ED3m SST)} KDV {(\u0111\xE3 bao g\u1ED3m KDV)} other {}}",alternativePriceAriaLabel:"Gi\xE1 \u01B0u \u0111\xE3i {alternativePrice}",strikethroughAriaLabel:"Gi\xE1 th\xF4ng th\u01B0\u1EDDng {strikethroughPrice}"},{lang:"th",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u0E40\u0E14\u0E37\u0E2D\u0E19} YEAR {/\u0E1B\u0E35} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0E15\u0E48\u0E2D\u0E40\u0E14\u0E37\u0E2D\u0E19} YEAR {\u0E15\u0E48\u0E2D\u0E1B\u0E35} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0E15\u0E48\u0E2D\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0E15\u0E48\u0E2D\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19} other {}}",freeLabel:"\u0E1F\u0E23\u0E35",freeAriaLabel:"\u0E1F\u0E23\u0E35",taxExclusiveLabel:"{taxTerm, select, GST {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35 GST} VAT {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 VAT} TAX {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35} IVA {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 IVA} SST {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 SST} KDV {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35 GST} VAT {\u0E23\u0E27\u0E21 VAT} TAX {\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35} IVA {\u0E23\u0E27\u0E21 IVA} SST {\u0E23\u0E27\u0E21 SST} KDV {\u0E23\u0E27\u0E21 KDV} other {}}",alternativePriceAriaLabel:"\u0E23\u0E32\u0E04\u0E32\u0E1E\u0E34\u0E40\u0E28\u0E29 {alternativePrice}",strikethroughAriaLabel:"\u0E23\u0E32\u0E04\u0E32\u0E1B\u0E01\u0E15\u0E34 {strikethroughPrice}"},{lang:"el",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u03BC\u03AE\u03BD\u03B1} YEAR {/\u03AD\u03C4\u03BF\u03C2} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u03BA\u03AC\u03B8\u03B5 \u03BC\u03AE\u03BD\u03B1} YEAR {\u03B1\u03BD\u03AC \u03AD\u03C4\u03BF\u03C2} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u03B1\u03BD\u03AC \u03AC\u03B4\u03B5\u03B9\u03B1 \u03C7\u03C1\u03AE\u03C3\u03B7\u03C2} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u03B1\u03BD\u03AC \u03AC\u03B4\u03B5\u03B9\u03B1 \u03C7\u03C1\u03AE\u03C3\u03B7\u03C2} other {}}",freeLabel:"\u0394\u03C9\u03C1\u03B5\u03AC\u03BD",freeAriaLabel:"\u0394\u03C9\u03C1\u03B5\u03AC\u03BD",taxExclusiveLabel:"{taxTerm, select, GST {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 GST)} VAT {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03A6\u03A0\u0391)} TAX {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C6\u03CC\u03C1\u03BF)} IVA {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 IVA)} SST {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 SST)} KDV {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 KDV)} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 GST)} VAT {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03A6\u03A0\u0391)} TAX {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 \u03C6\u03CC\u03C1\u03BF\u03C5)} IVA {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 IVA)} SST {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 SST)} KDV {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 KDV)} other {}}",alternativePriceAriaLabel:"\u0394\u03B9\u03B1\u03C6\u03BF\u03C1\u03B5\u03C4\u03B9\u03BA\u03AC, {alternativePrice}",strikethroughAriaLabel:"\u039A\u03B1\u03BD\u03BF\u03BD\u03B9\u03BA\u03AE \u03C4\u03B9\u03BC\u03AE {strikethroughPrice}"},{lang:"fil",recurrenceLabel:"{recurrenceTerm, select, MONTH {/buwan} YEAR {/taon} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per buwan} YEAR {per taon} other {}}",perUnitLabel:"{perUnit, select, LICENSE {kada lisensya} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {kada lisensya} other {}}",freeLabel:"Libre",freeAriaLabel:"Libre",taxExclusiveLabel:"{taxTerm, select, GST {hindi kasama ang GST} VAT {hindi kasama ang VAT} TAX {hindi kasama ang Buwis} IVA {hindi kasama ang IVA} SST {hindi kasama ang SST} KDV {hindi kasama ang KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {kasama ang GST} VAT {kasama ang VAT} TAX {kasama ang Buwis} IVA {kasama ang IVA} SST {kasama ang SST} KDV {kasama ang KDV} other {}}",alternativePriceAriaLabel:"Alternatibong nasa halagang {alternativePrice}",strikethroughAriaLabel:"Regular na nasa halagang {strikethroughPrice}"},{lang:"ms",recurrenceLabel:"{recurrenceTerm, select, MONTH {/bulan} YEAR {/tahun} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per bulan} YEAR {per tahun} other {}}",perUnitLabel:"{perUnit, select, LICENSE {setiap lesen} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {setiap lesen} other {}}",freeLabel:"Percuma",freeAriaLabel:"Percuma",taxExclusiveLabel:"{taxTerm, select, GST {kecuali GST} VAT {kecuali VAT} TAX {kecuali Cukai} IVA {kecuali IVA} SST {kecuali SST} KDV {kecuali KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {termasuk GST} VAT {termasuk VAT} TAX {termasuk Cukai} IVA {termasuk IVA} SST {termasuk SST} KDV {termasuk KDV} other {}}",alternativePriceAriaLabel:"Secara alternatif pada {alternativePrice}",strikethroughAriaLabel:"Biasanya pada {strikethroughPrice}"},{lang:"hi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u092E\u093E\u0939} YEAR {/\u0935\u0930\u094D\u0937} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per \u092E\u093E\u0939} YEAR {per \u0935\u0930\u094D\u0937} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u092A\u094D\u0930\u0924\u093F \u0932\u093E\u0907\u0938\u0947\u0902\u0938} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u092A\u094D\u0930\u0924\u093F \u0932\u093E\u0907\u0938\u0947\u0902\u0938} other {}}",freeLabel:"\u092B\u093C\u094D\u0930\u0940",freeAriaLabel:"\u092B\u093C\u094D\u0930\u0940",taxExclusiveLabel:"{taxTerm, select, GST {GST \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} VAT {VAT \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} TAX {\u0915\u0930 \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} IVA {IVA \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} SST {SST \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} KDV {KDV \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \u0938\u0939\u093F\u0924} VAT {VAT \u0938\u0939\u093F\u0924} TAX {\u0915\u0930 \u0938\u0939\u093F\u0924} IVA {IVA \u0938\u0939\u093F\u0924} SST {SST \u0938\u0939\u093F\u0924} KDV {KDV \u0938\u0939\u093F\u0924} other {}}",alternativePriceAriaLabel:"\u0935\u0948\u0915\u0932\u094D\u092A\u093F\u0915 \u0930\u0942\u092A \u0938\u0947 \u0907\u0938 \u092A\u0930 {alternativePrice}",strikethroughAriaLabel:"\u0928\u093F\u092F\u092E\u093F\u0924 \u0930\u0942\u092A \u0938\u0947 \u0907\u0938 \u092A\u0930 {strikethroughPrice}"},{lang:"iw",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u05D7\u05D5\u05D3\u05E9} YEAR {/\u05E9\u05E0\u05D4} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u05DC\u05D7\u05D5\u05D3\u05E9} YEAR {\u05DC\u05E9\u05E0\u05D4} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",freeLabel:"\u05D7\u05D9\u05E0\u05DD",freeAriaLabel:"\u05D7\u05D9\u05E0\u05DD",taxExclusiveLabel:'{taxTerm, select, GST {\u05DC\u05DC\u05D0 GST} VAT {\u05DC\u05DC\u05D0 \u05DE\u05E2"\u05DE} TAX {\u05DC\u05DC\u05D0 \u05DE\u05E1} IVA {\u05DC\u05DC\u05D0 IVA} SST {\u05DC\u05DC\u05D0 SST} KDV {\u05DC\u05DC\u05D0 KDV} other {}}',taxInclusiveLabel:'{taxTerm, select, GST {\u05DB\u05D5\u05DC\u05DC GST} VAT {\u05DB\u05D5\u05DC\u05DC \u05DE\u05E2"\u05DE} TAX {\u05DB\u05D5\u05DC\u05DC \u05DE\u05E1} IVA {\u05DB\u05D5\u05DC\u05DC IVA} SST {\u05DB\u05D5\u05DC\u05DC SST} KDV {\u05DB\u05D5\u05DC\u05DC KDV} other {}}',alternativePriceAriaLabel:"\u05DC\u05D7\u05DC\u05D5\u05E4\u05D9\u05DF \u05D1-{alternativePrice}",strikethroughAriaLabel:"\u05D1\u05D0\u05D5\u05E4\u05DF \u05E7\u05D1\u05D5\u05E2 \u05D1-{strikethroughPrice}"}],":type":"sheet"}});(function(){let r={clientId:"",endpoint:"https://www.adobe.com/lana/ll",endpointStage:"https://www.stage.adobe.com/lana/ll",errorType:"e",sampleRate:1,tags:"",implicitSampleRate:1,useProd:!0,isProdDomain:!1},n=window;function i(){let{host:h}=window.location;return h.substring(h.length-10)===".adobe.com"&&h.substring(h.length-15)!==".corp.adobe.com"&&h.substring(h.length-16)!==".stage.adobe.com"}function o(h,d){h||(h={}),d||(d={});function u(m){return h[m]!==void 0?h[m]:d[m]!==void 0?d[m]:r[m]}return Object.keys(r).reduce((m,f)=>(m[f]=u(f),m),{})}function a(h,d){h=h&&h.stack?h.stack:h||"",h.length>2e3&&(h=`${h.slice(0,2e3)}`);let u=o(d,n.lana.options);if(!u.clientId){console.warn("LANA ClientID is not set in options.");return}let f=parseInt(new URL(window.location).searchParams.get("lana-sample"),10)||(u.errorType==="i"?u.implicitSampleRate:u.sampleRate);if(!n.lana.debug&&!n.lana.localhost&&f<=Math.random()*100)return;let g=i()||u.isProdDomain,T=!g||!u.useProd?u.endpointStage:u.endpoint,_=[`m=${encodeURIComponent(h)}`,`c=${encodeURI(u.clientId)}`,`s=${f}`,`t=${encodeURI(u.errorType)}`];if(u.tags&&_.push(`tags=${encodeURI(u.tags)}`),(!g||n.lana.debug||n.lana.localhost)&&console.log("LANA Msg: ",h,` -Opts:`,u),!n.lana.localhost||n.lana.debug){let b=new XMLHttpRequest;return n.lana.debug&&(_.push("d"),b.addEventListener("load",()=>{console.log("LANA response:",b.responseText)})),b.open("GET",`${T}?${_.join("&")}`),b.send(),b}}function s(h){a(h.reason||h.error||h.message,{errorType:"i"})}function c(){return n.location.search.toLowerCase().indexOf("lanadebug")!==-1}function l(){return n.location.host.toLowerCase().indexOf("localhost")!==-1}n.lana={debug:!1,log:a,options:o(n.lana&&n.lana.options)},c()&&(n.lana.debug=!0),l()&&(n.lana.localhost=!0),n.addEventListener("error",s),n.addEventListener("unhandledrejection",s)})();var tr=window,nr=tr.ShadowRoot&&(tr.ShadyCSS===void 0||tr.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Ji=Symbol(),Zi=new WeakMap,rr=class{constructor(t,r,n){if(this._$cssResult$=!0,n!==Ji)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=r}get styleSheet(){let t=this.o,r=this.t;if(nr&&t===void 0){let n=r!==void 0&&r.length===1;n&&(t=Zi.get(r)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&Zi.set(r,t))}return t}toString(){return this.cssText}},Qi=e=>new rr(typeof e=="string"?e:e+"",void 0,Ji);var qr=(e,t)=>{nr?e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet):t.forEach(r=>{let n=document.createElement("style"),i=tr.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=r.cssText,e.appendChild(n)})},ir=nr?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(let n of t.cssRules)r+=n.cssText;return Qi(r)})(e):e;var Zr,or=window,eo=or.trustedTypes,Ms=eo?eo.emptyScript:"",to=or.reactiveElementPolyfillSupport,Qr={toAttribute(e,t){switch(t){case Boolean:e=e?Ms:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=e!==null;break;case Number:r=e===null?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},ro=(e,t)=>t!==e&&(t==t||e==e),Jr={attribute:!0,type:String,converter:Qr,reflect:!1,hasChanged:ro},en="finalized",Pe=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var r;this.finalize(),((r=this.h)!==null&&r!==void 0?r:this.h=[]).push(t)}static get observedAttributes(){this.finalize();let t=[];return this.elementProperties.forEach((r,n)=>{let i=this._$Ep(n,r);i!==void 0&&(this._$Ev.set(i,n),t.push(i))}),t}static createProperty(t,r=Jr){if(r.state&&(r.attribute=!1),this.finalize(),this.elementProperties.set(t,r),!r.noAccessor&&!this.prototype.hasOwnProperty(t)){let n=typeof t=="symbol"?Symbol():"__"+t,i=this.getPropertyDescriptor(t,n,r);i!==void 0&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,r,n){return{get(){return this[r]},set(i){let o=this[t];this[r]=i,this.requestUpdate(t,o,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||Jr}static finalize(){if(this.hasOwnProperty(en))return!1;this[en]=!0;let t=Object.getPrototypeOf(this);if(t.finalize(),t.h!==void 0&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){let r=this.properties,n=[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)];for(let i of n)this.createProperty(i,r[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){let r=[];if(Array.isArray(t)){let n=new Set(t.flat(1/0).reverse());for(let i of n)r.unshift(ir(i))}else t!==void 0&&r.push(ir(t));return r}static _$Ep(t,r){let n=r.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise(r=>this.enableUpdating=r),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(t=this.constructor.h)===null||t===void 0||t.forEach(r=>r(this))}addController(t){var r,n;((r=this._$ES)!==null&&r!==void 0?r:this._$ES=[]).push(t),this.renderRoot!==void 0&&this.isConnected&&((n=t.hostConnected)===null||n===void 0||n.call(t))}removeController(t){var r;(r=this._$ES)===null||r===void 0||r.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((t,r)=>{this.hasOwnProperty(r)&&(this._$Ei.set(r,this[r]),delete this[r])})}createRenderRoot(){var t;let r=(t=this.shadowRoot)!==null&&t!==void 0?t:this.attachShadow(this.constructor.shadowRootOptions);return qr(r,this.constructor.elementStyles),r}connectedCallback(){var t;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostConnected)===null||n===void 0?void 0:n.call(r)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostDisconnected)===null||n===void 0?void 0:n.call(r)})}attributeChangedCallback(t,r,n){this._$AK(t,n)}_$EO(t,r,n=Jr){var i;let o=this.constructor._$Ep(t,n);if(o!==void 0&&n.reflect===!0){let a=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:Qr).toAttribute(r,n.type);this._$El=t,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$El=null}}_$AK(t,r){var n;let i=this.constructor,o=i._$Ev.get(t);if(o!==void 0&&this._$El!==o){let a=i.getPropertyOptions(o),s=typeof a.converter=="function"?{fromAttribute:a.converter}:((n=a.converter)===null||n===void 0?void 0:n.fromAttribute)!==void 0?a.converter:Qr;this._$El=o,this[o]=s.fromAttribute(r,a.type),this._$El=null}}requestUpdate(t,r,n){let i=!0;t!==void 0&&(((n=n||this.constructor.getPropertyOptions(t)).hasChanged||ro)(this[t],r)?(this._$AL.has(t)||this._$AL.set(t,r),n.reflect===!0&&this._$El!==t&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(t,n))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(r){Promise.reject(r)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((i,o)=>this[o]=i),this._$Ei=void 0);let r=!1,n=this._$AL;try{r=this.shouldUpdate(n),r?(this.willUpdate(n),(t=this._$ES)===null||t===void 0||t.forEach(i=>{var o;return(o=i.hostUpdate)===null||o===void 0?void 0:o.call(i)}),this.update(n)):this._$Ek()}catch(i){throw r=!1,this._$Ek(),i}r&&this._$AE(n)}willUpdate(t){}_$AE(t){var r;(r=this._$ES)===null||r===void 0||r.forEach(n=>{var i;return(i=n.hostUpdated)===null||i===void 0?void 0:i.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){this._$EC!==void 0&&(this._$EC.forEach((r,n)=>this._$EO(n,this[n],r)),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};Pe[en]=!0,Pe.elementProperties=new Map,Pe.elementStyles=[],Pe.shadowRootOptions={mode:"open"},to?.({ReactiveElement:Pe}),((Zr=or.reactiveElementVersions)!==null&&Zr!==void 0?Zr:or.reactiveElementVersions=[]).push("1.6.3");var tn,ar=window,Ze=ar.trustedTypes,no=Ze?Ze.createPolicy("lit-html",{createHTML:e=>e}):void 0,nn="$lit$",be=`lit$${(Math.random()+"").slice(9)}$`,ho="?"+be,$s=`<${ho}>`,ke=document,sr=()=>ke.createComment(""),Lt=e=>e===null||typeof e!="object"&&typeof e!="function",uo=Array.isArray,Hs=e=>uo(e)||typeof e?.[Symbol.iterator]=="function",rn=`[ -\f\r]`,Tt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,io=/-->/g,oo=/>/g,Ce=RegExp(`>|${rn}(?:([^\\s"'>=/]+)(${rn}*=${rn}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),ao=/'/g,so=/"/g,mo=/^(?:script|style|textarea|title)$/i,po=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),kh=po(1),Nh=po(2),_t=Symbol.for("lit-noChange"),D=Symbol.for("lit-nothing"),co=new WeakMap,Ie=ke.createTreeWalker(ke,129,null,!1);function fo(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return no!==void 0?no.createHTML(t):t}var Us=(e,t)=>{let r=e.length-1,n=[],i,o=t===2?"":"",a=Tt;for(let s=0;s"?(a=i??Tt,d=-1):h[1]===void 0?d=-2:(d=a.lastIndex-h[2].length,l=h[1],a=h[3]===void 0?Ce:h[3]==='"'?so:ao):a===so||a===ao?a=Ce:a===io||a===oo?a=Tt:(a=Ce,i=void 0);let m=a===Ce&&e[s+1].startsWith("/>")?" ":"";o+=a===Tt?c+$s:d>=0?(n.push(l),c.slice(0,d)+nn+c.slice(d)+be+m):c+be+(d===-2?(n.push(void 0),s):m)}return[fo(e,o+(e[r]||"")+(t===2?"":"")),n]},wt=class e{constructor({strings:t,_$litType$:r},n){let i;this.parts=[];let o=0,a=0,s=t.length-1,c=this.parts,[l,h]=Us(t,r);if(this.el=e.createElement(l,n),Ie.currentNode=this.el.content,r===2){let d=this.el.content,u=d.firstChild;u.remove(),d.append(...u.childNodes)}for(;(i=Ie.nextNode())!==null&&c.length0){i.textContent=Ze?Ze.emptyScript:"";for(let m=0;m2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=D}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,r=this,n,i){let o=this.strings,a=!1;if(o===void 0)t=Je(this,t,r,0),a=!Lt(t)||t!==this._$AH&&t!==_t,a&&(this._$AH=t);else{let s=t,c,l;for(t=o[0],c=0;cnew Pt(typeof e=="string"?e:e+"",void 0,hn),C=(e,...t)=>{let r=e.length===1?e[0]:t.reduce((n,i,o)=>n+(a=>{if(a._$cssResult$===!0)return a.cssText;if(typeof a=="number")return a;throw Error("Value passed to 'css' function must be a 'css' function result: "+a+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+e[o+1],e[0]);return new Pt(r,e,hn)},dn=(e,t)=>{hr?e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet):t.forEach(r=>{let n=document.createElement("style"),i=lr.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=r.cssText,e.appendChild(n)})},dr=hr?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(let n of t.cssRules)r+=n.cssText;return ve(r)})(e):e;var un,ur=window,xo=ur.trustedTypes,Bs=xo?xo.emptyScript:"",bo=ur.reactiveElementPolyfillSupport,pn={toAttribute(e,t){switch(t){case Boolean:e=e?Bs:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=e!==null;break;case Number:r=e===null?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},vo=(e,t)=>t!==e&&(t==t||e==e),mn={attribute:!0,type:String,converter:pn,reflect:!1,hasChanged:vo},fn="finalized",le=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var r;this.finalize(),((r=this.h)!==null&&r!==void 0?r:this.h=[]).push(t)}static get observedAttributes(){this.finalize();let t=[];return this.elementProperties.forEach((r,n)=>{let i=this._$Ep(n,r);i!==void 0&&(this._$Ev.set(i,n),t.push(i))}),t}static createProperty(t,r=mn){if(r.state&&(r.attribute=!1),this.finalize(),this.elementProperties.set(t,r),!r.noAccessor&&!this.prototype.hasOwnProperty(t)){let n=typeof t=="symbol"?Symbol():"__"+t,i=this.getPropertyDescriptor(t,n,r);i!==void 0&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,r,n){return{get(){return this[r]},set(i){let o=this[t];this[r]=i,this.requestUpdate(t,o,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||mn}static finalize(){if(this.hasOwnProperty(fn))return!1;this[fn]=!0;let t=Object.getPrototypeOf(this);if(t.finalize(),t.h!==void 0&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){let r=this.properties,n=[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)];for(let i of n)this.createProperty(i,r[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){let r=[];if(Array.isArray(t)){let n=new Set(t.flat(1/0).reverse());for(let i of n)r.unshift(dr(i))}else t!==void 0&&r.push(dr(t));return r}static _$Ep(t,r){let n=r.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise(r=>this.enableUpdating=r),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(t=this.constructor.h)===null||t===void 0||t.forEach(r=>r(this))}addController(t){var r,n;((r=this._$ES)!==null&&r!==void 0?r:this._$ES=[]).push(t),this.renderRoot!==void 0&&this.isConnected&&((n=t.hostConnected)===null||n===void 0||n.call(t))}removeController(t){var r;(r=this._$ES)===null||r===void 0||r.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((t,r)=>{this.hasOwnProperty(r)&&(this._$Ei.set(r,this[r]),delete this[r])})}createRenderRoot(){var t;let r=(t=this.shadowRoot)!==null&&t!==void 0?t:this.attachShadow(this.constructor.shadowRootOptions);return dn(r,this.constructor.elementStyles),r}connectedCallback(){var t;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostConnected)===null||n===void 0?void 0:n.call(r)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostDisconnected)===null||n===void 0?void 0:n.call(r)})}attributeChangedCallback(t,r,n){this._$AK(t,n)}_$EO(t,r,n=mn){var i;let o=this.constructor._$Ep(t,n);if(o!==void 0&&n.reflect===!0){let a=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:pn).toAttribute(r,n.type);this._$El=t,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$El=null}}_$AK(t,r){var n;let i=this.constructor,o=i._$Ev.get(t);if(o!==void 0&&this._$El!==o){let a=i.getPropertyOptions(o),s=typeof a.converter=="function"?{fromAttribute:a.converter}:((n=a.converter)===null||n===void 0?void 0:n.fromAttribute)!==void 0?a.converter:pn;this._$El=o,this[o]=s.fromAttribute(r,a.type),this._$El=null}}requestUpdate(t,r,n){let i=!0;t!==void 0&&(((n=n||this.constructor.getPropertyOptions(t)).hasChanged||vo)(this[t],r)?(this._$AL.has(t)||this._$AL.set(t,r),n.reflect===!0&&this._$El!==t&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(t,n))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(r){Promise.reject(r)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((i,o)=>this[o]=i),this._$Ei=void 0);let r=!1,n=this._$AL;try{r=this.shouldUpdate(n),r?(this.willUpdate(n),(t=this._$ES)===null||t===void 0||t.forEach(i=>{var o;return(o=i.hostUpdate)===null||o===void 0?void 0:o.call(i)}),this.update(n)):this._$Ek()}catch(i){throw r=!1,this._$Ek(),i}r&&this._$AE(n)}willUpdate(t){}_$AE(t){var r;(r=this._$ES)===null||r===void 0||r.forEach(n=>{var i;return(i=n.hostUpdated)===null||i===void 0?void 0:i.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){this._$EC!==void 0&&(this._$EC.forEach((r,n)=>this._$EO(n,this[n],r)),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};le[fn]=!0,le.elementProperties=new Map,le.elementStyles=[],le.shadowRootOptions={mode:"open"},bo?.({ReactiveElement:le}),((un=ur.reactiveElementVersions)!==null&&un!==void 0?un:ur.reactiveElementVersions=[]).push("1.6.3");var gn,mr=window,et=mr.trustedTypes,Ao=et?et.createPolicy("lit-html",{createHTML:e=>e}):void 0,bn="$lit$",Ae=`lit$${(Math.random()+"").slice(9)}$`,wo="?"+Ae,Gs=`<${wo}>`,Re=document,It=()=>Re.createComment(""),kt=e=>e===null||typeof e!="object"&&typeof e!="function",Po=Array.isArray,zs=e=>Po(e)||typeof e?.[Symbol.iterator]=="function",xn=`[ -\f\r]`,Ct=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Eo=/-->/g,So=/>/g,Ne=RegExp(`>|${xn}(?:([^\\s"'>=/]+)(${xn}*=${xn}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),yo=/'/g,To=/"/g,Co=/^(?:script|style|textarea|title)$/i,Io=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),x=Io(1),Hh=Io(2),Ve=Symbol.for("lit-noChange"),B=Symbol.for("lit-nothing"),Lo=new WeakMap,Oe=Re.createTreeWalker(Re,129,null,!1);function ko(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return Ao!==void 0?Ao.createHTML(t):t}var Fs=(e,t)=>{let r=e.length-1,n=[],i,o=t===2?"":"",a=Ct;for(let s=0;s"?(a=i??Ct,d=-1):h[1]===void 0?d=-2:(d=a.lastIndex-h[2].length,l=h[1],a=h[3]===void 0?Ne:h[3]==='"'?To:yo):a===To||a===yo?a=Ne:a===Eo||a===So?a=Ct:(a=Ne,i=void 0);let m=a===Ne&&e[s+1].startsWith("/>")?" ":"";o+=a===Ct?c+Gs:d>=0?(n.push(l),c.slice(0,d)+bn+c.slice(d)+Ae+m):c+Ae+(d===-2?(n.push(void 0),s):m)}return[ko(e,o+(e[r]||"")+(t===2?"":"")),n]},Nt=class e{constructor({strings:t,_$litType$:r},n){let i;this.parts=[];let o=0,a=0,s=t.length-1,c=this.parts,[l,h]=Fs(t,r);if(this.el=e.createElement(l,n),Oe.currentNode=this.el.content,r===2){let d=this.el.content,u=d.firstChild;u.remove(),d.append(...u.childNodes)}for(;(i=Oe.nextNode())!==null&&c.length0){i.textContent=et?et.emptyScript:"";for(let m=0;m2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=B}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,r=this,n,i){let o=this.strings,a=!1;if(o===void 0)t=tt(this,t,r,0),a=!kt(t)||t!==this._$AH&&t!==Ve,a&&(this._$AH=t);else{let s=t,c,l;for(t=o[0],c=0;c{var n,i;let o=(n=r?.renderBefore)!==null&&n!==void 0?n:t,a=o._$litPart$;if(a===void 0){let s=(i=r?.renderBefore)!==null&&i!==void 0?i:null;o._$litPart$=a=new Ot(t.insertBefore(It(),s),s,void 0,r??{})}return a._$AI(e),a};var Tn,Ln;var ee=class extends le{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,r;let n=super.createRenderRoot();return(t=(r=this.renderOptions).renderBefore)!==null&&t!==void 0||(r.renderBefore=n.firstChild),n}update(t){let r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=No(r,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),(t=this._$Do)===null||t===void 0||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._$Do)===null||t===void 0||t.setConnected(!1)}render(){return Ve}};ee.finalized=!0,ee._$litElement$=!0,(Tn=globalThis.litElementHydrateSupport)===null||Tn===void 0||Tn.call(globalThis,{LitElement:ee});var Oo=globalThis.litElementPolyfillSupport;Oo?.({LitElement:ee});((Ln=globalThis.litElementVersions)!==null&&Ln!==void 0?Ln:globalThis.litElementVersions=[]).push("3.3.3");var Ee="(max-width: 767px)",pr="(max-width: 1199px)",$="(min-width: 768px)",M="(min-width: 1200px)",z="(min-width: 1600px)";var Ro=C` +var Ls=Object.create;var er=Object.defineProperty;var _s=Object.getOwnPropertyDescriptor;var ws=Object.getOwnPropertyNames;var Ps=Object.getPrototypeOf,Cs=Object.prototype.hasOwnProperty;var Wi=e=>{throw TypeError(e)};var Is=(e,t,r)=>t in e?er(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var ks=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ns=(e,t)=>{for(var r in t)er(e,r,{get:t[r],enumerable:!0})},Os=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ws(t))!Cs.call(e,i)&&i!==r&&er(e,i,{get:()=>t[i],enumerable:!(n=_s(t,i))||n.enumerable});return e};var Rs=(e,t,r)=>(r=e!=null?Ls(Ps(e)):{},Os(t||!e||!e.__esModule?er(r,"default",{value:e,enumerable:!0}):r,e));var p=(e,t,r)=>Is(e,typeof t!="symbol"?t+"":t,r),Wr=(e,t,r)=>t.has(e)||Wi("Cannot "+r);var w=(e,t,r)=>(Wr(e,t,"read from private field"),r?r.call(e):t.get(e)),K=(e,t,r)=>t.has(e)?Wi("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Y=(e,t,r,n)=>(Wr(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),ge=(e,t,r)=>(Wr(e,t,"access private method"),r);var ps=ks(($f,Ah)=>{Ah.exports={total:38,offset:0,limit:38,data:[{lang:"ar",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u0627\u0644\u0634\u0647\u0631} YEAR {/\u0627\u0644\u0639\u0627\u0645} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0643\u0644 \u0634\u0647\u0631} YEAR {\u0643\u0644 \u0639\u0627\u0645} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0644\u0643\u0644 \u062A\u0631\u062E\u064A\u0635} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0644\u0643\u0644 \u062A\u0631\u062E\u064A\u0635} other {}}",freeLabel:"\u0645\u062C\u0627\u0646\u064B\u0627",freeAriaLabel:"\u0645\u062C\u0627\u0646\u064B\u0627",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u0623\u0648 \u0628\u062F\u0644\u0627\u064B \u0645\u0646 \u0630\u0644\u0643 \u0628\u0642\u064A\u0645\u0629 {alternativePrice}",strikethroughAriaLabel:"\u0628\u0634\u0643\u0644 \u0645\u0646\u062A\u0638\u0645 \u0628\u0642\u064A\u0645\u0629 {strikethroughPrice}"},{lang:"bg",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0435\u0441.} YEAR {/\u0433\u043E\u0434.} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u043D\u0430 \u043C\u0435\u0441\u0435\u0446} YEAR {\u043D\u0430 \u0433\u043E\u0434\u0438\u043D\u0430} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437} other {}}",freeLabel:"\u0411\u0435\u0437\u043F\u043B\u0430\u0442\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0437\u043F\u043B\u0430\u0442\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u0410\u043B\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u043E \u043D\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0420\u0435\u0434\u043E\u0432\u043D\u043E \u043D\u0430 {strikethroughPrice}"},{lang:"cs",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\u011Bs\xEDc} YEAR {/rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {za m\u011Bs\xEDc} YEAR {za rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licenci} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licenci} other {}}",freeLabel:"Zdarma",freeAriaLabel:"Zdarma",taxExclusiveLabel:"{taxTerm, select, GST {bez dan\u011B ze zbo\u017E\xED a slu\u017Eeb} VAT {bez DPH} TAX {bez dan\u011B} IVA {bez IVA} SST {bez SST} KDV {bez KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {v\u010Detn\u011B dan\u011B ze zbo\u017E\xED a slu\u017Eeb} VAT {v\u010Detn\u011B DPH} TAX {v\u010Detn\u011B dan\u011B} IVA {v\u010Detn\u011B IVA} SST {v\u010Detn\u011B SST} KDV {v\u010Detn\u011B KDV} other {}}",alternativePriceAriaLabel:"P\u0159\xEDpadn\u011B za {alternativePrice}",strikethroughAriaLabel:"Pravideln\u011B za {strikethroughPrice}"},{lang:"da",recurrenceLabel:"{recurrenceTerm, select, MONTH {/md} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pr. m\xE5ned} YEAR {pr. \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pr. licens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pr. licens} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {ekskl. GST} VAT {ekskl. moms} TAX {ekskl. skat} IVA {ekskl. IVA} SST {ekskl. SST} KDV {ekskl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. skat} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt til {alternativePrice}",strikethroughAriaLabel:"Normalpris {strikethroughPrice}"},{lang:"de",recurrenceLabel:"{recurrenceTerm, select, MONTH {/Monat} YEAR {/Jahr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pro Monat} YEAR {pro Jahr} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pro Lizenz} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pro Lizenz} other {}}",freeLabel:"Kostenlos",freeAriaLabel:"Kostenlos",taxExclusiveLabel:"{taxTerm, select, GST {zzgl. GST} VAT {zzgl. MwSt.} TAX {zzgl. Steuern} IVA {zzgl. IVA} SST {zzgl. SST} KDV {zzgl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. MwSt.} TAX {inkl. Steuern} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativ: {alternativePrice}",strikethroughAriaLabel:"Regul\xE4r: {strikethroughPrice}"},{lang:"en",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mo} YEAR {/yr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per month} YEAR {per year} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per license} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per license} other {}}",freeLabel:"Free",freeAriaLabel:"Free",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternatively at {alternativePrice}",strikethroughAriaLabel:"Regularly at {strikethroughPrice}"},{lang:"et",recurrenceLabel:"{recurrenceTerm, select, MONTH {kuus} YEAR {aastas} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {kuus} YEAR {aastas} other {}}",perUnitLabel:"{perUnit, select, LICENSE {litsentsi kohta} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {litsentsi kohta} other {}}",freeLabel:"Tasuta",freeAriaLabel:"Tasuta",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Teise v\xF5imalusena hinnaga {alternativePrice}",strikethroughAriaLabel:"Tavahind {strikethroughPrice}"},{lang:"fi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/kk} YEAR {/v} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {kuukausittain} YEAR {vuosittain} other {}}",perUnitLabel:"{perUnit, select, LICENSE {k\xE4ytt\xF6oikeutta kohti} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {k\xE4ytt\xF6oikeutta kohti} other {}}",freeLabel:"Maksuton",freeAriaLabel:"Maksuton",taxExclusiveLabel:"{taxTerm, select, GST {ilman GST:t\xE4} VAT {ilman ALV:t\xE4} TAX {ilman veroja} IVA {ilman IVA:ta} SST {ilman SST:t\xE4} KDV {ilman KDV:t\xE4} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {sis. GST:n} VAT {sis. ALV:n} TAX {sis. verot} IVA {sis. IVA:n} SST {sis. SST:n} KDV {sis. KDV:n} other {}}",alternativePriceAriaLabel:"Vaihtoehtoisesti hintaan {alternativePrice}",strikethroughAriaLabel:"S\xE4\xE4nn\xF6llisesti hintaan {strikethroughPrice}"},{lang:"fr",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mois} YEAR {/an} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {par mois} YEAR {par an} other {}}",perUnitLabel:"{perUnit, select, LICENSE {par licence} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {par licence} other {}}",freeLabel:"Gratuit",freeAriaLabel:"Gratuit",taxExclusiveLabel:"{taxTerm, select, GST {hors TPS} VAT {hors TVA} TAX {hors taxes} IVA {hors IVA} SST {hors SST} KDV {hors KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {TPS comprise} VAT {TVA comprise} TAX {taxes comprises} IVA {IVA comprise} SST {SST comprise} KDV {KDV comprise} other {}}",alternativePriceAriaLabel:"Autre prix {alternativePrice}",strikethroughAriaLabel:"Prix habituel {strikethroughPrice}"},{lang:"he",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u05D7\u05D5\u05D3\u05E9} YEAR {/\u05E9\u05E0\u05D4} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u05DC\u05D7\u05D5\u05D3\u05E9} YEAR {\u05DC\u05E9\u05E0\u05D4} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",freeLabel:"\u05D7\u05D9\u05E0\u05DD",freeAriaLabel:"\u05D7\u05D9\u05E0\u05DD",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u05DC\u05D7\u05DC\u05D5\u05E4\u05D9\u05DF \u05D1-{alternativePrice}",strikethroughAriaLabel:"\u05D1\u05D0\u05D5\u05E4\u05DF \u05E7\u05D1\u05D5\u05E2 \u05D1-{strikethroughPrice}"},{lang:"hu",recurrenceLabel:"{recurrenceTerm, select, MONTH {/h\xF3} YEAR {/\xE9v} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {havonta} YEAR {\xE9vente} other {}}",perUnitLabel:"{perUnit, select, LICENSE {licencenk\xE9nt} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {licencenk\xE9nt} other {}}",freeLabel:"Ingyenes",freeAriaLabel:"Ingyenes",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"M\xE1sik lehet\u0151s\xE9g: {alternativePrice}",strikethroughAriaLabel:"\xC1ltal\xE1ban {strikethroughPrice} \xE1ron"},{lang:"it",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mese} YEAR {/anno} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {al mese} YEAR {all'anno} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licenza} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licenza} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {escl. GST} VAT {escl. IVA.} TAX {escl. imposte} IVA {escl. IVA} SST {escl. SST} KDV {escl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. IVA} TAX {incl. imposte} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"In alternativa a {alternativePrice}",strikethroughAriaLabel:"Regolarmente a {strikethroughPrice}"},{lang:"ja",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCE\u6708} YEAR {\u6BCE\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u30E9\u30A4\u30BB\u30F3\u30B9\u3054\u3068} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u30E9\u30A4\u30BB\u30F3\u30B9\u3054\u3068} other {}}",freeLabel:"\u7121\u6599",freeAriaLabel:"\u7121\u6599",taxExclusiveLabel:"{taxTerm, select, GST {GST \u5225} VAT {VAT \u5225} TAX {\u7A0E\u5225} IVA {IVA \u5225} SST {SST \u5225} KDV {KDV \u5225} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \u8FBC} VAT {VAT \u8FBC} TAX {\u7A0E\u8FBC} IVA {IVA \u8FBC} SST {SST \u8FBC} KDV {KDV \u8FBC} other {}}",alternativePriceAriaLabel:"\u7279\u5225\u4FA1\u683C : {alternativePrice}",strikethroughAriaLabel:"\u901A\u5E38\u4FA1\u683C : {strikethroughPrice}"},{lang:"ko",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\uC6D4} YEAR {/\uB144} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\uC6D4\uAC04} YEAR {\uC5F0\uAC04} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\uB77C\uC774\uC120\uC2A4\uB2F9} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\uB77C\uC774\uC120\uC2A4\uB2F9} other {}}",freeLabel:"\uBB34\uB8CC",freeAriaLabel:"\uBB34\uB8CC",taxExclusiveLabel:"{taxTerm, select, GST {GST \uC81C\uC678} VAT {VAT \uC81C\uC678} TAX {\uC138\uAE08 \uC81C\uC678} IVA {IVA \uC81C\uC678} SST {SST \uC81C\uC678} KDV {KDV \uC81C\uC678} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \uD3EC\uD568} VAT {VAT \uD3EC\uD568} TAX {\uC138\uAE08 \uD3EC\uD568} IVA {IVA \uD3EC\uD568} SST {SST \uD3EC\uD568} KDV {KDV \uD3EC\uD568} other {}}",alternativePriceAriaLabel:"\uB610\uB294 {alternativePrice}\uC5D0",strikethroughAriaLabel:"\uB610\uB294 {alternativePrice}\uC5D0"},{lang:"lt",recurrenceLabel:"{recurrenceTerm, select, MONTH { per m\u0117n.} YEAR { per metus} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\u0117n.} YEAR {per metus} other {}}",perUnitLabel:"{perUnit, select, LICENSE {u\u017E licencij\u0105} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {u\u017E licencij\u0105} other {}}",freeLabel:"Nemokamai",freeAriaLabel:"Nemokamai",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Arba u\u017E {alternativePrice}",strikethroughAriaLabel:"Normaliai u\u017E {strikethroughPrice}"},{lang:"lv",recurrenceLabel:"{recurrenceTerm, select, MONTH {m\u0113nes\u012B} YEAR {gad\u0101} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {m\u0113nes\u012B} YEAR {gad\u0101} other {}}",perUnitLabel:"{perUnit, select, LICENSE {vienai licencei} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {vienai licencei} other {}}",freeLabel:"Bezmaksas",freeAriaLabel:"Bezmaksas",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternat\u012Bvi par {alternativePrice}",strikethroughAriaLabel:"Regul\u0101ri par {strikethroughPrice}"},{lang:"nb",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mnd.} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\xE5ned} YEAR {per \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per lisens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per lisens} other {}}",freeLabel:"Fri",freeAriaLabel:"Fri",taxExclusiveLabel:"{taxTerm, select, GST {ekskl. GST} VAT {ekskl. moms} TAX {ekskl. avgift} IVA {ekskl. IVA} SST {ekskl. SST} KDV {ekskl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. avgift} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt til {alternativePrice}",strikethroughAriaLabel:"Regelmessig til {strikethroughPrice}"},{lang:"nl",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mnd} YEAR {/jr} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per maand} YEAR {per jaar} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licentie} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licentie} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. btw} TAX {excl. belasting} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. btw} TAX {incl. belasting} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Nu {alternativePrice}",strikethroughAriaLabel:"Normaal {strikethroughPrice}"},{lang:"pl",recurrenceLabel:"{recurrenceTerm, select, MONTH { / mies.} YEAR { / rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH { / miesi\u0105c} YEAR { / rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licencj\u0119} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licencj\u0119} other {}}",freeLabel:"Bezp\u0142atne",freeAriaLabel:"Bezp\u0142atne",taxExclusiveLabel:"{taxTerm, select, GST {bez GST} VAT {bez VAT} TAX {netto} IVA {bez IVA} SST {bez SST} KDV {bez KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {z GST} VAT {z VAT} TAX {brutto} IVA {z IVA} SST {z SST} KDV {z KDV} other {}}",alternativePriceAriaLabel:"Lub za {alternativePrice}",strikethroughAriaLabel:"Cena zwyk\u0142a: {strikethroughPrice}"},{lang:"pt",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\xEAs} YEAR {/ano} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {por m\xEAs} YEAR {por ano} other {}}",perUnitLabel:"{perUnit, select, LICENSE {por licen\xE7a} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {por licen\xE7a} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {ICMS n\xE3o incluso} VAT {IVA n\xE3o incluso} TAX {impostos n\xE3o inclusos} IVA {IVA n\xE3o incluso} SST { SST n\xE3o incluso} KDV {KDV n\xE3o incluso} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {ICMS incluso} VAT {IVA incluso} TAX {impostos inclusos} IVA {IVA incluso} SST {SST incluso} KDV {KDV incluso} other {}}",alternativePriceAriaLabel:"Ou a {alternativePrice}",strikethroughAriaLabel:"Pre\xE7o normal: {strikethroughPrice}"},{lang:"ro",recurrenceLabel:"{recurrenceTerm, select, MONTH {/lun\u0103} YEAR {/an} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {pe lun\u0103} YEAR {pe an} other {}}",perUnitLabel:"{perUnit, select, LICENSE {pe licen\u021B\u0103} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {pe licen\u021B\u0103} other {}}",freeLabel:"Gratuit",freeAriaLabel:"Gratuit",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Alternativ, la {alternativePrice}",strikethroughAriaLabel:"\xCEn mod normal, la {strikethroughPrice}"},{lang:"ru",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0435\u0441.} YEAR {/\u0433.} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0432 \u043C\u0435\u0441\u044F\u0446} YEAR {\u0432 \u0433\u043E\u0434} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E} other {}}",freeLabel:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {\u0438\u0441\u043A\u043B. \u043D\u0430\u043B\u043E\u0433 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438} VAT {\u0438\u0441\u043A\u043B. \u041D\u0414\u0421} TAX {\u0438\u0441\u043A\u043B. \u043D\u0430\u043B\u043E\u0433} IVA {\u0438\u0441\u043A\u043B. \u0418\u0412\u0410} SST {\u0438\u0441\u043A\u043B. SST} KDV {\u0438\u0441\u043A\u043B. \u041A\u0414\u0412} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0432\u043A\u043B. \u043D\u0430\u043B\u043E\u0433 \u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u044B \u0438 \u0443\u0441\u043B\u0443\u0433\u0438} VAT {\u0432\u043A\u043B. \u041D\u0414\u0421} TAX {\u0432\u043A\u043B. \u043D\u0430\u043B\u043E\u0433} IVA {\u0432\u043A\u043B. \u0418\u0412\u0410} SST {\u0432\u043A\u043B. SST} KDV {\u0432\u043A\u043B. \u041A\u0414\u0412} other {}}",alternativePriceAriaLabel:"\u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442 \u0437\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0420\u0435\u0433\u0443\u043B\u044F\u0440\u043D\u043E \u043F\u043E \u0446\u0435\u043D\u0435 {strikethroughPrice}"},{lang:"sk",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mesiac} YEAR {/rok} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {za mesiac} YEAR {za rok} other {}}",perUnitLabel:"{perUnit, select, LICENSE {za licenciu} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {za licenciu} other {}}",freeLabel:"Zadarmo",freeAriaLabel:"Zadarmo",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Pr\xEDpadne za {alternativePrice}",strikethroughAriaLabel:"Pravidelne za {strikethroughPrice}"},{lang:"sl",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mesec} YEAR {/leto} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {na mesec} YEAR {na leto} other {}}",perUnitLabel:"{perUnit, select, LICENSE {na licenco} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {na licenco} other {}}",freeLabel:"Brezpla\u010Dno",freeAriaLabel:"Brezpla\u010Dno",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"Druga mo\u017Enost je: {alternativePrice}",strikethroughAriaLabel:"Redno po {strikethroughPrice}"},{lang:"sv",recurrenceLabel:"{recurrenceTerm, select, MONTH {/m\xE5n} YEAR {/\xE5r} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per m\xE5nad} YEAR {per \xE5r} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per licens} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per licens} other {}}",freeLabel:"Kostnadsfritt",freeAriaLabel:"Kostnadsfritt",taxExclusiveLabel:"{taxTerm, select, GST {exkl. GST} VAT {exkl. moms} TAX {exkl. skatt} IVA {exkl. IVA} SST {exkl. SST} KDV {exkl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {inkl. GST} VAT {inkl. moms} TAX {inkl. skatt} IVA {inkl. IVA} SST {inkl. SST} KDV {inkl. KDV} other {}}",alternativePriceAriaLabel:"Alternativt f\xF6r {alternativePrice}",strikethroughAriaLabel:"Normalpris {strikethroughPrice}"},{lang:"tr",recurrenceLabel:"{recurrenceTerm, select, MONTH {/ay} YEAR {/y\u0131l} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {(ayl\u0131k)} YEAR {(y\u0131ll\u0131k)} other {}}",perUnitLabel:"{perUnit, select, LICENSE {(lisans ba\u015F\u0131na)} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {(lisans ba\u015F\u0131na)} other {}}",freeLabel:"\xDCcretsiz",freeAriaLabel:"\xDCcretsiz",taxExclusiveLabel:"{taxTerm, select, GST {GST hari\xE7} VAT {KDV hari\xE7} TAX {vergi hari\xE7} IVA {IVA hari\xE7} SST {SST hari\xE7} KDV {KDV hari\xE7} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST dahil} VAT {KDV dahil} TAX {vergi dahil} IVA {IVA dahil} SST {SST dahil} KDV {KDV dahil} other {}}",alternativePriceAriaLabel:"Ya da {alternativePrice}",strikethroughAriaLabel:"Standart fiyat: {strikethroughPrice}"},{lang:"uk",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u043C\u0456\u0441.} YEAR {/\u0440\u0456\u043A} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u043D\u0430 \u043C\u0456\u0441\u044F\u0446\u044C} YEAR {\u043D\u0430 \u0440\u0456\u043A} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0437\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E} other {}}",freeLabel:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E",freeAriaLabel:"\u0411\u0435\u0437\u043A\u043E\u0448\u0442\u043E\u0432\u043D\u043E",taxExclusiveLabel:"{taxTerm, select, GST {\u0431\u0435\u0437 GST} VAT {\u0431\u0435\u0437 \u041F\u0414\u0412} TAX {\u0431\u0435\u0437 \u043F\u043E\u0434\u0430\u0442\u043A\u0443} IVA {\u0431\u0435\u0437 IVA} SST {\u0431\u0435\u0437 SST} KDV {\u0431\u0435\u0437 KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 GST} VAT {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 \u041F\u0414\u0412} TAX {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 \u043F\u043E\u0434\u0430\u0442\u043A\u043E\u043C} IVA {\u0440\u0430\u0437\u043E\u043C \u0437 IVA} SST {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 SST} KDV {\u0440\u0430\u0437\u043E\u043C \u0456\u0437 KDV} other {}}",alternativePriceAriaLabel:"\u0410\u0431\u043E \u0437\u0430 {alternativePrice}",strikethroughAriaLabel:"\u0417\u0432\u0438\u0447\u0430\u0439\u043D\u0430 \u0446\u0456\u043D\u0430 {strikethroughPrice}"},{lang:"zh-hans",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCF\u6708} YEAR {\u6BCF\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u6BCF\u4E2A\u8BB8\u53EF\u8BC1} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u6BCF\u4E2A\u8BB8\u53EF\u8BC1} other {}}",freeLabel:"\u514D\u8D39",freeAriaLabel:"\u514D\u8D39",taxExclusiveLabel:"{taxTerm, select, GST {excl. GST} VAT {excl. VAT} TAX {excl. tax} IVA {excl. IVA} SST {excl. SST} KDV {excl. KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {incl. GST} VAT {incl. VAT} TAX {incl. tax} IVA {incl. IVA} SST {incl. SST} KDV {incl. KDV} other {}}",alternativePriceAriaLabel:"\u6216\u5B9A\u4EF7 {alternativePrice}",strikethroughAriaLabel:"\u6B63\u5E38\u4EF7 {strikethroughPrice}"},{lang:"zh-hant",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u6708} YEAR {/\u5E74} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u6BCF\u6708} YEAR {\u6BCF\u5E74} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u6BCF\u500B\u6388\u6B0A} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u6BCF\u500B\u6388\u6B0A} other {}}",freeLabel:"\u514D\u8CBB",freeAriaLabel:"\u514D\u8CBB",taxExclusiveLabel:"{taxTerm, select, GST {\u4E0D\u542B GST} VAT {\u4E0D\u542B VAT} TAX {\u4E0D\u542B\u7A05} IVA {\u4E0D\u542B IVA} SST {\u4E0D\u542B SST} KDV {\u4E0D\u542B KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u542B GST} VAT {\u542B VAT} TAX {\u542B\u7A05} IVA {\u542B IVA} SST {\u542B SST} KDV {\u542B KDV} other {}}",alternativePriceAriaLabel:"\u6216\u8005\u5728 {alternativePrice}",strikethroughAriaLabel:"\u6A19\u6E96\u50F9\u683C\u70BA {strikethroughPrice}"},{lang:"es",recurrenceLabel:"{recurrenceTerm, select, MONTH {/mes} YEAR {/a\xF1o} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {al mes} YEAR {al a\xF1o} other {}}",perUnitLabel:"{perUnit, select, LICENSE {por licencia} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {por licencia} other {}}",freeLabel:"Gratuito",freeAriaLabel:"Gratuito",taxExclusiveLabel:"{taxTerm, select, GST {GST no incluido} VAT {IVA no incluido} TAX {Impuestos no incluidos} IVA {IVA no incluido} SST {SST no incluido} KDV {KDV no incluido} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST incluido} VAT {IVA incluido} TAX {Impuestos incluidos} IVA {IVA incluido} SST {SST incluido} KDV {KDV incluido} other {}}",alternativePriceAriaLabel:"Alternativamente por {alternativePrice}",strikethroughAriaLabel:"Normalmente a {strikethroughPrice}"},{lang:"in",recurrenceLabel:"{recurrenceTerm, select, MONTH {/bulan} YEAR {/tahun} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per bulan} YEAR {per tahun} other {}}",perUnitLabel:"{perUnit, select, LICENSE {per lisensi} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {per lisensi} other {}}",freeLabel:"Gratis",freeAriaLabel:"Gratis",taxExclusiveLabel:"{taxTerm, select, GST {tidak termasuk PBJ} VAT {tidak termasuk PPN} TAX {tidak termasuk pajak} IVA {tidak termasuk IVA} SST {tidak termasuk SST} KDV {tidak termasuk KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {termasuk PBJ} VAT {termasuk PPN} TAX {termasuk pajak} IVA {termasuk IVA} SST {termasuk SST} KDV {termasuk KDV} other {}}",alternativePriceAriaLabel:"Atau seharga {alternativePrice}",strikethroughAriaLabel:"Normalnya seharga {strikethroughPrice}"},{lang:"vi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/th\xE1ng} YEAR {/n\u0103m} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {m\u1ED7i th\xE1ng} YEAR {m\u1ED7i n\u0103m} other {}}",perUnitLabel:"{perUnit, select, LICENSE {m\u1ED7i gi\u1EA5y ph\xE9p} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {m\u1ED7i gi\u1EA5y ph\xE9p} other {}}",freeLabel:"Mi\u1EC5n ph\xED",freeAriaLabel:"Mi\u1EC5n ph\xED",taxExclusiveLabel:"{taxTerm, select, GST {ch\u01B0a bao g\u1ED3m thu\u1EBF h\xE0ng h\xF3a v\xE0 d\u1ECBch v\u1EE5} VAT {ch\u01B0a bao g\u1ED3m thu\u1EBF GTGT} TAX {ch\u01B0a bao g\u1ED3m thu\u1EBF} IVA {ch\u01B0a bao g\u1ED3m IVA} SST {ch\u01B0a bao g\u1ED3m SST} KDV {ch\u01B0a bao g\u1ED3m KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {(\u0111\xE3 bao g\u1ED3m thu\u1EBF h\xE0ng h\xF3a v\xE0 d\u1ECBch v\u1EE5)} VAT {(\u0111\xE3 bao g\u1ED3m thu\u1EBF GTGT)} TAX {(\u0111\xE3 bao g\u1ED3m thu\u1EBF)} IVA {(\u0111\xE3 bao g\u1ED3m IVA)} SST {(\u0111\xE3 bao g\u1ED3m SST)} KDV {(\u0111\xE3 bao g\u1ED3m KDV)} other {}}",alternativePriceAriaLabel:"Gi\xE1 \u01B0u \u0111\xE3i {alternativePrice}",strikethroughAriaLabel:"Gi\xE1 th\xF4ng th\u01B0\u1EDDng {strikethroughPrice}"},{lang:"th",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u0E40\u0E14\u0E37\u0E2D\u0E19} YEAR {/\u0E1B\u0E35} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u0E15\u0E48\u0E2D\u0E40\u0E14\u0E37\u0E2D\u0E19} YEAR {\u0E15\u0E48\u0E2D\u0E1B\u0E35} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u0E15\u0E48\u0E2D\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u0E15\u0E48\u0E2D\u0E2A\u0E34\u0E17\u0E18\u0E34\u0E4C\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49\u0E07\u0E32\u0E19} other {}}",freeLabel:"\u0E1F\u0E23\u0E35",freeAriaLabel:"\u0E1F\u0E23\u0E35",taxExclusiveLabel:"{taxTerm, select, GST {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35 GST} VAT {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 VAT} TAX {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35} IVA {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 IVA} SST {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 SST} KDV {\u0E44\u0E21\u0E48\u0E23\u0E27\u0E21 KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35 GST} VAT {\u0E23\u0E27\u0E21 VAT} TAX {\u0E23\u0E27\u0E21\u0E20\u0E32\u0E29\u0E35} IVA {\u0E23\u0E27\u0E21 IVA} SST {\u0E23\u0E27\u0E21 SST} KDV {\u0E23\u0E27\u0E21 KDV} other {}}",alternativePriceAriaLabel:"\u0E23\u0E32\u0E04\u0E32\u0E1E\u0E34\u0E40\u0E28\u0E29 {alternativePrice}",strikethroughAriaLabel:"\u0E23\u0E32\u0E04\u0E32\u0E1B\u0E01\u0E15\u0E34 {strikethroughPrice}"},{lang:"el",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u03BC\u03AE\u03BD\u03B1} YEAR {/\u03AD\u03C4\u03BF\u03C2} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u03BA\u03AC\u03B8\u03B5 \u03BC\u03AE\u03BD\u03B1} YEAR {\u03B1\u03BD\u03AC \u03AD\u03C4\u03BF\u03C2} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u03B1\u03BD\u03AC \u03AC\u03B4\u03B5\u03B9\u03B1 \u03C7\u03C1\u03AE\u03C3\u03B7\u03C2} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u03B1\u03BD\u03AC \u03AC\u03B4\u03B5\u03B9\u03B1 \u03C7\u03C1\u03AE\u03C3\u03B7\u03C2} other {}}",freeLabel:"\u0394\u03C9\u03C1\u03B5\u03AC\u03BD",freeAriaLabel:"\u0394\u03C9\u03C1\u03B5\u03AC\u03BD",taxExclusiveLabel:"{taxTerm, select, GST {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 GST)} VAT {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03A6\u03A0\u0391)} TAX {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C6\u03CC\u03C1\u03BF)} IVA {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 IVA)} SST {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 SST)} KDV {(\u03BC\u03B7 \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 KDV)} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 GST)} VAT {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03A6\u03A0\u0391)} TAX {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 \u03C6\u03CC\u03C1\u03BF\u03C5)} IVA {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 IVA)} SST {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 SST)} KDV {(\u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03C4\u03BF\u03C5 KDV)} other {}}",alternativePriceAriaLabel:"\u0394\u03B9\u03B1\u03C6\u03BF\u03C1\u03B5\u03C4\u03B9\u03BA\u03AC, {alternativePrice}",strikethroughAriaLabel:"\u039A\u03B1\u03BD\u03BF\u03BD\u03B9\u03BA\u03AE \u03C4\u03B9\u03BC\u03AE {strikethroughPrice}"},{lang:"fil",recurrenceLabel:"{recurrenceTerm, select, MONTH {/buwan} YEAR {/taon} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per buwan} YEAR {per taon} other {}}",perUnitLabel:"{perUnit, select, LICENSE {kada lisensya} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {kada lisensya} other {}}",freeLabel:"Libre",freeAriaLabel:"Libre",taxExclusiveLabel:"{taxTerm, select, GST {hindi kasama ang GST} VAT {hindi kasama ang VAT} TAX {hindi kasama ang Buwis} IVA {hindi kasama ang IVA} SST {hindi kasama ang SST} KDV {hindi kasama ang KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {kasama ang GST} VAT {kasama ang VAT} TAX {kasama ang Buwis} IVA {kasama ang IVA} SST {kasama ang SST} KDV {kasama ang KDV} other {}}",alternativePriceAriaLabel:"Alternatibong nasa halagang {alternativePrice}",strikethroughAriaLabel:"Regular na nasa halagang {strikethroughPrice}"},{lang:"ms",recurrenceLabel:"{recurrenceTerm, select, MONTH {/bulan} YEAR {/tahun} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per bulan} YEAR {per tahun} other {}}",perUnitLabel:"{perUnit, select, LICENSE {setiap lesen} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {setiap lesen} other {}}",freeLabel:"Percuma",freeAriaLabel:"Percuma",taxExclusiveLabel:"{taxTerm, select, GST {kecuali GST} VAT {kecuali VAT} TAX {kecuali Cukai} IVA {kecuali IVA} SST {kecuali SST} KDV {kecuali KDV} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {termasuk GST} VAT {termasuk VAT} TAX {termasuk Cukai} IVA {termasuk IVA} SST {termasuk SST} KDV {termasuk KDV} other {}}",alternativePriceAriaLabel:"Secara alternatif pada {alternativePrice}",strikethroughAriaLabel:"Biasanya pada {strikethroughPrice}"},{lang:"hi",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u092E\u093E\u0939} YEAR {/\u0935\u0930\u094D\u0937} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {per \u092E\u093E\u0939} YEAR {per \u0935\u0930\u094D\u0937} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u092A\u094D\u0930\u0924\u093F \u0932\u093E\u0907\u0938\u0947\u0902\u0938} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u092A\u094D\u0930\u0924\u093F \u0932\u093E\u0907\u0938\u0947\u0902\u0938} other {}}",freeLabel:"\u092B\u093C\u094D\u0930\u0940",freeAriaLabel:"\u092B\u093C\u094D\u0930\u0940",taxExclusiveLabel:"{taxTerm, select, GST {GST \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} VAT {VAT \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} TAX {\u0915\u0930 \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} IVA {IVA \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} SST {SST \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} KDV {KDV \u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924} other {}}",taxInclusiveLabel:"{taxTerm, select, GST {GST \u0938\u0939\u093F\u0924} VAT {VAT \u0938\u0939\u093F\u0924} TAX {\u0915\u0930 \u0938\u0939\u093F\u0924} IVA {IVA \u0938\u0939\u093F\u0924} SST {SST \u0938\u0939\u093F\u0924} KDV {KDV \u0938\u0939\u093F\u0924} other {}}",alternativePriceAriaLabel:"\u0935\u0948\u0915\u0932\u094D\u092A\u093F\u0915 \u0930\u0942\u092A \u0938\u0947 \u0907\u0938 \u092A\u0930 {alternativePrice}",strikethroughAriaLabel:"\u0928\u093F\u092F\u092E\u093F\u0924 \u0930\u0942\u092A \u0938\u0947 \u0907\u0938 \u092A\u0930 {strikethroughPrice}"},{lang:"iw",recurrenceLabel:"{recurrenceTerm, select, MONTH {/\u05D7\u05D5\u05D3\u05E9} YEAR {/\u05E9\u05E0\u05D4} other {}}",recurrenceAriaLabel:"{recurrenceTerm, select, MONTH {\u05DC\u05D7\u05D5\u05D3\u05E9} YEAR {\u05DC\u05E9\u05E0\u05D4} other {}}",perUnitLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",perUnitAriaLabel:"{perUnit, select, LICENSE {\u05DC\u05E8\u05D9\u05E9\u05D9\u05D5\u05DF} other {}}",freeLabel:"\u05D7\u05D9\u05E0\u05DD",freeAriaLabel:"\u05D7\u05D9\u05E0\u05DD",taxExclusiveLabel:'{taxTerm, select, GST {\u05DC\u05DC\u05D0 GST} VAT {\u05DC\u05DC\u05D0 \u05DE\u05E2"\u05DE} TAX {\u05DC\u05DC\u05D0 \u05DE\u05E1} IVA {\u05DC\u05DC\u05D0 IVA} SST {\u05DC\u05DC\u05D0 SST} KDV {\u05DC\u05DC\u05D0 KDV} other {}}',taxInclusiveLabel:'{taxTerm, select, GST {\u05DB\u05D5\u05DC\u05DC GST} VAT {\u05DB\u05D5\u05DC\u05DC \u05DE\u05E2"\u05DE} TAX {\u05DB\u05D5\u05DC\u05DC \u05DE\u05E1} IVA {\u05DB\u05D5\u05DC\u05DC IVA} SST {\u05DB\u05D5\u05DC\u05DC SST} KDV {\u05DB\u05D5\u05DC\u05DC KDV} other {}}',alternativePriceAriaLabel:"\u05DC\u05D7\u05DC\u05D5\u05E4\u05D9\u05DF \u05D1-{alternativePrice}",strikethroughAriaLabel:"\u05D1\u05D0\u05D5\u05E4\u05DF \u05E7\u05D1\u05D5\u05E2 \u05D1-{strikethroughPrice}"}],":type":"sheet"}});(function(){let r={clientId:"",endpoint:"https://www.adobe.com/lana/ll",endpointStage:"https://www.stage.adobe.com/lana/ll",errorType:"e",sampleRate:1,tags:"",implicitSampleRate:1,useProd:!0,isProdDomain:!1},n=window;function i(){let{host:h}=window.location;return h.substring(h.length-10)===".adobe.com"&&h.substring(h.length-15)!==".corp.adobe.com"&&h.substring(h.length-16)!==".stage.adobe.com"}function o(h,d){h||(h={}),d||(d={});function u(m){return h[m]!==void 0?h[m]:d[m]!==void 0?d[m]:r[m]}return Object.keys(r).reduce((m,f)=>(m[f]=u(f),m),{})}function a(h,d){h=h&&h.stack?h.stack:h||"",h.length>2e3&&(h=`${h.slice(0,2e3)}`);let u=o(d,n.lana.options);if(!u.clientId){console.warn("LANA ClientID is not set in options.");return}let f=parseInt(new URL(window.location).searchParams.get("lana-sample"),10)||(u.errorType==="i"?u.implicitSampleRate:u.sampleRate);if(!n.lana.debug&&!n.lana.localhost&&f<=Math.random()*100)return;let g=i()||u.isProdDomain,T=!g||!u.useProd?u.endpointStage:u.endpoint,_=[`m=${encodeURIComponent(h)}`,`c=${encodeURI(u.clientId)}`,`s=${f}`,`t=${encodeURI(u.errorType)}`];if(u.tags&&_.push(`tags=${encodeURI(u.tags)}`),(!g||n.lana.debug||n.lana.localhost)&&console.log("LANA Msg: ",h,` +Opts:`,u),!n.lana.localhost||n.lana.debug){let b=new XMLHttpRequest;return n.lana.debug&&(_.push("d"),b.addEventListener("load",()=>{console.log("LANA response:",b.responseText)})),b.open("GET",`${T}?${_.join("&")}`),b.send(),b}}function s(h){a(h.reason||h.error||h.message,{errorType:"i"})}function c(){return n.location.search.toLowerCase().indexOf("lanadebug")!==-1}function l(){return n.location.host.toLowerCase().indexOf("localhost")!==-1}n.lana={debug:!1,log:a,options:o(n.lana&&n.lana.options)},c()&&(n.lana.debug=!0),l()&&(n.lana.localhost=!0),n.addEventListener("error",s),n.addEventListener("unhandledrejection",s)})();var tr=window,nr=tr.ShadowRoot&&(tr.ShadyCSS===void 0||tr.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Zi=Symbol(),qi=new WeakMap,rr=class{constructor(t,r,n){if(this._$cssResult$=!0,n!==Zi)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=r}get styleSheet(){let t=this.o,r=this.t;if(nr&&t===void 0){let n=r!==void 0&&r.length===1;n&&(t=qi.get(r)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&qi.set(r,t))}return t}toString(){return this.cssText}},Ji=e=>new rr(typeof e=="string"?e:e+"",void 0,Zi);var qr=(e,t)=>{nr?e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet):t.forEach(r=>{let n=document.createElement("style"),i=tr.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=r.cssText,e.appendChild(n)})},ir=nr?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(let n of t.cssRules)r+=n.cssText;return Ji(r)})(e):e;var Zr,or=window,Qi=or.trustedTypes,Vs=Qi?Qi.emptyScript:"",eo=or.reactiveElementPolyfillSupport,Qr={toAttribute(e,t){switch(t){case Boolean:e=e?Vs:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=e!==null;break;case Number:r=e===null?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},to=(e,t)=>t!==e&&(t==t||e==e),Jr={attribute:!0,type:String,converter:Qr,reflect:!1,hasChanged:to},en="finalized",we=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var r;this.finalize(),((r=this.h)!==null&&r!==void 0?r:this.h=[]).push(t)}static get observedAttributes(){this.finalize();let t=[];return this.elementProperties.forEach((r,n)=>{let i=this._$Ep(n,r);i!==void 0&&(this._$Ev.set(i,n),t.push(i))}),t}static createProperty(t,r=Jr){if(r.state&&(r.attribute=!1),this.finalize(),this.elementProperties.set(t,r),!r.noAccessor&&!this.prototype.hasOwnProperty(t)){let n=typeof t=="symbol"?Symbol():"__"+t,i=this.getPropertyDescriptor(t,n,r);i!==void 0&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,r,n){return{get(){return this[r]},set(i){let o=this[t];this[r]=i,this.requestUpdate(t,o,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||Jr}static finalize(){if(this.hasOwnProperty(en))return!1;this[en]=!0;let t=Object.getPrototypeOf(this);if(t.finalize(),t.h!==void 0&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){let r=this.properties,n=[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)];for(let i of n)this.createProperty(i,r[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){let r=[];if(Array.isArray(t)){let n=new Set(t.flat(1/0).reverse());for(let i of n)r.unshift(ir(i))}else t!==void 0&&r.push(ir(t));return r}static _$Ep(t,r){let n=r.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise(r=>this.enableUpdating=r),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(t=this.constructor.h)===null||t===void 0||t.forEach(r=>r(this))}addController(t){var r,n;((r=this._$ES)!==null&&r!==void 0?r:this._$ES=[]).push(t),this.renderRoot!==void 0&&this.isConnected&&((n=t.hostConnected)===null||n===void 0||n.call(t))}removeController(t){var r;(r=this._$ES)===null||r===void 0||r.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((t,r)=>{this.hasOwnProperty(r)&&(this._$Ei.set(r,this[r]),delete this[r])})}createRenderRoot(){var t;let r=(t=this.shadowRoot)!==null&&t!==void 0?t:this.attachShadow(this.constructor.shadowRootOptions);return qr(r,this.constructor.elementStyles),r}connectedCallback(){var t;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostConnected)===null||n===void 0?void 0:n.call(r)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostDisconnected)===null||n===void 0?void 0:n.call(r)})}attributeChangedCallback(t,r,n){this._$AK(t,n)}_$EO(t,r,n=Jr){var i;let o=this.constructor._$Ep(t,n);if(o!==void 0&&n.reflect===!0){let a=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:Qr).toAttribute(r,n.type);this._$El=t,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$El=null}}_$AK(t,r){var n;let i=this.constructor,o=i._$Ev.get(t);if(o!==void 0&&this._$El!==o){let a=i.getPropertyOptions(o),s=typeof a.converter=="function"?{fromAttribute:a.converter}:((n=a.converter)===null||n===void 0?void 0:n.fromAttribute)!==void 0?a.converter:Qr;this._$El=o,this[o]=s.fromAttribute(r,a.type),this._$El=null}}requestUpdate(t,r,n){let i=!0;t!==void 0&&(((n=n||this.constructor.getPropertyOptions(t)).hasChanged||to)(this[t],r)?(this._$AL.has(t)||this._$AL.set(t,r),n.reflect===!0&&this._$El!==t&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(t,n))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(r){Promise.reject(r)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((i,o)=>this[o]=i),this._$Ei=void 0);let r=!1,n=this._$AL;try{r=this.shouldUpdate(n),r?(this.willUpdate(n),(t=this._$ES)===null||t===void 0||t.forEach(i=>{var o;return(o=i.hostUpdate)===null||o===void 0?void 0:o.call(i)}),this.update(n)):this._$Ek()}catch(i){throw r=!1,this._$Ek(),i}r&&this._$AE(n)}willUpdate(t){}_$AE(t){var r;(r=this._$ES)===null||r===void 0||r.forEach(n=>{var i;return(i=n.hostUpdated)===null||i===void 0?void 0:i.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){this._$EC!==void 0&&(this._$EC.forEach((r,n)=>this._$EO(n,this[n],r)),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};we[en]=!0,we.elementProperties=new Map,we.elementStyles=[],we.shadowRootOptions={mode:"open"},eo?.({ReactiveElement:we}),((Zr=or.reactiveElementVersions)!==null&&Zr!==void 0?Zr:or.reactiveElementVersions=[]).push("1.6.3");var tn,ar=window,Ze=ar.trustedTypes,ro=Ze?Ze.createPolicy("lit-html",{createHTML:e=>e}):void 0,nn="$lit$",xe=`lit$${(Math.random()+"").slice(9)}$`,lo="?"+xe,Ms=`<${lo}>`,Ie=document,sr=()=>Ie.createComment(""),Lt=e=>e===null||typeof e!="object"&&typeof e!="function",ho=Array.isArray,$s=e=>ho(e)||typeof e?.[Symbol.iterator]=="function",rn=`[ +\f\r]`,Tt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,no=/-->/g,io=/>/g,Pe=RegExp(`>|${rn}(?:([^\\s"'>=/]+)(${rn}*=${rn}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),oo=/'/g,ao=/"/g,uo=/^(?:script|style|textarea|title)$/i,mo=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),Ih=mo(1),kh=mo(2),_t=Symbol.for("lit-noChange"),D=Symbol.for("lit-nothing"),so=new WeakMap,Ce=Ie.createTreeWalker(Ie,129,null,!1);function po(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return ro!==void 0?ro.createHTML(t):t}var Hs=(e,t)=>{let r=e.length-1,n=[],i,o=t===2?"":"",a=Tt;for(let s=0;s"?(a=i??Tt,d=-1):h[1]===void 0?d=-2:(d=a.lastIndex-h[2].length,l=h[1],a=h[3]===void 0?Pe:h[3]==='"'?ao:oo):a===ao||a===oo?a=Pe:a===no||a===io?a=Tt:(a=Pe,i=void 0);let m=a===Pe&&e[s+1].startsWith("/>")?" ":"";o+=a===Tt?c+Ms:d>=0?(n.push(l),c.slice(0,d)+nn+c.slice(d)+xe+m):c+xe+(d===-2?(n.push(void 0),s):m)}return[po(e,o+(e[r]||"")+(t===2?"":"")),n]},wt=class e{constructor({strings:t,_$litType$:r},n){let i;this.parts=[];let o=0,a=0,s=t.length-1,c=this.parts,[l,h]=Hs(t,r);if(this.el=e.createElement(l,n),Ce.currentNode=this.el.content,r===2){let d=this.el.content,u=d.firstChild;u.remove(),d.append(...u.childNodes)}for(;(i=Ce.nextNode())!==null&&c.length0){i.textContent=Ze?Ze.emptyScript:"";for(let m=0;m2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=D}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,r=this,n,i){let o=this.strings,a=!1;if(o===void 0)t=Je(this,t,r,0),a=!Lt(t)||t!==this._$AH&&t!==_t,a&&(this._$AH=t);else{let s=t,c,l;for(t=o[0],c=0;cnew Pt(typeof e=="string"?e:e+"",void 0,hn),C=(e,...t)=>{let r=e.length===1?e[0]:t.reduce((n,i,o)=>n+(a=>{if(a._$cssResult$===!0)return a.cssText;if(typeof a=="number")return a;throw Error("Value passed to 'css' function must be a 'css' function result: "+a+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+e[o+1],e[0]);return new Pt(r,e,hn)},dn=(e,t)=>{hr?e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet):t.forEach(r=>{let n=document.createElement("style"),i=lr.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=r.cssText,e.appendChild(n)})},dr=hr?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(let n of t.cssRules)r+=n.cssText;return be(r)})(e):e;var un,ur=window,go=ur.trustedTypes,Ds=go?go.emptyScript:"",xo=ur.reactiveElementPolyfillSupport,pn={toAttribute(e,t){switch(t){case Boolean:e=e?Ds:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=e!==null;break;case Number:r=e===null?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},bo=(e,t)=>t!==e&&(t==t||e==e),mn={attribute:!0,type:String,converter:pn,reflect:!1,hasChanged:bo},fn="finalized",le=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var r;this.finalize(),((r=this.h)!==null&&r!==void 0?r:this.h=[]).push(t)}static get observedAttributes(){this.finalize();let t=[];return this.elementProperties.forEach((r,n)=>{let i=this._$Ep(n,r);i!==void 0&&(this._$Ev.set(i,n),t.push(i))}),t}static createProperty(t,r=mn){if(r.state&&(r.attribute=!1),this.finalize(),this.elementProperties.set(t,r),!r.noAccessor&&!this.prototype.hasOwnProperty(t)){let n=typeof t=="symbol"?Symbol():"__"+t,i=this.getPropertyDescriptor(t,n,r);i!==void 0&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,r,n){return{get(){return this[r]},set(i){let o=this[t];this[r]=i,this.requestUpdate(t,o,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||mn}static finalize(){if(this.hasOwnProperty(fn))return!1;this[fn]=!0;let t=Object.getPrototypeOf(this);if(t.finalize(),t.h!==void 0&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){let r=this.properties,n=[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)];for(let i of n)this.createProperty(i,r[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){let r=[];if(Array.isArray(t)){let n=new Set(t.flat(1/0).reverse());for(let i of n)r.unshift(dr(i))}else t!==void 0&&r.push(dr(t));return r}static _$Ep(t,r){let n=r.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise(r=>this.enableUpdating=r),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(t=this.constructor.h)===null||t===void 0||t.forEach(r=>r(this))}addController(t){var r,n;((r=this._$ES)!==null&&r!==void 0?r:this._$ES=[]).push(t),this.renderRoot!==void 0&&this.isConnected&&((n=t.hostConnected)===null||n===void 0||n.call(t))}removeController(t){var r;(r=this._$ES)===null||r===void 0||r.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((t,r)=>{this.hasOwnProperty(r)&&(this._$Ei.set(r,this[r]),delete this[r])})}createRenderRoot(){var t;let r=(t=this.shadowRoot)!==null&&t!==void 0?t:this.attachShadow(this.constructor.shadowRootOptions);return dn(r,this.constructor.elementStyles),r}connectedCallback(){var t;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostConnected)===null||n===void 0?void 0:n.call(r)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostDisconnected)===null||n===void 0?void 0:n.call(r)})}attributeChangedCallback(t,r,n){this._$AK(t,n)}_$EO(t,r,n=mn){var i;let o=this.constructor._$Ep(t,n);if(o!==void 0&&n.reflect===!0){let a=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:pn).toAttribute(r,n.type);this._$El=t,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$El=null}}_$AK(t,r){var n;let i=this.constructor,o=i._$Ev.get(t);if(o!==void 0&&this._$El!==o){let a=i.getPropertyOptions(o),s=typeof a.converter=="function"?{fromAttribute:a.converter}:((n=a.converter)===null||n===void 0?void 0:n.fromAttribute)!==void 0?a.converter:pn;this._$El=o,this[o]=s.fromAttribute(r,a.type),this._$El=null}}requestUpdate(t,r,n){let i=!0;t!==void 0&&(((n=n||this.constructor.getPropertyOptions(t)).hasChanged||bo)(this[t],r)?(this._$AL.has(t)||this._$AL.set(t,r),n.reflect===!0&&this._$El!==t&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(t,n))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(r){Promise.reject(r)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((i,o)=>this[o]=i),this._$Ei=void 0);let r=!1,n=this._$AL;try{r=this.shouldUpdate(n),r?(this.willUpdate(n),(t=this._$ES)===null||t===void 0||t.forEach(i=>{var o;return(o=i.hostUpdate)===null||o===void 0?void 0:o.call(i)}),this.update(n)):this._$Ek()}catch(i){throw r=!1,this._$Ek(),i}r&&this._$AE(n)}willUpdate(t){}_$AE(t){var r;(r=this._$ES)===null||r===void 0||r.forEach(n=>{var i;return(i=n.hostUpdated)===null||i===void 0?void 0:i.call(n)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){this._$EC!==void 0&&(this._$EC.forEach((r,n)=>this._$EO(n,this[n],r)),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};le[fn]=!0,le.elementProperties=new Map,le.elementStyles=[],le.shadowRootOptions={mode:"open"},xo?.({ReactiveElement:le}),((un=ur.reactiveElementVersions)!==null&&un!==void 0?un:ur.reactiveElementVersions=[]).push("1.6.3");var gn,mr=window,et=mr.trustedTypes,vo=et?et.createPolicy("lit-html",{createHTML:e=>e}):void 0,bn="$lit$",ve=`lit$${(Math.random()+"").slice(9)}$`,_o="?"+ve,Bs=`<${_o}>`,Oe=document,It=()=>Oe.createComment(""),kt=e=>e===null||typeof e!="object"&&typeof e!="function",wo=Array.isArray,Gs=e=>wo(e)||typeof e?.[Symbol.iterator]=="function",xn=`[ +\f\r]`,Ct=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ao=/-->/g,Eo=/>/g,ke=RegExp(`>|${xn}(?:([^\\s"'>=/]+)(${xn}*=${xn}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),So=/'/g,yo=/"/g,Po=/^(?:script|style|textarea|title)$/i,Co=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),x=Co(1),$h=Co(2),Re=Symbol.for("lit-noChange"),B=Symbol.for("lit-nothing"),To=new WeakMap,Ne=Oe.createTreeWalker(Oe,129,null,!1);function Io(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return vo!==void 0?vo.createHTML(t):t}var zs=(e,t)=>{let r=e.length-1,n=[],i,o=t===2?"":"",a=Ct;for(let s=0;s"?(a=i??Ct,d=-1):h[1]===void 0?d=-2:(d=a.lastIndex-h[2].length,l=h[1],a=h[3]===void 0?ke:h[3]==='"'?yo:So):a===yo||a===So?a=ke:a===Ao||a===Eo?a=Ct:(a=ke,i=void 0);let m=a===ke&&e[s+1].startsWith("/>")?" ":"";o+=a===Ct?c+Bs:d>=0?(n.push(l),c.slice(0,d)+bn+c.slice(d)+ve+m):c+ve+(d===-2?(n.push(void 0),s):m)}return[Io(e,o+(e[r]||"")+(t===2?"":"")),n]},Nt=class e{constructor({strings:t,_$litType$:r},n){let i;this.parts=[];let o=0,a=0,s=t.length-1,c=this.parts,[l,h]=zs(t,r);if(this.el=e.createElement(l,n),Ne.currentNode=this.el.content,r===2){let d=this.el.content,u=d.firstChild;u.remove(),d.append(...u.childNodes)}for(;(i=Ne.nextNode())!==null&&c.length0){i.textContent=et?et.emptyScript:"";for(let m=0;m2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=B}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,r=this,n,i){let o=this.strings,a=!1;if(o===void 0)t=tt(this,t,r,0),a=!kt(t)||t!==this._$AH&&t!==Re,a&&(this._$AH=t);else{let s=t,c,l;for(t=o[0],c=0;c{var n,i;let o=(n=r?.renderBefore)!==null&&n!==void 0?n:t,a=o._$litPart$;if(a===void 0){let s=(i=r?.renderBefore)!==null&&i!==void 0?i:null;o._$litPart$=a=new Ot(t.insertBefore(It(),s),s,void 0,r??{})}return a._$AI(e),a};var Tn,Ln;var ee=class extends le{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,r;let n=super.createRenderRoot();return(t=(r=this.renderOptions).renderBefore)!==null&&t!==void 0||(r.renderBefore=n.firstChild),n}update(t){let r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=ko(r,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),(t=this._$Do)===null||t===void 0||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._$Do)===null||t===void 0||t.setConnected(!1)}render(){return Re}};ee.finalized=!0,ee._$litElement$=!0,(Tn=globalThis.litElementHydrateSupport)===null||Tn===void 0||Tn.call(globalThis,{LitElement:ee});var No=globalThis.litElementPolyfillSupport;No?.({LitElement:ee});((Ln=globalThis.litElementVersions)!==null&&Ln!==void 0?Ln:globalThis.litElementVersions=[]).push("3.3.3");var Ae="(max-width: 767px)",pr="(max-width: 1199px)",$="(min-width: 768px)",M="(min-width: 1200px)",z="(min-width: 1600px)";var Oo=C` :host { --consonant-merch-card-background-color: #fff; --consonant-merch-card-border: 1px solid var(--consonant-merch-card-border-color); @@ -225,9 +225,9 @@ Opts:`,u),!n.lana.localhost||n.lana.debug){let b=new XMLHttpRequest;return n.lan ::slotted([slot='price']) { color: var(--consonant-merch-card-price-color); } -`,Vo=()=>[C` +`,Ro=()=>[C` /* Tablet */ - @media screen and ${ve($)} { + @media screen and ${be($)} { :host([size='wide']), :host([size='super-wide']) { width: 100%; @@ -236,7 +236,7 @@ Opts:`,u),!n.lana.localhost||n.lana.debug){let b=new XMLHttpRequest;return n.lan } /* Laptop */ - @media screen and ${ve(M)} { + @media screen and ${be(M)} { :host([size='wide']) { grid-column: span 2; } @@ -255,7 +255,7 @@ Opts:`,u),!n.lana.localhost||n.lana.debug){let b=new XMLHttpRequest;return n.lan ${this.badge} `}getGlobalCSS(){return""}get theme(){return document.querySelector("sp-theme")}get evergreen(){return this.card.classList.contains("intro-pricing")}get promoBottom(){return this.card.classList.contains("promo-bottom")}get headingSelector(){return'[slot="heading-xs"]'}get secureLabelFooter(){let t=this.card.secureLabel?x`${this.card.secureLabel}`:"";return x`

    ${t}
    `}async adjustTitleWidth(){let t=this.card.getBoundingClientRect().width,r=this.card.badgeElement?.getBoundingClientRect().width||0;t===0||r===0||this.card.style.setProperty("--consonant-merch-card-heading-xs-max-width",`${Math.round(t-r-16)}px`)}postCardUpdateHook(){}connectedCallbackHook(){}disconnectedCallbackHook(){}renderLayout(){}get aemFragmentMapping(){}};nt=new WeakMap,p(Rt,"styleMap",{});var I=Rt;function te(e,t={},r=null,n=null){let i=n?document.createElement(e,{is:n}):document.createElement(e);r instanceof HTMLElement?i.appendChild(r):i.innerHTML=r;for(let[o,a]of Object.entries(t))i.setAttribute(o,a);return i}function fr(){return window.matchMedia("(max-width: 767px)").matches}function Mo(){return window.matchMedia("(max-width: 1024px)").matches}var zn={};Os(zn,{CLASS_NAME_FAILED:()=>kn,CLASS_NAME_HIDDEN:()=>Ys,CLASS_NAME_PENDING:()=>Nn,CLASS_NAME_RESOLVED:()=>On,ERROR_MESSAGE_BAD_REQUEST:()=>br,ERROR_MESSAGE_MISSING_LITERALS_URL:()=>rc,ERROR_MESSAGE_OFFER_NOT_FOUND:()=>Rn,EVENT_AEM_ERROR:()=>$e,EVENT_AEM_LOAD:()=>Me,EVENT_MAS_ERROR:()=>In,EVENT_MAS_READY:()=>Cn,EVENT_MERCH_CARD_ACTION_MENU_TOGGLE:()=>Pn,EVENT_MERCH_CARD_COLLECTION_SHOWMORE:()=>ec,EVENT_MERCH_CARD_COLLECTION_SORT:()=>Qs,EVENT_MERCH_CARD_READY:()=>wn,EVENT_MERCH_OFFER_READY:()=>Ws,EVENT_MERCH_OFFER_SELECT_READY:()=>_n,EVENT_MERCH_QUANTITY_SELECTOR_CHANGE:()=>xr,EVENT_MERCH_SEARCH_CHANGE:()=>Js,EVENT_MERCH_SIDENAV_SELECT:()=>tc,EVENT_MERCH_STOCK_CHANGE:()=>Zs,EVENT_MERCH_STORAGE_CHANGE:()=>gr,EVENT_OFFER_SELECTED:()=>qs,EVENT_TYPE_FAILED:()=>Vn,EVENT_TYPE_PENDING:()=>Mn,EVENT_TYPE_READY:()=>it,EVENT_TYPE_RESOLVED:()=>$n,LOG_NAMESPACE:()=>Hn,Landscape:()=>He,NAMESPACE:()=>js,PARAM_AOS_API_KEY:()=>nc,PARAM_ENV:()=>Un,PARAM_LANDSCAPE:()=>Dn,PARAM_WCS_API_KEY:()=>ic,STATE_FAILED:()=>he,STATE_PENDING:()=>de,STATE_RESOLVED:()=>ue,TAG_NAME_SERVICE:()=>Xs,WCS_PROD_URL:()=>Bn,WCS_STAGE_URL:()=>Gn});var js="merch",Ys="hidden",it="wcms:commerce:ready",Xs="mas-commerce-service",Ws="merch-offer:ready",_n="merch-offer-select:ready",wn="merch-card:ready",Pn="merch-card:action-menu-toggle",qs="merch-offer:selected",Zs="merch-stock:change",gr="merch-storage:change",xr="merch-quantity-selector:change",Js="merch-search:change",Qs="merch-card-collection:sort",ec="merch-card-collection:showmore",tc="merch-sidenav:select",Me="aem:load",$e="aem:error",Cn="mas:ready",In="mas:error",kn="placeholder-failed",Nn="placeholder-pending",On="placeholder-resolved",br="Bad WCS request",Rn="Commerce offer not found",rc="Literals URL not provided",Vn="mas:failed",Mn="mas:pending",$n="mas:resolved",Hn="mas/commerce",Un="commerce.env",Dn="commerce.landscape",nc="commerce.aosKey",ic="commerce.wcsKey",Bn="https://www.adobe.com/web_commerce_artifact",Gn="https://www.stage.adobe.com/web_commerce_artifact_stage",he="failed",de="pending",ue="resolved",He={DRAFT:"DRAFT",PUBLISHED:"PUBLISHED"};var $o=` + >`:"";return x`
    ${t}
    `}async adjustTitleWidth(){let t=this.card.getBoundingClientRect().width,r=this.card.badgeElement?.getBoundingClientRect().width||0;t===0||r===0||this.card.style.setProperty("--consonant-merch-card-heading-xs-max-width",`${Math.round(t-r-16)}px`)}postCardUpdateHook(){}connectedCallbackHook(){}disconnectedCallbackHook(){}renderLayout(){}get aemFragmentMapping(){}};nt=new WeakMap,p(Rt,"styleMap",{});var I=Rt;function te(e,t={},r=null,n=null){let i=n?document.createElement(e,{is:n}):document.createElement(e);r instanceof HTMLElement?i.appendChild(r):i.innerHTML=r;for(let[o,a]of Object.entries(t))i.setAttribute(o,a);return i}function fr(){return window.matchMedia("(max-width: 767px)").matches}function Vo(){return window.matchMedia("(max-width: 1024px)").matches}var Gn={};Ns(Gn,{CLASS_NAME_FAILED:()=>kn,CLASS_NAME_HIDDEN:()=>js,CLASS_NAME_PENDING:()=>Nn,CLASS_NAME_RESOLVED:()=>On,ERROR_MESSAGE_BAD_REQUEST:()=>br,ERROR_MESSAGE_MISSING_LITERALS_URL:()=>tc,ERROR_MESSAGE_OFFER_NOT_FOUND:()=>Rn,EVENT_AEM_ERROR:()=>Me,EVENT_AEM_LOAD:()=>Ve,EVENT_MAS_ERROR:()=>In,EVENT_MAS_READY:()=>Cn,EVENT_MERCH_CARD_ACTION_MENU_TOGGLE:()=>Pn,EVENT_MERCH_CARD_COLLECTION_SHOWMORE:()=>Qs,EVENT_MERCH_CARD_COLLECTION_SORT:()=>Js,EVENT_MERCH_CARD_READY:()=>wn,EVENT_MERCH_OFFER_READY:()=>Xs,EVENT_MERCH_OFFER_SELECT_READY:()=>_n,EVENT_MERCH_QUANTITY_SELECTOR_CHANGE:()=>xr,EVENT_MERCH_SEARCH_CHANGE:()=>Zs,EVENT_MERCH_SIDENAV_SELECT:()=>ec,EVENT_MERCH_STOCK_CHANGE:()=>qs,EVENT_MERCH_STORAGE_CHANGE:()=>gr,EVENT_OFFER_SELECTED:()=>Ws,EVENT_TYPE_FAILED:()=>Vn,EVENT_TYPE_READY:()=>it,EVENT_TYPE_RESOLVED:()=>Mn,LOG_NAMESPACE:()=>$n,Landscape:()=>$e,NAMESPACE:()=>Ks,PARAM_AOS_API_KEY:()=>rc,PARAM_ENV:()=>Hn,PARAM_LANDSCAPE:()=>Un,PARAM_WCS_API_KEY:()=>nc,STATE_FAILED:()=>he,STATE_PENDING:()=>Ee,STATE_RESOLVED:()=>de,TAG_NAME_SERVICE:()=>Ys,WCS_PROD_URL:()=>Dn,WCS_STAGE_URL:()=>Bn});var Ks="merch",js="hidden",it="wcms:commerce:ready",Ys="mas-commerce-service",Xs="merch-offer:ready",_n="merch-offer-select:ready",wn="merch-card:ready",Pn="merch-card:action-menu-toggle",Ws="merch-offer:selected",qs="merch-stock:change",gr="merch-storage:change",xr="merch-quantity-selector:change",Zs="merch-search:change",Js="merch-card-collection:sort",Qs="merch-card-collection:showmore",ec="merch-sidenav:select",Ve="aem:load",Me="aem:error",Cn="mas:ready",In="mas:error",kn="placeholder-failed",Nn="placeholder-pending",On="placeholder-resolved",br="Bad WCS request",Rn="Commerce offer not found",tc="Literals URL not provided",Vn="mas:failed",Mn="mas:resolved",$n="mas/commerce",Hn="commerce.env",Un="commerce.landscape",rc="commerce.aosKey",nc="commerce.wcsKey",Dn="https://www.adobe.com/web_commerce_artifact",Bn="https://www.stage.adobe.com/web_commerce_artifact_stage",he="failed",Ee="pending",de="resolved",$e={DRAFT:"DRAFT",PUBLISHED:"PUBLISHED"};var Mo=` :root { --consonant-merch-card-catalog-width: 276px; --consonant-merch-card-catalog-icon-size: 40px; @@ -341,12 +341,12 @@ merch-card[variant="catalog"] .payment-details { font-style: italic; font-weight: 400; line-height: var(--consonant-merch-card-body-line-height); -}`;var oc={title:{tag:"h3",slot:"heading-xs"},prices:{tag:"h3",slot:"heading-xs"},description:{tag:"div",slot:"body-xs"},ctas:{slot:"footer",size:"m"},allowedSizes:["wide","super-wide"]},ot=class extends I{constructor(r){super(r);p(this,"dispatchActionMenuToggle",()=>{this.card.dispatchEvent(new CustomEvent(Pn,{bubbles:!0,composed:!0,detail:{card:this.card.name,type:"action-menu"}}))});p(this,"toggleActionMenu",r=>{let n=this.card.shadowRoot.querySelector('slot[name="action-menu-content"]');!n||!r||r.type!=="click"&&r.code!=="Space"&&r.code!=="Enter"||(r.preventDefault(),n.classList.toggle("hidden"),n.classList.contains("hidden")||this.dispatchActionMenuToggle())});p(this,"toggleActionMenuFromCard",r=>{let n=r?.type==="mouseleave"?!0:void 0,i=this.card.shadowRoot,o=i.querySelector(".action-menu");this.card.blur(),o?.classList.remove("always-visible");let a=i.querySelector('slot[name="action-menu-content"]');a&&(n||this.dispatchActionMenuToggle(),a.classList.toggle("hidden",n))});p(this,"hideActionMenu",r=>{this.card.shadowRoot.querySelector('slot[name="action-menu-content"]')?.classList.add("hidden")});p(this,"focusEventHandler",r=>{let n=this.card.shadowRoot.querySelector(".action-menu");n&&(n.classList.add("always-visible"),(r.relatedTarget?.nodeName==="MERCH-CARD-COLLECTION"||r.relatedTarget?.nodeName==="MERCH-CARD"&&r.target.nodeName!=="MERCH-ICON")&&n.classList.remove("always-visible"))})}get aemFragmentMapping(){return oc}renderLayout(){return x`
    +}`;var ic={title:{tag:"h3",slot:"heading-xs"},prices:{tag:"h3",slot:"heading-xs"},description:{tag:"div",slot:"body-xs"},ctas:{slot:"footer",size:"m"},allowedSizes:["wide","super-wide"]},ot=class extends I{constructor(r){super(r);p(this,"dispatchActionMenuToggle",()=>{this.card.dispatchEvent(new CustomEvent(Pn,{bubbles:!0,composed:!0,detail:{card:this.card.name,type:"action-menu"}}))});p(this,"toggleActionMenu",r=>{let n=this.card.shadowRoot.querySelector('slot[name="action-menu-content"]');!n||!r||r.type!=="click"&&r.code!=="Space"&&r.code!=="Enter"||(r.preventDefault(),n.classList.toggle("hidden"),n.classList.contains("hidden")||this.dispatchActionMenuToggle())});p(this,"toggleActionMenuFromCard",r=>{let n=r?.type==="mouseleave"?!0:void 0,i=this.card.shadowRoot,o=i.querySelector(".action-menu");this.card.blur(),o?.classList.remove("always-visible");let a=i.querySelector('slot[name="action-menu-content"]');a&&(n||this.dispatchActionMenuToggle(),a.classList.toggle("hidden",n))});p(this,"hideActionMenu",r=>{this.card.shadowRoot.querySelector('slot[name="action-menu-content"]')?.classList.add("hidden")});p(this,"focusEventHandler",r=>{let n=this.card.shadowRoot.querySelector(".action-menu");n&&(n.classList.add("always-visible"),(r.relatedTarget?.nodeName==="MERCH-CARD-COLLECTION"||r.relatedTarget?.nodeName==="MERCH-CARD"&&r.target.nodeName!=="MERCH-ICON")&&n.classList.remove("always-visible"))})}get aemFragmentMapping(){return ic}renderLayout(){return x`
    ${this.badge}
    `:""}
    ${this.secureLabelFooter} - `}getGlobalCSS(){return $o}connectedCallbackHook(){this.card.addEventListener("mouseleave",this.toggleActionMenuFromCard),this.card.addEventListener("focusout",this.focusEventHandler)}disconnectedCallbackHook(){this.card.removeEventListener("mouseleave",this.toggleActionMenuFromCard),this.card.removeEventListener("focusout",this.focusEventHandler)}};p(ot,"variantStyle",C` + `}getGlobalCSS(){return Mo}connectedCallbackHook(){this.card.addEventListener("mouseleave",this.toggleActionMenuFromCard),this.card.addEventListener("focusout",this.focusEventHandler)}disconnectedCallbackHook(){this.card.removeEventListener("mouseleave",this.toggleActionMenuFromCard),this.card.removeEventListener("focusout",this.focusEventHandler)}};p(ot,"variantStyle",C` :host([variant='catalog']) { min-height: 330px; width: var(--consonant-merch-card-catalog-width); @@ -389,7 +389,7 @@ merch-card[variant="catalog"] .payment-details { margin-left: var(--consonant-merch-spacing-xxs); box-sizing: border-box; } - `);var Ho=` + `);var $o=` :root { --consonant-merch-card-image-width: 300px; } @@ -425,7 +425,7 @@ merch-card[variant="catalog"] .payment-details { grid-template-columns: repeat(4, var(--consonant-merch-card-image-width)); } } -`;var vr=class extends I{constructor(t){super(t)}getGlobalCSS(){return Ho}renderLayout(){return x`${this.cardImage} +`;var vr=class extends I{constructor(t){super(t)}getGlobalCSS(){return $o}renderLayout(){return x`${this.cardImage}
    @@ -442,7 +442,7 @@ merch-card[variant="catalog"] .payment-details { `:x`
    ${this.secureLabelFooter} - `}`}};var Uo=` + `}`}};var Ho=` :root { --consonant-merch-card-inline-heading-width: 300px; } @@ -478,7 +478,7 @@ merch-card[variant="catalog"] .payment-details { grid-template-columns: repeat(4, var(--consonant-merch-card-inline-heading-width)); } } -`;var Ar=class extends I{constructor(t){super(t)}getGlobalCSS(){return Uo}renderLayout(){return x` ${this.badge} +`;var Ar=class extends I{constructor(t){super(t)}getGlobalCSS(){return Ho}renderLayout(){return x` ${this.badge}
    @@ -486,7 +486,7 @@ merch-card[variant="catalog"] .payment-details {
    - ${this.card.customHr?"":x`
    `} ${this.secureLabelFooter}`}};var Do=` + ${this.card.customHr?"":x`
    `} ${this.secureLabelFooter}`}};var Uo=` :root { --consonant-merch-card-mini-compare-chart-icon-size: 32px; --consonant-merch-card-mini-compare-mobile-cta-font-size: 15px; @@ -677,7 +677,7 @@ merch-card[variant="catalog"] .payment-details { } /* mini compare mobile */ -@media screen and ${Ee} { +@media screen and ${Ae} { :root { --consonant-merch-card-mini-compare-chart-width: 302px; --consonant-merch-card-mini-compare-chart-wide-width: 302px; @@ -817,11 +817,11 @@ merch-card .footer-row-cell:nth-child(7) { merch-card .footer-row-cell:nth-child(8) { min-height: var(--consonant-merch-card-footer-row-8-min-height); } -`;var ac=32,at=class extends I{constructor(r){super(r);p(this,"getRowMinHeightPropertyName",r=>`--consonant-merch-card-footer-row-${r}-min-height`);p(this,"getMiniCompareFooter",()=>{let r=this.card.secureLabel?x` +`;var oc=32,at=class extends I{constructor(r){super(r);p(this,"getRowMinHeightPropertyName",r=>`--consonant-merch-card-footer-row-${r}-min-height`);p(this,"getMiniCompareFooter",()=>{let r=this.card.secureLabel?x` ${this.card.secureLabel}`:x``;return x`
    ${r}
    `})}getGlobalCSS(){return Do}adjustMiniCompareBodySlots(){if(this.card.getBoundingClientRect().width<=2)return;this.updateCardElementMinHeight(this.card.shadowRoot.querySelector(".top-section"),"top-section");let r=["heading-m","body-m","heading-m-price","body-xxs","price-commitment","offers","promo-text","callout-content"];this.card.classList.contains("bullet-list")&&r.push("footer-rows"),r.forEach(i=>this.updateCardElementMinHeight(this.card.shadowRoot.querySelector(`slot[name="${i}"]`),i)),this.updateCardElementMinHeight(this.card.shadowRoot.querySelector("footer"),"footer");let n=this.card.shadowRoot.querySelector(".mini-compare-chart-badge");n&&n.textContent!==""&&this.getContainer().style.setProperty("--consonant-merch-card-mini-compare-chart-top-section-mobile-height","32px")}adjustMiniCompareFooterRows(){if(this.card.getBoundingClientRect().width===0)return;[...this.card.querySelector('[slot="footer-rows"] ul')?.children].forEach((n,i)=>{let o=Math.max(ac,parseFloat(window.getComputedStyle(n).height)||0),a=parseFloat(this.getContainer().style.getPropertyValue(this.getRowMinHeightPropertyName(i+1)))||0;o>a&&this.getContainer().style.setProperty(this.getRowMinHeightPropertyName(i+1),`${o}px`)})}removeEmptyRows(){this.card.querySelectorAll(".footer-row-cell").forEach(n=>{let i=n.querySelector(".footer-row-cell-description");i&&!i.textContent.trim()&&n.remove()})}renderLayout(){return x`
    + >`:x``;return x`
    ${r}
    `})}getGlobalCSS(){return Uo}adjustMiniCompareBodySlots(){if(this.card.getBoundingClientRect().width<=2)return;this.updateCardElementMinHeight(this.card.shadowRoot.querySelector(".top-section"),"top-section");let r=["heading-m","body-m","heading-m-price","body-xxs","price-commitment","offers","promo-text","callout-content"];this.card.classList.contains("bullet-list")&&r.push("footer-rows"),r.forEach(i=>this.updateCardElementMinHeight(this.card.shadowRoot.querySelector(`slot[name="${i}"]`),i)),this.updateCardElementMinHeight(this.card.shadowRoot.querySelector("footer"),"footer");let n=this.card.shadowRoot.querySelector(".mini-compare-chart-badge");n&&n.textContent!==""&&this.getContainer().style.setProperty("--consonant-merch-card-mini-compare-chart-top-section-mobile-height","32px")}adjustMiniCompareFooterRows(){if(this.card.getBoundingClientRect().width===0)return;[...this.card.querySelector('[slot="footer-rows"] ul')?.children].forEach((n,i)=>{let o=Math.max(oc,parseFloat(window.getComputedStyle(n).height)||0),a=parseFloat(this.getContainer().style.getPropertyValue(this.getRowMinHeightPropertyName(i+1)))||0;o>a&&this.getContainer().style.setProperty(this.getRowMinHeightPropertyName(i+1),`${o}px`)})}removeEmptyRows(){this.card.querySelectorAll(".footer-row-cell").forEach(n=>{let i=n.querySelector(".footer-row-cell-description");i&&!i.textContent.trim()&&n.remove()})}renderLayout(){return x`
    ${this.badge}
    @@ -867,7 +867,7 @@ merch-card .footer-row-cell:nth-child(8) { color: var(--merch-color-grey-700); } - @media screen and ${ve(pr)} { + @media screen and ${be(pr)} { [class*'-merch-cards'] :host([variant='mini-compare-chart']) footer { flex-direction: column; align-items: stretch; @@ -875,7 +875,7 @@ merch-card .footer-row-cell:nth-child(8) { } } - @media screen and ${ve(M)} { + @media screen and ${be(M)} { :host([variant='mini-compare-chart']) footer { padding: var(--consonant-merch-spacing-xs) var(--consonant-merch-spacing-s) @@ -926,7 +926,7 @@ merch-card .footer-row-cell:nth-child(8) { :host([variant='mini-compare-chart']) slot[name='footer-rows'] { justify-content: flex-start; } - `);var Bo=` + `);var Do=` :root { --consonant-merch-card-plans-width: 300px; --consonant-merch-card-plans-icon-size: 40px; @@ -980,7 +980,7 @@ merch-card[variant="plans"] [slot="quantity-select"] { grid-template-columns: repeat(4, var(--consonant-merch-card-plans-width)); } } -`;var st=class extends I{constructor(t){super(t)}getGlobalCSS(){return Bo}postCardUpdateHook(){this.adjustTitleWidth()}get stockCheckbox(){return this.card.checkboxLabel?x`