vobi_document 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -6
- package/dist/blocks.cjs +100 -0
- package/dist/blocks.cjs.map +1 -0
- package/dist/blocks.d.cts +201 -0
- package/dist/blocks.d.ts +201 -0
- package/dist/blocks.js +7 -0
- package/dist/blocks.js.map +1 -0
- package/dist/catalogContext-DenbX-OW.d.cts +15 -0
- package/dist/catalogContext-HGMU-w_4.d.ts +15 -0
- package/dist/chunk-2EBYURIX.js +90 -0
- package/dist/chunk-2EBYURIX.js.map +1 -0
- package/dist/chunk-6GRYRVU5.js +824 -0
- package/dist/chunk-6GRYRVU5.js.map +1 -0
- package/dist/chunk-ABIEQHS2.js +159 -0
- package/dist/chunk-ABIEQHS2.js.map +1 -0
- package/dist/chunk-AQ5FAAP6.cjs +168 -0
- package/dist/chunk-AQ5FAAP6.cjs.map +1 -0
- package/dist/chunk-ERKU5FDV.cjs +407 -0
- package/dist/chunk-ERKU5FDV.cjs.map +1 -0
- package/dist/chunk-FKX46GKE.cjs +36 -0
- package/dist/chunk-FKX46GKE.cjs.map +1 -0
- package/dist/chunk-HMTCQOEV.js +1319 -0
- package/dist/chunk-HMTCQOEV.js.map +1 -0
- package/dist/chunk-IRFFN74K.cjs +89 -0
- package/dist/chunk-IRFFN74K.cjs.map +1 -0
- package/dist/chunk-IUDN2CGP.js +863 -0
- package/dist/chunk-IUDN2CGP.js.map +1 -0
- package/dist/chunk-JEVWEGSE.js +95 -0
- package/dist/chunk-JEVWEGSE.js.map +1 -0
- package/dist/chunk-KCZKC3OG.js +61 -0
- package/dist/chunk-KCZKC3OG.js.map +1 -0
- package/dist/chunk-KUB3TYG2.cjs +102 -0
- package/dist/chunk-KUB3TYG2.cjs.map +1 -0
- package/dist/chunk-L5FXGEKX.cjs +114 -0
- package/dist/chunk-L5FXGEKX.cjs.map +1 -0
- package/dist/chunk-LNBAFOVK.cjs +14 -0
- package/dist/chunk-LNBAFOVK.cjs.map +1 -0
- package/dist/chunk-M2TPAU2F.js +79 -0
- package/dist/chunk-M2TPAU2F.js.map +1 -0
- package/dist/chunk-MHTTFNK2.cjs +890 -0
- package/dist/chunk-MHTTFNK2.cjs.map +1 -0
- package/dist/chunk-NDHTMYPA.cjs +844 -0
- package/dist/chunk-NDHTMYPA.cjs.map +1 -0
- package/dist/chunk-PLQNNXS2.js +382 -0
- package/dist/chunk-PLQNNXS2.js.map +1 -0
- package/dist/chunk-QYBWIJXZ.js +98 -0
- package/dist/chunk-QYBWIJXZ.js.map +1 -0
- package/dist/chunk-U56KVTK5.cjs +68 -0
- package/dist/chunk-U56KVTK5.cjs.map +1 -0
- package/dist/chunk-X2BLERM5.cjs +1346 -0
- package/dist/chunk-X2BLERM5.cjs.map +1 -0
- package/dist/chunk-ZOJBDFKU.js +12 -0
- package/dist/chunk-ZOJBDFKU.js.map +1 -0
- package/dist/chunk-ZXWOZZXO.cjs +94 -0
- package/dist/chunk-ZXWOZZXO.cjs.map +1 -0
- package/dist/editor.cjs +60 -0
- package/dist/editor.cjs.map +1 -0
- package/dist/editor.d.cts +190 -0
- package/dist/editor.d.ts +190 -0
- package/dist/editor.js +7 -0
- package/dist/editor.js.map +1 -0
- package/dist/index.cjs +412 -3753
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +72 -7892
- package/dist/index.d.ts +72 -7892
- package/dist/index.js +22 -3662
- package/dist/index.js.map +1 -1
- package/dist/messages-Bi0JxNIH.d.cts +23 -0
- package/dist/messages-Bi0JxNIH.d.ts +23 -0
- package/dist/print.cjs +354 -0
- package/dist/print.cjs.map +1 -0
- package/dist/print.d.cts +43 -0
- package/dist/print.d.ts +43 -0
- package/dist/print.js +336 -0
- package/dist/print.js.map +1 -0
- package/dist/puck.cjs +8 -8
- package/dist/puck.cjs.map +1 -1
- package/dist/render.cjs +72 -0
- package/dist/render.cjs.map +1 -0
- package/dist/render.d.cts +93 -0
- package/dist/render.d.ts +93 -0
- package/dist/render.js +7 -0
- package/dist/render.js.map +1 -0
- package/dist/theme-BuEFpQeZ.d.cts +112 -0
- package/dist/theme-BuEFpQeZ.d.ts +112 -0
- package/dist/types-BgIugNWW.d.cts +25 -0
- package/dist/types-BgIugNWW.d.ts +25 -0
- package/dist/types-CvKSS1Sy.d.cts +38 -0
- package/dist/types-CvKSS1Sy.d.ts +38 -0
- package/dist/variables.cjs +95 -0
- package/dist/variables.cjs.map +1 -0
- package/dist/variables.d.cts +74 -0
- package/dist/variables.d.ts +74 -0
- package/dist/variables.js +6 -0
- package/dist/variables.js.map +1 -0
- package/package.json +39 -8
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/blocks/defineBlock.ts","../src/editor/blockIcons.tsx","../src/blocks/components/TextBlock.tsx","../src/blocks/components/shared.tsx","../src/blocks/components/ButtonBlock.tsx","../src/blocks/components/DividerBlock.tsx","../src/blocks/components/PageBreakBlock.tsx","../src/blocks/components/ImageBlock.tsx","../src/blocks/components/ImageGridBlock.tsx","../src/blocks/components/BudgetBlock.tsx","../src/blocks/components/TableBlock.tsx","../src/blocks/components/IconTextBlock.tsx","../src/blocks/components/ImageTextBlock.tsx","../src/blocks/components/TwoColumnsBlock.tsx","../src/blocks/defaults.tsx","../src/blocks/contentIcons.tsx","../src/surface/surface.tsx","../src/surface/fonts.ts","../src/surface/appearance.ts","../src/surface/useDocumentFont.ts","../src/surface/BlockShell.tsx","../src/core/buildConfig.ts","../src/editor/modifierStateShim.ts","../src/editor/DocumentOutline.styles.ts","../src/editor/DocumentOutline.tsx","../src/editor/editorApi.ts","../src/editor/EditorApiBridge.tsx","../src/editor/headerApi.ts","../src/schema/theme.ts","../src/surface/resolveTheme.ts","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/hooks/useEventCallback.ts","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/utils/clamp.ts","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/components/common/Interactive.tsx","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/utils/format.ts","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/components/common/Pointer.tsx","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/utils/round.ts","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/utils/convert.ts","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/components/common/Hue.tsx","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/components/common/Saturation.tsx","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/utils/compare.ts","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/hooks/useColorManipulation.ts","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/hooks/useIsomorphicLayoutEffect.ts","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/utils/nonce.ts","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/hooks/useStyleSheet.ts","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/components/common/ColorPicker.tsx","../node_modules/.pnpm/react-colorful@5.7.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-colorful/src/components/HexColorPicker.tsx","../src/editor/colorPicker/color.ts","../src/editor/colorPicker/ColorPickerPanel.styles.ts","../src/editor/colorPicker/ColorPickerPanel.tsx","../src/editor/colorPicker/ColorPicker.styles.ts","../src/editor/colorPicker/ColorPicker.tsx","../src/editor/settings/DocumentSettingsModal.styles.ts","../src/editor/settings/ColorField.tsx","../src/editor/settings/VisualTab.tsx","../src/editor/settings/DocumentSettingsModal.tsx","../src/variables/catalogContext.tsx","../src/variables/resolvedContext.tsx","../src/variables/bindings.ts","../src/variables/format.ts","../src/variables/resolve.ts","../src/variables/useVariableResolution.ts","../src/editor/DocumentEditor.tsx","../src/render/DocumentRenderer.tsx","../src/render/chrome/covers/primitives.tsx","../src/render/chrome/covers/covers.styles.ts","../src/render/chrome/covers/Model1.tsx","../src/render/chrome/covers/Model2.tsx","../src/render/chrome/covers/Model3.tsx","../src/render/chrome/covers/Model4.tsx","../src/render/chrome/covers/Model5.tsx","../src/render/chrome/covers/index.ts","../src/render/chrome/CoverPage.tsx","../src/render/chrome/covers/CoverEditable.tsx","../src/render/chrome/covers/CoverTemplateStatic.tsx","../src/render/chrome/icons.tsx","../src/render/chrome/chrome.styles.ts","../src/render/chrome/HeaderBar.tsx","../src/render/chrome/FooterBar.tsx","../src/render/buildPageCss.ts","../src/render/pagedjsSource.gen.ts","../src/render/repeatTableHeaders.ts","../src/render/previewBootstrap.ts","../src/render/buildDocumentHtml.tsx","../src/schema/appearance.ts","../src/editor/useDocumentAutosave.ts","../src/schema/puckData.ts","../src/variables/schema.ts","../src/schema/document.ts","../src/variables/VariableMenu.tsx","../src/variables/variableHtml.ts"],"names":["jsx","jsxs","styled","m","f","a","useEffect","createElement","usePuck","useMemo","useGetPuck","Fragment","z","useEventCallback","handler","callbackRef","useRef","fn","value","current","clamp","number","min","max","isTouch","event","getParentWindow","node","ownerDocument","defaultView","self","getRelativePosition","touchId","rect","getBoundingClientRect","pointer","touches","i","length","identifier","left","pageX","pageXOffset","width","top","pageY","pageYOffset","height","preventDefaultMove","preventDefault","Interactive","React","memo","o","onMove","onKey","onEnd","rest","container","onMoveCallback","onKeyCallback","onEndCallback","hasTouch","handleMove","buttons","toggleDocumentEvents","handleMoveEnd","state","touch","parentWindow","toggleEvent","addEventListener","removeEventListener","e","nativeEvent","el","changedTouches","focus","keyCode","which","handleMoveStart","handleKeyDown","handleKeyUp","onTouchStart","onMouseDown","className","ref","onKeyDown","onKeyUp","tabIndex","role","formatClassName","names","filter","Boolean","join","Pointer","r","color","nodeClassName","style","backgroundColor","round","digits","base","Math","pow","hexToHsva","hex","rgbaToHsva","hexToRgba","substring","parseInt","g","b","hsvaToHex","hsva","rgbaToHex","hsvaToRgba","hsvaToHsla","s","v","hh","h","l","hsvaToHslString","floor","c","d","module","format","toString","alphaHex","delta","Hue","hue","onChange","onChangeEnd","interaction","offset","aria-label","aria-valuenow","aria-valuemax","aria-valuemin","Saturation","containerStyle","aria-valuetext","equalColorObjects","first","second","prop","equalHex","toLowerCase","useColorManipulation","colorModel","onChangeCallback","onChangeEndCallback","useState","toHsva","updateHsva","cache","isDirty","equal","newHsva","newColor","fromHsva","handleChange","useCallback","params","Object","assign","commitChange","useIsomorphicLayoutEffect","window","useLayoutEffect","getNonce","nonce","__webpack_nonce__","styleElementMap","Map","useStyleSheet","nodeRef","parentDocument","document","has","styleElement","innerHTML","set","setAttribute","head","appendChild","ColorPicker","n","defaultColor","HexColorPicker","props","Panel","Placeholder","createContext","useContext","EMPTY","blocksPlugin","ActionBar","Puck","Render","p","Head","HAIRLINE","Logo","Title","Subtitle","Label","Value","Body","ImageBand","registerOverlayPortal","ServerStyleSheet","renderToStaticMarkup","q"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { BlockEntry } from './types';\n\n/** Helper tipado para declarar um bloco (`fields`/`defaultProps` alinhados às props). */\nexport function defineBlock<Props extends Record<string, unknown>>(entry: BlockEntry<Props>): BlockEntry<Props> {\n return entry;\n}\n","import type { ReactNode } from 'react';\n\nconst base = {\n width: 16,\n height: 16,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round' as const,\n strokeLinejoin: 'round' as const\n};\n\nexport function TextIcon(): ReactNode {\n return (\n <svg {...base}>\n <path d=\"M4 6h16M4 12h16M4 18h10\" />\n </svg>\n );\n}\n\nexport function ImageIcon(): ReactNode {\n return (\n <svg {...base}>\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\" />\n <circle cx=\"8.5\" cy=\"9.5\" r=\"1.5\" />\n <path d=\"m21 16-5-5L5 20\" />\n </svg>\n );\n}\n\nexport function ButtonIcon(): ReactNode {\n return (\n <svg {...base}>\n <rect x=\"3\" y=\"8\" width=\"18\" height=\"8\" rx=\"4\" />\n </svg>\n );\n}\n\nexport function DividerIcon(): ReactNode {\n return (\n <svg {...base}>\n <path d=\"M3 12h18\" />\n </svg>\n );\n}\n\nexport function PageBreakIcon(): ReactNode {\n return (\n <svg {...base}>\n <path d=\"M6 4h8l4 4v4M6 4v6M3 14h18\" strokeDasharray=\"0 0\" />\n <path d=\"M3 14h18\" strokeDasharray=\"3 3\" />\n <path d=\"M6 18v2M18 18v2\" />\n </svg>\n );\n}\n\nexport function BudgetIcon(): ReactNode {\n return (\n <svg {...base}>\n <path d=\"M5 3v18l2-1 2 1 2-1 2 1 2-1 2 1V3l-2 1-2-1-2 1-2-1-2 1-2-1Z\" />\n <path d=\"M9 8h6M9 12h6M9 16h3\" />\n </svg>\n );\n}\n\nexport function TableIcon(): ReactNode {\n return (\n <svg {...base}>\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"1\" />\n <path d=\"M3 10h18M3 15h18M9 4v16M15 4v16\" />\n </svg>\n );\n}\n\nexport function ImageGridIcon(): ReactNode {\n return (\n <svg {...base}>\n <rect x=\"3\" y=\"3\" width=\"8\" height=\"8\" rx=\"1\" />\n <rect x=\"13\" y=\"3\" width=\"8\" height=\"8\" rx=\"1\" />\n <rect x=\"3\" y=\"13\" width=\"8\" height=\"8\" rx=\"1\" />\n <rect x=\"13\" y=\"13\" width=\"8\" height=\"8\" rx=\"1\" />\n </svg>\n );\n}\n\nexport function IconTextIcon(): ReactNode {\n return (\n <svg {...base}>\n <circle cx=\"6\" cy=\"12\" r=\"3\" />\n <path d=\"M12 9h9M12 14h6\" />\n </svg>\n );\n}\n\nexport function ImageTextIcon(): ReactNode {\n return (\n <svg {...base}>\n <rect x=\"3\" y=\"6\" width=\"7\" height=\"12\" rx=\"1\" />\n <path d=\"M13 8h8M13 12h8M13 16h5\" />\n </svg>\n );\n}\n\nexport function TwoColumnsIcon(): ReactNode {\n return (\n <svg {...base}>\n <rect x=\"3\" y=\"4\" width=\"8\" height=\"16\" rx=\"1\" />\n <rect x=\"13\" y=\"4\" width=\"8\" height=\"16\" rx=\"1\" />\n </svg>\n );\n}\n\n/** Generic fallback for blocks that don't declare an icon. */\nexport function BlockIcon(): ReactNode {\n return (\n <svg {...base}>\n <rect x=\"4\" y=\"4\" width=\"7\" height=\"7\" rx=\"1\" />\n <rect x=\"13\" y=\"4\" width=\"7\" height=\"7\" rx=\"1\" />\n <rect x=\"4\" y=\"13\" width=\"7\" height=\"7\" rx=\"1\" />\n <rect x=\"13\" y=\"13\" width=\"7\" height=\"7\" rx=\"1\" />\n </svg>\n );\n}\n","import type { ReactNode } from 'react';\nimport { defineBlock } from '../defineBlock';\nimport { TextIcon } from '../../editor/blockIcons';\n\nexport const TextBlock = defineBlock<{ content: unknown }>({\n key: 'Text',\n label: 'Texto',\n category: 'Conteúdo',\n icon: <TextIcon />,\n fields: { content: { type: 'richtext', label: 'Conteúdo' } },\n defaultProps: { content: '' },\n component: ({ content }) => <div>{content as ReactNode}</div>\n});\n","import type { ReactNode } from 'react';\nimport styled from 'styled-components';\n\nexport const SIZE_WIDTH: Record<string, string> = { small: '33%', medium: '66%', large: '100%' };\n\nexport const Placeholder = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 64px;\n padding: 16px;\n border: 1px dashed #c3c9d2;\n border-radius: 8px;\n color: #9aa3af;\n font-size: 13px;\n text-align: center;\n`;\n\nexport const LinkButton = styled.a`\n display: inline-block;\n padding: 8px 16px;\n border-radius: 6px;\n background: var(--doc-brand, #1a56db);\n color: #fff;\n text-decoration: none;\n font-weight: 500;\n`;\n\nexport const PageBreakMark = styled.div`\n break-after: page;\n margin: 8px 0;\n border-top: 1px dashed #c3c9d2;\n text-align: center;\n color: #9aa3af;\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n`;\n\nexport function placeholderBlock(text: string) {\n return function PlaceholderBlock(): ReactNode {\n return <Placeholder>{text}</Placeholder>;\n };\n}\n","import { defineBlock } from '../defineBlock';\nimport { ButtonIcon } from '../../editor/blockIcons';\nimport { LinkButton } from './shared';\n\nexport const ButtonBlock = defineBlock<{ text: string; href: string }>({\n key: 'Button',\n label: 'Botão',\n category: 'Conteúdo',\n icon: <ButtonIcon />,\n fields: {\n text: { type: 'text', label: 'Texto do botão', contentEditable: true },\n href: { type: 'text', label: 'Link ao clicar' }\n },\n defaultProps: { text: 'Clique aqui', href: '#' },\n component: ({ text, href }) => (\n <LinkButton href={href || '#'} target=\"_blank\" rel=\"noopener noreferrer\">\n {text}\n </LinkButton>\n )\n});\n","import { defineBlock } from '../defineBlock';\nimport { DividerIcon } from '../../editor/blockIcons';\n\nexport const DividerBlock = defineBlock({\n key: 'Divider',\n label: 'Divisor',\n category: 'Conteúdo',\n icon: <DividerIcon />,\n fields: {},\n component: () => <hr style={{ border: 'none', borderTop: '1px solid #e5e7eb', margin: '12px 0' }} />\n});\n","import { defineBlock } from '../defineBlock';\nimport { PageBreakIcon } from '../../editor/blockIcons';\nimport { PageBreakMark } from './shared';\n\nexport type PageBreakBlockProps = {\n puck?: { isEditing?: boolean };\n};\n\nexport const PageBreakBlock = defineBlock<PageBreakBlockProps>({\n key: 'PageBreak',\n label: 'Quebra de página',\n category: 'Estrutura',\n icon: <PageBreakIcon />,\n fields: {},\n // Rótulo é affordance de editor — no viewer/PDF (puck.isEditing falso) sai vazio;\n // o wrapper data-docgen-block=\"PageBreak\" (que carrega o break-after: page) vem do BlockShell.\n component: ({ puck }) => (puck?.isEditing ? <PageBreakMark>Quebra de página</PageBreakMark> : null)\n});\n","import { defineBlock } from '../defineBlock';\nimport { ImageIcon } from '../../editor/blockIcons';\nimport { Placeholder, SIZE_WIDTH } from './shared';\n\nexport const ImageBlock = defineBlock<{ src: string; opacity: number; size: string }>({\n key: 'Image',\n label: 'Imagem',\n category: 'Mídia',\n icon: <ImageIcon />,\n fields: {\n src: { type: 'text', label: 'Imagem (URL)' },\n opacity: { type: 'number', label: 'Opacidade (%)', min: 0, max: 100 },\n size: {\n type: 'select',\n label: 'Tamanho',\n options: [\n { label: 'Pequeno', value: 'small' },\n { label: 'Médio', value: 'medium' },\n { label: 'Grande', value: 'large' }\n ]\n }\n },\n defaultProps: { src: '', opacity: 100, size: 'medium' },\n component: ({ src, opacity, size }) =>\n src ? (\n <img\n src={src}\n alt=\"\"\n style={{ width: SIZE_WIDTH[size] ?? '66%', maxWidth: '100%', opacity: (opacity ?? 100) / 100 }}\n />\n ) : (\n <Placeholder>Imagem</Placeholder>\n )\n});\n","import { defineBlock } from '../defineBlock';\nimport { ImageGridIcon } from '../../editor/blockIcons';\nimport { placeholderBlock } from './shared';\n\nexport const ImageGridBlock = defineBlock({\n key: 'ImageGrid',\n label: 'Grade de Imagens',\n category: 'Mídia',\n icon: <ImageGridIcon />,\n fields: {},\n component: placeholderBlock('Grade de Imagens — configurar depois')\n});\n","import { defineBlock } from '../defineBlock';\nimport { BudgetIcon } from '../../editor/blockIcons';\nimport { placeholderBlock } from './shared';\n\nexport const BudgetBlock = defineBlock({\n key: 'Budget',\n label: 'Orçamento',\n category: 'Dados',\n icon: <BudgetIcon />,\n fields: {},\n component: placeholderBlock('Orçamento — configurar depois')\n});\n","import { defineBlock } from '../defineBlock';\nimport { TableIcon } from '../../editor/blockIcons';\nimport { placeholderBlock } from './shared';\n\nexport const TableBlock = defineBlock({\n key: 'Table',\n label: 'Tabela',\n category: 'Dados',\n icon: <TableIcon />,\n fields: {},\n component: placeholderBlock('Tabela — configurar depois')\n});\n","import { defineBlock } from '../defineBlock';\nimport { IconTextIcon } from '../../editor/blockIcons';\nimport { placeholderBlock } from './shared';\n\nexport const IconTextBlock = defineBlock({\n key: 'IconText',\n label: 'Ícone e Texto',\n category: 'Layout',\n icon: <IconTextIcon />,\n fields: {},\n component: placeholderBlock('Ícone e Texto — configurar depois')\n});\n","import { defineBlock } from '../defineBlock';\nimport { ImageTextIcon } from '../../editor/blockIcons';\nimport { placeholderBlock } from './shared';\n\nexport const ImageTextBlock = defineBlock({\n key: 'ImageText',\n label: 'Imagem e Texto',\n category: 'Layout',\n icon: <ImageTextIcon />,\n fields: {},\n component: placeholderBlock('Imagem e Texto — configurar depois')\n});\n","import { defineBlock } from '../defineBlock';\nimport { TwoColumnsIcon } from '../../editor/blockIcons';\nimport { placeholderBlock } from './shared';\n\nexport const TwoColumnsBlock = defineBlock({\n key: 'TwoColumns',\n label: 'Coluna dupla',\n category: 'Layout',\n icon: <TwoColumnsIcon />,\n fields: {},\n component: placeholderBlock('Coluna dupla — configurar depois')\n});\n","import { TextBlock } from './components/TextBlock';\nimport { ButtonBlock } from './components/ButtonBlock';\nimport { DividerBlock } from './components/DividerBlock';\nimport { PageBreakBlock } from './components/PageBreakBlock';\nimport { ImageBlock } from './components/ImageBlock';\nimport { ImageGridBlock } from './components/ImageGridBlock';\nimport { BudgetBlock } from './components/BudgetBlock';\nimport { TableBlock } from './components/TableBlock';\nimport { IconTextBlock } from './components/IconTextBlock';\nimport { ImageTextBlock } from './components/ImageTextBlock';\nimport { TwoColumnsBlock } from './components/TwoColumnsBlock';\n\nexport const defaultBlocks = [\n TextBlock,\n ButtonBlock,\n DividerBlock,\n PageBreakBlock,\n ImageBlock,\n ImageGridBlock,\n BudgetBlock,\n TableBlock,\n IconTextBlock,\n ImageTextBlock,\n TwoColumnsBlock\n];\n","import type { CSSProperties } from 'react';\n\nconst SOCIAL = 'Social e contato';\nconst ACTIONS = 'Ações';\nconst NAV = 'Navegação';\nconst TIME_PLACE = 'Tempo e local';\nconst GENERAL = 'Gerais';\n\nexport type ContentIconDef = { label: string; group: string; viewBox: string; path: string };\n\n// Paths do Font Awesome (pro-regular + brands) — mesmos ícones da plataforma.\n// SVG inline com width/height explícitos: o HTML do documento (iframe, link público, PDF)\n// não carrega o CSS global do Font Awesome, e sem dimensão o svg cai no default 300x150.\nexport const CONTENT_ICON_CATALOG: Record<string, ContentIconDef> = {\n whatsapp: {\n label: 'WhatsApp',\n group: SOCIAL,\n viewBox: '0 0 448 512',\n path: 'M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'\n },\n instagram: {\n label: 'Instagram',\n group: SOCIAL,\n viewBox: '0 0 448 512',\n path: 'M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'\n },\n facebook: {\n label: 'Facebook',\n group: SOCIAL,\n viewBox: '0 0 320 512',\n path: 'M80 299.3V512H196V299.3h86.5l18-97.8H196V166.9c0-51.7 20.3-71.5 72.7-71.5c16.3 0 29.4 .4 37 1.2V7.9C291.4 4 256.4 0 236.2 0C129.3 0 80 50.5 80 159.4v42.1H14v97.8H80z'\n },\n email: {\n label: 'E-mail',\n group: SOCIAL,\n viewBox: '0 0 512 512',\n path: 'M64 112c-8.8 0-16 7.2-16 16l0 22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1l0-22.1c0-8.8-7.2-16-16-16L64 112zM48 212.2L48 384c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-171.8L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64l384 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128z'\n },\n telefone: {\n label: 'Telefone',\n group: SOCIAL,\n viewBox: '0 0 512 512',\n path: 'M375.8 275.2c-16.4-7-35.4-2.4-46.7 11.4l-33.2 40.6c-46-26.7-84.4-65.1-111.1-111.1L225.3 183c13.8-11.3 18.5-30.3 11.4-46.7l-48-112C181.2 6.7 162.3-3.1 143.6 .9l-112 24C13.2 28.8 0 45.1 0 64c0 0 0 0 0 0C0 295.2 175.2 485.6 400.1 509.5c9.8 1 19.6 1.8 29.6 2.2c0 0 0 0 0 0c0 0 .1 0 .1 0c6.1 .2 12.1 .4 18.2 .4c0 0 0 0 0 0c18.9 0 35.2-13.2 39.1-31.6l24-112c4-18.7-5.8-37.6-23.4-45.1l-112-48zM441.5 464C225.8 460.5 51.5 286.2 48.1 70.5l99.2-21.3 43 100.4L154.4 179c-18.2 14.9-22.9 40.8-11.1 61.2c30.9 53.3 75.3 97.7 128.6 128.6c20.4 11.8 46.3 7.1 61.2-11.1l29.4-35.9 100.4 43L441.5 464zM48 64s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0z'\n },\n link: {\n label: 'Link',\n group: SOCIAL,\n viewBox: '0 0 640 512',\n path: 'M580.3 267.2c56.2-56.2 56.2-147.3 0-203.5C526.8 10.2 440.9 7.3 383.9 57.2l-6.1 5.4c-10 8.7-11 23.9-2.3 33.9s23.9 11 33.9 2.3l6.1-5.4c38-33.2 95.2-31.3 130.9 4.4c37.4 37.4 37.4 98.1 0 135.6L433.1 346.6c-37.4 37.4-98.2 37.4-135.6 0c-35.7-35.7-37.6-92.9-4.4-130.9l4.7-5.4c8.7-10 7.7-25.1-2.3-33.9s-25.1-7.7-33.9 2.3l-4.7 5.4c-49.8 57-46.9 142.9 6.6 196.4c56.2 56.2 147.3 56.2 203.5 0L580.3 267.2zM59.7 244.8C3.5 301 3.5 392.1 59.7 448.2c53.6 53.6 139.5 56.4 196.5 6.5l6.1-5.4c10-8.7 11-23.9 2.3-33.9s-23.9-11-33.9-2.3l-6.1 5.4c-38 33.2-95.2 31.3-130.9-4.4c-37.4-37.4-37.4-98.1 0-135.6L207 165.4c37.4-37.4 98.1-37.4 135.6 0c35.7 35.7 37.6 92.9 4.4 130.9l-5.4 6.1c-8.7 10-7.7 25.1 2.3 33.9s25.1 7.7 33.9-2.3l5.4-6.1c49.9-57 47-142.9-6.5-196.5c-56.2-56.2-147.3-56.2-203.5 0L59.7 244.8z'\n },\n download: {\n label: 'Download',\n group: ACTIONS,\n viewBox: '0 0 512 512',\n path: 'M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 270.1-95-95c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L239 369c9.4 9.4 24.6 9.4 33.9 0L409 233c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95L280 24zM128.8 304L64 304c-35.3 0-64 28.7-64 64l0 80c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-80c0-35.3-28.7-64-64-64l-64.8 0-48 48L448 352c8.8 0 16 7.2 16 16l0 80c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-80c0-8.8 7.2-16 16-16l112.8 0-48-48zM432 408a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z'\n },\n check: {\n label: 'Check',\n group: ACTIONS,\n viewBox: '0 0 448 512',\n path: 'M441 103c9.4 9.4 9.4 24.6 0 33.9L177 401c-9.4 9.4-24.6 9.4-33.9 0L7 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l119 119L407 103c9.4-9.4 24.6-9.4 33.9 0z'\n },\n enviar: {\n label: 'Enviar',\n group: ACTIONS,\n viewBox: '0 0 512 512',\n path: 'M16.1 260.2c-22.6 12.9-20.5 47.3 3.6 57.3L160 376l0 103.3c0 18.1 14.6 32.7 32.7 32.7c9.7 0 18.9-4.3 25.1-11.8l62-74.3 123.9 51.6c18.9 7.9 40.8-4.5 43.9-24.7l64-416c1.9-12.1-3.4-24.3-13.5-31.2s-23.3-7.5-34-1.4l-448 256zm52.1 25.5L409.7 90.6 190.1 336l1.2 1L68.2 285.7zM403.3 425.4L236.7 355.9 450.8 116.6 403.3 425.4z'\n },\n cifrao: {\n label: 'Cifrão',\n group: ACTIONS,\n viewBox: '0 0 320 512',\n path: 'M184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 47.7c-3.1 .1-6.2 .3-9.3 .6c-23.2 1.9-47.2 7.4-67.2 20.1C38.7 105.6 23.5 126 18 154.2c-3.9 20.3-2 38.8 6.1 55.2c8 16 20.9 27.6 34.8 36.2c26.2 16.2 61.9 25.3 92.9 33.2l2.3 .6c33.9 8.6 62.6 16.1 81.7 28c9 5.6 14.3 11.2 17.1 16.9c2.7 5.3 4.2 12.8 2 24.5c-2.9 14.7-13.4 26.9-34.5 34.9c-21.6 8.2-52 10.9-87.6 5.9c-22.6-3.3-61.8-12.7-83-22.1c-12.1-5.4-26.3 .1-31.7 12.2s.1 26.3 12.2 31.7C57 423.2 101.1 433.4 126 437l.1 0c3.3 .5 6.6 .9 9.9 1.2l0 49.7c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48.6c19.3-1.3 37.4-4.9 53.5-11c31.9-12.1 57.7-35.2 64.5-70.6c3.9-20.3 2-38.8-6.1-55.2c-8-16-20.9-27.6-34.8-36.2c-26.2-16.2-61.9-25.3-92.9-33.2l-2.3-.6c-33.9-8.6-62.6-16.1-81.7-28c-9-5.6-14.3-11.2-17.1-16.9c-2.7-5.3-4.2-12.8-2-24.5c2.9-14.8 10.1-24 20.2-30.4c10.9-6.9 26.3-11.2 45.3-12.7c38.3-3.1 83.1 5.3 113.9 12.5c12.9 3.1 25.8-4.9 28.9-17.8S268.4 89 255.5 86c-18.7-4.4-44.2-9.7-71.5-12.5L184 24z'\n },\n 'seta-esquerda': {\n label: 'Seta esquerda',\n group: NAV,\n viewBox: '0 0 448 512',\n path: 'M7.4 273.4C2.7 268.8 0 262.6 0 256s2.7-12.8 7.4-17.4l176-168c9.6-9.2 24.8-8.8 33.9 .8s8.8 24.8-.8 33.9L83.9 232 424 232c13.3 0 24 10.7 24 24s-10.7 24-24 24L83.9 280 216.6 406.6c9.6 9.2 9.9 24.3 .8 33.9s-24.3 9.9-33.9 .8l-176-168z'\n },\n 'seta-direita': {\n label: 'Seta direita',\n group: NAV,\n viewBox: '0 0 448 512',\n path: 'M440.6 273.4c4.7-4.5 7.4-10.8 7.4-17.4s-2.7-12.8-7.4-17.4l-176-168c-9.6-9.2-24.8-8.8-33.9 .8s-8.8 24.8 .8 33.9L364.1 232 24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l340.1 0L231.4 406.6c-9.6 9.2-9.9 24.3-.8 33.9s24.3 9.9 33.9 .8l176-168z'\n },\n 'link-externo': {\n label: 'Link externo',\n group: NAV,\n viewBox: '0 0 512 512',\n path: 'M304 24c0 13.3 10.7 24 24 24l102.1 0L207 271c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l223-223L464 184c0 13.3 10.7 24 24 24s24-10.7 24-24l0-160c0-13.3-10.7-24-24-24L328 0c-13.3 0-24 10.7-24 24zM72 32C32.2 32 0 64.2 0 104L0 440c0 39.8 32.2 72 72 72l336 0c39.8 0 72-32.2 72-72l0-128c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 128c0 13.3-10.7 24-24 24L72 464c-13.3 0-24-10.7-24-24l0-336c0-13.3 10.7-24 24-24l128 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L72 32z'\n },\n calendario: {\n label: 'Calendário',\n group: TIME_PLACE,\n viewBox: '0 0 448 512',\n path: 'M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L64 64C28.7 64 0 92.7 0 128l0 16 0 48L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-256 0-48 0-16c0-35.3-28.7-64-64-64l-40 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L152 64l0-40zM48 192l352 0 0 256c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256z'\n },\n relogio: {\n label: 'Relógio',\n group: TIME_PLACE,\n viewBox: '0 0 512 512',\n path: 'M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'\n },\n localizacao: {\n label: 'Localização',\n group: TIME_PLACE,\n viewBox: '0 0 384 512',\n path: 'M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zm-160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z'\n },\n predio: {\n label: 'Prédio',\n group: TIME_PLACE,\n viewBox: '0 0 384 512',\n path: 'M64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16l80 0 0-64c0-26.5 21.5-48 48-48s48 21.5 48 48l0 64 80 0c8.8 0 16-7.2 16-16l0-384c0-8.8-7.2-16-16-16L64 48zM0 64C0 28.7 28.7 0 64 0L320 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zm88 40c0-8.8 7.2-16 16-16l48 0c8.8 0 16 7.2 16 16l0 48c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-48zM232 88l48 0c8.8 0 16 7.2 16 16l0 48c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-48c0-8.8 7.2-16 16-16zM88 232c0-8.8 7.2-16 16-16l48 0c8.8 0 16 7.2 16 16l0 48c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-48zm144-16l48 0c8.8 0 16 7.2 16 16l0 48c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-48c0-8.8 7.2-16 16-16z'\n },\n estrela: {\n label: 'Estrela',\n group: GENERAL,\n viewBox: '0 0 576 512',\n path: 'M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.7 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0zm0 79L235.4 187.2c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9 184.9 303c5.5 5.5 8.1 13.3 6.8 21L171.4 443.7l105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2L384.2 324.1c-1.3-7.7 1.2-15.5 6.8-21l85.9-85.1L358.6 200.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9 79z'\n },\n coracao: {\n label: 'Coração',\n group: GENERAL,\n viewBox: '0 0 512 512',\n path: 'M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8l0-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9c0 0 0 0 0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5l0 3.3c0 41.9-17.4 81.9-48.1 110.4L288.7 465.9l-2.5 2.3c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM239.1 145c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1s0 0 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5l0 3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7 431.2 268c20.9-19.4 32.8-46.7 32.8-75.2l0-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2c0 0 0 0-.1 .1s0 0-.1 .1l-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7z'\n },\n globo: {\n label: 'Globo',\n group: GENERAL,\n viewBox: '0 0 512 512',\n path: 'M256 464c7.4 0 27-7.2 47.6-48.4c8.8-17.7 16.4-39.2 22-63.6l-139.2 0c5.6 24.4 13.2 45.9 22 63.6C229 456.8 248.6 464 256 464zM178.5 304l155 0c1.6-15.3 2.5-31.4 2.5-48s-.9-32.7-2.5-48l-155 0c-1.6 15.3-2.5 31.4-2.5 48s.9 32.7 2.5 48zm7.9-144l139.2 0c-5.6-24.4-13.2-45.9-22-63.6C283 55.2 263.4 48 256 48s-27 7.2-47.6 48.4c-8.8 17.7-16.4 39.2-22 63.6zm195.3 48c1.5 15.5 2.2 31.6 2.2 48s-.8 32.5-2.2 48l76.7 0c3.6-15.4 5.6-31.5 5.6-48s-1.9-32.6-5.6-48l-76.7 0zm58.8-48c-21.4-41.1-56.1-74.1-98.4-93.4c14.1 25.6 25.3 57.5 32.6 93.4l65.9 0zm-303.3 0c7.3-35.9 18.5-67.7 32.6-93.4c-42.3 19.3-77 52.3-98.4 93.4l65.9 0zM53.6 208c-3.6 15.4-5.6 31.5-5.6 48s1.9 32.6 5.6 48l76.7 0c-1.5-15.5-2.2-31.6-2.2-48s.8-32.5 2.2-48l-76.7 0zM342.1 445.4c42.3-19.3 77-52.3 98.4-93.4l-65.9 0c-7.3 35.9-18.5 67.7-32.6 93.4zm-172.2 0c-14.1-25.6-25.3-57.5-32.6-93.4l-65.9 0c21.4 41.1 56.1 74.1 98.4 93.4zM256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512z'\n },\n usuario: {\n label: 'Usuário',\n group: GENERAL,\n viewBox: '0 0 448 512',\n path: 'M304 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM49.3 464l349.5 0c-8.9-63.3-63.3-112-129-112l-91.4 0c-65.7 0-120.1 48.7-129 112zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3z'\n },\n arquivo: {\n label: 'Arquivo',\n group: GENERAL,\n viewBox: '0 0 384 512',\n path: 'M320 464c8.8 0 16-7.2 16-16l0-288-80 0c-17.7 0-32-14.3-32-32l0-80L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16l256 0zM0 64C0 28.7 28.7 0 64 0L229.5 0c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3L384 448c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64z'\n },\n imagem: {\n label: 'Imagem',\n group: GENERAL,\n viewBox: '0 0 512 512',\n path: 'M448 80c8.8 0 16 7.2 16 16l0 319.8-5-6.5-136-176c-4.5-5.9-11.6-9.3-19-9.3s-14.4 3.4-19 9.3L202 340.7l-30.5-42.7C167 291.7 159.8 288 152 288s-15 3.7-19.5 10.1l-80 112L48 416.3l0-.3L48 96c0-8.8 7.2-16 16-16l384 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm80 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z'\n },\n camera: {\n label: 'Câmera',\n group: GENERAL,\n viewBox: '0 0 512 512',\n path: 'M199.1 32c-24.1 0-45.5 15.4-53.1 38.3l22.8 7.6-22.8-7.6L137.4 96 64 96C28.7 96 0 124.7 0 160L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64l-73.4 0-8.6-25.7C358.4 47.4 337 32 312.9 32L199.1 32zm-7.6 53.5c1.1-3.3 4.1-5.5 7.6-5.5l113.9 0c3.4 0 6.5 2.2 7.6 5.5l14 42.1c3.3 9.8 12.4 16.4 22.8 16.4l90.7 0c8.8 0 16 7.2 16 16l0 256c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l90.7 0c10.3 0 19.5-6.6 22.8-16.4l14-42.1zM256 400a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM192 288a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z'\n }\n};\n\nexport const CONTENT_ICON_NAMES = Object.keys(CONTENT_ICON_CATALOG);\n\nexport type ContentIconProps = {\n name?: string;\n /** Aceita número (px) ou qualquer unidade CSS. Default `1em` — acompanha o font-size do contexto. */\n size?: number | string;\n color?: string;\n style?: CSSProperties;\n className?: string;\n};\n\nexport function ContentIcon({ name, size = '1em', color = 'currentColor', style, className }: ContentIconProps) {\n const def = name ? CONTENT_ICON_CATALOG[name] : undefined;\n if (!def) return null;\n\n return (\n <svg\n width={size}\n height={size}\n viewBox={def.viewBox}\n fill={color}\n aria-hidden=\"true\"\n focusable=\"false\"\n className={className}\n style={{ display: 'inline-block', verticalAlign: '-0.125em', flexShrink: 0, ...style }}\n >\n <path d={def.path} />\n </svg>\n );\n}\n","import styled from 'styled-components';\n\nexport const DEFAULT_DOCUMENT_FONT =\n \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif\";\n\nexport const DEFAULT_DOCUMENT_COLORS = {\n brand: '#005AC3',\n text: '#3F4759',\n background: '#FFFFFF'\n} as const;\n\nexport type PageFormat = 'A4' | 'A5' | 'A3' | 'Letter' | 'Legal';\nexport type PageMargins = { top?: number; right?: number; bottom?: number; left?: number };\nexport type PageOptions = { format?: PageFormat; margins?: PageMargins };\n\nconst PAGE_WIDTH_PX: Record<PageFormat, number> = {\n A4: 794,\n A5: 559,\n A3: 1123,\n Letter: 816,\n Legal: 816\n};\n\nexport const DEFAULT_PAGE_MARGINS: Required<PageMargins> = { top: 24, right: 24, bottom: 24, left: 24 };\n\nexport function pageWidthPx(format: PageFormat = 'A4'): number {\n return PAGE_WIDTH_PX[format];\n}\n\nexport function marginsToPadding(margins?: PageMargins): string {\n const m = { ...DEFAULT_PAGE_MARGINS, ...margins };\n return `${m.top}px ${m.right}px ${m.bottom}px ${m.left}px`;\n}\n\n/** A página do documento — compartilhada pelo editor, viewer e PDF via `root` do Puck. */\nexport const PageFrame = styled.div<{\n $width: number;\n $padding: string;\n $font: string;\n $brand: string;\n $text: string;\n $bg: string;\n $padTop?: number;\n $padRight?: number;\n $padLeft?: number;\n 'data-docgen-root'?: string;\n}>`\n --doc-brand: ${props => props.$brand};\n --doc-text: ${props => props.$text};\n --doc-bg: ${props => props.$bg};\n font-family: ${props => props.$font};\n width: ${props => props.$width}px;\n max-width: 100%;\n min-height: 100%;\n margin: 0 auto;\n padding: ${props => props.$padding};\n background: var(--doc-bg);\n color: var(--doc-text);\n box-sizing: border-box;\n\n &,\n & *,\n & *::before,\n & *::after {\n box-sizing: border-box;\n }\n\n & [data-docgen-block] {\n margin-bottom: 16px;\n }\n\n /* A capa é full-bleed (no preview/PDF ela sai do PageFrame via hoist). No editor\n ela renderiza em fluxo dentro do padding da folha — neutralizamos esse padding\n só pra ela, pra bater com o preview. O bleed vai no wrapper do Puck\n ([data-puck-component]) e não no bloco interno, senão a borda de seleção do Puck\n (desenhada no wrapper) fica inset. No PDF/viewer esse seletor nem existe (hoist). */\n & [data-puck-component]:has([data-docgen-block='Cover']) {\n margin-top: ${props => -(props.$padTop ?? 0)}px;\n margin-left: ${props => -(props.$padLeft ?? 0)}px;\n margin-right: ${props => -(props.$padRight ?? 0)}px;\n width: calc(100% + ${props => (props.$padLeft ?? 0) + (props.$padRight ?? 0)}px);\n }\n`;\n\n/** Chrome do editor: mesa cinza + folha com sombra (só editor). Porquês: docs/architecture.md. */\nexport const EditorShell = styled.div`\n height: 100%;\n\n #puck-canvas-root,\n [class*='_PuckCanvas_'] {\n background: #e8e9eb;\n outline: none;\n }\n\n [class*='_PuckCanvas_'][class*='_PuckCanvas_'][class*='_PuckCanvas_'] {\n padding: 0;\n }\n\n #preview-frame {\n display: flex;\n flex-direction: column;\n align-items: center;\n box-sizing: border-box;\n min-height: 100%;\n padding: 32px 16px;\n }\n\n #preview-frame > * {\n flex: 1 0 auto;\n min-height: 0;\n box-shadow: 0 1px 4px rgba(15, 23, 42, 0.14);\n }\n`;\n\n/** Card custom do item no palette (substitui o item padrão do Puck): ícone + nome. */\nexport const DrawerCard = styled.div<{ $disabled?: boolean }>`\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 11px 12px;\n border: 1px solid #e5e7eb;\n border-radius: 8px;\n background: #fff;\n cursor: grab;\n font-size: 14px;\n color: #1f2937;\n\n &:hover {\n background: #f3f6fb;\n border-color: #c3c9d2;\n }\n\n ${props =>\n props.$disabled &&\n `\n opacity: 0.45;\n cursor: not-allowed;\n\n &:hover {\n background: #fff;\n border-color: #e5e7eb;\n }\n `}\n`;\n\n/**\n * Tooltip imediato para o card desabilitado do palette (o title nativo demora ~1s).\n * Os seletores de hover repetem `[data-hint]:not([data-hint=''])` para empatar a\n * especificidade da regra base — `&:hover::after` sozinho perde e o tooltip nunca aparece.\n */\nexport const DrawerHint = styled.div`\n position: relative;\n\n &[data-hint]:not([data-hint=''])::after {\n content: attr(data-hint);\n position: absolute;\n left: 50%;\n top: calc(100% + 6px);\n transform: translateX(-50%) translateY(-2px);\n width: max-content;\n max-width: 220px;\n padding: 6px 10px;\n background: #1f2937;\n color: #fff;\n font-size: 12px;\n line-height: 1.35;\n text-align: center;\n border-radius: 6px;\n opacity: 0;\n pointer-events: none;\n transition:\n opacity 0.12s ease,\n transform 0.12s ease;\n z-index: 20;\n }\n\n &[data-hint]:not([data-hint=''])::before {\n content: '';\n position: absolute;\n left: 50%;\n top: calc(100% + 1px);\n transform: translateX(-50%);\n border: 5px solid transparent;\n border-bottom-color: #1f2937;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.12s ease;\n z-index: 20;\n }\n\n &[data-hint]:not([data-hint='']):hover::after,\n &[data-hint]:not([data-hint='']):hover::before {\n opacity: 1;\n transform: translateX(-50%) translateY(0);\n }\n\n &[data-hint]:not([data-hint='']):hover::before {\n transform: translateX(-50%);\n }\n`;\n\n/** Mensagem do painel de propriedades quando nenhum bloco está selecionado. */\nexport const PanelPlaceholder = styled.div`\n padding: 24px 12px;\n color: #6b7280;\n font-size: 13px;\n line-height: 1.5;\n text-align: center;\n`;\n\nexport const DrawerItemIcon = styled.span`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n color: #6b7280;\n`;\n","import { DEFAULT_DOCUMENT_FONT } from './surface';\n\nexport type DocumentFont = {\n id: string;\n label: string;\n stack: string;\n /** Família no Google Fonts; ausente = fonte de sistema (nada a carregar). */\n gfont?: string;\n};\n\nexport const DOCUMENT_FONTS: readonly DocumentFont[] = [\n { id: 'inter', label: 'Inter', stack: \"'Inter', sans-serif\", gfont: 'Inter:wght@400;500;600;700' },\n { id: 'arial', label: 'Arial', stack: 'Arial, Helvetica, sans-serif' },\n { id: 'calibri', label: 'Calibri', stack: \"Calibri, Carlito, 'Segoe UI', sans-serif\" },\n { id: 'times-new-roman', label: 'Times New Roman', stack: \"'Times New Roman', Times, serif\" },\n { id: 'roboto', label: 'Roboto', stack: \"'Roboto', sans-serif\", gfont: 'Roboto:wght@400;500;700' },\n { id: 'open-sans', label: 'Open Sans', stack: \"'Open Sans', sans-serif\", gfont: 'Open+Sans:wght@400;500;600;700' },\n {\n id: 'montserrat',\n label: 'Montserrat',\n stack: \"'Montserrat', sans-serif\",\n gfont: 'Montserrat:wght@400;500;600;700'\n },\n { id: 'lato', label: 'Lato', stack: \"'Lato', sans-serif\", gfont: 'Lato:wght@400;700' },\n { id: 'georgia', label: 'Georgia', stack: \"Georgia, 'Times New Roman', serif\" },\n { id: 'helvetica', label: 'Helvetica', stack: \"'Helvetica Neue', Helvetica, Arial, sans-serif\" }\n] as const;\n\nconst byId = new Map(DOCUMENT_FONTS.map(f => [f.id, f]));\n\nconst primaryFamily = (stack: string): string =>\n stack\n .split(',')[0]\n .trim()\n .replace(/^['\"]|['\"]$/g, '');\n\n/**\n * Fontes do Google ganham um alias próprio (`<Família> Doc`) no topo do stack: o app\n * hospedeiro pode ter um @font-face com o mesmo nome apontando pra outros arquivos\n * (ex.: Inter estática do FBO), e o alias garante que o documento use os arquivos do\n * Google nos dois lados — no editor via useDocumentFont (CSS reescrito) e no artifact\n * o alias não resolve e cai na família original do <link> (mesmos arquivos).\n */\nexport function docFontFamilies(id?: string): { primary: string; alias: string } | null {\n const font = id ? byId.get(id) : undefined;\n if (!font?.gfont) return null;\n const primary = primaryFamily(font.stack);\n return { primary, alias: `${primary} Doc` };\n}\n\nexport function fontStack(id?: string): string {\n const font = id ? byId.get(id) : undefined;\n if (!font) return DEFAULT_DOCUMENT_FONT;\n const families = docFontFamilies(id);\n return families ? `'${families.alias}', ${font.stack}` : font.stack;\n}\n\nexport function gfontHref(id?: string): string | null {\n const font = id ? byId.get(id) : undefined;\n if (!font?.gfont) return null;\n return `https://fonts.googleapis.com/css2?family=${font.gfont}&display=swap`;\n}\n","import type { CSSProperties } from 'react';\nimport type { Appearance } from '../schema/appearance';\nimport { fontStack } from './fonts';\n\nexport const FONT_WEIGHT: Record<string, number> = { normal: 400, medium: 500, bold: 700 };\n\n/** Sobrescrita por bloco → estilo do wrapper (cores viram CSS vars locais; não-set herda o tema). */\nexport function appearanceToStyle(a?: Appearance): CSSProperties {\n const style: Record<string, string | number> = {};\n if (!a) return style;\n if (a.brand !== undefined) style['--doc-brand'] = a.brand;\n if (a.text !== undefined) {\n style['--doc-text'] = a.text;\n style.color = a.text;\n }\n if (a.background !== undefined) style.background = a.background;\n if (a.fontSize !== undefined) style.fontSize = a.fontSize;\n if (a.fontFamily !== undefined) style.fontFamily = fontStack(a.fontFamily);\n if (a.fontWeight !== undefined) style.fontWeight = FONT_WEIGHT[a.fontWeight];\n if (a.textAlign !== undefined) style.textAlign = a.textAlign;\n return style as CSSProperties;\n}\n","import { useEffect } from 'react';\nimport { docFontFamilies, gfontHref } from './fonts';\n\n/**\n * Carrega a fonte do documento no app hospedeiro. O CSS do Google é baixado e\n * reescrito pra família alias (`<Família> Doc`, ver docFontFamilies) — assim o\n * canvas do editor usa os MESMOS arquivos do preview mesmo quando o app já tem\n * um @font-face com o nome original. Se o fetch falhar, cai pro <link> direto\n * (família original — comportamento antigo).\n */\nexport function useDocumentFont(id?: string): void {\n useEffect(() => {\n const href = gfontHref(id);\n if (!href || typeof document === 'undefined') return undefined;\n\n const selector = `[data-docgen-font=\"${id}\"]`;\n if (document.head.querySelector(selector)) return undefined;\n\n if (typeof fetch === 'undefined') {\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = href;\n link.setAttribute('data-docgen-font', id as string);\n document.head.appendChild(link);\n return undefined;\n }\n\n const families = docFontFamilies(id);\n const style = document.createElement('style');\n style.setAttribute('data-docgen-font', id as string);\n document.head.appendChild(style);\n\n fetch(href)\n .then(res => {\n if (!res.ok) throw new Error(`gfont css ${res.status}`);\n return res.text();\n })\n .then(css => {\n style.textContent = families\n ? css.split(`font-family: '${families.primary}'`).join(`font-family: '${families.alias}'`)\n : css;\n })\n .catch(() => {\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = href;\n link.setAttribute('data-docgen-font', id as string);\n style.replaceWith(link);\n });\n return undefined;\n }, [id]);\n}\n","import type { ReactNode } from 'react';\nimport type { Appearance } from '../schema/appearance';\nimport { appearanceToStyle } from './appearance';\nimport { useDocumentFont } from './useDocumentFont';\n\nexport type BlockShellProps = {\n blockKey: string;\n appearance?: Appearance;\n children?: ReactNode;\n};\n\n/** Wrapper de todo bloco: aplica a aparência local e carrega a Google Font do bloco. */\nexport function BlockShell({ blockKey, appearance, children }: BlockShellProps) {\n useDocumentFont(appearance?.fontFamily);\n\n return (\n <div data-docgen-block={blockKey} style={appearanceToStyle(appearance)}>\n {children}\n </div>\n );\n}\n","import { createElement, type ReactNode } from 'react';\nimport type { ComponentConfig, Config } from '@puckeditor/core';\nimport type { BlockEntry, Registry } from '../blocks/types';\nimport {\n DEFAULT_DOCUMENT_COLORS,\n PageFrame,\n PanelPlaceholder,\n marginsToPadding,\n pageWidthPx\n} from '../surface/surface';\nimport { fontStack } from '../surface/fonts';\nimport type { Theme } from '../schema/theme';\nimport { BlockShell } from '../surface/BlockShell';\n\nexport type BuildConfigOptions = {\n theme?: Theme;\n};\n\n/**\n * Registry → Puck `Config` (mesmo config no editor, viewer e PDF). Replace-by-key;\n * `root.render` embrulha tudo no PageFrame do documento.\n */\nexport function buildConfig(registry: Registry, options: BuildConfigOptions = {}): Config {\n const { theme = {} } = options;\n const font = fontStack(theme.documentFont);\n const width = pageWidthPx(theme.page?.format);\n const padding = marginsToPadding(theme.page?.margins);\n const margins = { top: 24, right: 24, bottom: 24, left: 24, ...(theme.page?.margins ?? {}) };\n const colors = { ...DEFAULT_DOCUMENT_COLORS, ...theme.colors };\n\n const byKey = new Map<string, BlockEntry>();\n registry.forEach(entry => {\n byKey.set(entry.key, entry);\n });\n\n const components: Record<string, ComponentConfig<any>> = {};\n const categoryMap: Record<string, string[]> = {};\n\n byKey.forEach((entry, key) => {\n const { fields, defaultProps, component: Component } = entry;\n\n components[key] = {\n label: entry.label ?? key,\n fields,\n defaultProps,\n ...(entry.permissions && { permissions: entry.permissions }),\n render: (props: any) =>\n createElement(\n BlockShell,\n { blockKey: key, appearance: props.appearance },\n createElement(Component as any, props)\n )\n } as ComponentConfig<any>;\n\n const category = entry.category ?? 'other';\n if (!categoryMap[category]) categoryMap[category] = [];\n categoryMap[category].push(key);\n });\n\n const categories: NonNullable<Config['categories']> = {};\n Object.keys(categoryMap).forEach(name => {\n categories[name] = { components: categoryMap[name] };\n });\n\n const root: Config['root'] = {\n label: 'Página',\n fields: {\n placeholder: {\n type: 'custom',\n render: () => createElement(PanelPlaceholder, null, 'Selecione um bloco para editar suas propriedades.')\n }\n },\n render: ({ children }: { children?: ReactNode }) =>\n createElement(\n PageFrame,\n {\n 'data-docgen-root': '',\n $width: width,\n $padding: padding,\n $padTop: margins.top,\n $padRight: margins.right,\n $padLeft: margins.left,\n $font: font,\n $brand: colors.brand,\n $text: colors.text,\n $bg: colors.background\n },\n children\n )\n };\n\n return { root, components, categories } as Config;\n}\n","const INSTALLED = '__dgModifierStateShim';\n\n/**\n * O Puck escuta keydown/keyup no `document` (monitorHotkeys) e chama\n * `e.getModifierState('AltGraph')` sem checar o tipo do evento. Extensão de navegador, gerenciador\n * de senha ou IME que dispara `new Event('keydown')` em vez de `KeyboardEvent` — comum no Linux —\n * derruba a árvore com `e.getModifierState is not a function`.\n *\n * O fallback vive em `Event.prototype`: `KeyboardEvent`/`MouseEvent` têm implementação própria e\n * seguem intactos; evento sem informação de modificador passa a responder `false`, que é a resposta\n * correta. Fica no protótipo (e não num listener de captura) porque evento disparado direto no\n * `document` chega em AT_TARGET, onde a ordem de registro decidiria quem roda primeiro.\n */\nexport function installModifierStateShim(): void {\n if (typeof Event === 'undefined') return;\n\n const proto = Event.prototype as unknown as Record<string, unknown>;\n if (proto[INSTALLED]) return;\n\n Object.defineProperty(Event.prototype, 'getModifierState', {\n value: () => false,\n configurable: true,\n writable: true\n });\n proto[INSTALLED] = true;\n}\n","import styled from 'styled-components';\n\nexport const OutlinePanel = styled.div`\n height: 100%;\n padding: 16px;\n overflow-y: auto;\n box-sizing: border-box;\n font-size: 13px;\n color: #1f2937;\n`;\n\nexport const OutlineList = styled.ul`\n display: flex;\n flex-direction: column;\n gap: 2px;\n margin: 0;\n padding: 0;\n list-style: none;\n`;\n\nexport const OutlineNested = styled(OutlineList)`\n margin-top: 2px;\n padding-inline-start: 14px;\n`;\n\nexport const OutlineIcon = styled.span`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n\n svg {\n width: 16px;\n height: 16px;\n }\n`;\n\nexport const OutlineLabel = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nexport const OutlineRow = styled.button<{ $selected?: boolean }>`\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 10px;\n border: 1px solid ${props => (props.$selected ? '#c3d5ef' : 'transparent')};\n border-radius: 8px;\n background: ${props => (props.$selected ? '#eef4fc' : 'transparent')};\n color: ${props => (props.$selected ? '#005ac3' : '#1f2937')};\n font: inherit;\n font-size: 13px;\n line-height: 1.2;\n text-align: left;\n cursor: pointer;\n\n ${OutlineIcon} {\n color: ${props => (props.$selected ? 'inherit' : '#6b7280')};\n }\n\n &:hover {\n background: ${props => (props.$selected ? '#eef4fc' : '#f3f6fb')};\n }\n`;\n\nexport const OutlineEmpty = styled.p`\n margin: 8px 4px;\n color: #6b7280;\n font-size: 13px;\n line-height: 1.4;\n text-align: center;\n`;\n","import { useMemo, type ReactNode } from 'react';\nimport { usePuck } from '@puckeditor/core';\nimport { BlockIcon } from './blockIcons';\nimport {\n OutlineEmpty,\n OutlineIcon,\n OutlineLabel,\n OutlineList,\n OutlineNested,\n OutlinePanel,\n OutlineRow\n} from './DocumentOutline.styles';\n\nexport type OutlineBlockMeta = { icon?: ReactNode; label?: string };\nexport type OutlineBlockMap = Record<string, OutlineBlockMeta>;\n\ntype ContentItem = { type: string; props: Record<string, unknown> & { id: string } };\n\ntype OutlineNode = { id: string; label: string; icon?: ReactNode; children: OutlineNode[] };\n\nconst isSlotContent = (value: unknown): value is ContentItem[] =>\n Array.isArray(value) &&\n value.length > 0 &&\n value.every(item => !!item && typeof item === 'object' && 'type' in item && 'props' in item);\n\nconst toNodes = (content: ContentItem[], blockByKey: OutlineBlockMap): OutlineNode[] =>\n content.map(item => ({\n id: item.props.id,\n label: blockByKey[item.type]?.label ?? item.type,\n icon: blockByKey[item.type]?.icon,\n children: Object.values(item.props)\n .filter(isSlotContent)\n .flatMap(slot => toNodes(slot, blockByKey))\n }));\n\n/** O canvas vive num iframe quando `iframe.enabled` — o bloco pode estar nos dois documentos. */\nconst findBlockElement = (id: string): Element | null => {\n const selector = `[data-puck-component=\"${id}\"]`;\n const inPage = document.querySelector(selector);\n if (inPage) return inPage;\n const frame = document.querySelector<HTMLIFrameElement>('iframe#preview-frame');\n return frame?.contentDocument?.querySelector(selector) ?? null;\n};\n\ntype OutlineItemsProps = {\n nodes: OutlineNode[];\n selectedId: string | null;\n nested?: boolean;\n onSelect: (id: string) => void;\n};\n\nfunction OutlineItems({ nodes, selectedId, nested, onSelect }: OutlineItemsProps) {\n const List = nested ? OutlineNested : OutlineList;\n return (\n <List>\n {nodes.map(node => (\n <li key={node.id}>\n <OutlineRow type=\"button\" $selected={node.id === selectedId} onClick={() => onSelect(node.id)}>\n <OutlineIcon>{node.icon ?? <BlockIcon />}</OutlineIcon>\n <OutlineLabel>{node.label}</OutlineLabel>\n </OutlineRow>\n {node.children.length > 0 && (\n <OutlineItems nodes={node.children} selectedId={selectedId} nested onSelect={onSelect} />\n )}\n </li>\n ))}\n </List>\n );\n}\n\n/** Ícone da aba \"Estrutura\" na sidebar do Puck. */\nexport function OutlineTabIcon(): ReactNode {\n return (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z\" />\n <path d=\"m6.08 10.37-3.5 1.59a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.6\" />\n <path d=\"m6.08 15.87-3.5 1.59a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.6\" />\n </svg>\n );\n}\n\nexport type DocumentOutlineProps = {\n /** Ícone e label de cada bloco do registry, por `key`. */\n blockByKey: OutlineBlockMap;\n};\n\n/** Painel \"Estrutura\": lista os blocos do documento com o ícone declarado no registry. */\nexport function DocumentOutline({ blockByKey }: DocumentOutlineProps) {\n const { appState, dispatch, selectedItem, getSelectorForId } = usePuck();\n const content = appState.data.content as ContentItem[];\n const nodes = useMemo(() => toNodes(content ?? [], blockByKey), [content, blockByKey]);\n const selectedId = selectedItem?.props.id ?? null;\n\n const onSelect = (id: string) => {\n if (id === selectedId) {\n dispatch({ type: 'setUi', ui: { itemSelector: null } });\n return;\n }\n const itemSelector = getSelectorForId(id);\n if (!itemSelector) return;\n dispatch({ type: 'setUi', ui: { itemSelector } });\n findBlockElement(id)?.scrollIntoView({ behavior: 'smooth', block: 'center' });\n };\n\n return (\n <OutlinePanel>\n {nodes.length ? (\n <OutlineItems nodes={nodes} selectedId={selectedId} onSelect={onSelect} />\n ) : (\n <OutlineEmpty>Nenhum bloco adicionado ainda.</OutlineEmpty>\n )}\n </OutlinePanel>\n );\n}\n","import type { MutableRefObject } from 'react';\nimport type { Data, PuckAction } from '@puckeditor/core';\n\nexport type DataUpdater = Data | ((previous: Data) => Data);\n\n/** Handle imperativo que a lib preenche para o host mutar o documento sem remontar o editor. */\nexport type DocumentEditorApi = {\n /**\n * Substitui o `data` do editor no lugar (sem remount). Dispara o `onChange` do host uma vez\n * com o novo `data` (a menos que ele seja deep-equal ao anterior — ver docs/theme.md).\n */\n setData: (data: DataUpdater) => void;\n};\n\nexport type DocumentEditorApiRef =\n | MutableRefObject<DocumentEditorApi | null>\n | ((api: DocumentEditorApi | null) => void);\n\nexport const createEditorApi = (dispatch: (action: PuckAction) => void): DocumentEditorApi => ({\n setData: updater =>\n dispatch({\n type: 'setData',\n data: typeof updater === 'function' ? updater : () => updater\n })\n});\n\nexport const assignEditorApiRef = (ref: DocumentEditorApiRef | undefined, api: DocumentEditorApi | null) => {\n if (!ref) return;\n if (typeof ref === 'function') ref(api);\n // eslint-disable-next-line no-param-reassign\n else ref.current = api;\n};\n","import { Fragment, createElement, useEffect, type ReactNode } from 'react';\nimport { useGetPuck } from '@puckeditor/core';\nimport { assignEditorApiRef, createEditorApi, type DocumentEditorApiRef } from './editorApi';\n\nexport type EditorApiBridgeProps = {\n apiRef?: DocumentEditorApiRef;\n children?: ReactNode;\n};\n\n/** Roda dentro da árvore do Puck (override `puck`) e registra a API imperativa no `apiRef` do host. */\nexport function EditorApiBridge({ apiRef, children }: EditorApiBridgeProps) {\n const getPuck = useGetPuck();\n useEffect(() => {\n assignEditorApiRef(\n apiRef,\n createEditorApi(action => getPuck().dispatch(action))\n );\n return () => assignEditorApiRef(apiRef, null);\n }, [apiRef, getPuck]);\n return createElement(Fragment, null, children);\n}\n","import type { usePuck } from '@puckeditor/core';\nimport type { Theme } from '../schema/theme';\n\nexport type DocumentHeaderApi = {\n undo: () => void;\n redo: () => void;\n canUndo: boolean;\n canRedo: boolean;\n openSettings: () => void;\n openPreview: () => void;\n theme: Theme;\n};\n\ntype PuckLike = Pick<ReturnType<typeof usePuck>, 'history'>;\n\nexport type HeaderApiExtras = {\n openSettings: () => void;\n openPreview: () => void;\n theme: Theme;\n};\n\nexport function headerApiFromPuck(puck: PuckLike, extras: HeaderApiExtras): DocumentHeaderApi {\n const { history } = puck;\n return {\n undo: () => history.back(),\n redo: () => history.forward(),\n canUndo: history.hasPast,\n canRedo: history.hasFuture,\n openSettings: extras.openSettings,\n openPreview: extras.openPreview,\n theme: extras.theme\n };\n}\n","import { z } from 'zod';\n\nexport const pageFormatSchema = z.enum(['A4', 'A5', 'A3', 'Letter', 'Legal']);\n\nconst marginsSchema = z\n .object({\n top: z.number(),\n right: z.number(),\n bottom: z.number(),\n left: z.number()\n })\n .partial();\n\nexport const coverFieldsSchema = z\n .object({\n title: z.string().optional(),\n subtitle: z.string().optional(),\n date: z.string().optional(),\n preparedFor: z.string().optional(),\n presentedBy: z.string().optional(),\n imageUrl: z.string().optional()\n })\n .strict();\n\nexport const headerConfigSchema = z\n .object({\n enabled: z.boolean().default(false),\n background: z.string().default('#FFFFFF'),\n color: z.string().default('#3F4759'),\n logoPosition: z.enum(['left', 'right']).default('right'),\n info: z\n .object({\n companyName: z.boolean(),\n cnpj: z.boolean(),\n phone: z.boolean(),\n email: z.boolean(),\n address: z.boolean()\n })\n .partial()\n .strict()\n .optional()\n })\n .strict();\n\nexport const footerConfigSchema = z\n .object({\n enabled: z.boolean().default(false),\n pageNumber: z.boolean().default(true),\n background: z.string().default('#FFFFFF'),\n color: z.string().default('#3F4759'),\n alignment: z.enum(['left', 'center', 'right']).default('center'),\n info: z\n .object({\n email: z.boolean(),\n phone: z.boolean(),\n instagram: z.boolean(),\n twitter: z.boolean(),\n address: z.boolean(),\n site: z.boolean(),\n facebook: z.boolean(),\n linkedin: z.boolean()\n })\n .partial()\n .strict()\n .optional()\n })\n .strict();\n\nexport type CoverFields = z.infer<typeof coverFieldsSchema>;\nexport type HeaderConfig = z.infer<typeof headerConfigSchema>;\nexport type FooterConfig = z.infer<typeof footerConfigSchema>;\n\n/** Identidade visual do documento; numa versão publicada é congelada no snapshot. */\nexport const themeSchema = z\n .object({\n documentFont: z.string().optional(),\n page: z\n .object({\n format: pageFormatSchema.default('A4'),\n orientation: z.enum(['portrait', 'landscape']).default('portrait'),\n margins: marginsSchema.optional()\n })\n .strict()\n .optional(),\n colors: z\n .object({\n brand: z.string(),\n text: z.string(),\n background: z.string()\n })\n .partial()\n .strict()\n .optional(),\n logo: z\n .object({\n key: z.string().optional(),\n url: z.string().optional()\n })\n .strict()\n .optional(),\n header: headerConfigSchema.optional(),\n footer: footerConfigSchema.optional(),\n watermark: z\n .object({\n text: z.string().optional(),\n imageKey: z.string().optional(),\n opacity: z.number().min(0).max(1).optional()\n })\n .strict()\n .optional()\n })\n .strict();\n\nexport type Theme = z.infer<typeof themeSchema>;\n","import {\n footerConfigSchema,\n headerConfigSchema,\n type FooterConfig,\n type HeaderConfig,\n type Theme\n} from '../schema/theme';\nimport { DEFAULT_DOCUMENT_COLORS, DEFAULT_PAGE_MARGINS } from './surface';\n\nexport const DEFAULT_DOCUMENT_FONT_ID = 'inter';\n\nexport const DEFAULT_HEADER_CONFIG: HeaderConfig = headerConfigSchema.parse({});\nexport const DEFAULT_FOOTER_CONFIG: FooterConfig = footerConfigSchema.parse({});\n\n/**\n * Tema com todos os defaults materializados. O host grava o resultado no documento em vez\n * de um tema parcial — assim o documento não muda de cara quando um default da lib mudar.\n * Merge raso e sem `parse`: tema legado com chave desconhecida é preservado, nunca lança.\n */\nexport function resolveTheme(theme: Theme = {}): Theme {\n return {\n ...theme,\n documentFont: theme.documentFont ?? DEFAULT_DOCUMENT_FONT_ID,\n colors: { ...DEFAULT_DOCUMENT_COLORS, ...theme.colors },\n page: {\n format: 'A4',\n orientation: 'portrait',\n ...theme.page,\n margins: { ...DEFAULT_PAGE_MARGINS, ...theme.page?.margins }\n },\n header: { ...DEFAULT_HEADER_CONFIG, ...theme.header },\n footer: { ...DEFAULT_FOOTER_CONFIG, ...theme.footer }\n };\n}\n","import { useRef } from \"react\";\n\n// Saves incoming handler to the ref in order to avoid \"useCallback hell\"\nexport function useEventCallback<T>(handler?: (value: T) => void): (value: T) => void {\n const callbackRef = useRef(handler);\n const fn = useRef((value: T) => {\n callbackRef.current && callbackRef.current(value);\n });\n callbackRef.current = handler;\n\n return fn.current;\n}\n","// Clamps a value between an upper and lower bound.\n// We use ternary operators because it makes the minified code\n// 2 times shorter then `Math.min(Math.max(a,b),c)`\nexport const clamp = (number: number, min = 0, max = 1): number => {\n return number > max ? max : number < min ? min : number;\n};\n","import React, { useRef, useMemo, useEffect } from \"react\";\n\nimport { useEventCallback } from \"../../hooks/useEventCallback\";\nimport { clamp } from \"../../utils/clamp\";\n\nexport interface Interaction {\n left: number;\n top: number;\n}\n\n// Check if an event was triggered by touch\nconst isTouch = (event: MouseEvent | TouchEvent): event is TouchEvent => \"touches\" in event;\n\n// Finds a proper touch point by its identifier\nconst getTouchPoint = (touches: TouchList, touchId: null | number): Touch => {\n for (let i = 0; i < touches.length; i++) {\n if (touches[i].identifier === touchId) return touches[i];\n }\n return touches[0];\n};\n\n// Finds the proper window object to fix iframe embedding issues\nconst getParentWindow = (node?: HTMLDivElement | null): Window => {\n return (node && node.ownerDocument.defaultView) || self;\n};\n\n// Returns a relative position of the pointer inside the node's bounding box\nconst getRelativePosition = (\n node: HTMLDivElement,\n event: MouseEvent | TouchEvent,\n touchId: null | number\n): Interaction => {\n const rect = node.getBoundingClientRect();\n\n // Get user's pointer position from `touches` array if it's a `TouchEvent`\n const pointer = isTouch(event) ? getTouchPoint(event.touches, touchId) : (event as MouseEvent);\n\n return {\n left: clamp((pointer.pageX - (rect.left + getParentWindow(node).pageXOffset)) / rect.width),\n top: clamp((pointer.pageY - (rect.top + getParentWindow(node).pageYOffset)) / rect.height),\n };\n};\n\n// Browsers introduced an intervention, making touch events passive by default.\n// This workaround removes `preventDefault` call from the touch handlers.\n// https://github.com/facebook/react/issues/19651\nconst preventDefaultMove = (event: MouseEvent | TouchEvent): void => {\n !isTouch(event) && event.preventDefault();\n};\n\n// Prevent mobile browsers from handling mouse events (conflicting with touch ones).\n// If we detected a touch interaction before, we prefer reacting to touch events only.\nconst isInvalid = (event: MouseEvent | TouchEvent, hasTouch: boolean): boolean => {\n return hasTouch && !isTouch(event);\n};\n\ninterface Props {\n onMove: (interaction: Interaction) => void;\n onKey: (offset: Interaction) => void;\n onEnd?: () => void;\n children: React.ReactNode;\n}\n\nconst InteractiveBase = ({ onMove, onKey, onEnd, ...rest }: Props) => {\n const container = useRef<HTMLDivElement>(null);\n const onMoveCallback = useEventCallback<Interaction>(onMove);\n const onKeyCallback = useEventCallback<Interaction>(onKey);\n const onEndCallback = useEventCallback<void>(onEnd);\n const touchId = useRef<null | number>(null);\n const hasTouch = useRef(false);\n\n const [handleMoveStart, handleKeyDown, handleKeyUp, toggleDocumentEvents] = useMemo(() => {\n const handleMoveStart = ({ nativeEvent }: React.MouseEvent | React.TouchEvent) => {\n const el = container.current;\n if (!el) return;\n\n // Prevent text selection\n preventDefaultMove(nativeEvent);\n\n if (isInvalid(nativeEvent, hasTouch.current) || !el) return;\n\n if (isTouch(nativeEvent)) {\n hasTouch.current = true;\n const changedTouches = nativeEvent.changedTouches || [];\n if (changedTouches.length) touchId.current = changedTouches[0].identifier;\n }\n\n el.focus();\n onMoveCallback(getRelativePosition(el, nativeEvent, touchId.current));\n toggleDocumentEvents(true);\n };\n\n const handleMove = (event: MouseEvent | TouchEvent) => {\n // Prevent text selection\n preventDefaultMove(event);\n\n // If user moves the pointer outside of the window or iframe bounds and release it there,\n // `mouseup`/`touchend` won't be fired. In order to stop the picker from following the cursor\n // after the user has moved the mouse/finger back to the document, we check `event.buttons`\n // and `event.touches`. It allows us to detect that the user is just moving his pointer\n // without pressing it down\n const isDown = isTouch(event) ? event.touches.length > 0 : event.buttons > 0;\n\n if (isDown && container.current) {\n onMoveCallback(getRelativePosition(container.current, event, touchId.current));\n } else {\n toggleDocumentEvents(false);\n onEndCallback();\n }\n };\n\n const handleMoveEnd = () => {\n toggleDocumentEvents(false);\n onEndCallback();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n const keyCode = event.which || event.keyCode;\n\n // Ignore all keys except arrow ones\n if (keyCode < 37 || keyCode > 40) return;\n // Do not scroll page by arrow keys when document is focused on the element\n event.preventDefault();\n // Send relative offset to the parent component.\n // We use codes (37←, 38↑, 39→, 40↓) instead of keys ('ArrowRight', 'ArrowDown', etc)\n // to reduce the size of the library\n onKeyCallback({\n left: keyCode === 39 ? 0.05 : keyCode === 37 ? -0.05 : 0,\n top: keyCode === 40 ? 0.05 : keyCode === 38 ? -0.05 : 0,\n });\n };\n\n const handleKeyUp = (event: React.KeyboardEvent) => {\n const keyCode = event.which || event.keyCode;\n if (keyCode >= 37 && keyCode <= 40) onEndCallback();\n };\n\n function toggleDocumentEvents(state?: boolean) {\n const touch = hasTouch.current;\n const el = container.current;\n const parentWindow = getParentWindow(el);\n\n // Add or remove additional pointer event listeners\n const toggleEvent = state ? parentWindow.addEventListener : parentWindow.removeEventListener;\n toggleEvent(touch ? \"touchmove\" : \"mousemove\", handleMove);\n toggleEvent(touch ? \"touchend\" : \"mouseup\", handleMoveEnd);\n }\n\n return [handleMoveStart, handleKeyDown, handleKeyUp, toggleDocumentEvents];\n }, [onKeyCallback, onMoveCallback, onEndCallback]);\n\n // Remove window event listeners before unmounting\n useEffect(() => toggleDocumentEvents, [toggleDocumentEvents]);\n\n return (\n <div\n {...rest}\n onTouchStart={handleMoveStart}\n onMouseDown={handleMoveStart}\n className=\"react-colorful__interactive\"\n ref={container}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n tabIndex={0}\n role=\"slider\"\n />\n );\n};\n\nexport const Interactive = React.memo(InteractiveBase);\n","export const formatClassName = (names: unknown[]): string => names.filter(Boolean).join(\" \");\n","import React from \"react\";\nimport { formatClassName } from \"../../utils/format\";\n\ninterface Props {\n className?: string;\n top?: number;\n left: number;\n color: string;\n}\n\nexport const Pointer = ({ className, color, left, top = 0.5 }: Props): React.ReactElement => {\n const nodeClassName = formatClassName([\"react-colorful__pointer\", className]);\n\n const style = {\n top: `${top * 100}%`,\n left: `${left * 100}%`,\n };\n\n return (\n <div className={nodeClassName} style={style}>\n <div className=\"react-colorful__pointer-fill\" style={{ backgroundColor: color }} />\n </div>\n );\n};\n","export const round = (number: number, digits = 0, base = Math.pow(10, digits)): number => {\n return Math.round(base * number) / base;\n};\n","import { round } from \"./round\";\nimport { RgbaColor, RgbColor, HslaColor, HslColor, HsvaColor, HsvColor } from \"../types\";\n\n/**\n * Valid CSS <angle> units.\n * https://developer.mozilla.org/en-US/docs/Web/CSS/angle\n */\nconst angleUnits: Record<string, number> = {\n grad: 360 / 400,\n turn: 360,\n rad: 360 / (Math.PI * 2),\n};\n\nexport const hexToHsva = (hex: string): HsvaColor => rgbaToHsva(hexToRgba(hex));\n\nexport const hexToRgba = (hex: string): RgbaColor => {\n if (hex[0] === \"#\") hex = hex.substring(1);\n\n if (hex.length < 6) {\n return {\n r: parseInt(hex[0] + hex[0], 16),\n g: parseInt(hex[1] + hex[1], 16),\n b: parseInt(hex[2] + hex[2], 16),\n a: hex.length === 4 ? round(parseInt(hex[3] + hex[3], 16) / 255, 2) : 1,\n };\n }\n\n return {\n r: parseInt(hex.substring(0, 2), 16),\n g: parseInt(hex.substring(2, 4), 16),\n b: parseInt(hex.substring(4, 6), 16),\n a: hex.length === 8 ? round(parseInt(hex.substring(6, 8), 16) / 255, 2) : 1,\n };\n};\n\nexport const parseHue = (value: string, unit = \"deg\"): number => {\n return Number(value) * (angleUnits[unit] || 1);\n};\n\nexport const hslaStringToHsva = (hslString: string): HsvaColor => {\n const matcher = /hsla?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n const match = matcher.exec(hslString);\n\n if (!match) return { h: 0, s: 0, v: 0, a: 1 };\n\n return hslaToHsva({\n h: parseHue(match[1], match[2]),\n s: Number(match[3]),\n l: Number(match[4]),\n a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? 100 : 1),\n });\n};\n\nexport const hslStringToHsva = hslaStringToHsva;\n\nexport const hslaToHsva = ({ h, s, l, a }: HslaColor): HsvaColor => {\n s *= (l < 50 ? l : 100 - l) / 100;\n\n return {\n h: h,\n s: s > 0 ? ((2 * s) / (l + s)) * 100 : 0,\n v: l + s,\n a,\n };\n};\n\nexport const hsvaToHex = (hsva: HsvaColor): string => rgbaToHex(hsvaToRgba(hsva));\n\nexport const hsvaToHsla = ({ h, s, v, a }: HsvaColor): HslaColor => {\n const hh = ((200 - s) * v) / 100;\n\n return {\n h: round(h),\n s: round(hh > 0 && hh < 200 ? ((s * v) / 100 / (hh <= 100 ? hh : 200 - hh)) * 100 : 0),\n l: round(hh / 2),\n a: round(a, 2),\n };\n};\n\nexport const hsvaToHslString = (hsva: HsvaColor): string => {\n const { h, s, l } = hsvaToHsla(hsva);\n return `hsl(${h}, ${s}%, ${l}%)`;\n};\n\nexport const hsvaToHsvString = (hsva: HsvaColor): string => {\n const { h, s, v } = roundHsva(hsva);\n return `hsv(${h}, ${s}%, ${v}%)`;\n};\n\nexport const hsvaToHsvaString = (hsva: HsvaColor): string => {\n const { h, s, v, a } = roundHsva(hsva);\n return `hsva(${h}, ${s}%, ${v}%, ${a})`;\n};\n\nexport const hsvaToHslaString = (hsva: HsvaColor): string => {\n const { h, s, l, a } = hsvaToHsla(hsva);\n return `hsla(${h}, ${s}%, ${l}%, ${a})`;\n};\n\nexport const hsvaToRgba = ({ h, s, v, a }: HsvaColor): RgbaColor => {\n h = (h / 360) * 6;\n s = s / 100;\n v = v / 100;\n\n const hh = Math.floor(h),\n b = v * (1 - s),\n c = v * (1 - (h - hh) * s),\n d = v * (1 - (1 - h + hh) * s),\n module = hh % 6;\n\n return {\n r: round([v, c, b, b, d, v][module] * 255),\n g: round([d, v, v, c, b, b][module] * 255),\n b: round([b, b, d, v, v, c][module] * 255),\n a: round(a, 2),\n };\n};\n\nexport const hsvaToRgbString = (hsva: HsvaColor): string => {\n const { r, g, b } = hsvaToRgba(hsva);\n return `rgb(${r}, ${g}, ${b})`;\n};\n\nexport const hsvaToRgbaString = (hsva: HsvaColor): string => {\n const { r, g, b, a } = hsvaToRgba(hsva);\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n};\n\nexport const hsvaStringToHsva = (hsvString: string): HsvaColor => {\n const matcher = /hsva?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n const match = matcher.exec(hsvString);\n\n if (!match) return { h: 0, s: 0, v: 0, a: 1 };\n\n return roundHsva({\n h: parseHue(match[1], match[2]),\n s: Number(match[3]),\n v: Number(match[4]),\n a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? 100 : 1),\n });\n};\n\nexport const hsvStringToHsva = hsvaStringToHsva;\n\nexport const rgbaStringToHsva = (rgbaString: string): HsvaColor => {\n const matcher = /rgba?\\(?\\s*(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n const match = matcher.exec(rgbaString);\n\n if (!match) return { h: 0, s: 0, v: 0, a: 1 };\n\n return rgbaToHsva({\n r: Number(match[1]) / (match[2] ? 100 / 255 : 1),\n g: Number(match[3]) / (match[4] ? 100 / 255 : 1),\n b: Number(match[5]) / (match[6] ? 100 / 255 : 1),\n a: match[7] === undefined ? 1 : Number(match[7]) / (match[8] ? 100 : 1),\n });\n};\n\nexport const rgbStringToHsva = rgbaStringToHsva;\n\nconst format = (number: number) => {\n const hex = number.toString(16);\n return hex.length < 2 ? \"0\" + hex : hex;\n};\n\nexport const rgbaToHex = ({ r, g, b, a }: RgbaColor): string => {\n const alphaHex = a < 1 ? format(round(a * 255)) : \"\";\n return \"#\" + format(r) + format(g) + format(b) + alphaHex;\n};\n\nexport const rgbaToHsva = ({ r, g, b, a }: RgbaColor): HsvaColor => {\n const max = Math.max(r, g, b);\n const delta = max - Math.min(r, g, b);\n\n // prettier-ignore\n const hh = delta\n ? max === r\n ? (g - b) / delta\n : max === g\n ? 2 + (b - r) / delta\n : 4 + (r - g) / delta\n : 0;\n\n return {\n h: round(60 * (hh < 0 ? hh + 6 : hh)),\n s: round(max ? (delta / max) * 100 : 0),\n v: round((max / 255) * 100),\n a,\n };\n};\n\nexport const roundHsva = (hsva: HsvaColor): HsvaColor => ({\n h: round(hsva.h),\n s: round(hsva.s),\n v: round(hsva.v),\n a: round(hsva.a, 2),\n});\n\nexport const rgbaToRgb = ({ r, g, b }: RgbaColor): RgbColor => ({ r, g, b });\n\nexport const hslaToHsl = ({ h, s, l }: HslaColor): HslColor => ({ h, s, l });\n\nexport const hsvaToHsv = (hsva: HsvaColor): HsvColor => {\n const { h, s, v } = roundHsva(hsva);\n return { h, s, v };\n};\n","import React from \"react\";\n\nimport { Interactive, Interaction } from \"./Interactive\";\nimport { Pointer } from \"./Pointer\";\n\nimport { hsvaToHslString } from \"../../utils/convert\";\nimport { formatClassName } from \"../../utils/format\";\nimport { clamp } from \"../../utils/clamp\";\nimport { round } from \"../../utils/round\";\n\ninterface Props {\n className?: string;\n hue: number;\n onChange: (newHue: { h: number }) => void;\n onChangeEnd?: () => void;\n}\n\nconst HueBase = ({ className, hue, onChange, onChangeEnd }: Props) => {\n const handleMove = (interaction: Interaction) => {\n onChange({ h: 360 * interaction.left });\n };\n\n const handleKey = (offset: Interaction) => {\n // Hue measured in degrees of the color circle ranging from 0 to 360\n onChange({\n h: clamp(hue + offset.left * 360, 0, 360),\n });\n };\n\n const nodeClassName = formatClassName([\"react-colorful__hue\", className]);\n\n return (\n <div className={nodeClassName}>\n <Interactive\n onMove={handleMove}\n onKey={handleKey}\n onEnd={onChangeEnd}\n aria-label=\"Hue\"\n aria-valuenow={round(hue)}\n aria-valuemax=\"360\"\n aria-valuemin=\"0\"\n >\n <Pointer\n className=\"react-colorful__hue-pointer\"\n left={hue / 360}\n color={hsvaToHslString({ h: hue, s: 100, v: 100, a: 1 })}\n />\n </Interactive>\n </div>\n );\n};\n\nexport const Hue = React.memo(HueBase);\n","import React from \"react\";\nimport { Interactive, Interaction } from \"./Interactive\";\nimport { Pointer } from \"./Pointer\";\nimport { HsvaColor } from \"../../types\";\nimport { hsvaToHslString } from \"../../utils/convert\";\nimport { clamp } from \"../../utils/clamp\";\nimport { round } from \"../../utils/round\";\n\ninterface Props {\n hsva: HsvaColor;\n onChange: (newColor: { s: number; v: number }) => void;\n onChangeEnd?: () => void;\n}\n\nconst SaturationBase = ({ hsva, onChange, onChangeEnd }: Props) => {\n const handleMove = (interaction: Interaction) => {\n onChange({\n s: interaction.left * 100,\n v: 100 - interaction.top * 100,\n });\n };\n\n const handleKey = (offset: Interaction) => {\n // Saturation and brightness always fit into [0, 100] range\n onChange({\n s: clamp(hsva.s + offset.left * 100, 0, 100),\n v: clamp(hsva.v - offset.top * 100, 0, 100),\n });\n };\n\n const containerStyle = {\n backgroundColor: hsvaToHslString({ h: hsva.h, s: 100, v: 100, a: 1 }),\n };\n\n return (\n <div className=\"react-colorful__saturation\" style={containerStyle}>\n <Interactive\n onMove={handleMove}\n onKey={handleKey}\n onEnd={onChangeEnd}\n aria-label=\"Color\"\n aria-valuetext={`Saturation ${round(hsva.s)}%, Brightness ${round(hsva.v)}%`}\n >\n <Pointer\n className=\"react-colorful__saturation-pointer\"\n top={1 - hsva.v / 100}\n left={hsva.s / 100}\n color={hsvaToHslString(hsva)}\n />\n </Interactive>\n </div>\n );\n};\n\nexport const Saturation = React.memo(SaturationBase);\n","import { hexToRgba } from \"./convert\";\nimport { ObjectColor } from \"../types\";\n\nexport const equalColorObjects = (first: ObjectColor, second: ObjectColor): boolean => {\n if (first === second) return true;\n\n for (const prop in first) {\n // The following allows for a type-safe calling of this function (first & second have to be HSL, HSV, or RGB)\n // with type-unsafe iterating over object keys. TS does not allow this without an index (`[key: string]: number`)\n // on an object to define how iteration is normally done. To ensure extra keys are not allowed on our types,\n // we must cast our object to unknown (as RGB demands `r` be a key, while `Record<string, x>` does not care if\n // there is or not), and then as a type TS can iterate over.\n if (\n ((first as unknown) as Record<string, number>)[prop] !==\n ((second as unknown) as Record<string, number>)[prop]\n )\n return false;\n }\n\n return true;\n};\n\nexport const equalColorString = (first: string, second: string): boolean => {\n return first.replace(/\\s/g, \"\") === second.replace(/\\s/g, \"\");\n};\n\nexport const equalHex = (first: string, second: string): boolean => {\n if (first.toLowerCase() === second.toLowerCase()) return true;\n\n // To compare colors like `#FFF` and `ffffff` we convert them into RGB objects\n return equalColorObjects(hexToRgba(first), hexToRgba(second));\n};\n","import { useState, useEffect, useCallback, useRef } from \"react\";\nimport { ColorModel, AnyColor, HsvaColor } from \"../types\";\nimport { equalColorObjects } from \"../utils/compare\";\nimport { useEventCallback } from \"./useEventCallback\";\n\nexport function useColorManipulation<T extends AnyColor>(\n colorModel: ColorModel<T>,\n color: T,\n onChange?: (color: T) => void,\n onChangeEnd?: (color: T) => void\n): [HsvaColor, (color: Partial<HsvaColor>) => void, () => void] {\n // Save onChange callback in the ref for avoiding \"useCallback hell\"\n const onChangeCallback = useEventCallback<T>(onChange);\n const onChangeEndCallback = useEventCallback<T>(onChangeEnd);\n\n // No matter which color model is used (HEX, RGB(A) or HSL(A)),\n // all internal calculations are based on HSVA model\n const [hsva, updateHsva] = useState<HsvaColor>(() => colorModel.toHsva(color));\n\n // By using this ref we're able to prevent extra updates\n // and the effects recursion during the color conversion\n const cache = useRef({ color, hsva });\n const isDirty = useRef(false);\n\n // Update local HSVA-value if `color` property value is changed,\n // but only if that's not the same color that we just sent to the parent\n useEffect(() => {\n if (!colorModel.equal(color, cache.current.color)) {\n const newHsva = colorModel.toHsva(color);\n cache.current = { hsva: newHsva, color };\n updateHsva(newHsva);\n isDirty.current = false;\n }\n }, [color, colorModel]);\n\n // Trigger `onChange` callback only if an updated color is different from cached one;\n // save the new color to the ref to prevent unnecessary updates\n useEffect(() => {\n let newColor;\n if (\n !equalColorObjects(hsva, cache.current.hsva) &&\n !colorModel.equal((newColor = colorModel.fromHsva(hsva)), cache.current.color)\n ) {\n cache.current = { hsva, color: newColor };\n onChangeCallback(newColor);\n isDirty.current = true;\n }\n }, [hsva, colorModel, onChangeCallback]);\n\n // Merge the current HSVA color object with updated params.\n // For example, when a child component sends `h` or `s` only\n const handleChange = useCallback((params: Partial<HsvaColor>) => {\n updateHsva((current) => Object.assign({}, current, params));\n }, []);\n\n const commitChange = useCallback(() => {\n if (isDirty.current) {\n isDirty.current = false;\n onChangeEndCallback(cache.current.color);\n }\n }, [onChangeEndCallback]);\n\n return [hsva, handleChange, commitChange];\n}\n","import { useLayoutEffect, useEffect } from \"react\";\n\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\nexport const useIsomorphicLayoutEffect =\n typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n","declare const __webpack_nonce__: string | undefined;\nlet nonce: string | undefined;\n\n/**\n * Returns a nonce hash included by Webpack or the one defined manually by developer.\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce\n * https://webpack.js.org/guides/csp/\n */\nexport const getNonce = (): string | undefined => {\n if (nonce) return nonce;\n if (typeof __webpack_nonce__ !== \"undefined\") return __webpack_nonce__;\n return undefined;\n};\n\n/**\n * Signs the style tag with a base64-encoded string (nonce) to conforms to Content Security Policies.\n * This function has to be invoked before any picker is rendered if you aren't using Webpack for CSP.\n */\nexport const setNonce = (hash: string): void => {\n nonce = hash;\n};\n","import { RefObject } from \"react\";\n\nimport { useIsomorphicLayoutEffect } from \"./useIsomorphicLayoutEffect\";\nimport { getNonce } from \"../utils/nonce\";\n\n// Bundler is configured to load this as a processed minified CSS-string\nimport styles from \"../css/styles.css\";\n\nconst styleElementMap: Map<Document, HTMLStyleElement> = new Map();\n\n/**\n * Injects CSS code into the document's <head>\n */\nexport const useStyleSheet = (nodeRef: RefObject<HTMLDivElement>): void => {\n useIsomorphicLayoutEffect(() => {\n const parentDocument = nodeRef.current ? nodeRef.current.ownerDocument : document;\n\n if (typeof parentDocument !== \"undefined\" && !styleElementMap.has(parentDocument)) {\n const styleElement = parentDocument.createElement(\"style\");\n styleElement.innerHTML = styles;\n styleElementMap.set(parentDocument, styleElement);\n\n // Conform to CSP rules by setting `nonce` attribute to the inline styles\n const nonce = getNonce();\n if (nonce) styleElement.setAttribute(\"nonce\", nonce);\n\n parentDocument.head.appendChild(styleElement);\n }\n }, []);\n};\n","import React, { useRef } from \"react\";\n\nimport { Hue } from \"./Hue\";\nimport { Saturation } from \"./Saturation\";\n\nimport { ColorModel, ColorPickerBaseProps, AnyColor } from \"../../types\";\nimport { useColorManipulation } from \"../../hooks/useColorManipulation\";\nimport { useStyleSheet } from \"../../hooks/useStyleSheet\";\nimport { formatClassName } from \"../../utils/format\";\n\ninterface Props<T extends AnyColor> extends Partial<ColorPickerBaseProps<T>> {\n colorModel: ColorModel<T>;\n}\n\nexport const ColorPicker = <T extends AnyColor>({\n className,\n colorModel,\n color = colorModel.defaultColor,\n onChange,\n onChangeEnd,\n ...rest\n}: Props<T>): React.ReactElement => {\n const nodeRef = useRef<HTMLDivElement>(null);\n useStyleSheet(nodeRef);\n\n const [hsva, updateHsva, commitChange] = useColorManipulation<T>(\n colorModel,\n color,\n onChange,\n onChangeEnd\n );\n\n const nodeClassName = formatClassName([\"react-colorful\", className]);\n\n return (\n <div {...rest} ref={nodeRef} className={nodeClassName}>\n <Saturation hsva={hsva} onChange={updateHsva} onChangeEnd={commitChange} />\n <Hue\n hue={hsva.h}\n onChange={updateHsva}\n onChangeEnd={commitChange}\n className=\"react-colorful__last-control\"\n />\n </div>\n );\n};\n","import React from \"react\";\n\nimport { ColorPicker } from \"./common/ColorPicker\";\nimport { ColorModel, ColorPickerBaseProps } from \"../types\";\nimport { equalHex } from \"../utils/compare\";\nimport { hexToHsva, hsvaToHex } from \"../utils/convert\";\n\nconst colorModel: ColorModel<string> = {\n defaultColor: \"000\",\n toHsva: hexToHsva,\n fromHsva: ({ h, s, v }) => hsvaToHex({ h, s, v, a: 1 }),\n equal: equalHex,\n};\n\nexport const HexColorPicker = (\n props: Partial<ColorPickerBaseProps<string>>\n): React.ReactElement => <ColorPicker {...props} colorModel={colorModel} />;\n","export const HEX_RE = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;\n\n// <input type=\"color\"> e o draft interno só trabalham com #rrggbb.\nexport function normalizeHex(input: string): string | null {\n const withHash = input.startsWith('#') ? input : `#${input}`;\n if (!HEX_RE.test(withHash)) return null;\n if (withHash.length === 7) return withHash.toUpperCase();\n const [r, g, b] = withHash.slice(1);\n return `#${r}${r}${g}${g}${b}${b}`.toUpperCase();\n}\n\nexport function hexToRgb(hex: string): { r: number; g: number; b: number } {\n const full = normalizeHex(hex) ?? '#000000';\n return {\n r: parseInt(full.slice(1, 3), 16),\n g: parseInt(full.slice(3, 5), 16),\n b: parseInt(full.slice(5, 7), 16)\n };\n}\n\nexport function rgbToHex(r: number, g: number, b: number): string {\n const channel = (value: number) =>\n Math.max(0, Math.min(255, Math.round(value)))\n .toString(16)\n .padStart(2, '0');\n return `#${channel(r)}${channel(g)}${channel(b)}`.toUpperCase();\n}\n","import styled from 'styled-components';\n\nexport const Panel = styled.div`\n width: 100%;\n\n .react-colorful {\n width: 100%;\n height: 160px;\n }\n\n .react-colorful__saturation {\n border-radius: 8px;\n border-bottom: none;\n }\n\n .react-colorful__hue {\n height: 10px;\n margin-top: 10px;\n border-radius: 5px;\n }\n\n .react-colorful__pointer {\n width: 18px;\n height: 18px;\n border: 3px solid #fff;\n }\n\n .react-colorful__hue-pointer {\n width: 14px;\n height: 14px;\n }\n`;\n\nexport const Fields = styled.div`\n display: grid;\n grid-template-columns: 1.8fr 1fr 1fr 1fr;\n gap: 6px;\n margin-top: 12px;\n`;\n\nexport const FieldColumn = styled.label`\n display: flex;\n flex-direction: column;\n gap: 4px;\n font-size: 11px;\n font-weight: 600;\n color: #3f4759;\n`;\n\nexport const FieldInput = styled.input`\n width: 100%;\n padding: 6px 4px;\n border: 1px solid #e5e7eb;\n border-radius: 6px;\n font-size: 12px;\n text-align: center;\n color: #3f4759;\n`;\n","import { useEffect, useRef, useState } from 'react';\nimport { HexColorPicker } from 'react-colorful';\nimport { hexToRgb, normalizeHex, rgbToHex } from './color';\nimport { FieldColumn, FieldInput, Fields, Panel } from './ColorPickerPanel.styles';\n\nexport type ColorPickerPanelProps = {\n /** Cor inicial (#rrggbb). */\n value: string;\n /** Chamado com debounce a cada ajuste (arraste, hex, RGB). */\n onChange: (hex: string) => void;\n debounceMs?: number;\n};\n\ntype Channel = 'r' | 'g' | 'b';\n\nconst CHANNELS: { key: Channel; label: string }[] = [\n { key: 'r', label: 'R' },\n { key: 'g', label: 'G' },\n { key: 'b', label: 'B' }\n];\n\n/** Picker avançado (react-colorful): saturação + matiz e campos Hex/RGB, aplicação ao vivo. */\nexport function ColorPickerPanel({ value, onChange, debounceMs = 300 }: ColorPickerPanelProps) {\n const [draft, setDraft] = useState(() => normalizeHex(value) ?? '#000000');\n const [hexText, setHexText] = useState(draft);\n const timer = useRef<ReturnType<typeof setTimeout>>();\n const pending = useRef<string | null>(null);\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n useEffect(() => setHexText(draft), [draft]);\n\n useEffect(\n () => () => {\n clearTimeout(timer.current);\n if (pending.current !== null) onChangeRef.current(pending.current);\n },\n []\n );\n\n const apply = (hex: string) => {\n setDraft(hex);\n pending.current = hex;\n clearTimeout(timer.current);\n timer.current = setTimeout(() => {\n pending.current = null;\n onChangeRef.current(hex);\n }, debounceMs);\n };\n\n const rgb = hexToRgb(draft);\n\n const onChannelChange = (channel: Channel, raw: string) => {\n const parsed = raw === '' ? 0 : parseInt(raw, 10);\n if (Number.isNaN(parsed)) return;\n const next = { ...rgb, [channel]: parsed };\n apply(rgbToHex(next.r, next.g, next.b));\n };\n\n return (\n <Panel>\n <HexColorPicker color={draft} onChange={next => apply(next.toUpperCase())} />\n <Fields>\n <FieldColumn>\n Hex\n <FieldInput\n aria-label=\"Hex\"\n value={hexText}\n onChange={e => {\n setHexText(e.target.value);\n const normalized = normalizeHex(e.target.value);\n if (normalized) apply(normalized);\n }}\n onBlur={() => setHexText(draft)}\n />\n </FieldColumn>\n {CHANNELS.map(({ key, label }) => (\n <FieldColumn key={key}>\n {label}\n <FieldInput\n aria-label={label}\n inputMode=\"numeric\"\n value={rgb[key]}\n onChange={e => onChannelChange(key, e.target.value)}\n />\n </FieldColumn>\n ))}\n </Fields>\n </Panel>\n );\n}\n","import styled from 'styled-components';\n\nexport const Wrapper = styled.div`\n position: relative;\n display: inline-flex;\n`;\n\nexport const SwatchTrigger = styled.button<{ $color: string; $size: number }>`\n width: ${props => props.$size}px;\n height: ${props => props.$size}px;\n padding: 0;\n border: 1px solid #e5e7eb;\n border-radius: 6px;\n cursor: pointer;\n background: ${props => props.$color};\n`;\n\nexport const Popover = styled.div`\n position: absolute;\n top: calc(100% + 8px);\n right: 0;\n width: 216px;\n padding: 12px;\n background: #fff;\n border: 1px solid #e5e7eb;\n border-radius: 10px;\n box-shadow: 0 8px 24px rgba(15, 23, 42, 0.14);\n z-index: 1200;\n display: flex;\n flex-direction: column;\n gap: 12px;\n`;\n\nexport const PresetGrid = styled.div`\n display: grid;\n grid-template-columns: repeat(6, 1fr);\n gap: 6px;\n`;\n\nexport const PresetSwatch = styled.button<{ $color: string }>`\n position: relative;\n width: 100%;\n aspect-ratio: 1;\n padding: 0;\n border: 1px solid rgba(15, 23, 42, 0.12);\n border-radius: 7px;\n cursor: pointer;\n background: ${props => props.$color};\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n\n &:hover {\n transform: scale(1.08);\n }\n`;\n\nexport const CurrentRow = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n`;\n\nexport const CurrentSwatch = styled.button<{ $color: string }>`\n width: 28px;\n height: 28px;\n flex-shrink: 0;\n padding: 0;\n border: 1px solid #e5e7eb;\n border-radius: 6px;\n cursor: pointer;\n background: ${props => props.$color};\n`;\n\nexport const HexField = styled.input`\n flex: 1;\n min-width: 0;\n padding: 6px 8px;\n border: 1px solid #e5e7eb;\n border-radius: 6px;\n font-size: 13px;\n color: #3f4759;\n`;\n\nexport const InheritAction = styled.button`\n display: inline-flex;\n align-items: center;\n gap: 6px;\n align-self: flex-start;\n padding: 0;\n border: none;\n background: none;\n font-size: 13px;\n font-weight: 500;\n color: #1a56db;\n cursor: pointer;\n\n &:hover {\n text-decoration: underline;\n }\n`;\n","import { useEffect, useRef, useState } from 'react';\nimport { ColorPickerPanel } from './ColorPickerPanel';\nimport { hexToRgb, normalizeHex } from './color';\nimport {\n CurrentRow,\n CurrentSwatch,\n HexField,\n InheritAction,\n Popover,\n PresetGrid,\n PresetSwatch,\n SwatchTrigger,\n Wrapper\n} from './ColorPicker.styles';\n\nexport const DEFAULT_COLOR_PRESETS = [\n '#000000',\n '#434A5B',\n '#A9B0C5',\n '#FFFFFF',\n '#7D2A55',\n '#9B3FD6',\n '#D63F94',\n '#D63C31',\n '#F5820B',\n '#DFA71E',\n '#54390B',\n '#57AB32',\n '#25541B',\n '#2AA48D',\n '#7DA8F7',\n '#2563EB',\n '#152C61',\n '#6B7280'\n];\n\nconst checkColor = (hex: string) => {\n const { r, g, b } = hexToRgb(hex);\n return 0.299 * r + 0.587 * g + 0.114 * b > 186 ? '#1F2937' : '#FFFFFF';\n};\n\nfunction CheckIcon() {\n return (\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden>\n <path\n d=\"M3 8.5 6.5 12 13 4.5\"\n stroke=\"currentColor\"\n strokeWidth=\"2.4\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n}\n\nfunction InheritIcon() {\n return (\n <svg width=\"13\" height=\"13\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden>\n <path\n d=\"M13.5 8a5.5 5.5 0 1 1-1.61-3.89M13.5 2.5v2.75h-2.75\"\n stroke=\"currentColor\"\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n}\n\nexport type ColorPickerProps = {\n /** Cor escolhida (#rrggbb). `undefined` = herdando (mostra `fallback`). */\n value?: string;\n /** Cor efetiva exibida quando não há `value` (ex: brand do tema). */\n fallback?: string;\n presets?: string[];\n /** `undefined` no argumento = herdar/limpar. */\n onChange: (hex?: string) => void;\n /** Quando presente, exibe a ação de herdar (ex: \"Herdar do tema\"). */\n inheritLabel?: string;\n ariaLabel?: string;\n /** Lado do swatch em px. */\n size?: number;\n};\n\n/**\n * Seletor de cor unificado do gerador: swatch → popover com paleta, cor atual +\n * hex e picker avançado (react-colorful) embutido. Usado nos blocos e no modal\n * de configurações do documento.\n */\nexport function ColorPicker({\n value,\n fallback,\n presets = DEFAULT_COLOR_PRESETS,\n onChange,\n inheritLabel,\n ariaLabel,\n size = 28\n}: ColorPickerProps) {\n const [open, setOpen] = useState(false);\n const [advanced, setAdvanced] = useState(false);\n const [hexDraft, setHexDraft] = useState<string | null>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n const effective = value ?? fallback ?? '#000000';\n\n if (presets.length % 6 !== 0) {\n // eslint-disable-next-line no-console\n console.warn(`[vobi-document] paleta com ${presets.length} cores não fecha linhas de 6 (docs/theme.md).`);\n }\n\n useEffect(() => {\n if (!open) return undefined;\n const close = (event: PointerEvent) => {\n const el = wrapperRef.current;\n if (el && !el.contains(event.target as Node)) {\n setOpen(false);\n setAdvanced(false);\n }\n };\n document.addEventListener('pointerdown', close);\n return () => document.removeEventListener('pointerdown', close);\n }, [open]);\n\n const commit = (hex?: string) => {\n setHexDraft(null);\n onChange(hex);\n };\n\n return (\n <Wrapper ref={wrapperRef}>\n <SwatchTrigger\n type=\"button\"\n aria-label={ariaLabel}\n $color={effective}\n $size={size}\n onClick={() => setOpen(prev => !prev)}\n />\n {open ? (\n <Popover>\n <PresetGrid>\n {presets.map(preset => (\n <PresetSwatch\n key={preset}\n type=\"button\"\n aria-label={preset}\n $color={preset}\n style={{ color: checkColor(preset) }}\n onClick={() => commit(preset)}\n >\n {value?.toUpperCase() === preset.toUpperCase() ? <CheckIcon /> : null}\n </PresetSwatch>\n ))}\n </PresetGrid>\n <CurrentRow>\n <CurrentSwatch\n type=\"button\"\n aria-label=\"Cor personalizada\"\n $color={effective}\n onClick={() => setAdvanced(prev => !prev)}\n />\n <HexField\n aria-label=\"Cor (hex)\"\n value={hexDraft ?? effective.toUpperCase()}\n onChange={e => {\n const next = e.target.value;\n const normalized = normalizeHex(next);\n if (normalized) {\n commit(normalized);\n return;\n }\n setHexDraft(next);\n }}\n onBlur={() => setHexDraft(null)}\n />\n </CurrentRow>\n {advanced ? <ColorPickerPanel value={effective} onChange={next => commit(next)} /> : null}\n {inheritLabel ? (\n <InheritAction\n type=\"button\"\n onClick={() => {\n commit(undefined);\n setOpen(false);\n }}\n >\n <InheritIcon />\n {inheritLabel}\n </InheritAction>\n ) : null}\n </Popover>\n ) : null}\n </Wrapper>\n );\n}\n","import styled from 'styled-components';\n\nexport const Backdrop = styled.div`\n position: fixed;\n inset: 0;\n background: rgba(15, 23, 42, 0.45);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n`;\n\nexport const Dialog = styled.div`\n width: 560px;\n max-width: calc(100vw - 32px);\n max-height: calc(100vh - 64px);\n background: #fff;\n border-radius: 12px;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n font-family:\n 'Inter',\n -apple-system,\n sans-serif;\n`;\n\nexport const Head = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n border-bottom: 1px solid #eef0f3;\n font-size: 18px;\n font-weight: 600;\n color: #1f2937;\n`;\n\nexport const CloseButton = styled.button`\n border: none;\n background: none;\n cursor: pointer;\n font-size: 20px;\n color: #6b7280;\n line-height: 1;\n`;\n\nexport const Panel = styled.div`\n flex: 1;\n padding: 24px 28px;\n overflow: auto;\n`;\n\nexport const SectionTitle = styled.h3`\n margin: 0 0 16px;\n font-size: 15px;\n font-weight: 600;\n color: #1f2937;\n`;\n\nexport const ColorRow = styled.label`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 10px 0;\n font-size: 14px;\n color: #3f4759;\n`;\n\nexport const ColorControls = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n gap: 10px;\n`;\n\nexport const HexInput = styled.input`\n width: 96px;\n padding: 6px 8px;\n border: 1px solid #e5e7eb;\n border-radius: 6px;\n font-size: 13px;\n text-align: right;\n color: #6b7280;\n`;\n\nexport const SwatchButton = styled.button<{ $color: string }>`\n width: 36px;\n height: 36px;\n padding: 0;\n border: 1px solid #e5e7eb;\n border-radius: 6px;\n cursor: pointer;\n background: ${props => props.$color};\n`;\n\nexport const Field = styled.div`\n margin-top: 24px;\n`;\n\nexport const FieldLabel = styled.label`\n display: block;\n margin-bottom: 8px;\n font-size: 14px;\n font-weight: 600;\n color: #1f2937;\n`;\n\nexport const Select = styled.select`\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #e5e7eb;\n border-radius: 8px;\n font-size: 14px;\n color: #3f4759;\n background: #fff;\n`;\n\nexport const LogoBox = styled.div`\n margin-top: 12px;\n width: 160px;\n height: 160px;\n border: 1px solid #e5e7eb;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #f5f7fa;\n overflow: hidden;\n position: relative;\n`;\n\nexport const LogoImg = styled.img`\n max-width: 100%;\n max-height: 100%;\n`;\n\nexport const UploadLabel = styled.label`\n display: inline-flex;\n align-items: center;\n gap: 6px;\n margin-top: 12px;\n padding: 8px 14px;\n border-radius: 6px;\n background: #1a56db;\n color: #fff;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n`;\n\nexport const HiddenFile = styled.input`\n display: none;\n`;\n\nexport const Placeholder = styled.div`\n color: #9aa3af;\n font-size: 14px;\n`;\n","import { ColorPicker } from '../colorPicker/ColorPicker';\nimport { ColorControls, ColorRow } from './DocumentSettingsModal.styles';\n\nexport type ColorFieldProps = { label: string; value: string; onCommit: (value: string) => void };\n\nexport function ColorField({ label, value, onCommit }: ColorFieldProps) {\n return (\n <ColorRow as=\"div\">\n <span>{label}</span>\n <ColorControls>\n <ColorPicker\n value={value}\n ariaLabel={`${label} (seletor)`}\n onChange={next => {\n if (next) onCommit(next);\n }}\n />\n </ColorControls>\n </ColorRow>\n );\n}\n","import { DOCUMENT_FONTS } from '../../surface/fonts';\nimport { DEFAULT_DOCUMENT_COLORS } from '../../surface/surface';\nimport { DEFAULT_DOCUMENT_FONT_ID } from '../../surface/resolveTheme';\nimport type { Theme } from '../../schema/theme';\nimport { ColorField } from './ColorField';\nimport {\n Field,\n FieldLabel,\n HiddenFile,\n LogoBox,\n LogoImg,\n Placeholder,\n SectionTitle,\n Select,\n UploadLabel\n} from './DocumentSettingsModal.styles';\n\nconst COLOR_FIELDS: { key: 'brand' | 'text' | 'background'; label: string }[] = [\n { key: 'brand', label: 'Cor de marca' },\n { key: 'text', label: 'Texto' },\n { key: 'background', label: 'Fundo' }\n];\n\nexport type VisualTabProps = {\n theme: Theme;\n onPatch: (next: Partial<Theme>) => void;\n onLogoUpload?: (file: File) => Promise<{ key?: string; url?: string }>;\n};\n\nexport function VisualTab({ theme, onPatch, onLogoUpload }: VisualTabProps) {\n const colors = { ...DEFAULT_DOCUMENT_COLORS, ...theme.colors };\n\n const setColor = (key: 'brand' | 'text' | 'background', value: string) =>\n onPatch({ colors: { ...theme.colors, [key]: value } });\n\n const handleLogo = async (file: File | undefined) => {\n if (!file || !onLogoUpload) return;\n const result = await onLogoUpload(file);\n onPatch({ logo: result });\n };\n\n return (\n <>\n <SectionTitle>Cores</SectionTitle>\n {COLOR_FIELDS.map(field => (\n <ColorField\n key={field.key}\n label={field.label}\n value={colors[field.key]}\n onCommit={next => setColor(field.key, next)}\n />\n ))}\n\n <Field>\n <FieldLabel htmlFor=\"docgen-font\">Fonte</FieldLabel>\n <Select\n id=\"docgen-font\"\n aria-label=\"Fonte\"\n value={theme.documentFont ?? DEFAULT_DOCUMENT_FONT_ID}\n onChange={e => onPatch({ documentFont: e.target.value })}\n >\n {DOCUMENT_FONTS.map(font => (\n <option key={font.id} value={font.id}>\n {font.label}\n </option>\n ))}\n </Select>\n </Field>\n\n <Field>\n <FieldLabel as=\"span\">Logo</FieldLabel>\n <LogoBox>\n {theme.logo?.url ? <LogoImg src={theme.logo.url} alt=\"Logo\" /> : <Placeholder>Sem logo</Placeholder>}\n </LogoBox>\n <UploadLabel>\n Alterar\n <HiddenFile\n type=\"file\"\n accept=\"image/*\"\n aria-label=\"Alterar logo\"\n onChange={e => handleLogo(e.target.files?.[0])}\n />\n </UploadLabel>\n </Field>\n </>\n );\n}\n","import type { Theme } from '../../schema/theme';\nimport { VisualTab } from './VisualTab';\nimport { Backdrop, CloseButton, Dialog, Head, Panel } from './DocumentSettingsModal.styles';\n\nexport type DocumentSettingsModalProps = {\n open: boolean;\n onClose: () => void;\n theme: Theme;\n onThemeChange: (theme: Theme) => void;\n onLogoUpload?: (file: File) => Promise<{ key?: string; url?: string }>;\n};\n\n/**\n * Modal padrão de configurações do documento (aba Visual: cores, fonte, logo).\n * Hosts que precisam de mais abas ou do próprio design system substituem via\n * `renderSettings` no DocumentEditor.\n */\nexport function DocumentSettingsModal({\n open,\n onClose,\n theme,\n onThemeChange,\n onLogoUpload\n}: DocumentSettingsModalProps) {\n if (!open) return null;\n\n const patch = (next: Partial<Theme>) => onThemeChange({ ...theme, ...next });\n\n return (\n <Backdrop role=\"dialog\" aria-modal=\"true\" aria-label=\"Configurações do documento\">\n <Dialog>\n <Head>\n <span>Configurações do documento</span>\n <CloseButton type=\"button\" aria-label=\"Fechar\" onClick={onClose}>\n ×\n </CloseButton>\n </Head>\n <Panel>\n <VisualTab theme={theme} onPatch={patch} onLogoUpload={onLogoUpload} />\n </Panel>\n </Dialog>\n </Backdrop>\n );\n}\n","import { createContext, type ReactNode, useContext, useMemo } from 'react';\nimport type { VariableDef } from './types';\n\n/** Mapa model → label amigável pt-BR (ex: `{ customer: 'Cliente' }`). */\nexport type Translator = Record<string, string>;\n\ntype CatalogValue = { catalog: VariableDef[]; translator: Translator };\n\nconst CatalogContext = createContext<CatalogValue>({ catalog: [], translator: {} });\n\nexport function CatalogProvider({\n catalog = [],\n translator = {},\n children\n}: {\n catalog?: VariableDef[];\n translator?: Translator;\n children: ReactNode;\n}) {\n const value = useMemo(() => ({ catalog, translator }), [catalog, translator]);\n return <CatalogContext.Provider value={value}>{children}</CatalogContext.Provider>;\n}\n\nexport function useCatalog(): VariableDef[] {\n return useContext(CatalogContext).catalog;\n}\n\nexport function useTranslator(): Translator {\n return useContext(CatalogContext).translator;\n}\n","import { createContext, type ReactNode, useContext, useMemo } from 'react';\nimport type { ResolvedVariables, UnresolvedDisplay } from './types';\n\ntype EnsureResolved = (keys: string[]) => Promise<void>;\ntype ResolvedValue = {\n resolved: ResolvedVariables;\n ensureResolved: EnsureResolved;\n unresolvedDisplay: UnresolvedDisplay;\n};\n\nconst noop: EnsureResolved = () => Promise.resolve();\n\nconst ResolvedContext = createContext<ResolvedValue>({\n resolved: {},\n ensureResolved: noop,\n unresolvedDisplay: 'placeholder'\n});\n\nexport function ResolvedProvider({\n resolved = {},\n ensureResolved = noop,\n unresolvedDisplay = 'placeholder',\n children\n}: {\n resolved?: ResolvedVariables;\n ensureResolved?: EnsureResolved;\n unresolvedDisplay?: UnresolvedDisplay;\n children: ReactNode;\n}) {\n const value = useMemo(\n () => ({ resolved, ensureResolved, unresolvedDisplay }),\n [resolved, ensureResolved, unresolvedDisplay]\n );\n return <ResolvedContext.Provider value={value}>{children}</ResolvedContext.Provider>;\n}\n\nexport function useResolvedVariables(): ResolvedVariables {\n return useContext(ResolvedContext).resolved;\n}\n\nexport function useEnsureResolved(): EnsureResolved {\n return useContext(ResolvedContext).ensureResolved;\n}\n\nexport function useUnresolvedDisplay(): UnresolvedDisplay {\n return useContext(ResolvedContext).unresolvedDisplay;\n}\n","import type { VariableDef } from './types';\n\nconst CHIP_ATTR = 'data-var-key';\n\n/** Walk any document structure and collect every distinct variable key. */\nexport function extractBindingKeys(node: unknown): string[] {\n const keys = new Set<string>();\n\n const walk = (value: unknown): void => {\n if (typeof value === 'string') {\n if (value.indexOf(CHIP_ATTR) < 0) return;\n const regex = new RegExp(`${CHIP_ATTR}=\"([^\"]+)\"`, 'g');\n let match = regex.exec(value);\n while (match) {\n keys.add(match[1]);\n match = regex.exec(value);\n }\n return;\n }\n if (Array.isArray(value)) {\n value.forEach(walk);\n return;\n }\n if (typeof value === 'object' && value !== null) {\n Object.values(value).forEach(walk);\n }\n };\n\n walk(node);\n return [...keys];\n}\n\n/** Variable keys present in the document but absent from the catalog (orphans). */\nexport function findInvalidBindings(node: unknown, catalog: VariableDef[]): string[] {\n const known = new Set(catalog.map(def => def.key));\n return extractBindingKeys(node).filter(key => !known.has(key));\n}\n","import type { VariableType } from './types';\n\nconst brl = new Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' });\nconst decimal = new Intl.NumberFormat('pt-BR');\nconst date = new Intl.DateTimeFormat('pt-BR');\n\nfunction toNumber(value: unknown): number | null {\n const n = typeof value === 'string' ? Number(value) : (value as number);\n return typeof n === 'number' && Number.isFinite(n) ? n : null;\n}\n\n// `YYYY-MM-DD` e o timestamp de meia-noite UTC que o Sequelize serializa para colunas DATE.\nconst DATE_ONLY = /^(\\d{4})-(\\d{2})-(\\d{2})(?:T00:00(?::00(?:\\.000)?)?Z)?$/;\n\nconst DIGITS = /\\D/g;\nconst CPF = /^(\\d{3})(\\d{3})(\\d{3})(\\d{2})$/;\nconst CNPJ = /^(\\d{2})(\\d{3})(\\d{3})(\\d{4})(\\d{2})$/;\nconst PHONE = /^(?:55)?(\\d{2})(\\d{4,5})(\\d{4})$/;\nconst ZIPCODE = /^(\\d{5})(\\d{3})$/;\n\n// Só-data é parseada como data LOCAL — new Date(string) seria UTC e voltaria um dia (docs/variables.md).\nfunction toDate(raw: unknown): Date {\n if (raw instanceof Date) return raw;\n const match = DATE_ONLY.exec(String(raw));\n if (match) return new Date(Number(match[1]), Number(match[2]) - 1, Number(match[3]));\n return new Date(raw as string);\n}\n\n// Documento e telefone chegam crus do banco, com ou sem máscara. Sem match, devolve o\n// valor original — melhor exibir o cru do que esconder o dado.\nfunction toDocument(raw: string): string {\n const digits = raw.replace(DIGITS, '');\n const cpf = CPF.exec(digits);\n if (cpf) return `${cpf[1]}.${cpf[2]}.${cpf[3]}-${cpf[4]}`;\n const cnpj = CNPJ.exec(digits);\n if (cnpj) return `${cnpj[1]}.${cnpj[2]}.${cnpj[3]}/${cnpj[4]}-${cnpj[5]}`;\n return raw;\n}\n\n// DDI 55 é descartado na máscara: telefone gravado com e sem DDI aparece igual.\nfunction toPhone(raw: string): string {\n const match = PHONE.exec(raw.replace(DIGITS, ''));\n return match ? `(${match[1]}) ${match[2]}-${match[3]}` : raw;\n}\n\nfunction toZipcode(raw: string): string {\n const match = ZIPCODE.exec(raw.replace(DIGITS, ''));\n return match ? `${match[1]}-${match[2]}` : raw;\n}\n\n/** Format a raw resolved value by its catalog type, pt-BR. preview == PDF. */\nexport function formatValue(type: VariableType, raw: unknown): string {\n if (raw === null || raw === undefined) return '';\n\n switch (type) {\n case 'currency': {\n const n = toNumber(raw);\n return n === null ? '' : brl.format(n);\n }\n case 'number': {\n const n = toNumber(raw);\n return n === null ? '' : decimal.format(n);\n }\n case 'date': {\n const d = toDate(raw);\n return Number.isNaN(d.getTime()) ? '' : date.format(d);\n }\n case 'document':\n return toDocument(String(raw));\n case 'phone':\n return toPhone(String(raw));\n case 'zipcode':\n return toZipcode(String(raw));\n case 'boolean':\n return raw ? 'Sim' : 'Não';\n case 'string':\n default:\n return String(raw);\n }\n}\n","import { extractBindingKeys } from './bindings';\nimport { formatValue } from './format';\nimport type { ResolvedVariables, VariableContext, VariableDef, VariableResolver } from './types';\n\n/**\n * Formata valores crus por tipo do catálogo. Keys sem valor ficam FORA do mapa\n * (`undefined` = \"não resolvida\" — ver docs/variables.md).\n */\nexport function formatResolvedValues(defs: VariableDef[], raw: Record<string, unknown>): ResolvedVariables {\n const resolved: ResolvedVariables = {};\n defs.forEach(def => {\n const value = def.key in raw ? raw[def.key] : def.default;\n if (value === undefined || value === null) return;\n const formatted = formatValue(def.type, value);\n if (formatted !== '') resolved[def.key] = formatted;\n });\n return resolved;\n}\n\n/** Resolve os bindings de `node` em strings pt-BR formatadas (preview == PDF). */\nexport async function resolveDocumentVariables(\n node: unknown,\n catalog: VariableDef[],\n resolver: VariableResolver,\n ctx: VariableContext\n): Promise<ResolvedVariables> {\n const keys = extractBindingKeys(node);\n if (keys.length === 0) return {};\n\n const raw = await resolver(keys, ctx);\n const byKey = new Map(catalog.map(def => [def.key, def]));\n const defs = keys.map(key => byKey.get(key) ?? { key, label: key, type: 'string' as const, model: 'outros' });\n return formatResolvedValues(defs, raw);\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { formatResolvedValues } from './resolve';\nimport type { ResolvedVariables, VariableContext, VariableDef, VariableResolver } from './types';\n\nexport type UseVariableResolutionOptions = {\n catalog?: VariableDef[];\n resolver?: VariableResolver;\n ctx?: VariableContext;\n keys?: string[];\n};\n\nexport type UseVariableResolutionResult = {\n resolved: ResolvedVariables;\n ensureResolved: (keys: string[]) => Promise<void>;\n};\n\ntype State = { ctxHash: string; resolved: ResolvedVariables; attempted: string[] };\n\nconst EMPTY: ResolvedVariables = {};\n\nexport function useVariableResolution({\n catalog = [],\n resolver,\n ctx = {},\n keys = []\n}: UseVariableResolutionOptions): UseVariableResolutionResult {\n const keysHash = useMemo(() => [...keys].sort().join('|'), [keys]);\n const ctxHash = useMemo(() => JSON.stringify(ctx), [ctx]);\n\n const [state, setState] = useState<State>({ ctxHash, resolved: EMPTY, attempted: [] });\n\n const catalogRef = useRef(catalog);\n catalogRef.current = catalog;\n const resolverRef = useRef(resolver);\n resolverRef.current = resolver;\n const ctxRef = useRef(ctx);\n ctxRef.current = ctx;\n const ctxHashRef = useRef(ctxHash);\n ctxHashRef.current = ctxHash;\n const keysRef = useRef(keys);\n keysRef.current = keys;\n const stateRef = useRef(state);\n stateRef.current = state;\n\n const resolved = state.ctxHash === ctxHash ? state.resolved : EMPTY;\n\n const missingFor = (list: string[], forCtx: string): string[] => {\n const attempted = new Set(stateRef.current.ctxHash === forCtx ? stateRef.current.attempted : []);\n return list.filter(key => !attempted.has(key));\n };\n\n const merge = (forCtx: string, list: string[], next: ResolvedVariables): void =>\n setState(prev => {\n const stale = prev.ctxHash !== forCtx;\n return {\n ctxHash: forCtx,\n resolved: { ...(stale ? EMPTY : prev.resolved), ...next },\n attempted: [...new Set([...(stale ? [] : prev.attempted), ...list])]\n };\n });\n\n const fetchKeys = useCallback((list: string[]): Promise<ResolvedVariables> => {\n const currentResolver = resolverRef.current;\n if (!currentResolver || list.length === 0) return Promise.resolve(EMPTY);\n const byKey = new Map(catalogRef.current.map(def => [def.key, def]));\n const defs = list.map(key => byKey.get(key) ?? { key, label: key, type: 'string' as const, model: 'outros' });\n return currentResolver(list, ctxRef.current).then(raw => formatResolvedValues(defs, raw));\n }, []);\n\n useEffect(() => {\n const forCtx = ctxHash;\n const missing = missingFor(keysRef.current, forCtx);\n if (!missing.length) return undefined;\n\n let active = true;\n fetchKeys(missing).then(next => {\n if (active) merge(forCtx, missing, next);\n });\n return () => {\n active = false;\n };\n }, [keysHash, ctxHash, fetchKeys]);\n\n const ensureResolved = useCallback(\n (list: string[]): Promise<void> => {\n const forCtx = ctxHashRef.current;\n const missing = missingFor(list, forCtx);\n if (!missing.length) return Promise.resolve();\n return fetchKeys(missing).then(next => merge(forCtx, missing, next));\n },\n [fetchKeys]\n );\n\n return { resolved, ensureResolved };\n}\n","import { Fragment, type ReactNode, createElement, useMemo, useRef, useState } from 'react';\nimport {\n ActionBar,\n type ComponentData,\n type Data,\n type IframeConfig,\n type Metadata,\n Puck,\n blocksPlugin,\n usePuck\n} from '@puckeditor/core';\nimport { buildConfig } from '../core/buildConfig';\nimport type { Registry } from '../blocks/types';\nimport { DrawerCard, DrawerHint, DrawerItemIcon, EditorShell } from '../surface/surface';\nimport { useDocumentFont } from '../surface/useDocumentFont';\nimport { BlockIcon } from './blockIcons';\nimport { installModifierStateShim } from './modifierStateShim';\nimport { DocumentOutline, OutlineTabIcon, type OutlineBlockMap } from './DocumentOutline';\nimport { EditorApiBridge } from './EditorApiBridge';\nimport type { DocumentEditorApiRef } from './editorApi';\nimport { headerApiFromPuck, type DocumentHeaderApi } from './headerApi';\nimport { DocumentSettingsModal } from './settings/DocumentSettingsModal';\nimport type { Theme } from '../schema/theme';\nimport { CatalogProvider, type Translator } from '../variables/catalogContext';\nimport { ResolvedProvider } from '../variables/resolvedContext';\nimport { extractBindingKeys } from '../variables/bindings';\nimport { useVariableResolution } from '../variables/useVariableResolution';\nimport type { UnresolvedDisplay, VariableContext, VariableDef, VariableResolver } from '../variables/types';\n\nexport type DisabledBlock = { key: string; reason?: string };\n\ntype ActionBarProps = { label?: string; children: ReactNode; parentAction: ReactNode };\n\nexport type SettingsRenderProps = {\n open: boolean;\n onClose: () => void;\n theme: Theme;\n onThemeChange: (theme: Theme) => void;\n onLogoUpload?: (file: File) => Promise<{ key?: string; url?: string }>;\n};\n\nexport type DocumentEditorProps = {\n registry: Registry;\n data?: Partial<Data>;\n onChange?: (data: Data) => void;\n onPublish?: (data: Data) => void;\n iframe?: IframeConfig;\n /** Blocks temporarily unavailable in the palette (grayed out, insert disabled). */\n disabledBlocks?: DisabledBlock[];\n /** Document theme (colors, font, page, logo). Drives the canvas and the settings modal. */\n theme?: Theme;\n onThemeChange?: (theme: Theme) => void;\n /** Uploads a logo file (host storage) and returns its key/url. */\n onLogoUpload?: (file: File) => Promise<{ key?: string; url?: string }>;\n /** Substitui o modal padrão de configurações (aba Visual) por um do host. */\n renderSettings?: (settings: SettingsRenderProps) => ReactNode;\n /** Replaces the Puck header. Receives undo/redo, settings/preview triggers and the theme. */\n renderHeader?: (api: DocumentHeaderApi) => ReactNode;\n /** Ações extras na action bar do bloco selecionado. Recebe o item; devolva `ActionBar.Action`s. */\n renderBlockActions?: (item: ComponentData | null) => ReactNode;\n /** A lib preenche com `{ setData }` para o host mutar o documento sem remontar o editor. */\n apiRef?: DocumentEditorApiRef;\n /** Variable catalog (from the API). Drives the variable menu. */\n catalog?: VariableDef[];\n /** Mapa model → label amigável (ex: `{ customer: 'Cliente' }`). */\n translator?: Translator;\n resolver?: VariableResolver;\n ctx?: VariableContext;\n /** Como exibir variável conhecida sem valor: `'placeholder'` (default) ou `'label'` (contexto de template). */\n unresolvedDisplay?: UnresolvedDisplay;\n /** Dados do host visíveis a todo bloco como `puck.metadata` (ex.: `{ isTemplate: true }`). */\n metadata?: Metadata;\n};\n\nconst EMPTY = { content: [], root: {} } as Data;\n\nexport function DocumentEditor({\n registry,\n data,\n onChange,\n onPublish,\n iframe = { enabled: false },\n theme = {},\n onThemeChange,\n onLogoUpload,\n renderSettings,\n renderHeader,\n renderBlockActions,\n catalog = [],\n translator = {},\n resolver,\n ctx = {},\n unresolvedDisplay = 'placeholder',\n metadata,\n disabledBlocks = [],\n apiRef\n}: DocumentEditorProps) {\n // Idempotente e no corpo do render de propósito: o listener global do Puck é registrado no\n // mount dos filhos, que acontece antes de qualquer effect deste componente.\n installModifierStateShim();\n\n const [settingsOpen, setSettingsOpen] = useState(false);\n\n useDocumentFont(theme.documentFont);\n\n const disabledByKey = useMemo(\n () => Object.fromEntries(disabledBlocks.map(block => [block.key, block.reason ?? ''])),\n [disabledBlocks.map(block => `${block.key}:${block.reason ?? ''}`).join('|')]\n );\n\n const config = useMemo(() => {\n const base = buildConfig(registry, { theme });\n const disabledKeys = Object.keys(disabledByKey);\n if (!disabledKeys.length) return base;\n const components = { ...base.components };\n disabledKeys.forEach(key => {\n if (!components[key]) return;\n components[key] = {\n ...components[key],\n permissions: { ...components[key].permissions, insert: false }\n };\n });\n return { ...base, components };\n }, [registry, theme, disabledByKey]);\n\n // Identidades instáveis do host lidas via ref — ver docs/architecture.md.\n const themeRef = useRef(theme);\n themeRef.current = theme;\n const renderHeaderRef = useRef(renderHeader);\n renderHeaderRef.current = renderHeader;\n const apiRefRef = useRef(apiRef);\n apiRefRef.current = apiRef;\n const renderBlockActionsRef = useRef(renderBlockActions);\n renderBlockActionsRef.current = renderBlockActions;\n\n const usedKeys = useMemo(() => extractBindingKeys(data), [data]);\n const { resolved, ensureResolved } = useVariableResolution({ catalog, resolver, ctx, keys: usedKeys });\n\n const blockByKey = useMemo(() => {\n const map: OutlineBlockMap = {};\n registry.forEach(block => {\n map[block.key] = { icon: block.icon, label: block.label };\n });\n return map;\n }, [registry]);\n\n /** Plugins padrão do Puck com labels pt-BR (mesmo `name` sobrescreve o default). */\n const plugins = useMemo(\n () => [\n { ...blocksPlugin(), label: 'Blocos' },\n {\n name: 'outline',\n label: 'Estrutura',\n icon: <OutlineTabIcon />,\n render: () => <DocumentOutline blockByKey={blockByKey} />\n }\n ],\n [blockByKey]\n );\n\n const overrides = useMemo(() => {\n const base = {\n // eslint-disable-next-line react/no-unstable-nested-components, react/no-unused-prop-types\n drawerItem: ({ name }: { name: string }) => {\n const card = (\n <DrawerCard $disabled={name in disabledByKey}>\n <DrawerItemIcon>{blockByKey[name]?.icon ?? <BlockIcon />}</DrawerItemIcon>\n <span>{blockByKey[name]?.label ?? name}</span>\n </DrawerCard>\n );\n if (!(name in disabledByKey)) return card;\n return <DrawerHint data-hint={disabledByKey[name] || undefined}>{card}</DrawerHint>;\n }\n };\n\n const withBridge = apiRefRef.current\n ? {\n ...base,\n // eslint-disable-next-line react/no-unstable-nested-components, react/no-unused-prop-types\n puck: ({ children }: { children: ReactNode }) =>\n createElement(EditorApiBridge, { apiRef: apiRefRef.current }, children)\n }\n : base;\n\n // eslint-disable-next-line react/no-unstable-nested-components\n function BlockActionBar({ label, children, parentAction }: ActionBarProps) {\n const { selectedItem } = usePuck();\n const extra = renderBlockActionsRef.current?.(selectedItem ?? null);\n return (\n <ActionBar>\n <ActionBar.Group>\n {parentAction}\n {label ? <ActionBar.Label label={label} /> : null}\n </ActionBar.Group>\n {extra ? <ActionBar.Group>{extra}</ActionBar.Group> : null}\n <ActionBar.Group>{children}</ActionBar.Group>\n </ActionBar>\n );\n }\n\n const withActions = renderBlockActionsRef.current ? { ...withBridge, actionBar: BlockActionBar } : withBridge;\n\n if (!renderHeaderRef.current) return withActions;\n\n // eslint-disable-next-line react/no-unstable-nested-components\n function Header() {\n const puck = usePuck();\n const openPreview = () =>\n puck.dispatch({\n type: 'setUi',\n ui: prev => ({ previewMode: prev.previewMode === 'edit' ? 'interactive' : 'edit' })\n });\n const api = headerApiFromPuck(puck, {\n openSettings: () => setSettingsOpen(true),\n openPreview,\n theme: themeRef.current\n });\n return createElement(Fragment, null, renderHeaderRef.current?.(api));\n }\n\n return { ...withActions, header: Header };\n }, [blockByKey, disabledByKey, Boolean(renderHeader), Boolean(apiRef), Boolean(renderBlockActions)]);\n\n return (\n <CatalogProvider catalog={catalog} translator={translator}>\n <ResolvedProvider resolved={resolved} ensureResolved={ensureResolved} unresolvedDisplay={unresolvedDisplay}>\n <EditorShell>\n <Puck\n config={config}\n data={{ ...EMPTY, ...data }}\n onChange={onChange}\n onPublish={onPublish}\n iframe={iframe}\n overrides={overrides}\n plugins={plugins}\n metadata={metadata}\n />\n </EditorShell>\n {renderSettings ? (\n renderSettings({\n open: settingsOpen,\n onClose: () => setSettingsOpen(false),\n theme,\n onThemeChange: onThemeChange ?? (() => undefined),\n onLogoUpload\n })\n ) : (\n <DocumentSettingsModal\n open={settingsOpen}\n onClose={() => setSettingsOpen(false)}\n theme={theme}\n onThemeChange={onThemeChange ?? (() => undefined)}\n onLogoUpload={onLogoUpload}\n />\n )}\n </ResolvedProvider>\n </CatalogProvider>\n );\n}\n","import { useEffect, useMemo, useState } from 'react';\nimport { type Data, type Metadata, Render } from '@puckeditor/core';\nimport { buildConfig } from '../core/buildConfig';\nimport type { Registry } from '../blocks/types';\nimport type { Theme } from '../schema/theme';\nimport { useDocumentFont } from '../surface/useDocumentFont';\nimport { CatalogProvider } from '../variables/catalogContext';\nimport { ResolvedProvider } from '../variables/resolvedContext';\nimport { resolveDocumentVariables } from '../variables/resolve';\nimport { extractBindingKeys } from '../variables/bindings';\nimport type {\n ResolvedVariables,\n UnresolvedDisplay,\n VariableContext,\n VariableDef,\n VariableResolver\n} from '../variables/types';\n\nexport type DocumentRendererProps = {\n registry: Registry;\n data: Data;\n theme?: Theme;\n catalog?: VariableDef[];\n /** Live resolution (browser preview). Called in an effect. */\n resolver?: VariableResolver;\n ctx?: VariableContext;\n /** Pre-resolved values (SSR/PDF). Takes precedence over `resolver`. */\n resolvedVariables?: ResolvedVariables;\n /** Como exibir variável conhecida sem valor: `'placeholder'` (default) ou `'label'` (contexto de template). */\n unresolvedDisplay?: UnresolvedDisplay;\n /** Dados do host visíveis a todo bloco como `puck.metadata` (ex.: `{ isTemplate: true }`). */\n metadata?: Metadata;\n};\n\nexport function DocumentRenderer({\n registry,\n data,\n theme = {},\n catalog = [],\n resolver,\n ctx = {},\n resolvedVariables,\n unresolvedDisplay = 'placeholder',\n metadata\n}: DocumentRendererProps) {\n const config = useMemo(() => buildConfig(registry, { theme }), [registry, theme]);\n const [resolved, setResolved] = useState<ResolvedVariables>(resolvedVariables ?? {});\n\n useDocumentFont(theme.documentFont);\n\n const keysHash = useMemo(() => extractBindingKeys(data).sort().join('|'), [data]);\n const ctxHash = JSON.stringify(ctx);\n\n useEffect(() => {\n if (resolvedVariables || !resolver || keysHash === '') return undefined;\n let active = true;\n resolveDocumentVariables(data, catalog, resolver, ctx).then(next => {\n if (active) setResolved(next);\n });\n return () => {\n active = false;\n };\n // Keyado por keysHash/ctxHash (não por data) — evita refetch por edição.\n }, [resolvedVariables, resolver, catalog, keysHash, ctxHash]);\n\n const effective = resolvedVariables ?? resolved;\n\n return (\n <CatalogProvider catalog={catalog}>\n <ResolvedProvider resolved={effective} unresolvedDisplay={unresolvedDisplay}>\n <Render config={config} data={data} metadata={metadata} />\n </ResolvedProvider>\n </CatalogProvider>\n );\n}\n","import { createContext, useContext, type ElementType, type KeyboardEvent, type FocusEvent } from 'react';\nimport type { Theme, CoverFields } from '../../../schema/theme';\n\nexport type CoverEditCtx = {\n editable: boolean;\n onFieldChange?: (name: keyof CoverFields, value: string) => void;\n onImagePick?: () => void;\n};\n\nexport const CoverEditContext = createContext<CoverEditCtx>({ editable: false });\n\nexport type CoverTemplateProps = {\n fields: CoverFields;\n theme?: Theme;\n accent: string;\n textColor: string;\n bgColor: string;\n};\n\ntype CoverFieldProps = {\n name: keyof CoverFields;\n value?: string;\n placeholder: string;\n as?: ElementType;\n className?: string;\n};\n\nexport function CoverField({ name, value, placeholder, as: Tag = 'span', className }: CoverFieldProps) {\n const { editable, onFieldChange } = useContext(CoverEditContext);\n if (!editable) return value ? <Tag className={className}>{value}</Tag> : null;\n return (\n <Tag\n className={className}\n data-cover-field={name}\n data-placeholder={placeholder}\n contentEditable\n suppressContentEditableWarning\n onBlur={(e: FocusEvent<HTMLElement>) => onFieldChange?.(name, e.currentTarget.textContent?.trim() ?? '')}\n onKeyDown={(e: KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n (e.currentTarget as HTMLElement).blur();\n }\n }}\n >\n {value}\n </Tag>\n );\n}\n\ntype CoverImageProps = { src?: string; className?: string };\n\nexport function CoverImage({ src, className }: CoverImageProps) {\n const { editable, onImagePick } = useContext(CoverEditContext);\n if (!editable) {\n return src ? (\n <div className={className} data-cover-image>\n <img src={src} alt=\"\" />\n </div>\n ) : null;\n }\n return (\n <div\n className={className}\n data-cover-image\n role=\"button\"\n tabIndex={0}\n onClick={() => onImagePick?.()}\n onKeyDown={(e: KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onImagePick?.();\n }\n }}\n >\n {src ? <img src={src} alt=\"\" /> : <span>Adicionar imagem</span>}\n </div>\n );\n}\n","import styled from 'styled-components';\n\n// Página A4 inteira; cores/fonte por props (capa é irmã do PageFrame, não herda --doc-*).\nexport const CoverFrame = styled.div<{ $font: string; $bg?: string; $color?: string }>`\n position: relative;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n font-family: ${p => p.$font};\n background: ${p => p.$bg ?? '#FFFFFF'};\n color: ${p => p.$color ?? '#111827'};\n overflow-wrap: break-word;\n\n [data-cover-field][contenteditable] {\n cursor: text;\n border-radius: 3px;\n outline: 1px dashed transparent;\n outline-offset: 3px;\n transition: outline-color 0.12s ease;\n }\n [data-cover-field][contenteditable]:hover {\n outline-color: rgba(0, 90, 195, 0.45);\n }\n [data-cover-field][contenteditable]:focus {\n outline: 1px solid rgba(0, 90, 195, 0.8);\n }\n [data-cover-field][contenteditable]:empty::before {\n content: attr(data-placeholder);\n opacity: 0.45;\n font-style: italic;\n }\n [data-cover-image][role='button'] {\n cursor: pointer;\n outline: 1px dashed transparent;\n outline-offset: 3px;\n transition: outline-color 0.12s ease;\n }\n [data-cover-image][role='button']:hover {\n outline-color: rgba(0, 90, 195, 0.45);\n }\n [data-cover-image] img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n }\n`;\n\nexport const FullBleedImage = styled.div<{ $overlay: string; $overlayOpacity?: number }>`\n position: absolute;\n inset: 0;\n\n & > [data-cover-image] {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n }\n\n &::after {\n content: '';\n position: absolute;\n inset: 0;\n background: ${p => p.$overlay};\n opacity: ${p => p.$overlayOpacity ?? 0.55};\n }\n`;\n\nexport const CoverLogoImg = styled.img`\n max-height: 48px;\n max-width: 160px;\n object-fit: contain;\n`;\n\nexport const LabelSmall = styled.div`\n font-size: 11px;\n letter-spacing: 0.04em;\n opacity: 0.8;\n`;\n","import styled from 'styled-components';\nimport { fontStack } from '../../../surface/fonts';\nimport { CoverField, CoverImage, type CoverTemplateProps } from './primitives';\nimport { CoverFrame, FullBleedImage, CoverLogoImg } from './covers.styles';\n\nconst HAIRLINE = '#d9d9d9';\n\nconst Chrome = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 100%;\n padding: 0 7cqw 8cqw;\n`;\n\nconst TopRow = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 4cqw;\n`;\n\nconst Logo = styled(CoverLogoImg)`\n max-width: 17cqw;\n max-height: 17cqw;\n`;\n\nconst Company = styled(CoverField)`\n display: block;\n margin-top: 5cqw;\n max-width: 45cqw;\n font-size: 2.94cqw;\n font-weight: 800;\n line-height: 1.15;\n letter-spacing: 0.3cqw;\n text-align: right;\n text-transform: uppercase;\n`;\n\nconst Head = styled.div`\n display: flex;\n flex-direction: column;\n\n &::before,\n &::after {\n content: '';\n width: 19cqw;\n height: 0.9cqw;\n background: ${HAIRLINE};\n }\n &::before {\n margin-bottom: 6cqw;\n }\n &::after {\n margin-top: 6cqw;\n }\n`;\n\nconst Title = styled(CoverField)`\n display: block;\n font-size: 8.82cqw;\n font-weight: 800;\n line-height: 1.15;\n letter-spacing: 0.88cqw;\n text-transform: uppercase;\n`;\n\nconst Subtitle = styled(CoverField)`\n display: block;\n margin-top: 3cqw;\n font-size: 3.53cqw;\n font-weight: 400;\n line-height: 1.3;\n`;\n\nexport function Model1({ fields, theme, accent, textColor, bgColor }: CoverTemplateProps) {\n return (\n <CoverFrame $font={fontStack(theme?.documentFont)} $bg={fields.imageUrl ? undefined : bgColor} $color={textColor}>\n {fields.imageUrl ? (\n <FullBleedImage $overlay={accent} $overlayOpacity={0.85}>\n <CoverImage src={fields.imageUrl} />\n </FullBleedImage>\n ) : null}\n <Chrome>\n <TopRow>\n {theme?.logo?.url ? <Logo src={theme.logo.url} alt=\"\" /> : <span />}\n <Company name=\"presentedBy\" value={fields.presentedBy} placeholder=\"Nome da empresa\" />\n </TopRow>\n <Head>\n <Title name=\"title\" value={fields.title} placeholder=\"Digite o título...\" />\n <Subtitle name=\"subtitle\" value={fields.subtitle} placeholder=\"Digite o subtítulo...\" />\n </Head>\n </Chrome>\n </CoverFrame>\n );\n}\n","import { useContext } from 'react';\nimport styled from 'styled-components';\nimport { fontStack } from '../../../surface/fonts';\nimport { CoverEditContext, CoverField, type CoverTemplateProps } from './primitives';\nimport { CoverFrame, CoverLogoImg } from './covers.styles';\n\nconst BAND_BG = '#e8ecf1';\nconst HAIRLINE = '#d5dae1';\n\nconst Hairline = styled.div`\n position: absolute;\n left: 4.7%;\n top: 3%;\n height: 94%;\n width: 1px;\n background: ${HAIRLINE};\n`;\n\nconst Logo = styled(CoverLogoImg)`\n position: absolute;\n left: 10.9%;\n top: 6%;\n max-height: 13.6cqw;\n max-width: 32.7cqw;\n`;\n\nconst AccentBar = styled.div<{ $accent: string }>`\n position: absolute;\n left: 4.7%;\n top: 22.3%;\n width: 1.13cqw;\n height: 28.7%;\n background: ${p => p.$accent};\n`;\n\nconst Head = styled.div`\n position: absolute;\n left: 10.9%;\n right: 6%;\n top: 22.3%;\n display: flex;\n flex-direction: column;\n`;\n\nconst Title = styled(CoverField)`\n display: block;\n font-weight: 800;\n font-size: 12.6cqw;\n line-height: 1.2;\n letter-spacing: -0.63cqw;\n text-transform: uppercase;\n`;\n\nconst DateLine = styled(CoverField)`\n display: block;\n margin-top: 3.3cqw;\n font-size: 4.5cqw;\n font-weight: 400;\n`;\n\nconst Band = styled.div`\n position: absolute;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 29.2%;\n background: ${BAND_BG};\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: 4.3cqw;\n padding-left: 10.9%;\n padding-right: 6%;\n box-sizing: border-box;\n`;\n\nconst Label = styled.div`\n font-size: 2.77cqw;\n font-weight: 400;\n`;\n\nconst Value = styled(CoverField)`\n display: block;\n margin-top: 1cqw;\n font-size: 3.4cqw;\n font-weight: 700;\n line-height: 1.3;\n text-transform: uppercase;\n`;\n\nexport function Model2({ fields, theme, accent, textColor, bgColor }: CoverTemplateProps) {\n const { editable } = useContext(CoverEditContext);\n const showHead = editable || Boolean(fields.title || fields.date);\n const showPrepared = editable || Boolean(fields.preparedFor);\n const showPresented = editable || Boolean(fields.presentedBy);\n const hasBand = showPrepared || showPresented;\n return (\n <CoverFrame $font={fontStack(theme?.documentFont)} $bg={bgColor} $color={textColor}>\n {theme?.logo?.url ? <Logo src={theme.logo.url} alt=\"\" /> : null}\n {showHead ? (\n <>\n <AccentBar $accent={accent} />\n <Head data-cover-head>\n <Title name=\"title\" value={fields.title} placeholder=\"Digite o título...\" />\n <DateLine name=\"date\" value={fields.date} placeholder=\"Mês e ano\" />\n </Head>\n </>\n ) : null}\n {hasBand ? (\n <Band data-cover-band>\n {showPrepared ? (\n <div>\n <Label>Preparada para</Label>\n <Value name=\"preparedFor\" value={fields.preparedFor} placeholder=\"Nome do cliente\" />\n </div>\n ) : null}\n {showPresented ? (\n <div>\n <Label>Apresentada por</Label>\n <Value name=\"presentedBy\" value={fields.presentedBy} placeholder=\"Nome da empresa\" />\n </div>\n ) : null}\n </Band>\n ) : null}\n <Hairline />\n </CoverFrame>\n );\n}\n","import { useContext } from 'react';\nimport styled from 'styled-components';\nimport { fontStack } from '../../../surface/fonts';\nimport { CoverEditContext, CoverField, CoverImage, type CoverTemplateProps } from './primitives';\nimport { CoverFrame, CoverLogoImg } from './covers.styles';\n\nconst ImageBand = styled.div`\n position: relative;\n width: 100%;\n height: 42.9cqw;\n flex-shrink: 0;\n overflow: hidden;\n background: #1a1a1a;\n\n & > [data-cover-image] {\n position: absolute;\n inset: 0;\n }\n`;\n\nconst Logo = styled(CoverLogoImg)`\n position: absolute;\n top: 1.2cqw;\n right: 5.9cqw;\n max-width: 14.7cqw;\n max-height: 14.7cqw;\n`;\n\nconst Body = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n padding: 11.5cqw 9.4cqw 7.35cqw;\n`;\n\nconst DateField = styled(CoverField)`\n display: block;\n font-size: 2.94cqw;\n font-weight: 400;\n opacity: 0.5;\n`;\n\nconst Title = styled(CoverField)`\n display: block;\n margin-top: 2.35cqw;\n font-size: 10.6cqw;\n font-weight: 800;\n line-height: 1.2;\n text-transform: uppercase;\n`;\n\nconst Subtitle = styled(CoverField)`\n display: block;\n margin-top: 4.7cqw;\n font-size: 3.53cqw;\n font-weight: 400;\n opacity: 0.62;\n`;\n\nconst Parties = styled.div`\n margin-top: 13.8cqw;\n display: flex;\n flex-direction: column;\n gap: 4.7cqw;\n`;\n\nconst Label = styled.div`\n font-size: 3.53cqw;\n font-weight: 600;\n`;\n\nconst Value = styled(CoverField)`\n display: block;\n margin-top: 0.7cqw;\n font-size: 3.53cqw;\n font-weight: 400;\n opacity: 0.62;\n`;\n\nexport function Model3({ fields, theme, textColor, bgColor }: CoverTemplateProps) {\n const { editable } = useContext(CoverEditContext);\n const showPresented = editable || Boolean(fields.presentedBy);\n const showPrepared = editable || Boolean(fields.preparedFor);\n return (\n <CoverFrame $font={fontStack(theme?.documentFont)} $bg={bgColor} $color={textColor}>\n <ImageBand>\n {fields.imageUrl ? <CoverImage src={fields.imageUrl} /> : null}\n {theme?.logo?.url ? <Logo src={theme.logo.url} alt=\"\" /> : null}\n </ImageBand>\n <Body>\n <DateField name=\"date\" value={fields.date} placeholder=\"Mês e ano\" />\n <Title name=\"title\" value={fields.title} placeholder=\"Digite o título...\" />\n <Subtitle name=\"subtitle\" value={fields.subtitle} placeholder=\"Digite o subtítulo...\" />\n {showPresented || showPrepared ? (\n <Parties data-cover-parties>\n {showPresented ? (\n <div>\n <Label>Apresentada por</Label>\n <Value name=\"presentedBy\" value={fields.presentedBy} placeholder=\"Nome da empresa\" />\n </div>\n ) : null}\n {showPrepared ? (\n <div>\n <Label>Preparada para</Label>\n <Value name=\"preparedFor\" value={fields.preparedFor} placeholder=\"Nome do cliente\" />\n </div>\n ) : null}\n </Parties>\n ) : null}\n </Body>\n </CoverFrame>\n );\n}\n","import { useContext } from 'react';\nimport styled from 'styled-components';\nimport { fontStack } from '../../../surface/fonts';\nimport { CoverEditContext, CoverField, type CoverTemplateProps } from './primitives';\nimport { CoverFrame, CoverLogoImg } from './covers.styles';\n\nconst Body = styled.div`\n display: flex;\n flex-direction: column;\n height: 100%;\n padding: 4.12cqw 9.4cqw 0;\n`;\n\nconst Logo = styled(CoverLogoImg)`\n max-width: 14.7cqw;\n max-height: 14.7cqw;\n`;\n\nconst Head = styled.div`\n margin-top: 23.2cqw;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n`;\n\nconst DateChip = styled(CoverField)<{ $accent: string }>`\n display: inline-block;\n align-self: flex-start;\n max-width: 100%;\n background: ${p => p.$accent};\n border-radius: 1000px;\n padding: 1.18cqw 2.94cqw;\n font-size: 2.94cqw;\n font-weight: 400;\n letter-spacing: -0.29cqw;\n color: #ffffff;\n`;\n\nconst Title = styled(CoverField)`\n display: block;\n align-self: stretch;\n margin-top: 3.5cqw;\n font-size: 14.1cqw;\n font-weight: 300;\n line-height: 1.1;\n letter-spacing: -1.41cqw;\n`;\n\nconst Footer = styled.div`\n margin-top: auto;\n padding-bottom: 11cqw;\n display: flex;\n gap: 6cqw;\n`;\n\nconst Party = styled.div`\n flex: 1;\n min-width: 0;\n`;\n\nconst Label = styled.div`\n font-size: 3.53cqw;\n font-weight: 300;\n letter-spacing: -0.35cqw;\n opacity: 0.72;\n`;\n\nconst Value = styled(CoverField)`\n display: block;\n margin-top: 1.5cqw;\n font-size: 4.12cqw;\n font-weight: 500;\n letter-spacing: -0.41cqw;\n`;\n\nexport function Model4({ fields, theme, accent, textColor, bgColor }: CoverTemplateProps) {\n const { editable } = useContext(CoverEditContext);\n const showPrepared = editable || Boolean(fields.preparedFor);\n const showPresented = editable || Boolean(fields.presentedBy);\n return (\n <CoverFrame $font={fontStack(theme?.documentFont)} $bg={bgColor} $color={textColor}>\n <Body>\n {theme?.logo?.url ? <Logo src={theme.logo.url} alt=\"\" /> : <span />}\n <Head>\n <DateChip name=\"date\" value={fields.date} placeholder=\"Mês e ano\" $accent={accent} />\n <Title name=\"title\" value={fields.title} placeholder=\"Digite o título...\" />\n </Head>\n {showPrepared || showPresented ? (\n <Footer data-cover-footer>\n {showPrepared ? (\n <Party>\n <Label>Apresentada para</Label>\n <Value name=\"preparedFor\" value={fields.preparedFor} placeholder=\"Nome do cliente\" />\n </Party>\n ) : null}\n {showPresented ? (\n <Party>\n <Label>Apresentada por</Label>\n <Value name=\"presentedBy\" value={fields.presentedBy} placeholder=\"Nome da empresa\" />\n </Party>\n ) : null}\n </Footer>\n ) : null}\n </Body>\n </CoverFrame>\n );\n}\n","import { useContext } from 'react';\nimport styled from 'styled-components';\nimport { fontStack } from '../../../surface/fonts';\nimport { CoverEditContext, CoverField, CoverImage, type CoverTemplateProps } from './primitives';\nimport { CoverFrame, FullBleedImage, CoverLogoImg } from './covers.styles';\n\nconst Spacer = styled.div`\n height: 24.4cqw;\n flex-shrink: 0;\n`;\n\nconst ImageBand = styled.div`\n position: relative;\n width: 100%;\n height: 64.4cqw;\n flex-shrink: 0;\n overflow: hidden;\n background: #e8eef7;\n`;\n\nconst Bar = styled.div<{ $accent: string }>`\n position: absolute;\n width: 47.9cqw;\n height: 2.06cqw;\n background: ${p => p.$accent};\n`;\n\nconst BarTop = styled(Bar)`\n top: 0;\n right: 0;\n`;\n\nconst BarBottom = styled(Bar)`\n bottom: 0;\n left: 0;\n`;\n\nconst Bottom = styled.div`\n flex: 1;\n display: flex;\n align-items: center;\n gap: 7cqw;\n padding: 0 4.7cqw 4cqw 7cqw;\n`;\n\nconst LogoCol = styled.div`\n flex-shrink: 0;\n width: 29.4cqw;\n`;\n\nconst Logo = styled(CoverLogoImg)`\n max-width: 29.4cqw;\n max-height: 29.4cqw;\n`;\n\nconst TextCol = styled.div`\n flex: 1;\n min-width: 0;\n`;\n\nconst Title = styled(CoverField)`\n display: block;\n font-size: 7.06cqw;\n font-weight: 700;\n line-height: 1.2;\n text-transform: uppercase;\n`;\n\nconst Subtitle = styled(CoverField)`\n display: block;\n margin-top: 2.47cqw;\n font-size: 2.94cqw;\n font-weight: 400;\n line-height: 1.2;\n opacity: 0.72;\n`;\n\nconst Presented = styled.div`\n margin-top: 3.5cqw;\n font-size: 2.94cqw;\n font-weight: 600;\n line-height: 1.2;\n`;\n\nconst PresentedValue = styled(CoverField)`\n font-weight: 600;\n`;\n\nexport function Model5({ fields, theme, accent, textColor, bgColor }: CoverTemplateProps) {\n const { editable } = useContext(CoverEditContext);\n const showPresented = editable || Boolean(fields.presentedBy);\n return (\n <CoverFrame $font={fontStack(theme?.documentFont)} $bg={bgColor} $color={textColor}>\n <Spacer />\n <ImageBand>\n {fields.imageUrl ? (\n <FullBleedImage $overlay={accent} $overlayOpacity={0.5}>\n <CoverImage src={fields.imageUrl} />\n </FullBleedImage>\n ) : null}\n </ImageBand>\n <Bottom>\n <LogoCol>{theme?.logo?.url ? <Logo src={theme.logo.url} alt=\"\" /> : null}</LogoCol>\n <TextCol>\n <Title name=\"title\" value={fields.title} placeholder=\"Digite o título...\" />\n <Subtitle name=\"subtitle\" value={fields.subtitle} placeholder=\"Digite o subtítulo...\" />\n {showPresented ? (\n <Presented>\n Apresentada por:{' '}\n <PresentedValue name=\"presentedBy\" value={fields.presentedBy} placeholder=\"Nome da empresa\" />\n </Presented>\n ) : null}\n </TextCol>\n </Bottom>\n <BarTop $accent={accent} />\n <BarBottom $accent={accent} />\n </CoverFrame>\n );\n}\n","import type { ComponentType } from 'react';\nimport type { Theme } from '../../../schema/theme';\nimport { DEFAULT_DOCUMENT_COLORS } from '../../../surface/surface';\nimport type { CoverTemplateProps } from './primitives';\nimport { Model1 } from './Model1';\nimport { Model2 } from './Model2';\nimport { Model3 } from './Model3';\nimport { Model4 } from './Model4';\nimport { Model5 } from './Model5';\n\nexport const COVER_TEMPLATES: Record<string, ComponentType<CoverTemplateProps>> = {\n 'model-1': Model1,\n 'model-2': Model2,\n 'model-3': Model3,\n 'model-4': Model4,\n 'model-5': Model5\n};\n\nexport const COVER_TEMPLATE_IDS = Object.keys(COVER_TEMPLATES);\n\nexport const resolveCoverAccent = (accent?: string, theme?: Theme): string =>\n accent ?? theme?.colors?.brand ?? DEFAULT_DOCUMENT_COLORS.brand;\n\n// Superfície de cada template: `brand` = capa colorida com texto claro,\n// `background` = capa clara com o texto do documento. É o que define de qual cor do\n// tema o fundo/texto herdam quando o bloco não tem override.\nconst COVER_SURFACES: Record<string, 'brand' | 'background'> = {\n 'model-1': 'brand',\n 'model-2': 'background',\n 'model-3': 'brand',\n 'model-4': 'brand',\n 'model-5': 'background'\n};\n\nconst ON_BRAND_TEXT = '#FFFFFF';\n\nexport type CoverColorOverrides = { accent?: string; textColor?: string; bgColor?: string };\n\nexport type CoverColors = { accent: string; textColor: string; bgColor: string };\n\nexport const resolveCoverColors = (\n templateId: string | undefined,\n { accent, textColor, bgColor }: CoverColorOverrides,\n theme?: Theme\n): CoverColors => {\n const colors = { ...DEFAULT_DOCUMENT_COLORS, ...theme?.colors };\n const onBrand = (COVER_SURFACES[templateId ?? ''] ?? COVER_SURFACES['model-1']) === 'brand';\n const resolvedAccent = resolveCoverAccent(accent, theme);\n\n return {\n accent: resolvedAccent,\n textColor: textColor ?? (onBrand ? ON_BRAND_TEXT : colors.text),\n bgColor: bgColor ?? (onBrand ? resolvedAccent : colors.background)\n };\n};\n","import type { CSSProperties } from 'react';\nimport type { CoverFields, Theme } from '../../schema/theme';\nimport { DEFAULT_DOCUMENT_COLORS } from '../../surface/surface';\nimport { COVER_TEMPLATES, resolveCoverColors } from './covers';\n\nexport type CoverPageProps = {\n templateId?: string;\n accent?: string;\n fields?: CoverFields;\n theme?: Theme;\n textColor?: string;\n bgColor?: string;\n};\n\nexport function CoverPage({ templateId, accent, fields, theme, textColor, bgColor }: CoverPageProps) {\n if (!templateId) return null;\n\n // CoverPage é IRMÃO do PageFrame no body (buildDocumentHtml), não descendente —\n // não pode contar com as --doc-* vars setadas lá, precisa das próprias.\n const colors = { ...DEFAULT_DOCUMENT_COLORS, ...theme?.colors };\n const vars: CSSProperties = {\n ['--doc-brand' as keyof CSSProperties]: colors.brand,\n ['--doc-text' as keyof CSSProperties]: colors.text,\n ['--doc-bg' as keyof CSSProperties]: colors.background\n } as CSSProperties;\n\n const Template = COVER_TEMPLATES[templateId] ?? COVER_TEMPLATES['model-1'];\n const resolved = resolveCoverColors(templateId, { accent, textColor, bgColor }, theme);\n\n // Layout (width/height/overflow) vem do CSS gerado (buildPageCss.ts): .dg-cover\n // já define width, e o escopo .pagedjs_page_content .dg-cover define height/overflow\n // para a página impressa. Inline aqui só carrega as --doc-* vars.\n return (\n <section className=\"dg-cover\" style={vars}>\n <Template fields={fields ?? {}} theme={theme} {...resolved} />\n </section>\n );\n}\n","import { useEffect, useMemo, useRef } from 'react';\nimport { registerOverlayPortal } from '@puckeditor/core';\nimport styled from 'styled-components';\nimport type { CoverFields, Theme } from '../../../schema/theme';\nimport { CoverEditContext } from './primitives';\nimport { COVER_TEMPLATES, resolveCoverColors } from './index';\n\n// container-type habilita unidades cqw nos templates: o cover fica proporcional\n// à largura do container (preview A4, tela de edição ~420px, miniatura) — sem px fixo.\nexport const A4Box = styled.div`\n aspect-ratio: 210 / 297;\n width: 100%;\n overflow: hidden;\n container-type: inline-size;\n`;\n\nexport type CoverEditableProps = {\n templateId: string;\n fields: CoverFields;\n accent?: string;\n theme?: Theme;\n textColor?: string;\n bgColor?: string;\n selected?: boolean;\n onFieldsChange: (next: CoverFields) => void;\n onImagePick: () => void;\n};\n\nexport function CoverEditable({\n templateId,\n fields,\n accent,\n theme,\n textColor,\n bgColor,\n selected,\n onFieldsChange,\n onImagePick\n}: CoverEditableProps) {\n const Template = COVER_TEMPLATES[templateId] ?? COVER_TEMPLATES['model-1'];\n const resolved = resolveCoverColors(templateId, { accent, textColor, bgColor }, theme);\n const boxRef = useRef<HTMLDivElement>(null);\n\n // Campos sempre editáveis; o overlay portal só é registrado QUANDO o bloco está\n // selecionado (deps [selected]). Fluxo: bloco não-selecionado → sem portal → 1º\n // clique seleciona o bloco; selecionado → portal ativo (disableDrag) → edita inline\n // SEM soltar a seleção. A afinação visual (borda serrilhada) é só no hover/focus de\n // cada campo (covers.styles), então nada \"pisca\" ao selecionar.\n useEffect(() => {\n const el = boxRef.current;\n if (!el || !selected) return undefined;\n try {\n return registerOverlayPortal(el, { disableDrag: true });\n } catch {\n return undefined;\n }\n }, [selected]);\n\n const contextValue = useMemo(\n () => ({\n editable: true,\n onFieldChange: (name: keyof CoverFields, value: string) => onFieldsChange({ ...fields, [name]: value }),\n onImagePick\n }),\n [fields, onFieldsChange, onImagePick]\n );\n return (\n <CoverEditContext.Provider value={contextValue}>\n <A4Box ref={boxRef}>\n <Template fields={fields} theme={theme} {...resolved} />\n </A4Box>\n </CoverEditContext.Provider>\n );\n}\n","import type { CoverFields, Theme } from '../../../schema/theme';\nimport { COVER_TEMPLATES, resolveCoverColors } from './index';\nimport { A4Box } from './CoverEditable';\n\nexport type CoverTemplateStaticProps = {\n templateId: string;\n fields: CoverFields;\n accent?: string;\n theme?: Theme;\n textColor?: string;\n bgColor?: string;\n};\n\nexport function CoverTemplateStatic({\n templateId,\n fields,\n accent,\n theme,\n textColor,\n bgColor\n}: CoverTemplateStaticProps) {\n const Template = COVER_TEMPLATES[templateId] ?? COVER_TEMPLATES['model-1'];\n const resolved = resolveCoverColors(templateId, { accent, textColor, bgColor }, theme);\n return (\n <A4Box>\n <Template fields={fields} theme={theme} {...resolved} />\n </A4Box>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { CompanyInfo } from './types';\n\nconst icon = (viewBox: string, d: string) => (\n <svg width=\"14\" height=\"14\" viewBox={viewBox} fill=\"currentColor\" aria-hidden=\"true\">\n <path d={d} />\n </svg>\n);\n\n// Paths do Font Awesome (pro-regular + brands) — mesmos ícones da plataforma.\n// SVG inline mantém o artifact autocontido (nada de icon font / request extra).\nexport const COMPANY_INFO_ICONS: Record<keyof CompanyInfo, ReactNode> = {\n companyName: icon(\n '0 0 384 512',\n 'M64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16l80 0 0-64c0-26.5 21.5-48 48-48s48 21.5 48 48l0 64 80 0c8.8 0 16-7.2 16-16l0-384c0-8.8-7.2-16-16-16L64 48zM0 64C0 28.7 28.7 0 64 0L320 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zm88 40c0-8.8 7.2-16 16-16l48 0c8.8 0 16 7.2 16 16l0 48c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-48zM232 88l48 0c8.8 0 16 7.2 16 16l0 48c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-48c0-8.8 7.2-16 16-16zM88 232c0-8.8 7.2-16 16-16l48 0c8.8 0 16 7.2 16 16l0 48c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-48zm144-16l48 0c8.8 0 16 7.2 16 16l0 48c0 8.8-7.2 16-16 16l-48 0c-8.8 0-16-7.2-16-16l0-48c0-8.8 7.2-16 16-16z'\n ),\n cnpj: icon(\n '0 0 576 512',\n 'M528 160l0 256c0 8.8-7.2 16-16 16l-192 0c0-44.2-35.8-80-80-80l-64 0c-44.2 0-80 35.8-80 80l-32 0c-8.8 0-16-7.2-16-16l0-256 480 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM272 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm104-48c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0z'\n ),\n phone: icon(\n '0 0 512 512',\n 'M375.8 275.2c-16.4-7-35.4-2.4-46.7 11.4l-33.2 40.6c-46-26.7-84.4-65.1-111.1-111.1L225.3 183c13.8-11.3 18.5-30.3 11.4-46.7l-48-112C181.2 6.7 162.3-3.1 143.6 .9l-112 24C13.2 28.8 0 45.1 0 64c0 0 0 0 0 0C0 295.2 175.2 485.6 400.1 509.5c9.8 1 19.6 1.8 29.6 2.2c0 0 0 0 0 0c0 0 .1 0 .1 0c6.1 .2 12.1 .4 18.2 .4c0 0 0 0 0 0c18.9 0 35.2-13.2 39.1-31.6l24-112c4-18.7-5.8-37.6-23.4-45.1l-112-48zM441.5 464C225.8 460.5 51.5 286.2 48.1 70.5l99.2-21.3 43 100.4L154.4 179c-18.2 14.9-22.9 40.8-11.1 61.2c30.9 53.3 75.3 97.7 128.6 128.6c20.4 11.8 46.3 7.1 61.2-11.1l29.4-35.9 100.4 43L441.5 464zM48 64s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0s0 0 0 0z'\n ),\n email: icon(\n '0 0 512 512',\n 'M64 112c-8.8 0-16 7.2-16 16l0 22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1l0-22.1c0-8.8-7.2-16-16-16L64 112zM48 212.2L48 384c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-171.8L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64l384 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128z'\n ),\n address: icon(\n '0 0 384 512',\n 'M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zm-160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z'\n ),\n site: icon(\n '0 0 512 512',\n 'M256 464c7.4 0 27-7.2 47.6-48.4c8.8-17.7 16.4-39.2 22-63.6l-139.2 0c5.6 24.4 13.2 45.9 22 63.6C229 456.8 248.6 464 256 464zM178.5 304l155 0c1.6-15.3 2.5-31.4 2.5-48s-.9-32.7-2.5-48l-155 0c-1.6 15.3-2.5 31.4-2.5 48s.9 32.7 2.5 48zm7.9-144l139.2 0c-5.6-24.4-13.2-45.9-22-63.6C283 55.2 263.4 48 256 48s-27 7.2-47.6 48.4c-8.8 17.7-16.4 39.2-22 63.6zm195.3 48c1.5 15.5 2.2 31.6 2.2 48s-.8 32.5-2.2 48l76.7 0c3.6-15.4 5.6-31.5 5.6-48s-1.9-32.6-5.6-48l-76.7 0zm58.8-48c-21.4-41.1-56.1-74.1-98.4-93.4c14.1 25.6 25.3 57.5 32.6 93.4l65.9 0zm-303.3 0c7.3-35.9 18.5-67.7 32.6-93.4c-42.3 19.3-77 52.3-98.4 93.4l65.9 0zM53.6 208c-3.6 15.4-5.6 31.5-5.6 48s1.9 32.6 5.6 48l76.7 0c-1.5-15.5-2.2-31.6-2.2-48s.8-32.5 2.2-48l-76.7 0zM342.1 445.4c42.3-19.3 77-52.3 98.4-93.4l-65.9 0c-7.3 35.9-18.5 67.7-32.6 93.4zm-172.2 0c-14.1-25.6-25.3-57.5-32.6-93.4l-65.9 0c21.4 41.1 56.1 74.1 98.4 93.4zM256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512z'\n ),\n instagram: icon(\n '0 0 448 512',\n 'M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'\n ),\n facebook: icon(\n '0 0 320 512',\n 'M80 299.3V512H196V299.3h86.5l18-97.8H196V166.9c0-51.7 20.3-71.5 72.7-71.5c16.3 0 29.4 .4 37 1.2V7.9C291.4 4 256.4 0 236.2 0C129.3 0 80 50.5 80 159.4v42.1H14v97.8H80z'\n ),\n twitter: icon(\n '0 0 512 512',\n 'M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z'\n ),\n linkedin: icon(\n '0 0 448 512',\n 'M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z'\n )\n};\n","import styled from 'styled-components';\n\n// Chrome roda dentro das margin boxes do Paged.js — fora do PageFrame, sem herdar\n// font-family nem --doc-* vars; cada root recebe fonte e cores via props.\n// O Paged.js força `display: block` no filho direto da margin box com especificidade\n// (0,4,0) — por isso o root é block e o layout flex fica num wrapper interno.\n// O fundo da faixa NÃO fica aqui: é pintado na row inteira do Paged.js (corners\n// inclusos) pelo buildPageCss, pra faixa ser full-bleed até as bordas da página.\nexport const HeaderRoot = styled.header<{ $color: string; $font: string }>`\n height: 100%;\n color: ${props => props.$color};\n font-family: ${props => props.$font};\n line-height: 1.5;\n`;\n\nexport const HeaderLayout = styled.div<{ $reverse: boolean }>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-direction: ${props => (props.$reverse ? 'row-reverse' : 'row')};\n gap: 16px;\n height: 100%;\n padding: 12px 0;\n`;\n\nexport const HeaderInfo = styled.div<{ $alignEnd?: boolean }>`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: ${props => (props.$alignEnd ? 'flex-end' : 'flex-start')};\n min-width: 0;\n font-size: 12px;\n text-align: ${props => (props.$alignEnd ? 'right' : 'left')};\n`;\n\n// Ícone fica sempre na borda externa da página: infos à direita (logo left) → texto, ícone.\nexport const InfoLine = styled.span<{ $strong?: boolean; $iconAfter?: boolean }>`\n display: flex;\n flex-direction: ${props => (props.$iconAfter ? 'row-reverse' : 'row')};\n align-items: center;\n gap: 8px;\n height: 22px;\n font-weight: ${props => (props.$strong ? 600 : 400)};\n font-size: ${props => (props.$strong ? '12.5px' : '12px')};\n\n svg {\n flex-shrink: 0;\n }\n`;\n\nexport const HeaderLogo = styled.img`\n max-height: 44px;\n max-width: 180px;\n object-fit: contain;\n`;\n\nexport const FooterRoot = styled.footer<{ $color: string; $font: string }>`\n height: 100%;\n color: ${props => props.$color};\n font-family: ${props => props.$font};\n line-height: 1.5;\n`;\n\nexport const FooterLayout = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n height: 100%;\n padding: 12px 0;\n`;\n\nexport const FooterInfoRows = styled.div<{ $justify: string }>`\n display: flex;\n align-items: center;\n justify-content: ${props => props.$justify};\n flex-wrap: wrap;\n column-gap: 24px;\n font-size: 12px;\n`;\n\nexport const FooterItem = styled.span`\n display: inline-flex;\n align-items: center;\n gap: 6px;\n height: 22px;\n white-space: nowrap;\n\n svg {\n flex-shrink: 0;\n }\n`;\n","import type { HeaderConfig } from '../../schema/theme';\nimport type { CompanyInfo } from './types';\nimport { fontStack } from '../../surface/fonts';\nimport { COMPANY_INFO_ICONS } from './icons';\nimport { HeaderInfo, HeaderLayout, HeaderLogo, HeaderRoot, InfoLine } from './chrome.styles';\n\n/** Ordem em que as informações da empresa aparecem no cabeçalho. */\nexport const HEADER_INFO_ORDER: Array<keyof CompanyInfo> = ['companyName', 'cnpj', 'phone', 'email', 'address'];\n\nexport type HeaderBarProps = {\n config?: Partial<HeaderConfig>;\n companyInfo?: CompanyInfo;\n logoUrl?: string;\n documentFont?: string;\n};\n\nexport function HeaderBar({ config, companyInfo = {}, logoUrl, documentFont }: HeaderBarProps) {\n if (!config?.enabled) return null;\n\n const lines = HEADER_INFO_ORDER.filter(\n key => config.info?.[key as keyof NonNullable<HeaderConfig['info']>] && companyInfo[key]\n );\n const logoLeft = config.logoPosition === 'left';\n\n return (\n <HeaderRoot className=\"dg-running-header\" $color={config.color ?? '#3F4759'} $font={fontStack(documentFont)}>\n <HeaderLayout $reverse={logoLeft}>\n <HeaderInfo $alignEnd={logoLeft}>\n {lines.map(key => (\n <InfoLine key={key} $strong={key === 'companyName'} $iconAfter={logoLeft}>\n {COMPANY_INFO_ICONS[key]}\n <span>{companyInfo[key]}</span>\n </InfoLine>\n ))}\n </HeaderInfo>\n {logoUrl ? <HeaderLogo src={logoUrl} alt=\"\" /> : null}\n </HeaderLayout>\n </HeaderRoot>\n );\n}\n","import type { FooterConfig } from '../../schema/theme';\nimport type { CompanyInfo } from './types';\nimport { fontStack } from '../../surface/fonts';\nimport { COMPANY_INFO_ICONS } from './icons';\nimport { FooterInfoRows, FooterItem, FooterLayout, FooterRoot } from './chrome.styles';\n\n/** Ordem em que as informações da empresa aparecem no rodapé. */\nexport const FOOTER_INFO_ORDER: Array<keyof CompanyInfo> = [\n 'phone',\n 'site',\n 'instagram',\n 'facebook',\n 'twitter',\n 'linkedin',\n 'email',\n 'address'\n];\n\nconst ALIGNMENT_TO_JUSTIFY: Record<NonNullable<FooterConfig['alignment']>, string> = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end'\n};\n\nexport type FooterBarProps = {\n config?: Partial<FooterConfig>;\n companyInfo?: CompanyInfo;\n documentFont?: string;\n};\n\n// Número de página: absoluto no canto direito do conteúdo, acima da faixa —\n// posicionamento e counter(page, decimal-leading-zero) ficam no buildPageCss.\nexport function FooterBar({ config, companyInfo = {}, documentFont }: FooterBarProps) {\n if (!config?.enabled) return null;\n\n const lines = FOOTER_INFO_ORDER.filter(\n key => config.info?.[key as keyof NonNullable<FooterConfig['info']>] && companyInfo[key]\n );\n const justify = ALIGNMENT_TO_JUSTIFY[config.alignment ?? 'center'];\n\n return (\n <FooterRoot className=\"dg-running-footer\" $color={config.color ?? '#3F4759'} $font={fontStack(documentFont)}>\n {config.pageNumber ? <span className=\"dg-page-number\" /> : null}\n <FooterLayout>\n {lines.length ? (\n <FooterInfoRows $justify={justify}>\n {lines.map(key => (\n <FooterItem key={key}>\n {COMPANY_INFO_ICONS[key]}\n <span>{companyInfo[key]}</span>\n </FooterItem>\n ))}\n </FooterInfoRows>\n ) : null}\n </FooterLayout>\n </FooterRoot>\n );\n}\n","import type { Theme } from '../schema/theme';\nimport { DEFAULT_DOCUMENT_COLORS, DEFAULT_PAGE_MARGINS } from '../surface/surface';\n\nconst CHROME_LINE_PX = 22;\nconst CHROME_PAD_PX = 24;\nconst HEADER_MIN_PX = 68;\nconst FOOTER_MIN_PX = 48;\nconst CONTENT_GAP_PX = 16;\nconst NUMBER_STRIP_PX = 24;\n\n/** Altura da faixa do header — acompanha o nº de infos habilitadas (layout do HeaderBar). */\nexport function headerHeightPx(theme: Theme = {}): number {\n if (!theme.header?.enabled) return 0;\n const lines = Object.values(theme.header.info ?? {}).filter(Boolean).length;\n return Math.max(CHROME_PAD_PX + lines * CHROME_LINE_PX, HEADER_MIN_PX);\n}\n\n/** Altura da faixa do footer — infos com quebra estimada (~3 por linha); o número de página fica FORA da faixa (absoluto no conteúdo). */\nexport function footerHeightPx(theme: Theme = {}): number {\n if (!theme.footer?.enabled) return 0;\n const infos = Object.values(theme.footer.info ?? {}).filter(Boolean).length;\n return Math.max(CHROME_PAD_PX + Math.ceil(infos / 3) * CHROME_LINE_PX, FOOTER_MIN_PX);\n}\n\n/** Blocos que nunca são cortados entre páginas. O host sobrescreve via `buildPageCss(theme, { noCutBlockKeys })`. */\nexport const DEFAULT_NO_CUT_BLOCKS = ['Image', 'Button', 'Divider', 'IconText', 'ImageGrid', 'ImageText', 'Signature'];\n\n/** CSS de paginação (Paged.js) — mesma string no preview e no serviço de PDF. */\nexport function buildPageCss(theme: Theme = {}, opts: { hasCover?: boolean; noCutBlockKeys?: string[] } = {}): string {\n const noCutBlocks = opts.noCutBlockKeys ?? DEFAULT_NO_CUT_BLOCKS;\n const margins = { ...DEFAULT_PAGE_MARGINS, ...theme.page?.margins };\n const format = theme.page?.format ?? 'A4';\n const size = theme.page?.orientation === 'landscape' ? `${format} landscape` : format;\n const hasHeader = Boolean(theme.header?.enabled);\n const hasFooter = Boolean(theme.footer?.enabled);\n const hasCover = Boolean(opts.hasCover);\n\n const headerH = headerHeightPx(theme);\n const footerH = footerHeightPx(theme);\n const pageBg = theme.colors?.background ?? DEFAULT_DOCUMENT_COLORS.background;\n\n // Header/footer são faixas full-bleed: a MARGEM da página vira faixa + respiro.\n // O respiro NÃO pode ser padding no [data-docgen-root] — o Paged.js zera padding\n // dos fragmentos continuados (data-split-*) e o conteúdo colaria na faixa em\n // página cheia. Então a margem inclui o respiro e o fundo é um gradiente que\n // pinta só a área da banda (transparente no respiro/strip do número).\n const top = hasHeader ? headerH + CONTENT_GAP_PX : margins.top;\n const bottom = hasFooter ? footerH + NUMBER_STRIP_PX : margins.bottom;\n\n const parts: string[] = [];\n\n // Altura explícita nas margin boxes: sem ela o bottom-center do Paged.js some (o\n // top-center funciona por convenção de alinhamento do polyfill, o bottom não).\n parts.push(`@page {\n size: ${size};\n margin: ${top}px ${margins.right}px ${bottom}px ${margins.left}px;\n ${hasHeader ? `@top-center { content: element(docHeader); height: ${top}px; }` : ''}\n ${hasFooter ? `@bottom-center { content: element(docFooter); height: ${bottom}px; }` : ''}\n}`);\n\n // O fundo do documento é da FOLHA, não do [data-docgen-root]: dentro do Paged.js o root\n // ocupa só a área de conteúdo, então pintá-lo deixaria as margens (e as faixas de\n // header/footer) sem cor. `print-color-adjust` mantém o fundo no PDF do Chromium.\n parts.push(`.pagedjs_page, .pagedjs_sheet {\n background: ${pageBg};\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n}`);\n\n if (hasCover) {\n parts.push(`@page cover {\n margin: 0;\n}\n.dg-cover { page: cover; break-after: page; width: 100%; }\n.pagedjs_page_content .dg-cover {\n height: 100%;\n overflow: hidden;\n margin: 0;\n padding: 0;\n container-type: inline-size;\n}\n.pagedjs_cover_page .pagedjs_margin-top-center,\n.pagedjs_cover_page .pagedjs_margin-bottom-center { display: none; }\n.pagedjs_cover_page { counter-increment: page 0; }`);\n }\n\n if (hasHeader) {\n const headerBg = theme.header?.background ?? pageBg;\n parts.push(`.dg-running-header {\n position: running(docHeader);\n box-sizing: border-box;\n padding-bottom: ${CONTENT_GAP_PX}px;\n}\n.pagedjs_page .pagedjs_margin-top,\n.pagedjs_page .pagedjs_margin-top-left-corner-holder,\n.pagedjs_page .pagedjs_margin-top-right-corner-holder {\n background: linear-gradient(${headerBg} ${headerH}px, transparent ${headerH}px);\n}`);\n }\n\n if (hasFooter) {\n const footerBg = theme.footer?.background ?? pageBg;\n // Número de página é absoluto no canto direito do conteúdo, logo ACIMA da faixa\n // âncora é a margin box do Paged.js (positioned).\n // Ele mora no strip transparente de NUMBER_STRIP_PX no topo da margem inferior,\n // pra nunca sobrepor conteúdo em página cheia.\n parts.push(`.dg-running-footer {\n position: running(docFooter);\n box-sizing: border-box;\n padding-top: ${NUMBER_STRIP_PX}px;\n}\n.dg-page-number::after { content: counter(page, decimal-leading-zero); }\n.dg-running-footer .dg-page-number {\n position: absolute;\n right: ${margins.right}px;\n bottom: ${footerH + 3}px;\n font-size: 12px;\n font-weight: 500;\n line-height: 18px;\n color: ${theme.colors?.text ?? DEFAULT_DOCUMENT_COLORS.text};\n}\n.pagedjs_page .pagedjs_margin-bottom,\n.pagedjs_page .pagedjs_margin-bottom-left-corner-holder,\n.pagedjs_page .pagedjs_margin-bottom-right-corner-holder {\n background: linear-gradient(transparent ${NUMBER_STRIP_PX}px, ${footerBg} ${NUMBER_STRIP_PX}px);\n}`);\n }\n\n // Escopado em .pagedjs_page_content: o Paged.js injeta este CSS no <head> do documento\n // inteiro, e o editor usa os mesmos atributos data-docgen-* — sem escopo o reset vaza pro canvas.\n parts.push(`.pagedjs_page_content [data-docgen-root] {\n width: auto;\n max-width: none;\n min-height: 0;\n margin: 0;\n padding: 0;\n}`);\n\n parts.push(`${noCutBlocks.map(key => `[data-docgen-block=\"${key}\"]`).join(',\\n')} { break-inside: avoid; }`);\n\n parts.push(`[data-docgen-block=\"PageBreak\"] { break-after: page; }\n[data-docgen-block] { orphans: 2; widows: 2; }\n.dg-no-break { break-inside: avoid; }\nspan.dg-var { break-inside: avoid; }\n[data-docgen-block] thead { display: table-header-group; }`);\n\n return parts.join('\\n\\n');\n}\n","// GERADO por scripts/embed-pagedjs.mjs — não editar. Fonte: pagedjs/dist/paged.polyfill.min.js\nexport const PAGEDJS_SOURCE: string = \"/**\\n * @license Paged.js v0.4.3 | MIT | https://gitlab.coko.foundation/pagedjs/pagedjs\\n */\\n!function(e,t){\\\"object\\\"==typeof exports&&\\\"undefined\\\"!=typeof module?module.exports=t():\\\"function\\\"==typeof define&&define.amd?define(t):(e=\\\"undefined\\\"!=typeof globalThis?globalThis:e||self).PagedPolyfill=t()}(this,(function(){\\\"use strict\\\";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\\\"default\\\")?e.default:e}var t,n,r={exports:{}},a={exports:{}};var i,o,s,l,d=function(){},p=d(),c=function(e){return e!==p&&null!==e};function u(){return l||(l=1,s=(n?t:(n=1,t=function(){try{return Object.keys(\\\"primitive\\\"),!0}catch(e){return!1}}))()?Object.keys:function(){if(o)return i;o=1;var e=c,t=Object.keys;return i=function(n){return t(e(n)?Object(n):n)}}()),s}var m,h,g=c,f=function(e){if(!g(e))throw new TypeError(\\\"Cannot use null or undefined\\\");return e};var y,b,S=function(){var e,t=Object.assign;return\\\"function\\\"==typeof t&&(t(e={foo:\\\"raz\\\"},{bar:\\\"dwa\\\"},{trzy:\\\"trzy\\\"}),e.foo+e.bar+e.trzy===\\\"razdwatrzy\\\")}()?Object.assign:function(){if(h)return m;h=1;var e=u(),t=f,n=Math.max;return m=function(r,a){var i,o,s,l=n(arguments.length,2);for(r=Object(t(r)),s=function(e){try{r[e]=a[e]}catch(e){i||(i=e)}},o=1;o<l;++o)e(a=arguments[o]).forEach(s);if(void 0!==i)throw i;return r},m}(),v=c,x=Array.prototype.forEach,k=Object.create,w=\\\"razdwatrzy\\\";var C,T=\\\"function\\\"==typeof w.contains&&!0===w.contains(\\\"dwa\\\")&&!1===w.contains(\\\"foo\\\")?String.prototype.contains:function(){if(b)return y;b=1;var e=String.prototype.indexOf;return y=function(t){return e.call(this,t,arguments[1])>-1},y}(),_=S,z=function(e){var t=k(null);return x.call(arguments,(function(e){v(e)&&function(e,t){var n;for(n in e)t[n]=e[n]}(Object(e),t)})),t},O=function(e){return\\\"function\\\"==typeof e},A=T;C=a.exports=function(e,t){var n,r,a,i,o;return arguments.length<2||\\\"string\\\"!=typeof e?(i=t,t=e,e=null):i=arguments[2],null==e?(n=a=!0,r=!1):(n=A.call(e,\\\"c\\\"),r=A.call(e,\\\"e\\\"),a=A.call(e,\\\"w\\\")),o={value:t,configurable:n,enumerable:r,writable:a},i?_(z(i),o):o},C.gs=function(e,t,n){var r,a,i,o;return\\\"string\\\"!=typeof e?(i=n,n=t,t=e,e=null):i=arguments[3],null==t?t=void 0:O(t)?null==n?n=void 0:O(n)||(i=n,n=void 0):(i=t,t=n=void 0),null==e?(r=!0,a=!1):(r=A.call(e,\\\"c\\\"),a=A.call(e,\\\"e\\\")),o={get:t,set:n,configurable:r,enumerable:a},i?_(z(i),o):o};var E=a.exports,j=function(e){if(\\\"function\\\"!=typeof e)throw new TypeError(e+\\\" is not a function\\\");return e};!function(e,t){var n,r,a,i,o,s,l,d=E,p=j,c=Function.prototype.apply,u=Function.prototype.call,m=Object.create,h=Object.defineProperty,g=Object.defineProperties,f=Object.prototype.hasOwnProperty,y={configurable:!0,enumerable:!1,writable:!0};n=function(e,t){var n;return p(t),f.call(this,\\\"__ee__\\\")?n=this.__ee__:(n=y.value=m(null),h(this,\\\"__ee__\\\",y),y.value=null),n[e]?\\\"object\\\"==typeof n[e]?n[e].push(t):n[e]=[n[e],t]:n[e]=t,this},r=function(e,t){var r,i;return p(t),i=this,n.call(this,e,r=function(){a.call(i,e,r),c.call(t,this,arguments)}),r.__eeOnceListener__=t,this},a=function(e,t){var n,r,a,i;if(p(t),!f.call(this,\\\"__ee__\\\"))return this;if(!(n=this.__ee__)[e])return this;if(\\\"object\\\"==typeof(r=n[e]))for(i=0;a=r[i];++i)a!==t&&a.__eeOnceListener__!==t||(2===r.length?n[e]=r[i?0:1]:r.splice(i,1));else r!==t&&r.__eeOnceListener__!==t||delete n[e];return this},i=function(e){var t,n,r,a,i;if(f.call(this,\\\"__ee__\\\")&&(a=this.__ee__[e]))if(\\\"object\\\"==typeof a){for(n=arguments.length,i=new Array(n-1),t=1;t<n;++t)i[t-1]=arguments[t];for(a=a.slice(),t=0;r=a[t];++t)c.call(r,this,i)}else switch(arguments.length){case 1:u.call(a,this);break;case 2:u.call(a,this,arguments[1]);break;case 3:u.call(a,this,arguments[1],arguments[2]);break;default:for(n=arguments.length,i=new Array(n-1),t=1;t<n;++t)i[t-1]=arguments[t];c.call(a,this,i)}},o={on:n,once:r,off:a,emit:i},s={on:d(n),once:d(r),off:d(a),emit:d(i)},l=g({},s),e.exports=t=function(e){return null==e?m(l):g(Object(e),s)},t.methods=o}(r,r.exports);var W=r.exports,L=e(W);class B{constructor(e){this.context=e||this,this.hooks=[]}register(){for(var e=0;e<arguments.length;++e)if(\\\"function\\\"==typeof arguments[e])this.hooks.push(arguments[e]);else for(var t=0;t<arguments[e].length;++t)this.hooks.push(arguments[e][t])}trigger(){var e=arguments,t=this.context,n=[];return this.hooks.forEach((function(r){var a=r.apply(t,e);a&&\\\"function\\\"==typeof a.then?n.push(a):n.push(new Promise(((e,t)=>{e(a)})))})),Promise.all(n)}triggerSync(){var e=arguments,t=this.context,n=[];return this.hooks.forEach((function(r){var a=r.apply(t,e);n.push(a)})),n}list(){return this.hooks}clear(){return this.hooks=[]}}function P(e){if(!e)return;let t;if(void 0!==e.getBoundingClientRect)t=e.getBoundingClientRect();else{let n=document.createRange();n.selectNode(e),t=n.getBoundingClientRect()}return t}function q(e){if(!e)return;let t;if(void 0!==e.getClientRects)t=e.getClientRects();else{let n=document.createRange();n.selectNode(e),t=n.getClientRects()}return t}function M(){var e=(new Date).getTime();return\\\"undefined\\\"!=typeof performance&&\\\"function\\\"==typeof performance.now&&(e+=performance.now()),\\\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\\\".replace(/[xy]/g,(function(t){var n=(e+16*Math.random())%16|0;return e=Math.floor(e/16),(\\\"x\\\"===t?n:3&n|8).toString(16)}))}function I(e,t){for(var n=0;n<t.length;n++)if(e.hasAttribute(t[n]))return e.getAttribute(t[n])}function D(e){if(0==arguments.length)throw new TypeError(\\\"`CSS.escape` requires an argument.\\\");for(var t,n=String(e),r=n.length,a=-1,i=\\\"\\\",o=n.charCodeAt(0);++a<r;)0!=(t=n.charCodeAt(a))?t>=1&&t<=31||127==t||0==a&&t>=48&&t<=57||1==a&&t>=48&&t<=57&&45==o?i+=\\\"\\\\\\\\\\\"+t.toString(16)+\\\" \\\":0!=a||1!=r||45!=t?46!=t||\\\"#\\\"!=n.charAt(0)?i+=t>=128||45==t||95==t||35==t||46==t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122?n.charAt(a):\\\"\\\\\\\\\\\"+n.charAt(a):i+=\\\"\\\\\\\\.\\\":i+=\\\"\\\\\\\\\\\"+n.charAt(a):i+=\\\"�\\\";return i}function R(){this.resolve=null,this.reject=null,this.id=M(),this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t})),Object.freeze(this)}const N=\\\"undefined\\\"!=typeof window&&(\\\"requestIdleCallback\\\"in window?window.requestIdleCallback:window.requestAnimationFrame);function G(e){return e.value+(e.unit||\\\"\\\")}function F(e){return e&&1===e.nodeType}function V(e){return e&&3===e.nodeType}function*U(e,t){let n=e;for(;n;)if(yield n,n.childNodes.length)n=n.firstChild;else if(n.nextSibling){if(t&&n===t){n=void 0;break}n=n.nextSibling}else for(;n;){if(n=n.parentNode,t&&n===t){n=void 0;break}if(n&&n.nextSibling){n=n.nextSibling;break}}}function H(e,t){if(t&&e===t)return;let n=he(e);if(n)return n;if(e.parentNode)for(;e=e.parentNode;){if(t&&e===t)return;if(n=he(e),n)return n}}function $(e,t){if(t&&e===t)return;let n=pe(e);if(n)return n;if(e.parentNode)for(;e=e.parentNode;){if(t&&e===t)return;if(n=pe(e),n)return n}}function Y(e,t){let n=H(e,t);for(;n&&1!==n.nodeType;)n=H(n,t);return n}function K(e,t){let n=$(e,t);for(;n&&1!==n.nodeType;)n=$(n,t);return n}function Z(e,t){let n=Y(e,t);for(;n&&n.dataset.undisplayed;)n=Y(n,t);return n}function Q(e,t){let n=K(e,t);for(;n&&n.dataset.undisplayed;)n=K(n,t);return n}function J(e){let t,n,r=[],a=[],i=document.createDocumentFragment();if(\\\"TR\\\"===e.nodeName){let t=e.previousElementSibling,n=1;for(;t;){if(t.childElementCount>e.childElementCount){const r=Array.from(e.children);for(;e.firstChild;)e.firstChild.remove();let a=0;for(let i=0;i<t.children.length;i++){let o=t.children[i];if(o.rowSpan&&o.rowSpan>n){const t=o.cloneNode(!0);t.rowSpan=o.rowSpan-n,e.appendChild(t)}else{const t=r[a++];t&&e.appendChild(t)}}}t=t.previousElementSibling,n++}}let o=e;for(;o.parentNode&&1===o.parentNode.nodeType;)r.unshift(o.parentNode),o=o.parentNode;for(var s=0;s<r.length;s++){if(n=r[s],t=n.cloneNode(!1),t.setAttribute(\\\"data-split-from\\\",t.getAttribute(\\\"data-ref\\\")),t.hasAttribute(\\\"id\\\")){let e=t.getAttribute(\\\"id\\\");t.setAttribute(\\\"data-id\\\",e),t.removeAttribute(\\\"id\\\")}if(t.hasAttribute(\\\"data-break-before\\\")&&t.removeAttribute(\\\"data-break-before\\\"),t.hasAttribute(\\\"data-previous-break-after\\\")&&t.removeAttribute(\\\"data-previous-break-after\\\"),a.length){a[a.length-1].appendChild(t)}else i.appendChild(t);if(a.push(t),\\\"TD\\\"===t.nodeName&&n.parentElement.contains(n)){let e=n,r=t;for(;e=e.previousElementSibling;){let n=e.cloneNode(!1);t.parentElement.insertBefore(n,r),r=n}}}return a=void 0,i}function X(e){return void 0!==e&&void 0!==e.dataset&&void 0!==e.dataset.breakBefore&&(\\\"always\\\"===e.dataset.breakBefore||\\\"page\\\"===e.dataset.breakBefore||\\\"left\\\"===e.dataset.breakBefore||\\\"right\\\"===e.dataset.breakBefore||\\\"recto\\\"===e.dataset.breakBefore||\\\"verso\\\"===e.dataset.breakBefore)}function ee(e,t){if(void 0===e||!t||de(e))return!1;if(e.dataset&&e.dataset.undisplayed)return!1;let n=t.dataset?t.dataset.page:void 0;if(void 0===n){const e=ce(t);e&&(n=e.dataset.page)}let r=e.dataset?e.dataset.page:void 0;if(void 0===r){const n=ce(e,t);n&&(r=n.dataset.page)}return r!==n}function*te(e){let t,n=e.startContainer,r=n.length,a=e.startOffset;for(;a<r;)t=document.createRange(),t.setStart(n,a),t.setEnd(n,a+1),yield t,a+=1}function ne(e){let t;if(void 0===e.tagName)return!0;if(e.style&&\\\"none\\\"===e.style.display)return!1;switch(e.tagName){case\\\"A\\\":case\\\"ABBR\\\":case\\\"ACRONYM\\\":case\\\"B\\\":case\\\"BDO\\\":case\\\"BIG\\\":case\\\"BR\\\":case\\\"BUTTON\\\":case\\\"CITE\\\":case\\\"CODE\\\":case\\\"DFN\\\":case\\\"EM\\\":case\\\"I\\\":case\\\"IMG\\\":case\\\"INPUT\\\":case\\\"KBD\\\":case\\\"LABEL\\\":case\\\"MAP\\\":case\\\"OBJECT\\\":case\\\"Q\\\":case\\\"SAMP\\\":case\\\"SCRIPT\\\":case\\\"SELECT\\\":case\\\"SMALL\\\":case\\\"SPAN\\\":case\\\"STRONG\\\":case\\\"SUB\\\":case\\\"SUP\\\":case\\\"TEXTAREA\\\":case\\\"TIME\\\":case\\\"TT\\\":case\\\"VAR\\\":case\\\"P\\\":case\\\"H1\\\":case\\\"H2\\\":case\\\"H3\\\":case\\\"H4\\\":case\\\"H5\\\":case\\\"H6\\\":case\\\"FIGCAPTION\\\":case\\\"BLOCKQUOTE\\\":case\\\"PRE\\\":case\\\"LI\\\":case\\\"TD\\\":case\\\"DT\\\":case\\\"DD\\\":case\\\"VIDEO\\\":case\\\"CANVAS\\\":t=!1;break;default:t=!0}return t}function re(e,t,n){return function(e,t,n){return!n&&t.indexOfRefs&&t.indexOfRefs[e]?t.indexOfRefs[e]:t.querySelector(`[data-ref='${e}']`)}(e.getAttribute(\\\"data-ref\\\"),t,n)}function ae(e){return!!V(e)||!(!F(e)||!e.dataset.ref)}function ie(e){for(;!ae(e)&&(e=e.previousSibling?e.previousSibling:e.parentNode););return e}function oe(e,t){return e.childNodes[t]}function se(e){return!!F(e)||!(!V(e)||!e.textContent.trim().length)}function le(e,t){if(!V(e))return-1;let n,r=e.textContent,a=-1;for(var i=0;i<t.childNodes.length;i++)if(n=t.childNodes[i],3===n.nodeType){if(t.childNodes[i].textContent.includes(r)){a=i;break}}return a}function de(e){return 8===e.nodeType||3===e.nodeType&&function(e){return!/[^\\\\t\\\\n\\\\r ]/.test(e.textContent)}(e)}function pe(e){for(;e=e.previousSibling;)if(!de(e))return e;return null}function ce(e,t){if(e&&e.dataset&&e.dataset.page)return e;if(e.parentNode)for(;e=e.parentNode;){if(t&&e===t)return;if(e.dataset&&e.dataset.page)return e}return null}function ue(e){for(;e=e.parentNode;)if(e&&e.dataset&&\\\"avoid\\\"===e.dataset.breakInside)return e;return null}function me(e,t,n){if((!n||e!==n)&&e.parentNode)for(;e=e.parentNode;){if(n&&e===n)return;if(e.nodeName===t)return e}}function he(e){for(;e=e.nextSibling;)if(!de(e))return e;return null}function ge(e,t,n){const r=document.createTreeWalker(e||this.dom,n||NodeFilter.SHOW_ALL,t?{acceptNode:t}:null,!1);let a,i;for(a=r.nextNode();a;)i=a,a=r.nextNode(),i.parentNode.removeChild(i)}class fe{constructor(e,t){this.node=e,this.offset=t}equals(e){return!!e&&((!this.node||!e.node||this.node===e.node)&&(!this.offset||!e.offset||this.offset===e.offset))}toJSON(e){let t,n=0;if(!this.node)return{};if(F(this.node)&&this.node.dataset.ref?t=this.node.dataset.ref:e&&(t=this.node.parentElement.dataset.ref),this.node.parentElement){n=Array.from(this.node.parentElement.childNodes).indexOf(this.node)}return JSON.stringify({node:t,index:n,offset:this.offset})}}class ye{constructor(e,t){this.breakToken=e,this.error=t}}class be extends Error{constructor(e,t){super(e),this.items=t}}class Se{constructor(e,t,n){this.element=e,this.bounds=this.element.getBoundingClientRect(),this.parentBounds=this.element.offsetParent.getBoundingClientRect();let r=parseFloat(window.getComputedStyle(this.element).columnGap);if(r){let e=this.bounds.left-this.parentBounds.left;this.gap=r-e}else this.gap=0;t?this.hooks=t:(this.hooks={},this.hooks.onPageLayout=new B,this.hooks.layout=new B,this.hooks.renderNode=new B,this.hooks.layoutNode=new B,this.hooks.beforeOverflow=new B,this.hooks.onOverflow=new B,this.hooks.afterOverflowRemoved=new B,this.hooks.onBreakToken=new B,this.hooks.beforeRenderResult=new B),this.settings=n||{},this.maxChars=this.settings.maxChars||1500,this.forceRenderBreak=!1}async renderTo(e,t,n,r=this.bounds){let a,i,o,s,l,d=this.getStart(t,n),p=U(d,t),c=!1,u=0,m=n||new fe(d);for(this.hooks&&this.hooks.onPageLayout.trigger(e,m,this);!o&&!l;){if(s=p.next(),i=a,a=s.value,o=s.done,!a){this.hooks&&this.hooks.layout.trigger(e,this);let n=e.querySelectorAll(\\\"img\\\");return n.length&&await this.waitForImages(n),l=this.findBreakToken(e,t,r,m),l&&l.equals(m)?(console.warn(\\\"Unable to layout item: \\\",i),this.hooks&&this.hooks.beforeRenderResult.trigger(void 0,e,this),new ye(void 0,new be(\\\"Unable to layout item\\\",[i]))):(this.rebuildTableFromBreakToken(l,e),this.hooks&&this.hooks.beforeRenderResult.trigger(l,e,this),new ye(l))}if(this.hooks&&this.hooks.layoutNode.trigger(a),c&&this.shouldBreak(a,d)){this.hooks&&this.hooks.layout.trigger(e,this);let n=e.querySelectorAll(\\\"img\\\");if(n.length&&await this.waitForImages(n),l=this.findBreakToken(e,t,r,m),l?this.rebuildTableFromBreakToken(l,e):l=this.breakAt(a),l&&l.equals(m)){console.warn(\\\"Unable to layout item: \\\",a);let e=l.node&&H(l.node);if(!e)return new ye(void 0,new be(\\\"Unable to layout item\\\",[a]));l=new fe(e)}u=0;break}if(a.dataset&&a.dataset.page){let e=a.dataset.page,t=this.element.closest(\\\".pagedjs_page\\\");t.classList.add(\\\"pagedjs_named_page\\\"),t.classList.add(\\\"pagedjs_\\\"+e+\\\"_page\\\"),a.dataset.splitFrom||t.classList.add(\\\"pagedjs_\\\"+e+\\\"_first_page\\\")}let h=ne(a);if(u+=this.append(a,e,n,h).textContent.length,c||(c=se(a)),h||(p=U(H(a,t),t)),this.forceRenderBreak){this.hooks&&this.hooks.layout.trigger(e,this),l=this.findBreakToken(e,t,r,m),l?this.rebuildTableFromBreakToken(l,e):l=this.breakAt(a),u=0,this.forceRenderBreak=!1;break}if(u>=this.maxChars){this.hooks&&this.hooks.layout.trigger(e,this);let n=e.querySelectorAll(\\\"img\\\");if(n.length&&await this.waitForImages(n),l=this.findBreakToken(e,t,r,m),l&&(u=0,this.rebuildTableFromBreakToken(l,e)),l&&l.equals(m)){console.warn(\\\"Unable to layout item: \\\",a);let t=l.node&&H(l.node);if(!t)return this.hooks&&this.hooks.beforeRenderResult.trigger(void 0,e,this),new ye(void 0,new be(\\\"Unable to layout item\\\",[a]));l=new fe(t)}}}return this.hooks&&this.hooks.beforeRenderResult.trigger(l,e,this),new ye(l)}breakAt(e,t=0){let n=new fe(e,t);return this.hooks.onBreakToken.triggerSync(n,void 0,e,this).forEach((e=>{void 0!==e&&(n=e)})),n}shouldBreak(e,t){let n,r=$(e,t),a=e.parentNode;return X(e)&&a&&!r&&X(a)&&(n=e.dataset.breakBefore===a.dataset.breakBefore),!n&&X(e)||function(e){return void 0!==e&&void 0!==e.dataset&&void 0!==e.dataset.previousBreakAfter&&(\\\"always\\\"===e.dataset.previousBreakAfter||\\\"page\\\"===e.dataset.previousBreakAfter||\\\"left\\\"===e.dataset.previousBreakAfter||\\\"right\\\"===e.dataset.previousBreakAfter||\\\"recto\\\"===e.dataset.previousBreakAfter||\\\"verso\\\"===e.dataset.previousBreakAfter)}(e)||ee(e,r)}forceBreak(){this.forceRenderBreak=!0}getStart(e,t){let n,r=t&&t.node;return n=r||e.firstChild,n}append(e,t,n,r=!0,a=!0){let i=function(e,t=!1){return e.cloneNode(t)}(e,!r);if(e.parentNode&&F(e.parentNode)){let r=re(e.parentNode,t);if(r)r.appendChild(i);else if(a){let a=J(e);r=re(e.parentNode,a),r?n&&V(n.node)&&n.offset>0?(i.textContent=i.textContent.substring(n.offset),r.appendChild(i)):r.appendChild(i):t.appendChild(i),t.appendChild(a)}else t.appendChild(i)}else t.appendChild(i);return i.dataset&&i.dataset.ref&&(t.indexOfRefs||(t.indexOfRefs={}),t.indexOfRefs[i.dataset.ref]=i),this.hooks.renderNode.triggerSync(i,e,this).forEach((e=>{void 0!==e&&(i=e)})),i}rebuildTableFromBreakToken(e,t){if(!e||!e.node)return;let n=e.node,r=F(n)?n.closest(\\\"td\\\"):n.parentElement.closest(\\\"td\\\");if(r){if(!re(r,t,!0))return;for(;r=r.nextElementSibling;)this.append(r,t,null,!0)}}async waitForImages(e){let t=Array.from(e).map((async e=>this.awaitImageLoaded(e)));await Promise.all(t)}async awaitImageLoaded(e){return new Promise((t=>{if(!0!==e.complete)e.onload=function(){let{width:n,height:r}=window.getComputedStyle(e);t(n,r)},e.onerror=function(n){let{width:r,height:a}=window.getComputedStyle(e);t(r,a,n)};else{let{width:n,height:r}=window.getComputedStyle(e);t(n,r)}}))}avoidBreakInside(e,t){let n;if(e!==t){for(;e.parentNode&&(e=e.parentNode)!==t;)if(\\\"avoid\\\"===window.getComputedStyle(e)[\\\"break-inside\\\"]){n=e;break}return n}}createBreakToken(e,t,n){let r,a,i,o,s,l=e.startContainer,d=e.startOffset;if(F(l))if(s=oe(l,d),F(s))if(a=re(s,t),a)r=re(a,n),d=0;else{let e=ie(s);if(F(e)||(e=e.parentElement),a=re(e,t),!s.nextSibling){const e=re(a,n);if(!re(document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT).lastChild(),t))return}r=re(a,n).nextSibling,d=0}else a=re(l,t),a||(a=re(ie(l),t)),i=re(a,n),o=le(s,i),0===o?(r=i,d=0):(r=oe(i,o),d=0);else{if(a=re(l.parentNode,t),a||(a=re(ie(l.parentNode),t)),i=re(a,n),o=le(l,i),-1===o)return;r=oe(i,o),d+=r.textContent.indexOf(l.textContent)}if(r)return new fe(r,d)}findBreakToken(e,t,n=this.bounds,r,a=!0){let i,o,s=this.findOverflow(e,n);if(this.hooks.onOverflow.triggerSync(s,e,n,this).forEach((e=>{void 0!==e&&(s=e)})),s){if(i=this.createBreakToken(s,e,t),this.hooks.onBreakToken.triggerSync(i,s,e,this).forEach((e=>{void 0!==e&&(i=e)})),i&&i.equals(r))return i;if(o=i&&i.node&&i.offset&&i.node.textContent?i.node.textContent.charAt(i.offset):void 0,i&&i.node&&a){let t=this.removeOverflow(s,o);this.hooks&&this.hooks.afterOverflowRemoved.trigger(t,e,this)}}return i}hasOverflow(e,t=this.bounds){let n=e&&e.parentNode,{width:r,height:a}=e.getBoundingClientRect(),i=n?n.scrollWidth:0,o=n?n.scrollHeight:0;return Math.max(Math.floor(r),i)>Math.round(t.width)||Math.max(Math.floor(a),o)>Math.round(t.height)}findOverflow(e,t=this.bounds,n=this.gap){if(!this.hasOverflow(e,t))return;let r,a,i,o,s,l,d,p,c,u=Math.floor(t.left),m=Math.round(t.right+n),h=Math.round(t.top),g=Math.round(t.bottom),f=U(e.firstChild,e);for(;!i;)if(a=f.next(),i=a.done,o=a.value,l=!1,d=!1,p=void 0,c=void 0,o){let t=P(o),n=Math.round(t.left),i=Math.floor(t.right),b=Math.round(t.top),S=Math.floor(t.bottom);if(!r&&(n>=m||b>=g)){let t=!1;const n=me(o,\\\"TD\\\",e);if(n&&\\\"avoid\\\"===window.getComputedStyle(n)[\\\"break-inside\\\"])p=n.parentElement;else if(F(o)){let n=window.getComputedStyle(o);t=\\\"none\\\"!==n.getPropertyValue(\\\"float\\\"),l=\\\"avoid\\\"===n.getPropertyValue(\\\"break-inside\\\"),d=\\\"avoid\\\"===o.dataset.breakBefore||\\\"avoid\\\"===o.dataset.previousBreakAfter,p=d&&$(o,e),c=\\\"BR\\\"===o.tagName||\\\"WBR\\\"===o.tagName}let a;if(a=\\\"TR\\\"===o.nodeName?o:me(o,\\\"TR\\\",e),a){let t=a.parentElement;if([\\\"TBODY\\\",\\\"THEAD\\\"].includes(t.nodeName)){\\\"avoid\\\"===window.getComputedStyle(t).getPropertyValue(\\\"break-inside\\\")&&(p=t)}const n=me(a,\\\"TABLE\\\",e),r=n.querySelector(\\\"[colspan]\\\");if(n&&r){let e=0;for(const t of Array.from(n.rows[0].cells))e+=parseInt(t.getAttribute(\\\"colspan\\\")||\\\"1\\\");if(a.cells.length!==e){let t,n=a.previousElementSibling;for(;null!==n;){t=0;for(const e of Array.from(n.cells))t+=parseInt(e.getAttribute(\\\"colspan\\\")||\\\"1\\\");if(t===e)break;n=n.previousElementSibling}t===e&&(p=n)}}}if(p){r=document.createRange(),r.selectNode(p);break}if(!c&&!t&&F(o)){r=document.createRange(),r.selectNode(o);break}if(V(o)&&o.textContent.trim().length){r=document.createRange(),r.selectNode(o);break}}if(!r&&V(o)&&o.textContent.trim().length&&!ue(o.parentNode)){let e,t=q(o);n=0,b=0;for(var y=0;y!=t.length;y++)e=t[y],e.width>0&&(!n||e.left>n)&&(n=e.left),e.height>0&&(!b||e.top>b)&&(b=e.top);if(n>=m||b>=g){r=document.createRange(),s=this.textBreak(o,u,m,h,g),s?r.setStart(o,s):r=void 0;break}}(l||i<=m&&S<=g)&&(a=H(o,e),a&&(f=U(a,e)))}return r?(r.setEndAfter(e.lastChild),r):void 0}findEndToken(e,t){if(0===e.childNodes.length)return;let n,r=e.lastChild;for(;r&&r.lastChild;)if(ae(r)){if(!ae(r.lastChild)){r=ie(r.lastChild);break}r=r.lastChild}else r=r.previousSibling;V(r)&&(r.parentNode.dataset.ref?(n=function(e){let t=e.parentNode;return t?Array.prototype.indexOf.call(t.childNodes,e):0}(r),r=r.parentNode):r=r.previousSibling);let a=re(r,t);n&&(a=a.childNodes[n]);let i=H(a);return this.breakAt(i)}textBreak(e,t,n,r,a){let i,o,s,l,d,p=function*(e){let t,n,r=e.nodeValue,a=r.length,i=0;const o=e.parentElement&&\\\"PRE\\\"===e.parentElement.nodeName;for(;i<a;)t=r[i],/^[\\\\S\\\\u202F\\\\u00A0]$/.test(t)||o?n||(n=document.createRange(),n.setStart(e,i)):n&&(n.setEnd(e,i),yield n,n=void 0),i+=1;n&&(n.setEnd(e,i),yield n)}(e),c=0,u=0,m=0,h=0;for(;!s&&(o=p.next(),i=o.value,s=o.done,i);){if(l=P(i),c=Math.floor(l.left),u=Math.floor(l.right),m=Math.floor(l.top),h=Math.floor(l.bottom),c>=n||m>=a){d=i.startOffset;break}if(u>n||h>a){let e,t,r,o=te(i);for(;!r&&(t=o.next(),e=t.value,r=t.done,e);)if(l=P(e),c=Math.floor(l.left),m=Math.floor(l.top),c>=n||m>=a){d=e.startOffset,s=!0;break}}}return d}removeOverflow(e,t){let{startContainer:n}=e,r=e.extractContents();return this.hyphenateAtBreak(n,t),r}hyphenateAtBreak(e,t){if(V(e)){let n=e.textContent,r=n[n.length-1];(t&&/^\\\\w|\\\\u00AD$/.test(r)&&/^\\\\w|\\\\u00AD$/.test(t)||!t&&/^\\\\w|\\\\u00AD$/.test(r))&&(e.parentNode.classList.add(\\\"pagedjs_hyphen\\\"),e.textContent+=this.settings.hyphenGlyph||\\\"‑\\\")}}equalTokens(e,t){return!(!e||!t)&&((!e.node||!t.node||e.node===t.node)&&(!e.offset||!t.offset||e.offset===t.offset))}}L(Se.prototype);class ve{constructor(e,t,n,r,a){this.pagesArea=e,this.pageTemplate=t,this.blank=n,this.width=void 0,this.height=void 0,this.hooks=r,this.settings=a||{}}create(e,t){let n,r,a=document.importNode(this.pageTemplate.content,!0);t?(this.pagesArea.insertBefore(a,t.nextElementSibling),r=Array.prototype.indexOf.call(this.pagesArea.children,t.nextElementSibling),n=this.pagesArea.children[r]):(this.pagesArea.appendChild(a),n=this.pagesArea.lastChild);let i=n.querySelector(\\\".pagedjs_pagebox\\\"),o=n.querySelector(\\\".pagedjs_page_content\\\"),s=n.querySelector(\\\".pagedjs_footnote_area\\\"),l=o.getBoundingClientRect();return o.style.columnWidth=Math.round(l.width)+\\\"px\\\",o.style.columnGap=\\\"calc(var(--pagedjs-margin-right) + var(--pagedjs-margin-left) + var(--pagedjs-bleed-right) + var(--pagedjs-bleed-left) + var(--pagedjs-column-gap-offset))\\\",this.width=Math.round(l.width),this.height=Math.round(l.height),this.element=n,this.pagebox=i,this.area=o,this.footnotesArea=s,n}createWrapper(){let e=document.createElement(\\\"div\\\");return this.area.appendChild(e),this.wrapper=e,e}index(e){this.position=e;let t=this.element,n=e+1,r=`page-${n}`;this.id=r,t.dataset.pageNumber=n,t.setAttribute(\\\"id\\\",r),this.name&&t.classList.add(\\\"pagedjs_\\\"+this.name+\\\"_page\\\"),this.blank&&t.classList.add(\\\"pagedjs_blank_page\\\"),0===e&&t.classList.add(\\\"pagedjs_first_page\\\"),e%2!=1?(t.classList.remove(\\\"pagedjs_left_page\\\"),t.classList.add(\\\"pagedjs_right_page\\\")):(t.classList.remove(\\\"pagedjs_right_page\\\"),t.classList.add(\\\"pagedjs_left_page\\\"))}async layout(e,t,n){this.clear(),this.startToken=t;let r=this.settings;!r.maxChars&&n&&(r.maxChars=n),this.layoutMethod=new Se(this.area,this.hooks,r);let a=(await this.layoutMethod.renderTo(this.wrapper,e,t)).breakToken;return this.addListeners(e),this.endToken=a,a}async append(e,t){if(!this.layoutMethod)return this.layout(e,t);let n=(await this.layoutMethod.renderTo(this.wrapper,e,t)).breakToken;return this.endToken=n,n}getByParent(e,t){let n;for(var r=0;r<t.length;r++)if(n=t[r],n.dataset.ref===e)return n}onOverflow(e){this._onOverflow=e}onUnderflow(e){this._onUnderflow=e}clear(){this.removeListeners(),this.wrapper&&this.wrapper.remove(),this.createWrapper()}addListeners(e){return\\\"undefined\\\"!=typeof ResizeObserver?this.addResizeObserver(e):(this._checkOverflowAfterResize=this.checkOverflowAfterResize.bind(this,e),this.element.addEventListener(\\\"overflow\\\",this._checkOverflowAfterResize,!1),this.element.addEventListener(\\\"underflow\\\",this._checkOverflowAfterResize,!1)),this._onScroll=function(){this.listening&&(this.element.scrollLeft=0)}.bind(this),this.element.addEventListener(\\\"scroll\\\",this._onScroll),this.listening=!0,!0}removeListeners(){this.listening=!1,\\\"undefined\\\"!=typeof ResizeObserver&&this.ro?this.ro.disconnect():this.element&&(this.element.removeEventListener(\\\"overflow\\\",this._checkOverflowAfterResize,!1),this.element.removeEventListener(\\\"underflow\\\",this._checkOverflowAfterResize,!1)),this.element&&this.element.removeEventListener(\\\"scroll\\\",this._onScroll)}addResizeObserver(e){let t=this.wrapper,n=t.getBoundingClientRect().height;this.ro=new ResizeObserver((r=>{this.listening&&requestAnimationFrame((()=>{for(let a of r){const r=a.contentRect;r.height>n?(this.checkOverflowAfterResize(e),n=t.getBoundingClientRect().height):r.height<n&&(this.checkUnderflowAfterResize(e),n=r.height)}}))})),this.ro.observe(t)}checkOverflowAfterResize(e){if(!this.listening||!this.layoutMethod)return;let t=this.layoutMethod.findBreakToken(this.wrapper,e,this.startToken);t&&(this.endToken=t,this._onOverflow&&this._onOverflow(t))}checkUnderflowAfterResize(e){if(!this.listening||!this.layoutMethod)return;let t=this.layoutMethod.findEndToken(this.wrapper,e);t&&this._onUnderflow&&this._onUnderflow(t)}destroy(){this.removeListeners(),this.element.remove(),this.element=void 0,this.wrapper=void 0}}L(ve.prototype);class xe{constructor(e,t){return e&&e.nodeType?this.dom=this.add(e):\\\"string\\\"==typeof e&&(this.dom=this.parse(e)),this.dom}parse(e,t){let n=document.createRange().createContextualFragment(e);return this.addRefs(n),n}add(e){return this.addRefs(e),e}addRefs(e){var t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,null,!1);let n=t.nextNode();for(;n;){if(!n.hasAttribute(\\\"data-ref\\\")){let e=M();n.setAttribute(\\\"data-ref\\\",e)}n.id&&n.setAttribute(\\\"data-id\\\",n.id),n=t.nextNode()}}find(e){return this.refs[e]}destroy(){this.refs=void 0,this.dom=void 0}}class ke{constructor(e){this._q=[],this.context=e,this.tick=requestAnimationFrame,this.running=!1,this.paused=!1}enqueue(){var e,t,n=[].shift.call(arguments),r=arguments;if(!n)throw new Error(\\\"No Task Provided\\\");return t=\\\"function\\\"==typeof n?{task:n,args:r,deferred:e=new R,promise:e.promise}:{promise:n},this._q.push(t),0!=this.paused||this.running||this.run(),t.promise}dequeue(){var e,t,n;return!this._q.length||this.paused?((e=new R).deferred.resolve(),e.promise):(t=(e=this._q.shift()).task)?(n=t.apply(this.context,e.args))&&\\\"function\\\"==typeof n.then?n.then(function(){e.deferred.resolve.apply(this.context,arguments)}.bind(this),function(){e.deferred.reject.apply(this.context,arguments)}.bind(this)):(e.deferred.resolve.apply(this.context,n),e.promise):e.promise?e.promise:void 0}dump(){for(;this._q.length;)this.dequeue()}run(){return this.running||(this.running=!0,this.defered=new R),this.tick.call(window,(()=>{this._q.length?this.dequeue().then(function(){this.run()}.bind(this)):(this.defered.resolve(),this.running=void 0)})),1==this.paused&&(this.paused=!1),this.defered.promise}flush(){return this.running?this.running:this._q.length?(this.running=this.dequeue().then(function(){return this.running=void 0,this.flush()}.bind(this)),this.running):void 0}clear(){this._q=[]}length(){return this._q.length}pause(){this.paused=!0}stop(){this._q=[],this.running=!1,this.paused=!0}}class we{constructor(e,t,n){this.settings=n||{},this.hooks={},this.hooks.beforeParsed=new B(this),this.hooks.filter=new B(this),this.hooks.afterParsed=new B(this),this.hooks.beforePageLayout=new B(this),this.hooks.onPageLayout=new B(this),this.hooks.layout=new B(this),this.hooks.renderNode=new B(this),this.hooks.layoutNode=new B(this),this.hooks.onOverflow=new B(this),this.hooks.afterOverflowRemoved=new B(this),this.hooks.onBreakToken=new B,this.hooks.beforeRenderResult=new B(this),this.hooks.afterPageLayout=new B(this),this.hooks.finalizePage=new B(this),this.hooks.afterRendered=new B(this),this.pages=[],this.total=0,this.q=new ke(this),this.stopped=!1,this.rendered=!1,this.content=e,this.charsPerBreak=[],this.maxChars,e&&this.flow(e,t)}setup(e){this.pagesArea=document.createElement(\\\"div\\\"),this.pagesArea.classList.add(\\\"pagedjs_pages\\\"),e?e.appendChild(this.pagesArea):document.querySelector(\\\"body\\\").appendChild(this.pagesArea),this.pageTemplate=document.createElement(\\\"template\\\"),this.pageTemplate.innerHTML='\\\\n<div class=\\\"pagedjs_page\\\">\\\\n\\\\t<div class=\\\"pagedjs_sheet\\\">\\\\n\\\\t\\\\t<div class=\\\"pagedjs_bleed pagedjs_bleed-top\\\">\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_marks-crop\\\"></div>\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_marks-middle\\\">\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_marks-cross\\\"></div>\\\\n\\\\t\\\\t\\\\t</div>\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_marks-crop\\\"></div>\\\\n\\\\t\\\\t</div>\\\\n\\\\t\\\\t<div class=\\\"pagedjs_bleed pagedjs_bleed-bottom\\\">\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_marks-crop\\\"></div>\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_marks-middle\\\">\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_marks-cross\\\"></div>\\\\n\\\\t\\\\t\\\\t</div>\\\\t\\\\t<div class=\\\"pagedjs_marks-crop\\\"></div>\\\\n\\\\t\\\\t</div>\\\\n\\\\t\\\\t<div class=\\\"pagedjs_bleed pagedjs_bleed-left\\\">\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_marks-crop\\\"></div>\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_marks-middle\\\">\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_marks-cross\\\"></div>\\\\n\\\\t\\\\t\\\\t</div>\\\\t\\\\t<div class=\\\"pagedjs_marks-crop\\\"></div>\\\\n\\\\t\\\\t</div>\\\\n\\\\t\\\\t<div class=\\\"pagedjs_bleed pagedjs_bleed-right\\\">\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_marks-crop\\\"></div>\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_marks-middle\\\">\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_marks-cross\\\"></div>\\\\n\\\\t\\\\t\\\\t</div>\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_marks-crop\\\"></div>\\\\n\\\\t\\\\t</div>\\\\n\\\\t\\\\t<div class=\\\"pagedjs_pagebox\\\">\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin-top-left-corner-holder\\\">\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-top-left-corner\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t</div>\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin-top\\\">\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-top-left\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-top-center\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-top-right\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t</div>\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin-top-right-corner-holder\\\">\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-top-right-corner\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t</div>\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin-right\\\">\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-right-top\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-right-middle\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-right-bottom\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t</div>\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin-left\\\">\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-left-top\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-left-middle\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-left-bottom\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t</div>\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin-bottom-left-corner-holder\\\">\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-bottom-left-corner\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t</div>\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin-bottom\\\">\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-bottom-left\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-bottom-center\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-bottom-right\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t</div>\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin-bottom-right-corner-holder\\\">\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_margin pagedjs_margin-bottom-right-corner\\\"><div class=\\\"pagedjs_margin-content\\\"></div></div>\\\\n\\\\t\\\\t\\\\t</div>\\\\n\\\\t\\\\t\\\\t<div class=\\\"pagedjs_area\\\">\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_page_content\\\"></div>\\\\n\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_footnote_area\\\">\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_footnote_content pagedjs_footnote_empty\\\">\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t<div class=\\\"pagedjs_footnote_inner_content\\\"></div>\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t</div>\\\\n\\\\t\\\\t\\\\t\\\\t</div>\\\\n\\\\t\\\\t\\\\t</div>\\\\n\\\\t\\\\t</div>\\\\n\\\\t</div>\\\\n</div>'}async flow(e,t){let n;await this.hooks.beforeParsed.trigger(e,this),n=new xe(e),this.hooks.filter.triggerSync(n),this.source=n,this.breakToken=void 0,this.pagesArea&&this.pageTemplate?(this.q.clear(),this.removePages()):this.setup(t),this.emit(\\\"rendering\\\",n),await this.hooks.afterParsed.trigger(n,this),await this.loadFonts();let r=await this.render(n,this.breakToken);for(;r.canceled;)this.start(),r=await this.render(n,this.breakToken);return this.rendered=!0,this.pagesArea.style.setProperty(\\\"--pagedjs-page-count\\\",this.total),await this.hooks.afterRendered.trigger(this.pages,this),this.emit(\\\"rendered\\\",this.pages),this}async render(e,t){let n,r=this.layout(e,t),a=!1;for(;!a;)n=await this.q.enqueue((()=>this.renderAsync(r))),a=n.done;return n}start(){this.rendered=!1,this.stopped=!1}stop(){this.stopped=!0}renderOnIdle(e){return new Promise((t=>{N((async()=>{if(this.stopped)return t({done:!0,canceled:!0});let n=await e.next();this.stopped?t({done:!0,canceled:!0}):t(n)}))}))}async renderAsync(e){if(this.stopped)return{done:!0,canceled:!0};let t=await e.next();return this.stopped?{done:!0,canceled:!0}:t}async handleBreaks(e,t){let n,r,a,i=this.total+1,o=i%2==0?\\\"left\\\":\\\"right\\\",s=i%2==0?\\\"verso\\\":\\\"recto\\\";1!==i&&(e&&void 0!==e.dataset&&void 0!==e.dataset.previousBreakAfter&&(n=e.dataset.previousBreakAfter),e&&void 0!==e.dataset&&void 0!==e.dataset.breakBefore&&(r=e.dataset.breakBefore),t?a=this.addPage(!0):(!n||\\\"left\\\"!==n&&\\\"right\\\"!==n||n===o)&&(!n||\\\"verso\\\"!==n&&\\\"recto\\\"!==n||n===s)&&(!r||\\\"left\\\"!==r&&\\\"right\\\"!==r||r===o)&&(!r||\\\"verso\\\"!==r&&\\\"recto\\\"!==r||r===s)||(a=this.addPage(!0)),a&&(await this.hooks.beforePageLayout.trigger(a,void 0,void 0,this),this.emit(\\\"page\\\",a),await this.hooks.afterPageLayout.trigger(a.element,a,void 0,this),await this.hooks.finalizePage.trigger(a.element,a,void 0,this),this.emit(\\\"renderedPage\\\",a)))}async*layout(e,t){let n=t||!1,r=[];for(;void 0!==n;){n&&n.node?await this.handleBreaks(n.node):await this.handleBreaks(e.firstChild);let t=this.addPage();if(await this.hooks.beforePageLayout.trigger(t,e,n,this),this.emit(\\\"page\\\",t),n=await t.layout(e,n,this.maxChars),n){let e=n.toJSON(!0);if(r.lastIndexOf(e)>-1){let e=new be(\\\"Layout repeated\\\",[n.node]);return console.error(\\\"Layout repeated at: \\\",n.node),e}r.push(e)}await this.hooks.afterPageLayout.trigger(t.element,t,n,this),await this.hooks.finalizePage.trigger(t.element,t,void 0,this),this.emit(\\\"renderedPage\\\",t),this.recoredCharLength(t.wrapper.textContent.length),yield n}}recoredCharLength(e){0!==e&&(this.charsPerBreak.push(e),this.charsPerBreak.length>4&&this.charsPerBreak.shift(),this.maxChars=this.charsPerBreak.reduce(((e,t)=>e+t),0)/this.charsPerBreak.length)}removePages(e=0){if(!(e>=this.pages.length)){for(let t=e;t<this.pages.length;t++)this.pages[t].destroy();e>0?this.pages.splice(e):this.pages=[],this.total=this.pages.length}}addPage(e){let t=this.pages[this.pages.length-1],n=new ve(this.pagesArea,this.pageTemplate,e,this.hooks,this.settings);return this.pages.push(n),n.create(void 0,t&&t.element),n.index(this.total),e||(n.onOverflow((e=>{if(console.warn(\\\"overflow on\\\",n.id,e),this.rendered)return;let t=this.pages.indexOf(n)+1;this.stop(),this.breakToken=e,this.removePages(t),!0===this.rendered&&(this.rendered=!1,this.q.enqueue((async()=>{this.start(),await this.render(this.source,this.breakToken),this.rendered=!0})))})),n.onUnderflow((e=>{}))),this.total=this.pages.length,n}async clonePage(e){let t=this.pages[this.pages.length-1],n=new ve(this.pagesArea,this.pageTemplate,!1,this.hooks);this.pages.push(n),n.create(void 0,t&&t.element),n.index(this.total),await this.hooks.beforePageLayout.trigger(n,void 0,void 0,this),this.emit(\\\"page\\\",n);for(const t of e.element.classList)\\\"pagedjs_left_page\\\"!==t&&\\\"pagedjs_right_page\\\"!==t&&n.element.classList.add(t);await this.hooks.afterPageLayout.trigger(n.element,n,void 0,this),await this.hooks.finalizePage.trigger(n.element,n,void 0,this),this.emit(\\\"renderedPage\\\",n)}loadFonts(){let e=[];return(document.fonts||[]).forEach((t=>{if(\\\"loaded\\\"!==t.status){let n=t.load().then((e=>t.family),(e=>(console.warn(\\\"Failed to preload font-family:\\\",t.family),t.family)));e.push(n)}})),Promise.all(e).catch((e=>{console.warn(e)}))}destroy(){this.pagesArea.remove(),this.pageTemplate.remove()}}L(we.prototype);var Ce={exports:{}},Te={};function _e(e){return{prev:null,next:null,data:e}}function ze(e,t,n){var r;return null!==Ae?(r=Ae,Ae=Ae.cursor,r.prev=t,r.next=n,r.cursor=e.cursor):r={prev:t,next:n,cursor:e.cursor},e.cursor=r,r}function Oe(e){var t=e.cursor;e.cursor=t.cursor,t.prev=null,t.next=null,t.cursor=Ae,Ae=t}var Ae=null,Ee=function(){this.cursor=null,this.head=null,this.tail=null};Ee.createItem=_e,Ee.prototype.createItem=_e,Ee.prototype.updateCursors=function(e,t,n,r){for(var a=this.cursor;null!==a;)a.prev===e&&(a.prev=t),a.next===n&&(a.next=r),a=a.cursor},Ee.prototype.getSize=function(){for(var e=0,t=this.head;t;)e++,t=t.next;return e},Ee.prototype.fromArray=function(e){var t=null;this.head=null;for(var n=0;n<e.length;n++){var r=_e(e[n]);null!==t?t.next=r:this.head=r,r.prev=t,t=r}return this.tail=t,this},Ee.prototype.toArray=function(){for(var e=this.head,t=[];e;)t.push(e.data),e=e.next;return t},Ee.prototype.toJSON=Ee.prototype.toArray,Ee.prototype.isEmpty=function(){return null===this.head},Ee.prototype.first=function(){return this.head&&this.head.data},Ee.prototype.last=function(){return this.tail&&this.tail.data},Ee.prototype.each=function(e,t){var n;void 0===t&&(t=this);for(var r=ze(this,null,this.head);null!==r.next;)n=r.next,r.next=n.next,e.call(t,n.data,n,this);Oe(this)},Ee.prototype.forEach=Ee.prototype.each,Ee.prototype.eachRight=function(e,t){var n;void 0===t&&(t=this);for(var r=ze(this,this.tail,null);null!==r.prev;)n=r.prev,r.prev=n.prev,e.call(t,n.data,n,this);Oe(this)},Ee.prototype.forEachRight=Ee.prototype.eachRight,Ee.prototype.reduce=function(e,t,n){var r;void 0===n&&(n=this);for(var a=ze(this,null,this.head),i=t;null!==a.next;)r=a.next,a.next=r.next,i=e.call(n,i,r.data,r,this);return Oe(this),i},Ee.prototype.reduceRight=function(e,t,n){var r;void 0===n&&(n=this);for(var a=ze(this,this.tail,null),i=t;null!==a.prev;)r=a.prev,a.prev=r.prev,i=e.call(n,i,r.data,r,this);return Oe(this),i},Ee.prototype.nextUntil=function(e,t,n){if(null!==e){var r;void 0===n&&(n=this);for(var a=ze(this,null,e);null!==a.next&&(r=a.next,a.next=r.next,!t.call(n,r.data,r,this)););Oe(this)}},Ee.prototype.prevUntil=function(e,t,n){if(null!==e){var r;void 0===n&&(n=this);for(var a=ze(this,e,null);null!==a.prev&&(r=a.prev,a.prev=r.prev,!t.call(n,r.data,r,this)););Oe(this)}},Ee.prototype.some=function(e,t){var n=this.head;for(void 0===t&&(t=this);null!==n;){if(e.call(t,n.data,n,this))return!0;n=n.next}return!1},Ee.prototype.map=function(e,t){var n=new Ee,r=this.head;for(void 0===t&&(t=this);null!==r;)n.appendData(e.call(t,r.data,r,this)),r=r.next;return n},Ee.prototype.filter=function(e,t){var n=new Ee,r=this.head;for(void 0===t&&(t=this);null!==r;)e.call(t,r.data,r,this)&&n.appendData(r.data),r=r.next;return n},Ee.prototype.clear=function(){this.head=null,this.tail=null},Ee.prototype.copy=function(){for(var e=new Ee,t=this.head;null!==t;)e.insert(_e(t.data)),t=t.next;return e},Ee.prototype.prepend=function(e){return this.updateCursors(null,e,this.head,e),null!==this.head?(this.head.prev=e,e.next=this.head):this.tail=e,this.head=e,this},Ee.prototype.prependData=function(e){return this.prepend(_e(e))},Ee.prototype.append=function(e){return this.insert(e)},Ee.prototype.appendData=function(e){return this.insert(_e(e))},Ee.prototype.insert=function(e,t){if(null!=t)if(this.updateCursors(t.prev,e,t,e),null===t.prev){if(this.head!==t)throw new Error(\\\"before doesn't belong to list\\\");this.head=e,t.prev=e,e.next=t,this.updateCursors(null,e)}else t.prev.next=e,e.prev=t.prev,t.prev=e,e.next=t;else this.updateCursors(this.tail,e,null,e),null!==this.tail?(this.tail.next=e,e.prev=this.tail):this.head=e,this.tail=e;return this},Ee.prototype.insertData=function(e,t){return this.insert(_e(e),t)},Ee.prototype.remove=function(e){if(this.updateCursors(e,e.prev,e,e.next),null!==e.prev)e.prev.next=e.next;else{if(this.head!==e)throw new Error(\\\"item doesn't belong to list\\\");this.head=e.next}if(null!==e.next)e.next.prev=e.prev;else{if(this.tail!==e)throw new Error(\\\"item doesn't belong to list\\\");this.tail=e.prev}return e.prev=null,e.next=null,e},Ee.prototype.push=function(e){this.insert(_e(e))},Ee.prototype.pop=function(){if(null!==this.tail)return this.remove(this.tail)},Ee.prototype.unshift=function(e){this.prepend(_e(e))},Ee.prototype.shift=function(){if(null!==this.head)return this.remove(this.head)},Ee.prototype.prependList=function(e){return this.insertList(e,this.head)},Ee.prototype.appendList=function(e){return this.insertList(e)},Ee.prototype.insertList=function(e,t){return null===e.head||(null!=t?(this.updateCursors(t.prev,e.tail,t,e.head),null!==t.prev?(t.prev.next=e.head,e.head.prev=t.prev):this.head=e.head,t.prev=e.tail,e.tail.next=t):(this.updateCursors(this.tail,e.tail,null,e.head),null!==this.tail?(this.tail.next=e.head,e.head.prev=this.tail):this.head=e.head,this.tail=e.tail),e.head=null,e.tail=null),this},Ee.prototype.replace=function(e,t){\\\"head\\\"in t?this.insertList(t,e):this.insert(t,e),this.remove(e)};var je=Ee,We=function(e,t){var n=Object.create(SyntaxError.prototype),r=new Error;return n.name=e,n.message=t,Object.defineProperty(n,\\\"stack\\\",{get:function(){return(r.stack||\\\"\\\").replace(/^(.+\\\\n){1,3}/,e+\\\": \\\"+t+\\\"\\\\n\\\")}}),n},Le=We,Be=100,Pe=60,qe=\\\" \\\";function Me(e,t){function n(e,t){return r.slice(e,t).map((function(t,n){for(var r=String(e+n+1);r.length<l;)r=\\\" \\\"+r;return r+\\\" |\\\"+t})).join(\\\"\\\\n\\\")}var r=e.source.split(/\\\\r\\\\n?|\\\\n|\\\\f/),a=e.line,i=e.column,o=Math.max(1,a-t)-1,s=Math.min(a+t,r.length+1),l=Math.max(4,String(s).length)+1,d=0;(i+=(qe.length-1)*(r[a-1].substr(0,i-1).match(/\\\\t/g)||[]).length)>Be&&(d=i-Pe+3,i=Pe-2);for(var p=o;p<=s;p++)p>=0&&p<r.length&&(r[p]=r[p].replace(/\\\\t/g,qe),r[p]=(d>0&&r[p].length>d?\\\"…\\\":\\\"\\\")+r[p].substr(d,Be-2)+(r[p].length>d+Be-1?\\\"…\\\":\\\"\\\"));return[n(o,a),new Array(i+l+2).join(\\\"-\\\")+\\\"^\\\",n(a,s)].filter(Boolean).join(\\\"\\\\n\\\")}var Ie=function(e,t,n,r,a){var i=Le(\\\"SyntaxError\\\",e);return i.source=t,i.offset=n,i.line=r,i.column=a,i.sourceFragment=function(e){return Me(i,isNaN(e)?0:e)},Object.defineProperty(i,\\\"formattedMessage\\\",{get:function(){return\\\"Parse error: \\\"+i.message+\\\"\\\\n\\\"+Me(i,2)}}),i.parseError={offset:n,line:r,column:a},i},De={EOF:0,Ident:1,Function:2,AtKeyword:3,Hash:4,String:5,BadString:6,Url:7,BadUrl:8,Delim:9,Number:10,Percentage:11,Dimension:12,WhiteSpace:13,CDO:14,CDC:15,Colon:16,Semicolon:17,Comma:18,LeftSquareBracket:19,RightSquareBracket:20,LeftParenthesis:21,RightParenthesis:22,LeftCurlyBracket:23,RightCurlyBracket:24,Comment:25},Re=Object.keys(De).reduce((function(e,t){return e[De[t]]=t,e}),{}),Ne={TYPE:De,NAME:Re},Ge=0;function Fe(e){return e>=48&&e<=57}function Ve(e){return e>=65&&e<=90}function Ue(e){return e>=97&&e<=122}function He(e){return Ve(e)||Ue(e)}function $e(e){return e>=128}function Ye(e){return He(e)||$e(e)||95===e}function Ke(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e}function Ze(e){return 10===e||13===e||12===e}function Qe(e){return Ze(e)||32===e||9===e}function Je(e,t){return 92===e&&(!Ze(t)&&t!==Ge)}var Xe=new Array(128);tt.Eof=128,tt.WhiteSpace=130,tt.Digit=131,tt.NameStart=132,tt.NonPrintable=133;for(var et=0;et<Xe.length;et++)switch(!0){case Qe(et):Xe[et]=tt.WhiteSpace;break;case Fe(et):Xe[et]=tt.Digit;break;case Ye(et):Xe[et]=tt.NameStart;break;case Ke(et):Xe[et]=tt.NonPrintable;break;default:Xe[et]=et||tt.Eof}function tt(e){return e<128?Xe[e]:tt.NameStart}var nt={isDigit:Fe,isHexDigit:function(e){return Fe(e)||e>=65&&e<=70||e>=97&&e<=102},isUppercaseLetter:Ve,isLowercaseLetter:Ue,isLetter:He,isNonAscii:$e,isNameStart:Ye,isName:function(e){return Ye(e)||Fe(e)||45===e},isNonPrintable:Ke,isNewline:Ze,isWhiteSpace:Qe,isValidEscape:Je,isIdentifierStart:function(e,t,n){return 45===e?Ye(t)||45===t||Je(t,n):!!Ye(e)||92===e&&Je(e,t)},isNumberStart:function(e,t,n){return 43===e||45===e?Fe(t)?2:46===t&&Fe(n)?3:0:46===e?Fe(t)?2:0:Fe(e)?1:0},isBOM:function(e){return 65279===e||65534===e?1:0},charCodeCategory:tt},rt=nt.isDigit,at=nt.isHexDigit,it=nt.isUppercaseLetter,ot=nt.isName,st=nt.isWhiteSpace,lt=nt.isValidEscape;function dt(e,t){return t<e.length?e.charCodeAt(t):0}function pt(e,t,n){return 13===n&&10===dt(e,t+1)?2:1}function ct(e,t,n){var r=e.charCodeAt(t);return it(r)&&(r|=32),r===n}function ut(e,t){for(;t<e.length&&rt(e.charCodeAt(t));t++);return t}function mt(e,t){if(at(dt(e,(t+=2)-1))){for(var n=Math.min(e.length,t+5);t<n&&at(dt(e,t));t++);var r=dt(e,t);st(r)&&(t+=pt(e,t,r))}return t}var ht={consumeEscaped:mt,consumeName:function(e,t){for(;t<e.length;t++){var n=e.charCodeAt(t);if(!ot(n)){if(!lt(n,dt(e,t+1)))break;t=mt(e,t)-1}}return t},consumeNumber:function(e,t){var n=e.charCodeAt(t);if(43!==n&&45!==n||(n=e.charCodeAt(t+=1)),rt(n)&&(t=ut(e,t+1),n=e.charCodeAt(t)),46===n&&rt(e.charCodeAt(t+1))&&(n=e.charCodeAt(t+=2),t=ut(e,t)),ct(e,t,101)){var r=0;45!==(n=e.charCodeAt(t+1))&&43!==n||(r=1,n=e.charCodeAt(t+2)),rt(n)&&(t=ut(e,t+1+r+1))}return t},consumeBadUrlRemnants:function(e,t){for(;t<e.length;t++){var n=e.charCodeAt(t);if(41===n){t++;break}lt(n,dt(e,t+1))&&(t=mt(e,t))}return t},cmpChar:ct,cmpStr:function(e,t,n,r){if(n-t!==r.length)return!1;if(t<0||n>e.length)return!1;for(var a=t;a<n;a++){var i=e.charCodeAt(a),o=r.charCodeAt(a-t);if(it(i)&&(i|=32),i!==o)return!1}return!0},getNewlineLength:pt,findWhiteSpaceStart:function(e,t){for(;t>=0&&st(e.charCodeAt(t));t--);return t+1},findWhiteSpaceEnd:function(e,t){for(;t<e.length&&st(e.charCodeAt(t));t++);return t}},gt=Ne.TYPE,ft=Ne.NAME,yt=ht.cmpStr,bt=gt.EOF,St=gt.WhiteSpace,vt=gt.Comment,xt=16777215,kt=24,wt=function(){this.offsetAndType=null,this.balance=null,this.reset()};wt.prototype={reset:function(){this.eof=!1,this.tokenIndex=-1,this.tokenType=0,this.tokenStart=this.firstCharOffset,this.tokenEnd=this.firstCharOffset},lookupType:function(e){return(e+=this.tokenIndex)<this.tokenCount?this.offsetAndType[e]>>kt:bt},lookupOffset:function(e){return(e+=this.tokenIndex)<this.tokenCount?this.offsetAndType[e-1]&xt:this.source.length},lookupValue:function(e,t){return(e+=this.tokenIndex)<this.tokenCount&&yt(this.source,this.offsetAndType[e-1]&xt,this.offsetAndType[e]&xt,t)},getTokenStart:function(e){return e===this.tokenIndex?this.tokenStart:e>0?e<this.tokenCount?this.offsetAndType[e-1]&xt:this.offsetAndType[this.tokenCount]&xt:this.firstCharOffset},getRawLength:function(e,t){var n,r=e,a=this.offsetAndType[Math.max(r-1,0)]&xt;e:for(;r<this.tokenCount&&!((n=this.balance[r])<e);r++)switch(t(this.offsetAndType[r]>>kt,this.source,a)){case 1:break e;case 2:r++;break e;default:this.balance[n]===r&&(r=n),a=this.offsetAndType[r]&xt}return r-this.tokenIndex},isBalanceEdge:function(e){return this.balance[this.tokenIndex]<e},isDelim:function(e,t){return t?this.lookupType(t)===gt.Delim&&this.source.charCodeAt(this.lookupOffset(t))===e:this.tokenType===gt.Delim&&this.source.charCodeAt(this.tokenStart)===e},getTokenValue:function(){return this.source.substring(this.tokenStart,this.tokenEnd)},getTokenLength:function(){return this.tokenEnd-this.tokenStart},substrToCursor:function(e){return this.source.substring(e,this.tokenStart)},skipWS:function(){for(var e=this.tokenIndex,t=0;e<this.tokenCount&&this.offsetAndType[e]>>kt===St;e++,t++);t>0&&this.skip(t)},skipSC:function(){for(;this.tokenType===St||this.tokenType===vt;)this.next()},skip:function(e){var t=this.tokenIndex+e;t<this.tokenCount?(this.tokenIndex=t,this.tokenStart=this.offsetAndType[t-1]&xt,t=this.offsetAndType[t],this.tokenType=t>>kt,this.tokenEnd=t&xt):(this.tokenIndex=this.tokenCount,this.next())},next:function(){var e=this.tokenIndex+1;e<this.tokenCount?(this.tokenIndex=e,this.tokenStart=this.tokenEnd,e=this.offsetAndType[e],this.tokenType=e>>kt,this.tokenEnd=e&xt):(this.tokenIndex=this.tokenCount,this.eof=!0,this.tokenType=bt,this.tokenStart=this.tokenEnd=this.source.length)},forEachToken(e){for(var t=0,n=this.firstCharOffset;t<this.tokenCount;t++){var r=n,a=this.offsetAndType[t],i=a&xt;n=i,e(a>>kt,r,i,t)}},dump(){var e=new Array(this.tokenCount);return this.forEachToken(((t,n,r,a)=>{e[a]={idx:a,type:ft[t],chunk:this.source.substring(n,r),balance:this.balance[a]}})),e}};var Ct=wt;function Tt(e){return e}function _t(e,t,n,r){var a,i;switch(e.type){case\\\"Group\\\":a=function(e,t,n,r){var a=\\\" \\\"===e.combinator||r?e.combinator:\\\" \\\"+e.combinator+\\\" \\\",i=e.terms.map((function(e){return _t(e,t,n,r)})).join(a);return(e.explicit||n)&&(i=(r||\\\",\\\"===i[0]?\\\"[\\\":\\\"[ \\\")+i+(r?\\\"]\\\":\\\" ]\\\")),i}(e,t,n,r)+(e.disallowEmpty?\\\"!\\\":\\\"\\\");break;case\\\"Multiplier\\\":return _t(e.term,t,n,r)+t(0===(i=e).min&&0===i.max?\\\"*\\\":0===i.min&&1===i.max?\\\"?\\\":1===i.min&&0===i.max?i.comma?\\\"#\\\":\\\"+\\\":1===i.min&&1===i.max?\\\"\\\":(i.comma?\\\"#\\\":\\\"\\\")+(i.min===i.max?\\\"{\\\"+i.min+\\\"}\\\":\\\"{\\\"+i.min+\\\",\\\"+(0!==i.max?i.max:\\\"\\\")+\\\"}\\\"),e);case\\\"Type\\\":a=\\\"<\\\"+e.name+(e.opts?t(function(e){if(\\\"Range\\\"===e.type)return\\\" [\\\"+(null===e.min?\\\"-∞\\\":e.min)+\\\",\\\"+(null===e.max?\\\"∞\\\":e.max)+\\\"]\\\";throw new Error(\\\"Unknown node type `\\\"+e.type+\\\"`\\\")}(e.opts),e.opts):\\\"\\\")+\\\">\\\";break;case\\\"Property\\\":a=\\\"<'\\\"+e.name+\\\"'>\\\";break;case\\\"Keyword\\\":a=e.name;break;case\\\"AtKeyword\\\":a=\\\"@\\\"+e.name;break;case\\\"Function\\\":a=e.name+\\\"(\\\";break;case\\\"String\\\":case\\\"Token\\\":a=e.value;break;case\\\"Comma\\\":a=\\\",\\\";break;default:throw new Error(\\\"Unknown node type `\\\"+e.type+\\\"`\\\")}return t(a,e)}var zt=function(e,t){var n=Tt,r=!1,a=!1;return\\\"function\\\"==typeof t?n=t:t&&(r=Boolean(t.forceBraces),a=Boolean(t.compact),\\\"function\\\"==typeof t.decorate&&(n=t.decorate)),_t(e,n,r,a)};const Ot=We,At=zt,Et={offset:0,line:1,column:1};function jt(e,t){const n=e&&e.loc&&e.loc[t];return n?\\\"line\\\"in n?Wt(n):n:null}function Wt({offset:e,line:t,column:n},r){const a={offset:e,line:t,column:n};if(r){const e=r.split(/\\\\n|\\\\r\\\\n?|\\\\f/);a.offset+=r.length,a.line+=e.length-1,a.column=1===e.length?a.column+r.length:e.pop().length+1}return a}var Lt=function(e,t){const n=Ot(\\\"SyntaxReferenceError\\\",e+(t?\\\" `\\\"+t+\\\"`\\\":\\\"\\\"));return n.reference=t,n},Bt=function(e,t,n,r){const a=Ot(\\\"SyntaxMatchError\\\",e),{css:i,mismatchOffset:o,mismatchLength:s,start:l,end:d}=function(e,t){const n=e.tokens,r=e.longestMatch,a=r<n.length&&n[r].node||null,i=a!==t?a:null;let o,s,l=0,d=0,p=0,c=\\\"\\\";for(let e=0;e<n.length;e++){const t=n[e].value;e===r&&(d=t.length,l=c.length),null!==i&&n[e].node===i&&(e<=r?p++:p=0),c+=t}return r===n.length||p>1?(o=jt(i||t,\\\"end\\\")||Wt(Et,c),s=Wt(o)):(o=jt(i,\\\"start\\\")||Wt(jt(t,\\\"start\\\")||Et,c.slice(0,l)),s=jt(i,\\\"end\\\")||Wt(o,c.substr(l,d))),{css:c,mismatchOffset:l,mismatchLength:d,start:o,end:s}}(r,n);return a.rawMessage=e,a.syntax=t?At(t):\\\"<generic>\\\",a.css=i,a.mismatchOffset=o,a.mismatchLength=s,a.message=e+\\\"\\\\n syntax: \\\"+a.syntax+\\\"\\\\n value: \\\"+(i||\\\"<empty string>\\\")+\\\"\\\\n --------\\\"+new Array(a.mismatchOffset+1).join(\\\"-\\\")+\\\"^\\\",Object.assign(a,l),a.loc={source:n&&n.loc&&n.loc.source||\\\"<unknown>\\\",start:l,end:d},a},Pt=Object.prototype.hasOwnProperty,qt=Object.create(null),Mt=Object.create(null),It=45;function Dt(e,t){return t=t||0,e.length-t>=2&&e.charCodeAt(t)===It&&e.charCodeAt(t+1)===It}function Rt(e,t){if(t=t||0,e.length-t>=3&&e.charCodeAt(t)===It&&e.charCodeAt(t+1)!==It){var n=e.indexOf(\\\"-\\\",t+2);if(-1!==n)return e.substring(t,n+1)}return\\\"\\\"}var Nt={keyword:function(e){if(Pt.call(qt,e))return qt[e];var t=e.toLowerCase();if(Pt.call(qt,t))return qt[e]=qt[t];var n=Dt(t,0),r=n?\\\"\\\":Rt(t,0);return qt[e]=Object.freeze({basename:t.substr(r.length),name:t,vendor:r,prefix:r,custom:n})},property:function(e){if(Pt.call(Mt,e))return Mt[e];var t=e,n=e[0];\\\"/\\\"===n?n=\\\"/\\\"===e[1]?\\\"//\\\":\\\"/\\\":\\\"_\\\"!==n&&\\\"*\\\"!==n&&\\\"$\\\"!==n&&\\\"#\\\"!==n&&\\\"+\\\"!==n&&\\\"&\\\"!==n&&(n=\\\"\\\");var r=Dt(t,n.length);if(!r&&(t=t.toLowerCase(),Pt.call(Mt,t)))return Mt[e]=Mt[t];var a=r?\\\"\\\":Rt(t,n.length),i=t.substr(0,n.length+a.length);return Mt[e]=Object.freeze({basename:t.substr(i.length),name:t.substr(n.length),hack:n,vendor:a,prefix:i,custom:r})},isCustomProperty:Dt,vendorPrefix:Rt},Gt=\\\"undefined\\\"!=typeof Uint32Array?Uint32Array:Array,Ft=function(e,t){return null===e||e.length<t?new Gt(Math.max(t+1024,16384)):e},Vt=Ct,Ut=Ft,Ht=Ne,$t=Ht.TYPE,Yt=nt,Kt=Yt.isNewline,Zt=Yt.isName,Qt=Yt.isValidEscape,Jt=Yt.isNumberStart,Xt=Yt.isIdentifierStart,en=Yt.charCodeCategory,tn=Yt.isBOM,nn=ht,rn=nn.cmpStr,an=nn.getNewlineLength,on=nn.findWhiteSpaceEnd,sn=nn.consumeEscaped,ln=nn.consumeName,dn=nn.consumeNumber,pn=nn.consumeBadUrlRemnants,cn=16777215,un=24;function mn(e,t){function n(t){return t<o?e.charCodeAt(t):0}function r(){return c=dn(e,c),Xt(n(c),n(c+1),n(c+2))?(f=$t.Dimension,void(c=ln(e,c))):37===n(c)?(f=$t.Percentage,void c++):void(f=$t.Number)}function a(){const t=c;return c=ln(e,c),rn(e,t,c,\\\"url\\\")&&40===n(c)?34===n(c=on(e,c+1))||39===n(c)?(f=$t.Function,void(c=t+4)):void function(){for(f=$t.Url,c=on(e,c);c<e.length;c++){var t=e.charCodeAt(c);switch(en(t)){case 41:return void c++;case en.Eof:return;case en.WhiteSpace:return 41===n(c=on(e,c))||c>=e.length?void(c<e.length&&c++):(c=pn(e,c),void(f=$t.BadUrl));case 34:case 39:case 40:case en.NonPrintable:return c=pn(e,c),void(f=$t.BadUrl);case 92:if(Qt(t,n(c+1))){c=sn(e,c)-1;break}return c=pn(e,c),void(f=$t.BadUrl)}}}():40===n(c)?(f=$t.Function,void c++):void(f=$t.Ident)}function i(t){for(t||(t=n(c++)),f=$t.String;c<e.length;c++){var r=e.charCodeAt(c);switch(en(r)){case t:return void c++;case en.Eof:return;case en.WhiteSpace:if(Kt(r))return c+=an(e,c,r),void(f=$t.BadString);break;case 92:if(c===e.length-1)break;var a=n(c+1);Kt(a)?c+=an(e,c+1,a):Qt(r,a)&&(c=sn(e,c)-1)}}}t||(t=new Vt);for(var o=(e=String(e||\\\"\\\")).length,s=Ut(t.offsetAndType,o+1),l=Ut(t.balance,o+1),d=0,p=tn(n(0)),c=p,u=0,m=0,h=0;c<o;){var g=e.charCodeAt(c),f=0;switch(l[d]=o,en(g)){case en.WhiteSpace:f=$t.WhiteSpace,c=on(e,c+1);break;case 34:i();break;case 35:Zt(n(c+1))||Qt(n(c+1),n(c+2))?(f=$t.Hash,c=ln(e,c+1)):(f=$t.Delim,c++);break;case 39:i();break;case 40:f=$t.LeftParenthesis,c++;break;case 41:f=$t.RightParenthesis,c++;break;case 43:Jt(g,n(c+1),n(c+2))?r():(f=$t.Delim,c++);break;case 44:f=$t.Comma,c++;break;case 45:Jt(g,n(c+1),n(c+2))?r():45===n(c+1)&&62===n(c+2)?(f=$t.CDC,c+=3):Xt(g,n(c+1),n(c+2))?a():(f=$t.Delim,c++);break;case 46:Jt(g,n(c+1),n(c+2))?r():(f=$t.Delim,c++);break;case 47:42===n(c+1)?(f=$t.Comment,1===(c=e.indexOf(\\\"*/\\\",c+2)+2)&&(c=e.length)):(f=$t.Delim,c++);break;case 58:f=$t.Colon,c++;break;case 59:f=$t.Semicolon,c++;break;case 60:33===n(c+1)&&45===n(c+2)&&45===n(c+3)?(f=$t.CDO,c+=4):(f=$t.Delim,c++);break;case 64:Xt(n(c+1),n(c+2),n(c+3))?(f=$t.AtKeyword,c=ln(e,c+1)):(f=$t.Delim,c++);break;case 91:f=$t.LeftSquareBracket,c++;break;case 92:Qt(g,n(c+1))?a():(f=$t.Delim,c++);break;case 93:f=$t.RightSquareBracket,c++;break;case 123:f=$t.LeftCurlyBracket,c++;break;case 125:f=$t.RightCurlyBracket,c++;break;case en.Digit:r();break;case en.NameStart:a();break;case en.Eof:break;default:f=$t.Delim,c++}switch(f){case u:for(u=(m=l[h=m&cn])>>un,l[d]=h,l[h++]=d;h<d;h++)l[h]===o&&(l[h]=d);break;case $t.LeftParenthesis:case $t.Function:l[d]=m,m=(u=$t.RightParenthesis)<<un|d;break;case $t.LeftSquareBracket:l[d]=m,m=(u=$t.RightSquareBracket)<<un|d;break;case $t.LeftCurlyBracket:l[d]=m,m=(u=$t.RightCurlyBracket)<<un|d}s[d++]=f<<un|c}for(s[d]=$t.EOF<<un|c,l[d]=o,l[o]=o;0!==m;)m=l[h=m&cn],l[h]=o;return t.source=e,t.firstCharOffset=p,t.offsetAndType=s,t.tokenCount=d,t.balance=l,t.reset(),t.next(),t}Object.keys(Ht).forEach((function(e){mn[e]=Ht[e]})),Object.keys(Yt).forEach((function(e){mn[e]=Yt[e]})),Object.keys(nn).forEach((function(e){mn[e]=nn[e]}));var hn=mn,gn=hn.isDigit,fn=hn.cmpChar,yn=hn.TYPE,bn=yn.Delim,Sn=yn.WhiteSpace,vn=yn.Comment,xn=yn.Ident,kn=yn.Number,wn=yn.Dimension,Cn=43,Tn=45,_n=!0;function zn(e,t){return null!==e&&e.type===bn&&e.value.charCodeAt(0)===t}function On(e,t,n){for(;null!==e&&(e.type===Sn||e.type===vn);)e=n(++t);return t}function An(e,t,n,r){if(!e)return 0;var a=e.value.charCodeAt(t);if(a===Cn||a===Tn){if(n)return 0;t++}for(;t<e.value.length;t++)if(!gn(e.value.charCodeAt(t)))return 0;return r+1}function En(e,t,n){var r=!1,a=On(e,t,n);if(null===(e=n(a)))return t;if(e.type!==kn){if(!zn(e,Cn)&&!zn(e,Tn))return t;if(r=!0,a=On(n(++a),a,n),null===(e=n(a))&&e.type!==kn)return 0}if(!r){var i=e.value.charCodeAt(0);if(i!==Cn&&i!==Tn)return 0}return An(e,r?0:1,r,a)}var jn=hn.isHexDigit,Wn=hn.cmpChar,Ln=hn.TYPE,Bn=Ln.Ident,Pn=Ln.Delim,qn=Ln.Number,Mn=Ln.Dimension,In=45,Dn=63;function Rn(e,t){return null!==e&&e.type===Pn&&e.value.charCodeAt(0)===t}function Nn(e,t){return e.value.charCodeAt(0)===t}function Gn(e,t,n){for(var r=t,a=0;r<e.value.length;r++){var i=e.value.charCodeAt(r);if(i===In&&n&&0!==a)return Gn(e,t+a+1,!1)>0?6:0;if(!jn(i))return 0;if(++a>6)return 0}return a}function Fn(e,t,n){if(!e)return 0;for(;Rn(n(t),Dn);){if(++e>6)return 0;t++}return t}var Vn=hn,Un=Vn.isIdentifierStart,Hn=Vn.isHexDigit,$n=Vn.isDigit,Yn=Vn.cmpStr,Kn=Vn.consumeNumber,Zn=Vn.TYPE,Qn=function(e,t){var n=0;if(!e)return 0;if(e.type===kn)return An(e,0,false,n);if(e.type===xn&&e.value.charCodeAt(0)===Tn){if(!fn(e.value,1,110))return 0;switch(e.value.length){case 2:return En(t(++n),n,t);case 3:return e.value.charCodeAt(2)!==Tn?0:(n=On(t(++n),n,t),An(e=t(n),0,_n,n));default:return e.value.charCodeAt(2)!==Tn?0:An(e,3,_n,n)}}else if(e.type===xn||zn(e,Cn)&&t(n+1).type===xn){if(e.type!==xn&&(e=t(++n)),null===e||!fn(e.value,0,110))return 0;switch(e.value.length){case 1:return En(t(++n),n,t);case 2:return e.value.charCodeAt(1)!==Tn?0:(n=On(t(++n),n,t),An(e=t(n),0,_n,n));default:return e.value.charCodeAt(1)!==Tn?0:An(e,2,_n,n)}}else if(e.type===wn){for(var r=e.value.charCodeAt(0),a=r===Cn||r===Tn?1:0,i=a;i<e.value.length&&gn(e.value.charCodeAt(i));i++);return i===a?0:fn(e.value,i,110)?i+1===e.value.length?En(t(++n),n,t):e.value.charCodeAt(i+1)!==Tn?0:i+2===e.value.length?(n=On(t(++n),n,t),An(e=t(n),0,_n,n)):An(e,i+2,_n,n):0}return 0},Jn=function(e,t){var n=0;if(null===e||e.type!==Bn||!Wn(e.value,0,117))return 0;if(null===(e=t(++n)))return 0;if(Rn(e,43))return null===(e=t(++n))?0:e.type===Bn?Fn(Gn(e,0,!0),++n,t):Rn(e,Dn)?Fn(1,++n,t):0;if(e.type===qn){if(!Nn(e,43))return 0;var r=Gn(e,1,!0);return 0===r?0:null===(e=t(++n))?n:e.type===Mn||e.type===qn?Nn(e,In)&&Gn(e,1,!1)?n+1:0:Fn(r,n,t)}return e.type===Mn&&Nn(e,43)?Fn(Gn(e,1,!0),++n,t):0},Xn=[\\\"unset\\\",\\\"initial\\\",\\\"inherit\\\"],er=[\\\"calc(\\\",\\\"-moz-calc(\\\",\\\"-webkit-calc(\\\"];function tr(e,t){return t<e.length?e.charCodeAt(t):0}function nr(e,t){return Yn(e,0,e.length,t)}function rr(e,t){for(var n=0;n<t.length;n++)if(nr(e,t[n]))return!0;return!1}function ar(e,t){return t===e.length-2&&(92===e.charCodeAt(t)&&$n(e.charCodeAt(t+1)))}function ir(e,t,n){if(e&&\\\"Range\\\"===e.type){var r=Number(void 0!==n&&n!==t.length?t.substr(0,n):t);if(isNaN(r))return!0;if(null!==e.min&&r<e.min)return!0;if(null!==e.max&&r>e.max)return!0}return!1}function or(e,t){var n=e.index,r=0;do{if(r++,e.balance<=n)break}while(e=t(r));return r}function sr(e){return function(t,n,r){return null===t?0:t.type===Zn.Function&&rr(t.value,er)?or(t,n):e(t,n,r)}}function lr(e){return function(t){return null===t||t.type!==e?0:1}}function dr(e){return function(t,n,r){if(null===t||t.type!==Zn.Dimension)return 0;var a=Kn(t.value,0);if(null!==e){var i=t.value.indexOf(\\\"\\\\\\\\\\\",a),o=-1!==i&&ar(t.value,i)?t.value.substring(a,i):t.value.substr(a);if(!1===e.hasOwnProperty(o.toLowerCase()))return 0}return ir(r,t.value,a)?0:1}}function pr(e){return\\\"function\\\"!=typeof e&&(e=function(){return 0}),function(t,n,r){return null!==t&&t.type===Zn.Number&&0===Number(t.value)?1:e(t,n,r)}}var cr={\\\"ident-token\\\":lr(Zn.Ident),\\\"function-token\\\":lr(Zn.Function),\\\"at-keyword-token\\\":lr(Zn.AtKeyword),\\\"hash-token\\\":lr(Zn.Hash),\\\"string-token\\\":lr(Zn.String),\\\"bad-string-token\\\":lr(Zn.BadString),\\\"url-token\\\":lr(Zn.Url),\\\"bad-url-token\\\":lr(Zn.BadUrl),\\\"delim-token\\\":lr(Zn.Delim),\\\"number-token\\\":lr(Zn.Number),\\\"percentage-token\\\":lr(Zn.Percentage),\\\"dimension-token\\\":lr(Zn.Dimension),\\\"whitespace-token\\\":lr(Zn.WhiteSpace),\\\"CDO-token\\\":lr(Zn.CDO),\\\"CDC-token\\\":lr(Zn.CDC),\\\"colon-token\\\":lr(Zn.Colon),\\\"semicolon-token\\\":lr(Zn.Semicolon),\\\"comma-token\\\":lr(Zn.Comma),\\\"[-token\\\":lr(Zn.LeftSquareBracket),\\\"]-token\\\":lr(Zn.RightSquareBracket),\\\"(-token\\\":lr(Zn.LeftParenthesis),\\\")-token\\\":lr(Zn.RightParenthesis),\\\"{-token\\\":lr(Zn.LeftCurlyBracket),\\\"}-token\\\":lr(Zn.RightCurlyBracket),string:lr(Zn.String),ident:lr(Zn.Ident),\\\"custom-ident\\\":function(e){if(null===e||e.type!==Zn.Ident)return 0;var t=e.value.toLowerCase();return rr(t,Xn)||nr(t,\\\"default\\\")?0:1},\\\"custom-property-name\\\":function(e){return null===e||e.type!==Zn.Ident||45!==tr(e.value,0)||45!==tr(e.value,1)?0:1},\\\"hex-color\\\":function(e){if(null===e||e.type!==Zn.Hash)return 0;var t=e.value.length;if(4!==t&&5!==t&&7!==t&&9!==t)return 0;for(var n=1;n<t;n++)if(!Hn(e.value.charCodeAt(n)))return 0;return 1},\\\"id-selector\\\":function(e){return null===e||e.type!==Zn.Hash?0:Un(tr(e.value,1),tr(e.value,2),tr(e.value,3))?1:0},\\\"an-plus-b\\\":Qn,urange:Jn,\\\"declaration-value\\\":function(e,t){if(!e)return 0;var n=0,r=0,a=e.index;e:do{switch(e.type){case Zn.BadString:case Zn.BadUrl:break e;case Zn.RightCurlyBracket:case Zn.RightParenthesis:case Zn.RightSquareBracket:if(e.balance>e.index||e.balance<a)break e;r--;break;case Zn.Semicolon:if(0===r)break e;break;case Zn.Delim:if(\\\"!\\\"===e.value&&0===r)break e;break;case Zn.Function:case Zn.LeftParenthesis:case Zn.LeftSquareBracket:case Zn.LeftCurlyBracket:r++}if(n++,e.balance<=a)break}while(e=t(n));return n},\\\"any-value\\\":function(e,t){if(!e)return 0;var n=e.index,r=0;e:do{switch(e.type){case Zn.BadString:case Zn.BadUrl:break e;case Zn.RightCurlyBracket:case Zn.RightParenthesis:case Zn.RightSquareBracket:if(e.balance>e.index||e.balance<n)break e}if(r++,e.balance<=n)break}while(e=t(r));return r},dimension:sr(dr(null)),angle:sr(dr({deg:!0,grad:!0,rad:!0,turn:!0})),decibel:sr(dr({db:!0})),frequency:sr(dr({hz:!0,khz:!0})),flex:sr(dr({fr:!0})),length:sr(pr(dr({px:!0,mm:!0,cm:!0,in:!0,pt:!0,pc:!0,q:!0,em:!0,ex:!0,ch:!0,rem:!0,vh:!0,vw:!0,vmin:!0,vmax:!0,vm:!0}))),resolution:sr(dr({dpi:!0,dpcm:!0,dppx:!0,x:!0})),semitones:sr(dr({st:!0})),time:sr(dr({s:!0,ms:!0})),percentage:sr((function(e,t,n){return null===e||e.type!==Zn.Percentage||ir(n,e.value,e.value.length-1)?0:1})),zero:pr(),number:sr((function(e,t,n){if(null===e)return 0;var r=Kn(e.value,0);return r===e.value.length||ar(e.value,r)?ir(n,e.value,r)?0:1:0})),integer:sr((function(e,t,n){if(null===e||e.type!==Zn.Number)return 0;for(var r=43===e.value.charCodeAt(0)||45===e.value.charCodeAt(0)?1:0;r<e.value.length;r++)if(!$n(e.value.charCodeAt(r)))return 0;return ir(n,e.value,r)?0:1})),\\\"-ms-legacy-expression\\\":function(e){return e+=\\\"(\\\",function(t,n){return null!==t&&nr(t.value,e)?or(t,n):0}}(\\\"expression\\\")},ur=We,mr=function(e,t,n){var r=ur(\\\"SyntaxError\\\",e);return r.input=t,r.offset=n,r.rawMessage=e,r.message=r.rawMessage+\\\"\\\\n \\\"+r.input+\\\"\\\\n--\\\"+new Array((r.offset||r.input.length)+1).join(\\\"-\\\")+\\\"^\\\",r},hr=mr,gr=function(e){this.str=e,this.pos=0};gr.prototype={charCodeAt:function(e){return e<this.str.length?this.str.charCodeAt(e):0},charCode:function(){return this.charCodeAt(this.pos)},nextCharCode:function(){return this.charCodeAt(this.pos+1)},nextNonWsCode:function(e){return this.charCodeAt(this.findWsEnd(e))},findWsEnd:function(e){for(;e<this.str.length;e++){var t=this.str.charCodeAt(e);if(13!==t&&10!==t&&12!==t&&32!==t&&9!==t)break}return e},substringToPos:function(e){return this.str.substring(this.pos,this.pos=e)},eat:function(e){this.charCode()!==e&&this.error(\\\"Expect `\\\"+String.fromCharCode(e)+\\\"`\\\"),this.pos++},peek:function(){return this.pos<this.str.length?this.str.charAt(this.pos++):\\\"\\\"},error:function(e){throw new hr(e,this.str,this.pos)}};var fr=gr,yr=9,br=10,Sr=12,vr=13,xr=32,kr=33,wr=35,Cr=38,Tr=39,_r=40,zr=41,Or=42,Ar=43,Er=44,jr=45,Wr=60,Lr=62,Br=63,Pr=64,qr=91,Mr=93,Ir=123,Dr=124,Rr=125,Nr=8734,Gr=function(e){for(var t=\\\"function\\\"==typeof Uint32Array?new Uint32Array(128):new Array(128),n=0;n<128;n++)t[n]=e(String.fromCharCode(n))?1:0;return t}((function(e){return/[a-zA-Z0-9\\\\-]/.test(e)})),Fr={\\\" \\\":1,\\\"&&\\\":2,\\\"||\\\":3,\\\"|\\\":4};function Vr(e){return e.substringToPos(e.findWsEnd(e.pos))}function Ur(e){for(var t=e.pos;t<e.str.length;t++){var n=e.str.charCodeAt(t);if(n>=128||0===Gr[n])break}return e.pos===t&&e.error(\\\"Expect a keyword\\\"),e.substringToPos(t)}function Hr(e){for(var t=e.pos;t<e.str.length;t++){var n=e.str.charCodeAt(t);if(n<48||n>57)break}return e.pos===t&&e.error(\\\"Expect a number\\\"),e.substringToPos(t)}function $r(e){var t=e.str.indexOf(\\\"'\\\",e.pos+1);return-1===t&&(e.pos=e.str.length,e.error(\\\"Expect an apostrophe\\\")),e.substringToPos(t+1)}function Yr(e){var t,n=null;return e.eat(Ir),t=Hr(e),e.charCode()===Er?(e.pos++,e.charCode()!==Rr&&(n=Hr(e))):n=t,e.eat(Rr),{min:Number(t),max:n?Number(n):0}}function Kr(e,t){var n=function(e){var t=null,n=!1;switch(e.charCode()){case Or:e.pos++,t={min:0,max:0};break;case Ar:e.pos++,t={min:1,max:0};break;case Br:e.pos++,t={min:0,max:1};break;case wr:e.pos++,n=!0,t=e.charCode()===Ir?Yr(e):{min:1,max:0};break;case Ir:t=Yr(e);break;default:return null}return{type:\\\"Multiplier\\\",comma:n,min:t.min,max:t.max,term:null}}(e);return null!==n?(n.term=t,n):t}function Zr(e){var t=e.peek();return\\\"\\\"===t?null:{type:\\\"Token\\\",value:t}}function Qr(e){var t,n=null;return e.eat(Wr),t=Ur(e),e.charCode()===_r&&e.nextCharCode()===zr&&(e.pos+=2,t+=\\\"()\\\"),e.charCodeAt(e.findWsEnd(e.pos))===qr&&(Vr(e),n=function(e){var t=null,n=null,r=1;return e.eat(qr),e.charCode()===jr&&(e.peek(),r=-1),-1==r&&e.charCode()===Nr?e.peek():t=r*Number(Hr(e)),Vr(e),e.eat(Er),Vr(e),e.charCode()===Nr?e.peek():(r=1,e.charCode()===jr&&(e.peek(),r=-1),n=r*Number(Hr(e))),e.eat(Mr),null===t&&null===n?null:{type:\\\"Range\\\",min:t,max:n}}(e)),e.eat(Lr),Kr(e,{type:\\\"Type\\\",name:t,opts:n})}function Jr(e,t){function n(e,t){return{type:\\\"Group\\\",terms:e,combinator:t,disallowEmpty:!1,explicit:!1}}for(t=Object.keys(t).sort((function(e,t){return Fr[e]-Fr[t]}));t.length>0;){for(var r=t.shift(),a=0,i=0;a<e.length;a++){var o=e[a];\\\"Combinator\\\"===o.type&&(o.value===r?(-1===i&&(i=a-1),e.splice(a,1),a--):(-1!==i&&a-i>1&&(e.splice(i,a-i,n(e.slice(i,a),r)),a=i+1),i=-1))}-1!==i&&t.length&&e.splice(i,a-i,n(e.slice(i,a),r))}return r}function Xr(e){for(var t,n=[],r={},a=null,i=e.pos;t=ea(e);)\\\"Spaces\\\"!==t.type&&(\\\"Combinator\\\"===t.type?(null!==a&&\\\"Combinator\\\"!==a.type||(e.pos=i,e.error(\\\"Unexpected combinator\\\")),r[t.value]=!0):null!==a&&\\\"Combinator\\\"!==a.type&&(r[\\\" \\\"]=!0,n.push({type:\\\"Combinator\\\",value:\\\" \\\"})),n.push(t),a=t,i=e.pos);return null!==a&&\\\"Combinator\\\"===a.type&&(e.pos-=i,e.error(\\\"Unexpected combinator\\\")),{type:\\\"Group\\\",terms:n,combinator:Jr(n,r)||\\\" \\\",disallowEmpty:!1,explicit:!1}}function ea(e){var t=e.charCode();if(t<128&&1===Gr[t])return function(e){var t;return t=Ur(e),e.charCode()===_r?(e.pos++,{type:\\\"Function\\\",name:t}):Kr(e,{type:\\\"Keyword\\\",name:t})}(e);switch(t){case Mr:break;case qr:return Kr(e,function(e){var t;return e.eat(qr),t=Xr(e),e.eat(Mr),t.explicit=!0,e.charCode()===kr&&(e.pos++,t.disallowEmpty=!0),t}(e));case Wr:return e.nextCharCode()===Tr?function(e){var t;return e.eat(Wr),e.eat(Tr),t=Ur(e),e.eat(Tr),e.eat(Lr),Kr(e,{type:\\\"Property\\\",name:t})}(e):Qr(e);case Dr:return{type:\\\"Combinator\\\",value:e.substringToPos(e.nextCharCode()===Dr?e.pos+2:e.pos+1)};case Cr:return e.pos++,e.eat(Cr),{type:\\\"Combinator\\\",value:\\\"&&\\\"};case Er:return e.pos++,{type:\\\"Comma\\\"};case Tr:return Kr(e,{type:\\\"String\\\",value:$r(e)});case xr:case yr:case br:case vr:case Sr:return{type:\\\"Spaces\\\",value:Vr(e)};case Pr:return(t=e.nextCharCode())<128&&1===Gr[t]?(e.pos++,{type:\\\"AtKeyword\\\",name:Ur(e)}):Zr(e);case Or:case Ar:case Br:case wr:case kr:break;case Ir:if((t=e.nextCharCode())<48||t>57)return Zr(e);break;default:return Zr(e)}}function ta(e){var t=new fr(e),n=Xr(t);return t.pos!==e.length&&t.error(\\\"Unexpected input\\\"),1===n.terms.length&&\\\"Group\\\"===n.terms[0].type&&(n=n.terms[0]),n}ta(\\\"[a&&<b>#|<'c'>*||e() f{2} /,(% g#{1,2} h{2,})]!\\\");var na=ta,ra=function(){};function aa(e){return\\\"function\\\"==typeof e?e:ra}var ia=function(e,t,n){var r=ra,a=ra;if(\\\"function\\\"==typeof t?r=t:t&&(r=aa(t.enter),a=aa(t.leave)),r===ra&&a===ra)throw new Error(\\\"Neither `enter` nor `leave` walker handler is set or both aren't a function\\\");!function e(t){switch(r.call(n,t),t.type){case\\\"Group\\\":t.terms.forEach(e);break;case\\\"Multiplier\\\":e(t.term);break;case\\\"Type\\\":case\\\"Property\\\":case\\\"Keyword\\\":case\\\"AtKeyword\\\":case\\\"Function\\\":case\\\"String\\\":case\\\"Token\\\":case\\\"Comma\\\":break;default:throw new Error(\\\"Unknown type: \\\"+t.type)}a.call(n,t)}(e)},oa=hn,sa=new Ct,la={decorator:function(e){var t=null,n={len:0,node:null},r=[n],a=\\\"\\\";return{children:e.children,node:function(n){var r=t;t=n,e.node.call(this,n),t=r},chunk:function(e){a+=e,n.node!==t?r.push({len:e.length,node:t}):n.len+=e.length},result:function(){return da(a,r)}}}};function da(e,t){var n=[],r=0,a=0,i=t?t[a].node:null;for(oa(e,sa);!sa.eof;){if(t)for(;a<t.length&&r+t[a].len<=sa.tokenStart;)r+=t[a++].len,i=t[a].node;n.push({type:sa.tokenType,value:sa.getTokenValue(),index:sa.tokenIndex,balance:sa.balance[sa.tokenIndex],node:i}),sa.next()}return n}var pa=na,ca={type:\\\"Match\\\"},ua={type:\\\"Mismatch\\\"},ma={type:\\\"DisallowEmpty\\\"},ha=40,ga=41;function fa(e,t,n){return t===ca&&n===ua||e===ca&&t===ca&&n===ca?e:(\\\"If\\\"===e.type&&e.else===ua&&t===ca&&(t=e.then,e=e.match),{type:\\\"If\\\",match:e,then:t,else:n})}function ya(e){return e.length>2&&e.charCodeAt(e.length-2)===ha&&e.charCodeAt(e.length-1)===ga}function ba(e){return\\\"Keyword\\\"===e.type||\\\"AtKeyword\\\"===e.type||\\\"Function\\\"===e.type||\\\"Type\\\"===e.type&&ya(e.name)}function Sa(e,t,n){switch(e){case\\\" \\\":for(var r=ca,a=t.length-1;a>=0;a--){r=fa(s=t[a],r,ua)}return r;case\\\"|\\\":r=ua;var i=null;for(a=t.length-1;a>=0;a--){if(ba(s=t[a])&&(null===i&&a>0&&ba(t[a-1])&&(r=fa({type:\\\"Enum\\\",map:i=Object.create(null)},ca,r)),null!==i)){var o=(ya(s.name)?s.name.slice(0,-1):s.name).toLowerCase();if(o in i==!1){i[o]=s;continue}}i=null,r=fa(s,ca,r)}return r;case\\\"&&\\\":if(t.length>5)return{type:\\\"MatchOnce\\\",terms:t,all:!0};for(r=ua,a=t.length-1;a>=0;a--){var s=t[a];l=t.length>1?Sa(e,t.filter((function(e){return e!==s})),!1):ca,r=fa(s,l,r)}return r;case\\\"||\\\":if(t.length>5)return{type:\\\"MatchOnce\\\",terms:t,all:!1};for(r=n?ca:ua,a=t.length-1;a>=0;a--){var l;s=t[a];l=t.length>1?Sa(e,t.filter((function(e){return e!==s})),!0):ca,r=fa(s,l,r)}return r}}function va(e){if(\\\"function\\\"==typeof e)return{type:\\\"Generic\\\",fn:e};switch(e.type){case\\\"Group\\\":var t=Sa(e.combinator,e.terms.map(va),!1);return e.disallowEmpty&&(t=fa(t,ma,ua)),t;case\\\"Multiplier\\\":return function(e){var t=ca,n=va(e.term);if(0===e.max)n=fa(n,ma,ua),(t=fa(n,null,ua)).then=fa(ca,ca,t),e.comma&&(t.then.else=fa({type:\\\"Comma\\\",syntax:e},t,ua));else for(var r=e.min||1;r<=e.max;r++)e.comma&&t!==ca&&(t=fa({type:\\\"Comma\\\",syntax:e},t,ua)),t=fa(n,fa(ca,ca,t),ua);if(0===e.min)t=fa(ca,ca,t);else for(r=0;r<e.min-1;r++)e.comma&&t!==ca&&(t=fa({type:\\\"Comma\\\",syntax:e},t,ua)),t=fa(n,t,ua);return t}(e);case\\\"Type\\\":case\\\"Property\\\":return{type:e.type,name:e.name,syntax:e};case\\\"Keyword\\\":return{type:e.type,name:e.name.toLowerCase(),syntax:e};case\\\"AtKeyword\\\":return{type:e.type,name:\\\"@\\\"+e.name.toLowerCase(),syntax:e};case\\\"Function\\\":return{type:e.type,name:e.name.toLowerCase()+\\\"(\\\",syntax:e};case\\\"String\\\":return 3===e.value.length?{type:\\\"Token\\\",value:e.value.charAt(1),syntax:e}:{type:e.type,value:e.value.substr(1,e.value.length-2).replace(/\\\\\\\\'/g,\\\"'\\\"),syntax:e};case\\\"Token\\\":return{type:e.type,value:e.value,syntax:e};case\\\"Comma\\\":return{type:e.type,syntax:e};default:throw new Error(\\\"Unknown node type:\\\",e.type)}}var xa={MATCH:ca,MISMATCH:ua,DISALLOW_EMPTY:ma,buildMatchGraph:function(e,t){return\\\"string\\\"==typeof e&&(e=pa(e)),{type:\\\"MatchGraph\\\",match:va(e),syntax:t||null,source:e}}},ka=Object.prototype.hasOwnProperty,wa=xa.MATCH,Ca=xa.MISMATCH,Ta=xa.DISALLOW_EMPTY,_a=Ne.TYPE,za=0,Oa=1,Aa=2,Ea=3,ja=\\\"Match\\\",Wa=\\\"Mismatch\\\",La=\\\"Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)\\\",Ba=15e3;function Pa(e){for(var t=null,n=null,r=e;null!==r;)n=r.prev,r.prev=t,t=r,r=n;return t}function qa(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r>=65&&r<=90&&(r|=32),r!==t.charCodeAt(n))return!1}return!0}function Ma(e){return null===e||(e.type===_a.Comma||e.type===_a.Function||e.type===_a.LeftParenthesis||e.type===_a.LeftSquareBracket||e.type===_a.LeftCurlyBracket||function(e){return e.type===_a.Delim&&\\\"?\\\"!==e.value}(e))}function Ia(e){return null===e||(e.type===_a.RightParenthesis||e.type===_a.RightSquareBracket||e.type===_a.RightCurlyBracket||e.type===_a.Delim)}function Da(e,t,n){function r(){do{y++,f=y<e.length?e[y]:null}while(null!==f&&(f.type===_a.WhiteSpace||f.type===_a.Comment))}function a(t){var n=y+t;return n<e.length?e[n]:null}function i(e,t){return{nextState:e,matchStack:S,syntaxStack:p,thenStack:c,tokenIndex:y,prev:t}}function o(e){c={nextState:e,matchStack:S,syntaxStack:p,prev:c}}function s(e){u=i(e,u)}function l(){S={type:Oa,syntax:t.syntax,token:f,prev:S},r(),m=null,y>b&&(b=y)}function d(){S=S.type===Aa?S.prev:{type:Ea,syntax:p.syntax,token:S.token,prev:S},p=p.prev}var p=null,c=null,u=null,m=null,h=0,g=null,f=null,y=-1,b=0,S={type:za,syntax:null,token:null,prev:null};for(r();null===g&&++h<Ba;)switch(t.type){case\\\"Match\\\":if(null===c){if(null!==f&&(y!==e.length-1||\\\"\\\\\\\\0\\\"!==f.value&&\\\"\\\\\\\\9\\\"!==f.value)){t=Ca;break}g=ja;break}if((t=c.nextState)===Ta){if(c.matchStack===S){t=Ca;break}t=wa}for(;c.syntaxStack!==p;)d();c=c.prev;break;case\\\"Mismatch\\\":if(null!==m&&!1!==m)(null===u||y>u.tokenIndex)&&(u=m,m=!1);else if(null===u){g=Wa;break}t=u.nextState,c=u.thenStack,p=u.syntaxStack,S=u.matchStack,y=u.tokenIndex,f=y<e.length?e[y]:null,u=u.prev;break;case\\\"MatchGraph\\\":t=t.match;break;case\\\"If\\\":t.else!==Ca&&s(t.else),t.then!==wa&&o(t.then),t=t.match;break;case\\\"MatchOnce\\\":t={type:\\\"MatchOnceBuffer\\\",syntax:t,index:0,mask:0};break;case\\\"MatchOnceBuffer\\\":var v=t.syntax.terms;if(t.index===v.length){if(0===t.mask||t.syntax.all){t=Ca;break}t=wa;break}if(t.mask===(1<<v.length)-1){t=wa;break}for(;t.index<v.length;t.index++){var x=1<<t.index;if(0==(t.mask&x)){s(t),o({type:\\\"AddMatchOnce\\\",syntax:t.syntax,mask:t.mask|x}),t=v[t.index++];break}}break;case\\\"AddMatchOnce\\\":t={type:\\\"MatchOnceBuffer\\\",syntax:t.syntax,index:0,mask:t.mask};break;case\\\"Enum\\\":if(null!==f)if(-1!==(_=f.value.toLowerCase()).indexOf(\\\"\\\\\\\\\\\")&&(_=_.replace(/\\\\\\\\[09].*$/,\\\"\\\")),ka.call(t.map,_)){t=t.map[_];break}t=Ca;break;case\\\"Generic\\\":var k=null!==p?p.opts:null,w=y+Math.floor(t.fn(f,a,k));if(!isNaN(w)&&w>y){for(;y<w;)l();t=wa}else t=Ca;break;case\\\"Type\\\":case\\\"Property\\\":var C=\\\"Type\\\"===t.type?\\\"types\\\":\\\"properties\\\",T=ka.call(n,C)?n[C][t.name]:null;if(!T||!T.match)throw new Error(\\\"Bad syntax reference: \\\"+(\\\"Type\\\"===t.type?\\\"<\\\"+t.name+\\\">\\\":\\\"<'\\\"+t.name+\\\"'>\\\"));if(!1!==m&&null!==f&&\\\"Type\\\"===t.type)if(\\\"custom-ident\\\"===t.name&&f.type===_a.Ident||\\\"length\\\"===t.name&&\\\"0\\\"===f.value){null===m&&(m=i(t,u)),t=Ca;break}p={syntax:t.syntax,opts:t.syntax.opts||null!==p&&p.opts||null,prev:p},S={type:Aa,syntax:t.syntax,token:S.token,prev:S},t=T.match;break;case\\\"Keyword\\\":var _=t.name;if(null!==f){var z=f.value;if(-1!==z.indexOf(\\\"\\\\\\\\\\\")&&(z=z.replace(/\\\\\\\\[09].*$/,\\\"\\\")),qa(z,_)){l(),t=wa;break}}t=Ca;break;case\\\"AtKeyword\\\":case\\\"Function\\\":if(null!==f&&qa(f.value,t.name)){l(),t=wa;break}t=Ca;break;case\\\"Token\\\":if(null!==f&&f.value===t.value){l(),t=wa;break}t=Ca;break;case\\\"Comma\\\":null!==f&&f.type===_a.Comma?Ma(S.token)?t=Ca:(l(),t=Ia(f)?Ca:wa):t=Ma(S.token)||Ia(f)?wa:Ca;break;case\\\"String\\\":var O=\\\"\\\";for(w=y;w<e.length&&O.length<t.value.length;w++)O+=e[w].value;if(qa(O,t.value)){for(;y<w;)l();t=wa}else t=Ca;break;default:throw new Error(\\\"Unknown node type: \\\"+t.type)}switch(h,g){case null:console.warn(\\\"[csstree-match] BREAK after \\\"+Ba+\\\" iterations\\\"),g=La,S=null;break;case ja:for(;null!==p;)d();break;default:S=null}return{tokens:e,reason:g,iterations:h,match:S,longestMatch:b}}var Ra=function(e,t,n){var r=Da(e,t,n||{});if(null===r.match)return r;var a=r.match,i=r.match={syntax:t.syntax||null,match:[]},o=[i];for(a=Pa(a).prev;null!==a;){switch(a.type){case Aa:i.match.push(i={syntax:a.syntax,match:[]}),o.push(i);break;case Ea:o.pop(),i=o[o.length-1];break;default:i.match.push({syntax:a.syntax||null,token:a.token.value,node:a.token.node})}a=a.prev}return r};function Na(e){function t(e){return null!==e&&(\\\"Type\\\"===e.type||\\\"Property\\\"===e.type||\\\"Keyword\\\"===e.type)}var n=null;return null!==this.matched&&function r(a){if(Array.isArray(a.match)){for(var i=0;i<a.match.length;i++)if(r(a.match[i]))return t(a.syntax)&&n.unshift(a.syntax),!0}else if(a.node===e)return n=t(a.syntax)?[a.syntax]:[],!0;return!1}(this.matched),n}function Ga(e,t,n){var r=Na.call(e,t);return null!==r&&r.some(n)}var Fa={getTrace:Na,isType:function(e,t){return Ga(this,e,(function(e){return\\\"Type\\\"===e.type&&e.name===t}))},isProperty:function(e,t){return Ga(this,e,(function(e){return\\\"Property\\\"===e.type&&e.name===t}))},isKeyword:function(e){return Ga(this,e,(function(e){return\\\"Keyword\\\"===e.type}))}},Va=je;function Ua(e){return\\\"node\\\"in e?e.node:Ua(e.match[0])}function Ha(e){return\\\"node\\\"in e?e.node:Ha(e.match[e.match.length-1])}var $a={matchFragments:function(e,t,n,r,a){var i=[];return null!==n.matched&&function n(o){if(null!==o.syntax&&o.syntax.type===r&&o.syntax.name===a){var s=Ua(o),l=Ha(o);e.syntax.walk(t,(function(e,t,n){if(e===s){var r=new Va;do{if(r.appendData(t.data),t.data===l)break;t=t.next}while(null!==t);i.push({parent:n,nodes:r})}}))}Array.isArray(o.match)&&o.match.forEach(n)}(n.matched),i}},Ya=je,Ka=Object.prototype.hasOwnProperty;function Za(e){return\\\"number\\\"==typeof e&&isFinite(e)&&Math.floor(e)===e&&e>=0}function Qa(e){return Boolean(e)&&Za(e.offset)&&Za(e.line)&&Za(e.column)}function Ja(e,t){return function(n,r){if(!n||n.constructor!==Object)return r(n,\\\"Type of node should be an Object\\\");for(var a in n){var i=!0;if(!1!==Ka.call(n,a)){if(\\\"type\\\"===a)n.type!==e&&r(n,\\\"Wrong node type `\\\"+n.type+\\\"`, expected `\\\"+e+\\\"`\\\");else if(\\\"loc\\\"===a){if(null===n.loc)continue;if(n.loc&&n.loc.constructor===Object)if(\\\"string\\\"!=typeof n.loc.source)a+=\\\".source\\\";else if(Qa(n.loc.start)){if(Qa(n.loc.end))continue;a+=\\\".end\\\"}else a+=\\\".start\\\";i=!1}else if(t.hasOwnProperty(a)){var o=0;for(i=!1;!i&&o<t[a].length;o++){var s=t[a][o];switch(s){case String:i=\\\"string\\\"==typeof n[a];break;case Boolean:i=\\\"boolean\\\"==typeof n[a];break;case null:i=null===n[a];break;default:\\\"string\\\"==typeof s?i=n[a]&&n[a].type===s:Array.isArray(s)&&(i=n[a]instanceof Ya)}}}else r(n,\\\"Unknown field `\\\"+a+\\\"` for \\\"+e+\\\" node type\\\");i||r(n,\\\"Bad value for `\\\"+e+\\\".\\\"+a+\\\"`\\\")}}for(var a in t)Ka.call(t,a)&&!1===Ka.call(n,a)&&r(n,\\\"Field `\\\"+e+\\\".\\\"+a+\\\"` is missed\\\")}}function Xa(e,t){var n=t.structure,r={type:String,loc:!0},a={type:'\\\"'+e+'\\\"'};for(var i in n)if(!1!==Ka.call(n,i)){for(var o=[],s=r[i]=Array.isArray(n[i])?n[i].slice():[n[i]],l=0;l<s.length;l++){var d=s[l];if(d===String||d===Boolean)o.push(d.name);else if(null===d)o.push(\\\"null\\\");else if(\\\"string\\\"==typeof d)o.push(\\\"<\\\"+d+\\\">\\\");else{if(!Array.isArray(d))throw new Error(\\\"Wrong value `\\\"+d+\\\"` in `\\\"+e+\\\".\\\"+i+\\\"` structure definition\\\");o.push(\\\"List\\\")}}a[i]=o.join(\\\" | \\\")}return{docs:a,check:Ja(e,r)}}var ei=function(e){var t={};if(e.node)for(var n in e.node)if(Ka.call(e.node,n)){var r=e.node[n];if(!r.structure)throw new Error(\\\"Missed `structure` field in `\\\"+n+\\\"` node type definition\\\");t[n]=Xa(n,r)}return t},ti=Lt,ni=Bt,ri=Nt,ai=cr,ii=na,oi=zt,si=ia,li=function(e,t){return\\\"string\\\"==typeof e?da(e,null):t.generate(e,la)},di=xa.buildMatchGraph,pi=Ra,ci=Fa,ui=$a,mi=ei,hi=di(\\\"inherit | initial | unset\\\"),gi=di(\\\"inherit | initial | unset | <-ms-legacy-expression>\\\");function fi(e,t,n){var r={};for(var a in e)e[a].syntax&&(r[a]=n?e[a].syntax:oi(e[a].syntax,{compact:t}));return r}function yi(e,t,n){const r={};for(const[a,i]of Object.entries(e))r[a]={prelude:i.prelude&&(n?i.prelude.syntax:oi(i.prelude.syntax,{compact:t})),descriptors:i.descriptors&&fi(i.descriptors,t,n)};return r}function bi(e,t,n){return{matched:e,iterations:n,error:t,getTrace:ci.getTrace,isType:ci.isType,isProperty:ci.isProperty,isKeyword:ci.isKeyword}}function Si(e,t,n,r){var a,i=li(n,e.syntax);return function(e){for(var t=0;t<e.length;t++)if(\\\"var(\\\"===e[t].value.toLowerCase())return!0;return!1}(i)?bi(null,new Error(\\\"Matching for a tree with var() is not supported\\\")):(r&&(a=pi(i,e.valueCommonSyntax,e)),r&&a.match||(a=pi(i,t.match,e)).match?bi(a.match,null,a.iterations):bi(null,new ni(a.reason,t.syntax,n,a),a.iterations))}var vi=function(e,t,n){if(this.valueCommonSyntax=hi,this.syntax=t,this.generic=!1,this.atrules={},this.properties={},this.types={},this.structure=n||mi(e),e){if(e.types)for(var r in e.types)this.addType_(r,e.types[r]);if(e.generic)for(var r in this.generic=!0,ai)this.addType_(r,ai[r]);if(e.atrules)for(var r in e.atrules)this.addAtrule_(r,e.atrules[r]);if(e.properties)for(var r in e.properties)this.addProperty_(r,e.properties[r])}};vi.prototype={structure:{},checkStructure:function(e){function t(e,t){r.push({node:e,message:t})}var n=this.structure,r=[];return this.syntax.walk(e,(function(e){n.hasOwnProperty(e.type)?n[e.type].check(e,t):t(e,\\\"Unknown node type `\\\"+e.type+\\\"`\\\")})),!!r.length&&r},createDescriptor:function(e,t,n,r=null){var a={type:t,name:n},i={type:t,name:n,parent:r,syntax:null,match:null};return\\\"function\\\"==typeof e?i.match=di(e,a):(\\\"string\\\"==typeof e?Object.defineProperty(i,\\\"syntax\\\",{get:function(){return Object.defineProperty(i,\\\"syntax\\\",{value:ii(e)}),i.syntax}}):i.syntax=e,Object.defineProperty(i,\\\"match\\\",{get:function(){return Object.defineProperty(i,\\\"match\\\",{value:di(i.syntax,a)}),i.match}})),i},addAtrule_:function(e,t){t&&(this.atrules[e]={type:\\\"Atrule\\\",name:e,prelude:t.prelude?this.createDescriptor(t.prelude,\\\"AtrulePrelude\\\",e):null,descriptors:t.descriptors?Object.keys(t.descriptors).reduce(((n,r)=>(n[r]=this.createDescriptor(t.descriptors[r],\\\"AtruleDescriptor\\\",r,e),n)),{}):null})},addProperty_:function(e,t){t&&(this.properties[e]=this.createDescriptor(t,\\\"Property\\\",e))},addType_:function(e,t){t&&(this.types[e]=this.createDescriptor(t,\\\"Type\\\",e),t===ai[\\\"-ms-legacy-expression\\\"]&&(this.valueCommonSyntax=gi))},checkAtruleName:function(e){if(!this.getAtrule(e))return new ti(\\\"Unknown at-rule\\\",\\\"@\\\"+e)},checkAtrulePrelude:function(e,t){let n=this.checkAtruleName(e);if(n)return n;var r=this.getAtrule(e);return!r.prelude&&t?new SyntaxError(\\\"At-rule `@\\\"+e+\\\"` should not contain a prelude\\\"):r.prelude&&!t?new SyntaxError(\\\"At-rule `@\\\"+e+\\\"` should contain a prelude\\\"):void 0},checkAtruleDescriptorName:function(e,t){let n=this.checkAtruleName(e);if(n)return n;var r=this.getAtrule(e),a=ri.keyword(t);return r.descriptors?r.descriptors[a.name]||r.descriptors[a.basename]?void 0:new ti(\\\"Unknown at-rule descriptor\\\",t):new SyntaxError(\\\"At-rule `@\\\"+e+\\\"` has no known descriptors\\\")},checkPropertyName:function(e){return ri.property(e).custom?new Error(\\\"Lexer matching doesn't applicable for custom properties\\\"):this.getProperty(e)?void 0:new ti(\\\"Unknown property\\\",e)},matchAtrulePrelude:function(e,t){var n=this.checkAtrulePrelude(e,t);return n?bi(null,n):t?Si(this,this.getAtrule(e).prelude,t,!1):bi(null,null)},matchAtruleDescriptor:function(e,t,n){var r=this.checkAtruleDescriptorName(e,t);if(r)return bi(null,r);var a=this.getAtrule(e),i=ri.keyword(t);return Si(this,a.descriptors[i.name]||a.descriptors[i.basename],n,!1)},matchDeclaration:function(e){return\\\"Declaration\\\"!==e.type?bi(null,new Error(\\\"Not a Declaration node\\\")):this.matchProperty(e.property,e.value)},matchProperty:function(e,t){var n=this.checkPropertyName(e);return n?bi(null,n):Si(this,this.getProperty(e),t,!0)},matchType:function(e,t){var n=this.getType(e);return n?Si(this,n,t,!1):bi(null,new ti(\\\"Unknown type\\\",e))},match:function(e,t){return\\\"string\\\"==typeof e||e&&e.type?(\\\"string\\\"!=typeof e&&e.match||(e=this.createDescriptor(e,\\\"Type\\\",\\\"anonymous\\\")),Si(this,e,t,!1)):bi(null,new ti(\\\"Bad syntax\\\"))},findValueFragments:function(e,t,n,r){return ui.matchFragments(this,t,this.matchProperty(e,t),n,r)},findDeclarationValueFragments:function(e,t,n){return ui.matchFragments(this,e.value,this.matchDeclaration(e),t,n)},findAllFragments:function(e,t,n){var r=[];return this.syntax.walk(e,{visit:\\\"Declaration\\\",enter:function(e){r.push.apply(r,this.findDeclarationValueFragments(e,t,n))}.bind(this)}),r},getAtrule:function(e,t=!0){var n=ri.keyword(e);return(n.vendor&&t?this.atrules[n.name]||this.atrules[n.basename]:this.atrules[n.name])||null},getAtrulePrelude:function(e,t=!0){const n=this.getAtrule(e,t);return n&&n.prelude||null},getAtruleDescriptor:function(e,t){return this.atrules.hasOwnProperty(e)&&this.atrules.declarators&&this.atrules[e].declarators[t]||null},getProperty:function(e,t=!0){var n=ri.property(e);return(n.vendor&&t?this.properties[n.name]||this.properties[n.basename]:this.properties[n.name])||null},getType:function(e){return this.types.hasOwnProperty(e)?this.types[e]:null},validate:function(){function e(r,a,i,o){if(i.hasOwnProperty(a))return i[a];i[a]=!1,null!==o.syntax&&si(o.syntax,(function(o){if(\\\"Type\\\"===o.type||\\\"Property\\\"===o.type){var s=\\\"Type\\\"===o.type?r.types:r.properties,l=\\\"Type\\\"===o.type?t:n;s.hasOwnProperty(o.name)&&!e(r,o.name,l,s[o.name])||(i[a]=!0)}}),this)}var t={},n={};for(var r in this.types)e(this,r,t,this.types[r]);for(var r in this.properties)e(this,r,n,this.properties[r]);return t=Object.keys(t).filter((function(e){return t[e]})),n=Object.keys(n).filter((function(e){return n[e]})),t.length||n.length?{types:t,properties:n}:null},dump:function(e,t){return{generic:this.generic,types:fi(this.types,!t,e),properties:fi(this.properties,!t,e),atrules:yi(this.atrules,!t,e)}},toString:function(){return JSON.stringify(this.dump())}};var xi=vi,ki={SyntaxError:mr,parse:na,generate:zt,walk:ia},wi=Ft,Ci=hn.isBOM,Ti=10,_i=12,zi=13;var Oi=function(){this.lines=null,this.columns=null,this.linesAndColumnsComputed=!1};Oi.prototype={setSource:function(e,t,n,r){this.source=e,this.startOffset=void 0===t?0:t,this.startLine=void 0===n?1:n,this.startColumn=void 0===r?1:r,this.linesAndColumnsComputed=!1},ensureLinesAndColumnsComputed:function(){this.linesAndColumnsComputed||(!function(e,t){for(var n=t.length,r=wi(e.lines,n),a=e.startLine,i=wi(e.columns,n),o=e.startColumn,s=t.length>0?Ci(t.charCodeAt(0)):0;s<n;s++){var l=t.charCodeAt(s);r[s]=a,i[s]=o++,l!==Ti&&l!==zi&&l!==_i||(l===zi&&s+1<n&&t.charCodeAt(s+1)===Ti&&(r[++s]=a,i[s]=o),a++,o=1)}r[s]=a,i[s]=o,e.lines=r,e.columns=i}(this,this.source),this.linesAndColumnsComputed=!0)},getLocation:function(e,t){return this.ensureLinesAndColumnsComputed(),{source:t,offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]}},getLocationRange:function(e,t,n){return this.ensureLinesAndColumnsComputed(),{source:n,start:{offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]},end:{offset:this.startOffset+t,line:this.lines[t],column:this.columns[t]}}}};var Ai=Oi,Ei=hn.TYPE,ji=Ei.WhiteSpace,Wi=Ei.Comment,Li=Ai,Bi=Ie,Pi=Ct,qi=je,Mi=hn,Ii=Ne,{findWhiteSpaceStart:Di,cmpStr:Ri}=ht,Ni=function(e){var t=this.createList(),n=null,r={recognizer:e,space:null,ignoreWS:!1,ignoreWSAfter:!1};for(this.scanner.skipSC();!this.scanner.eof;){switch(this.scanner.tokenType){case Wi:this.scanner.next();continue;case ji:r.ignoreWS?this.scanner.next():r.space=this.WhiteSpace();continue}if(void 0===(n=e.getNode.call(this,r)))break;null!==r.space&&(t.push(r.space),r.space=null),t.push(n),r.ignoreWSAfter?(r.ignoreWSAfter=!1,r.ignoreWS=!0):r.ignoreWS=!1}return t},Gi=function(){},Fi=Ii.TYPE,Vi=Ii.NAME,Ui=Fi.WhiteSpace,Hi=Fi.Comment,$i=Fi.Ident,Yi=Fi.Function,Ki=Fi.Url,Zi=Fi.Hash,Qi=Fi.Percentage,Ji=Fi.Number;function Xi(e){return function(){return this[e]()}}var eo={},to={},no={},ro=\\\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\\\".split(\\\"\\\");no.encode=function(e){if(0<=e&&e<ro.length)return ro[e];throw new TypeError(\\\"Must be between 0 and 63: \\\"+e)},no.decode=function(e){return 65<=e&&e<=90?e-65:97<=e&&e<=122?e-97+26:48<=e&&e<=57?e-48+52:43==e?62:47==e?63:-1};var ao=no;to.encode=function(e){var t,n=\\\"\\\",r=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&r,(r>>>=5)>0&&(t|=32),n+=ao.encode(t)}while(r>0);return n},to.decode=function(e,t,n){var r,a,i,o,s=e.length,l=0,d=0;do{if(t>=s)throw new Error(\\\"Expected more digits in base 64 VLQ value.\\\");if(-1===(a=ao.decode(e.charCodeAt(t++))))throw new Error(\\\"Invalid base64 digit: \\\"+e.charAt(t-1));r=!!(32&a),l+=(a&=31)<<d,d+=5}while(r);n.value=(o=(i=l)>>1,1==(1&i)?-o:o),n.rest=t};var io={};!function(e){e.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('\\\"'+t+'\\\" is a required argument.')};var t=/^(?:([\\\\w+\\\\-.]+):)?\\\\/\\\\/(?:(\\\\w+:\\\\w+)@)?([\\\\w.-]*)(?::(\\\\d+))?(.*)$/,n=/^data:.+\\\\,.+$/;function r(e){var n=e.match(t);return n?{scheme:n[1],auth:n[2],host:n[3],port:n[4],path:n[5]}:null}function a(e){var t=\\\"\\\";return e.scheme&&(t+=e.scheme+\\\":\\\"),t+=\\\"//\\\",e.auth&&(t+=e.auth+\\\"@\\\"),e.host&&(t+=e.host),e.port&&(t+=\\\":\\\"+e.port),e.path&&(t+=e.path),t}function i(t){var n=t,i=r(t);if(i){if(!i.path)return t;n=i.path}for(var o,s=e.isAbsolute(n),l=n.split(/\\\\/+/),d=0,p=l.length-1;p>=0;p--)\\\".\\\"===(o=l[p])?l.splice(p,1):\\\"..\\\"===o?d++:d>0&&(\\\"\\\"===o?(l.splice(p+1,d),d=0):(l.splice(p,2),d--));return\\\"\\\"===(n=l.join(\\\"/\\\"))&&(n=s?\\\"/\\\":\\\".\\\"),i?(i.path=n,a(i)):n}function o(e,t){\\\"\\\"===e&&(e=\\\".\\\"),\\\"\\\"===t&&(t=\\\".\\\");var o=r(t),s=r(e);if(s&&(e=s.path||\\\"/\\\"),o&&!o.scheme)return s&&(o.scheme=s.scheme),a(o);if(o||t.match(n))return t;if(s&&!s.host&&!s.path)return s.host=t,a(s);var l=\\\"/\\\"===t.charAt(0)?t:i(e.replace(/\\\\/+$/,\\\"\\\")+\\\"/\\\"+t);return s?(s.path=l,a(s)):l}e.urlParse=r,e.urlGenerate=a,e.normalize=i,e.join=o,e.isAbsolute=function(e){return\\\"/\\\"===e.charAt(0)||t.test(e)},e.relative=function(e,t){\\\"\\\"===e&&(e=\\\".\\\"),e=e.replace(/\\\\/$/,\\\"\\\");for(var n=0;0!==t.indexOf(e+\\\"/\\\");){var r=e.lastIndexOf(\\\"/\\\");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\\\\/]+:\\\\/)?\\\\/*$/))return t;++n}return Array(n+1).join(\\\"../\\\")+t.substr(e.length+1)};var s=!(\\\"__proto__\\\"in Object.create(null));function l(e){return e}function d(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function p(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}e.toSetString=s?l:function(e){return d(e)?\\\"$\\\"+e:e},e.fromSetString=s?l:function(e){return d(e)?e.slice(1):e},e.compareByOriginalPositions=function(e,t,n){var r=p(e.source,t.source);return 0!==r||0!==(r=e.originalLine-t.originalLine)||0!==(r=e.originalColumn-t.originalColumn)||n||0!==(r=e.generatedColumn-t.generatedColumn)||0!==(r=e.generatedLine-t.generatedLine)?r:p(e.name,t.name)},e.compareByGeneratedPositionsDeflated=function(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r||0!==(r=e.generatedColumn-t.generatedColumn)||n||0!==(r=p(e.source,t.source))||0!==(r=e.originalLine-t.originalLine)||0!==(r=e.originalColumn-t.originalColumn)?r:p(e.name,t.name)},e.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n||0!==(n=e.generatedColumn-t.generatedColumn)||0!==(n=p(e.source,t.source))||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)?n:p(e.name,t.name)},e.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\\\\)]}'[^\\\\n]*\\\\n/,\\\"\\\"))},e.computeSourceURL=function(e,t,n){if(t=t||\\\"\\\",e&&(\\\"/\\\"!==e[e.length-1]&&\\\"/\\\"!==t[0]&&(e+=\\\"/\\\"),t=e+t),n){var s=r(n);if(!s)throw new Error(\\\"sourceMapURL could not be parsed\\\");if(s.path){var l=s.path.lastIndexOf(\\\"/\\\");l>=0&&(s.path=s.path.substring(0,l+1))}t=o(a(s),t)}return i(t)}}(io);var oo={},so=io,lo=Object.prototype.hasOwnProperty,po=\\\"undefined\\\"!=typeof Map;function co(){this._array=[],this._set=po?new Map:Object.create(null)}co.fromArray=function(e,t){for(var n=new co,r=0,a=e.length;r<a;r++)n.add(e[r],t);return n},co.prototype.size=function(){return po?this._set.size:Object.getOwnPropertyNames(this._set).length},co.prototype.add=function(e,t){var n=po?e:so.toSetString(e),r=po?this.has(e):lo.call(this._set,n),a=this._array.length;r&&!t||this._array.push(e),r||(po?this._set.set(e,a):this._set[n]=a)},co.prototype.has=function(e){if(po)return this._set.has(e);var t=so.toSetString(e);return lo.call(this._set,t)},co.prototype.indexOf=function(e){if(po){var t=this._set.get(e);if(t>=0)return t}else{var n=so.toSetString(e);if(lo.call(this._set,n))return this._set[n]}throw new Error('\\\"'+e+'\\\" is not in the set.')},co.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error(\\\"No element indexed by \\\"+e)},co.prototype.toArray=function(){return this._array.slice()},oo.ArraySet=co;var uo={},mo=io;function ho(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}ho.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},ho.prototype.add=function(e){var t,n,r,a,i,o;t=this._last,n=e,r=t.generatedLine,a=n.generatedLine,i=t.generatedColumn,o=n.generatedColumn,a>r||a==r&&o>=i||mo.compareByGeneratedPositionsInflated(t,n)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},ho.prototype.toArray=function(){return this._sorted||(this._array.sort(mo.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},uo.MappingList=ho;var go=to,fo=io,yo=oo.ArraySet,bo=uo.MappingList;function So(e){e||(e={}),this._file=fo.getArg(e,\\\"file\\\",null),this._sourceRoot=fo.getArg(e,\\\"sourceRoot\\\",null),this._skipValidation=fo.getArg(e,\\\"skipValidation\\\",!1),this._sources=new yo,this._names=new yo,this._mappings=new bo,this._sourcesContents=null}So.prototype._version=3,So.fromSourceMap=function(e){var t=e.sourceRoot,n=new So({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var r={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(r.source=e.source,null!=t&&(r.source=fo.relative(t,r.source)),r.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(r.name=e.name)),n.addMapping(r)})),e.sources.forEach((function(r){var a=r;null!==t&&(a=fo.relative(t,r)),n._sources.has(a)||n._sources.add(a);var i=e.sourceContentFor(r);null!=i&&n.setSourceContent(r,i)})),n},So.prototype.addMapping=function(e){var t=fo.getArg(e,\\\"generated\\\"),n=fo.getArg(e,\\\"original\\\",null),r=fo.getArg(e,\\\"source\\\",null),a=fo.getArg(e,\\\"name\\\",null);this._skipValidation||this._validateMapping(t,n,r,a),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=a&&(a=String(a),this._names.has(a)||this._names.add(a)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=n&&n.line,originalColumn:null!=n&&n.column,source:r,name:a})},So.prototype.setSourceContent=function(e,t){var n=e;null!=this._sourceRoot&&(n=fo.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[fo.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[fo.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},So.prototype.applySourceMap=function(e,t,n){var r=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\\\\'s \\\"file\\\" property. Both were omitted.');r=e.file}var a=this._sourceRoot;null!=a&&(r=fo.relative(a,r));var i=new yo,o=new yo;this._mappings.unsortedForEach((function(t){if(t.source===r&&null!=t.originalLine){var s=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=s.source&&(t.source=s.source,null!=n&&(t.source=fo.join(n,t.source)),null!=a&&(t.source=fo.relative(a,t.source)),t.originalLine=s.line,t.originalColumn=s.column,null!=s.name&&(t.name=s.name))}var l=t.source;null==l||i.has(l)||i.add(l);var d=t.name;null==d||o.has(d)||o.add(d)}),this),this._sources=i,this._names=o,e.sources.forEach((function(t){var r=e.sourceContentFor(t);null!=r&&(null!=n&&(t=fo.join(n,t)),null!=a&&(t=fo.relative(a,t)),this.setSourceContent(t,r))}),this)},So.prototype._validateMapping=function(e,t,n,r){if(t&&\\\"number\\\"!=typeof t.line&&\\\"number\\\"!=typeof t.column)throw new Error(\\\"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.\\\");if((!(e&&\\\"line\\\"in e&&\\\"column\\\"in e&&e.line>0&&e.column>=0)||t||n||r)&&!(e&&\\\"line\\\"in e&&\\\"column\\\"in e&&t&&\\\"line\\\"in t&&\\\"column\\\"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error(\\\"Invalid mapping: \\\"+JSON.stringify({generated:e,source:n,original:t,name:r}))},So.prototype._serializeMappings=function(){for(var e,t,n,r,a=0,i=1,o=0,s=0,l=0,d=0,p=\\\"\\\",c=this._mappings.toArray(),u=0,m=c.length;u<m;u++){if(e=\\\"\\\",(t=c[u]).generatedLine!==i)for(a=0;t.generatedLine!==i;)e+=\\\";\\\",i++;else if(u>0){if(!fo.compareByGeneratedPositionsInflated(t,c[u-1]))continue;e+=\\\",\\\"}e+=go.encode(t.generatedColumn-a),a=t.generatedColumn,null!=t.source&&(r=this._sources.indexOf(t.source),e+=go.encode(r-d),d=r,e+=go.encode(t.originalLine-1-s),s=t.originalLine-1,e+=go.encode(t.originalColumn-o),o=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=go.encode(n-l),l=n)),p+=e}return p},So.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=fo.relative(t,e));var n=fo.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null}),this)},So.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},So.prototype.toString=function(){return JSON.stringify(this.toJSON())},eo.SourceMapGenerator=So;var vo=eo.SourceMapGenerator,xo={Atrule:!0,Selector:!0,Declaration:!0},ko=function(e){var t=new vo,n=1,r=0,a={line:1,column:0},i={line:0,column:0},o=!1,s={line:1,column:0},l={generated:s},d=e.node;e.node=function(e){if(e.loc&&e.loc.start&&xo.hasOwnProperty(e.type)){var p=e.loc.start.line,c=e.loc.start.column-1;i.line===p&&i.column===c||(i.line=p,i.column=c,a.line=n,a.column=r,o&&(o=!1,a.line===s.line&&a.column===s.column||t.addMapping(l)),o=!0,t.addMapping({source:e.loc.source,original:i,generated:a}))}d.call(this,e),o&&xo.hasOwnProperty(e.type)&&(s.line=n,s.column=r)};var p=e.chunk;e.chunk=function(e){for(var t=0;t<e.length;t++)10===e.charCodeAt(t)?(n++,r=0):r++;p(e)};var c=e.result;return e.result=function(){return o&&t.addMapping(l),{css:c(),map:t}},e},wo=Object.prototype.hasOwnProperty;function Co(e,t){var n=e.children,r=null;\\\"function\\\"!=typeof t?n.forEach(this.node,this):n.forEach((function(e){null!==r&&t.call(this,r),this.node(e),r=e}),this)}var To=je,_o=Object.prototype.hasOwnProperty,zo=function(){};function Oo(e){return\\\"function\\\"==typeof e?e:zo}function Ao(e,t){return function(n,r,a){n.type===t&&e.call(this,n,r,a)}}function Eo(e,t){var n=t.structure,r=[];for(var a in n)if(!1!==_o.call(n,a)){var i=n[a],o={name:a,type:!1,nullable:!1};Array.isArray(n[a])||(i=[n[a]]);for(var s=0;s<i.length;s++){var l=i[s];null===l?o.nullable=!0:\\\"string\\\"==typeof l?o.type=\\\"node\\\":Array.isArray(l)&&(o.type=\\\"list\\\")}o.type&&r.push(o)}return r.length?{context:t.walkContext,fields:r}:null}function jo(e,t){var n=e.fields.slice(),r=e.context,a=\\\"string\\\"==typeof r;return t&&n.reverse(),function(e,i,o,s){var l;a&&(l=i[r],i[r]=e);for(var d=0;d<n.length;d++){var p=n[d],c=e[p.name];if(!p.nullable||c)if(\\\"list\\\"===p.type){if(t?c.reduceRight(s,!1):c.reduce(s,!1))return!0}else if(o(c))return!0}a&&(i[r]=l)}}function Wo(e){return{Atrule:{StyleSheet:e.StyleSheet,Atrule:e.Atrule,Rule:e.Rule,Block:e.Block},Rule:{StyleSheet:e.StyleSheet,Atrule:e.Atrule,Rule:e.Rule,Block:e.Block},Declaration:{StyleSheet:e.StyleSheet,Atrule:e.Atrule,Rule:e.Rule,Block:e.Block,DeclarationList:e.DeclarationList}}}var Lo=je;const Bo=Object.prototype.hasOwnProperty,Po={generic:!0,types:Do,atrules:{prelude:Ro,descriptors:Ro},properties:Do,parseContext:function(e,t){return Object.assign(e,t)},scope:function e(t,n){for(const r in n)Bo.call(n,r)&&(qo(t[r])?e(t[r],Mo(n[r])):t[r]=Mo(n[r]));return t},atrule:[\\\"parse\\\"],pseudo:[\\\"parse\\\"],node:[\\\"name\\\",\\\"structure\\\",\\\"parse\\\",\\\"generate\\\",\\\"walkContext\\\"]};function qo(e){return e&&e.constructor===Object}function Mo(e){return qo(e)?Object.assign({},e):e}function Io(e,t){return\\\"string\\\"==typeof t&&/^\\\\s*\\\\|/.test(t)?\\\"string\\\"==typeof e?e+t:t.replace(/^\\\\s*\\\\|\\\\s*/,\\\"\\\"):t||null}function Do(e,t){if(\\\"string\\\"==typeof t)return Io(e,t);const n=Object.assign({},e);for(let r in t)Bo.call(t,r)&&(n[r]=Io(Bo.call(e,r)?e[r]:void 0,t[r]));return n}function Ro(e,t){const n=Do(e,t);return!qo(n)||Object.keys(n).length?n:null}function No(e,t,n){for(const r in n)if(!1!==Bo.call(n,r))if(!0===n[r])r in t&&Bo.call(t,r)&&(e[r]=Mo(t[r]));else if(n[r])if(\\\"function\\\"==typeof n[r]){const a=n[r];e[r]=a({},e[r]),e[r]=a(e[r]||{},t[r])}else if(qo(n[r])){const a={};for(let t in e[r])a[t]=No({},e[r][t],n[r]);for(let e in t[r])a[e]=No(a[e]||{},t[r][e],n[r]);e[r]=a}else if(Array.isArray(n[r])){const a={},i=n[r].reduce((function(e,t){return e[t]=!0,e}),{});for(const[t,n]of Object.entries(e[r]||{}))a[t]={},n&&No(a[t],n,i);for(const e in t[r])Bo.call(t[r],e)&&(a[e]||(a[e]={}),t[r]&&t[r][e]&&No(a[e],t[r][e],i));e[r]=a}return e}var Go=je,Fo=Ie,Vo=Ct,Uo=xi,Ho=ki,$o=hn,Yo=function(e){var t={scanner:new Pi,locationMap:new Li,filename:\\\"<unknown>\\\",needPositions:!1,onParseError:Gi,onParseErrorThrow:!1,parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:Ni,createList:function(){return new qi},createSingleNodeList:function(e){return(new qi).appendData(e)},getFirstListNode:function(e){return e&&e.first()},getLastListNode:function(e){return e.last()},parseWithFallback:function(e,t){var n=this.scanner.tokenIndex;try{return e.call(this)}catch(e){if(this.onParseErrorThrow)throw e;var r=t.call(this,n);return this.onParseErrorThrow=!0,this.onParseError(e,r),this.onParseErrorThrow=!1,r}},lookupNonWSType:function(e){do{var t=this.scanner.lookupType(e++);if(t!==Ui)return t}while(0!==t);return 0},eat:function(e){if(this.scanner.tokenType!==e){var t=this.scanner.tokenStart,n=Vi[e]+\\\" is expected\\\";switch(e){case $i:this.scanner.tokenType===Yi||this.scanner.tokenType===Ki?(t=this.scanner.tokenEnd-1,n=\\\"Identifier is expected but function found\\\"):n=\\\"Identifier is expected\\\";break;case Zi:this.scanner.isDelim(35)&&(this.scanner.next(),t++,n=\\\"Name is expected\\\");break;case Qi:this.scanner.tokenType===Ji&&(t=this.scanner.tokenEnd,n=\\\"Percent sign is expected\\\");break;default:this.scanner.source.charCodeAt(this.scanner.tokenStart)===e&&(t+=1)}this.error(n,t)}this.scanner.next()},consume:function(e){var t=this.scanner.getTokenValue();return this.eat(e),t},consumeFunctionName:function(){var e=this.scanner.source.substring(this.scanner.tokenStart,this.scanner.tokenEnd-1);return this.eat(Yi),e},getLocation:function(e,t){return this.needPositions?this.locationMap.getLocationRange(e,t,this.filename):null},getLocationFromList:function(e){if(this.needPositions){var t=this.getFirstListNode(e),n=this.getLastListNode(e);return this.locationMap.getLocationRange(null!==t?t.loc.start.offset-this.locationMap.startOffset:this.scanner.tokenStart,null!==n?n.loc.end.offset-this.locationMap.startOffset:this.scanner.tokenStart,this.filename)}return null},error:function(e,t){var n=void 0!==t&&t<this.scanner.source.length?this.locationMap.getLocation(t):this.scanner.eof?this.locationMap.getLocation(Di(this.scanner.source,this.scanner.source.length-1)):this.locationMap.getLocation(this.scanner.tokenStart);throw new Bi(e||\\\"Unexpected input\\\",this.scanner.source,n.offset,n.line,n.column)}};for(var n in e=function(e){var t={context:{},scope:{},atrule:{},pseudo:{}};if(e.parseContext)for(var n in e.parseContext)switch(typeof e.parseContext[n]){case\\\"function\\\":t.context[n]=e.parseContext[n];break;case\\\"string\\\":t.context[n]=Xi(e.parseContext[n])}if(e.scope)for(var n in e.scope)t.scope[n]=e.scope[n];if(e.atrule)for(var n in e.atrule){var r=e.atrule[n];r.parse&&(t.atrule[n]=r.parse)}if(e.pseudo)for(var n in e.pseudo){var a=e.pseudo[n];a.parse&&(t.pseudo[n]=a.parse)}if(e.node)for(var n in e.node)t[n]=e.node[n].parse;return t}(e||{}),e)t[n]=e[n];return function(e,n){var r,a=(n=n||{}).context||\\\"default\\\",i=n.onComment;if(Mi(e,t.scanner),t.locationMap.setSource(e,n.offset,n.line,n.column),t.filename=n.filename||\\\"<unknown>\\\",t.needPositions=Boolean(n.positions),t.onParseError=\\\"function\\\"==typeof n.onParseError?n.onParseError:Gi,t.onParseErrorThrow=!1,t.parseAtrulePrelude=!(\\\"parseAtrulePrelude\\\"in n)||Boolean(n.parseAtrulePrelude),t.parseRulePrelude=!(\\\"parseRulePrelude\\\"in n)||Boolean(n.parseRulePrelude),t.parseValue=!(\\\"parseValue\\\"in n)||Boolean(n.parseValue),t.parseCustomProperty=\\\"parseCustomProperty\\\"in n&&Boolean(n.parseCustomProperty),!t.context.hasOwnProperty(a))throw new Error(\\\"Unknown context `\\\"+a+\\\"`\\\");return\\\"function\\\"==typeof i&&t.scanner.forEachToken(((n,r,a)=>{if(n===Hi){const n=t.getLocation(r,a),o=Ri(e,a-2,a,\\\"*/\\\")?e.slice(r+2,a-2):e.slice(r+2,a);i(o,n)}})),r=t.context[a].call(t,n),t.scanner.eof||t.error(),r}},Ko=function(e){function t(e){if(!wo.call(n,e.type))throw new Error(\\\"Unknown node type: \\\"+e.type);n[e.type].call(this,e)}var n={};if(e.node)for(var r in e.node)n[r]=e.node[r].generate;return function(e,n){var r=\\\"\\\",a={children:Co,node:t,chunk:function(e){r+=e},result:function(){return r}};return n&&(\\\"function\\\"==typeof n.decorator&&(a=n.decorator(a)),n.sourceMap&&(a=ko(a))),a.node(e),a.result()}},Zo=function(e){return{fromPlainObject:function(t){return e(t,{enter:function(e){e.children&&e.children instanceof To==!1&&(e.children=(new To).fromArray(e.children))}}),t},toPlainObject:function(t){return e(t,{leave:function(e){e.children&&e.children instanceof To&&(e.children=e.children.toArray())}}),t}}},Qo=function(e){var t=function(e){var t={};for(var n in e.node)if(_o.call(e.node,n)){var r=e.node[n];if(!r.structure)throw new Error(\\\"Missed `structure` field in `\\\"+n+\\\"` node type definition\\\");t[n]=Eo(0,r)}return t}(e),n={},r={},a=Symbol(\\\"break-walk\\\"),i=Symbol(\\\"skip-node\\\");for(var o in t)_o.call(t,o)&&null!==t[o]&&(n[o]=jo(t[o],!1),r[o]=jo(t[o],!0));var s=Wo(n),l=Wo(r),d=function(e,o){function d(e,t,n){var r=c.call(h,e,t,n);return r===a||r!==i&&(!(!m.hasOwnProperty(e.type)||!m[e.type](e,h,d,p))||u.call(h,e,t,n)===a)}var p=(e,t,n,r)=>e||d(t,n,r),c=zo,u=zo,m=n,h={break:a,skip:i,root:e,stylesheet:null,atrule:null,atrulePrelude:null,rule:null,selector:null,block:null,declaration:null,function:null};if(\\\"function\\\"==typeof o)c=o;else if(o&&(c=Oo(o.enter),u=Oo(o.leave),o.reverse&&(m=r),o.visit)){if(s.hasOwnProperty(o.visit))m=o.reverse?l[o.visit]:s[o.visit];else if(!t.hasOwnProperty(o.visit))throw new Error(\\\"Bad value `\\\"+o.visit+\\\"` for `visit` option (should be: \\\"+Object.keys(t).join(\\\", \\\")+\\\")\\\");c=Ao(c,o.visit),u=Ao(u,o.visit)}if(c===zo&&u===zo)throw new Error(\\\"Neither `enter` nor `leave` walker handler is set or both aren't a function\\\");d(e)};return d.break=a,d.skip=i,d.find=function(e,t){var n=null;return d(e,(function(e,r,i){if(t.call(this,e,r,i))return n=e,a})),n},d.findLast=function(e,t){var n=null;return d(e,{reverse:!0,enter:function(e,r,i){if(t.call(this,e,r,i))return n=e,a}}),n},d.findAll=function(e,t){var n=[];return d(e,(function(e,r,a){t.call(this,e,r,a)&&n.push(e)})),n},d},Jo=function e(t){var n={};for(var r in t){var a=t[r];a&&(Array.isArray(a)||a instanceof Lo?a=a.map(e):a.constructor===Object&&(a=e(a))),n[r]=a}return n},Xo=Nt,es=(e,t)=>No(e,t,Po);function ts(e){var t=Yo(e),n=Qo(e),r=Ko(e),a=Zo(n),i={List:Go,SyntaxError:Fo,TokenStream:Vo,Lexer:Uo,vendorPrefix:Xo.vendorPrefix,keyword:Xo.keyword,property:Xo.property,isCustomProperty:Xo.isCustomProperty,definitionSyntax:Ho,lexer:null,createLexer:function(e){return new Uo(e,i,i.lexer.structure)},tokenize:$o,parse:t,walk:n,generate:r,find:n.find,findLast:n.findLast,findAll:n.findAll,clone:Jo,fromPlainObject:a.fromPlainObject,toPlainObject:a.toPlainObject,createSyntax:function(e){return ts(es({},e))},fork:function(t){var n=es({},e);return ts(\\\"function\\\"==typeof t?t(n,Object.assign):es(n,t))}};return i.lexer=new Uo({generic:!0,types:e.types,atrules:e.atrules,properties:e.properties,node:e.node},i),i}Te.create=function(e){return ts(es({},e))};const ns={\\\"@charset\\\":{syntax:'@charset \\\"<charset>\\\";',groups:[\\\"CSS Charsets\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/@charset\\\"},\\\"@counter-style\\\":{syntax:\\\"@counter-style <counter-style-name> {\\\\n [ system: <counter-system>; ] ||\\\\n [ symbols: <counter-symbols>; ] ||\\\\n [ additive-symbols: <additive-symbols>; ] ||\\\\n [ negative: <negative-symbol>; ] ||\\\\n [ prefix: <prefix>; ] ||\\\\n [ suffix: <suffix>; ] ||\\\\n [ range: <range>; ] ||\\\\n [ pad: <padding>; ] ||\\\\n [ speak-as: <speak-as>; ] ||\\\\n [ fallback: <counter-style-name>; ]\\\\n}\\\",interfaces:[\\\"CSSCounterStyleRule\\\"],groups:[\\\"CSS Counter Styles\\\"],descriptors:{\\\"additive-symbols\\\":{syntax:\\\"[ <integer> && <symbol> ]#\\\",media:\\\"all\\\",initial:\\\"n/a (required)\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"standard\\\"},fallback:{syntax:\\\"<counter-style-name>\\\",media:\\\"all\\\",initial:\\\"decimal\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},negative:{syntax:\\\"<symbol> <symbol>?\\\",media:\\\"all\\\",initial:'\\\"-\\\" hyphen-minus',percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"standard\\\"},pad:{syntax:\\\"<integer> && <symbol>\\\",media:\\\"all\\\",initial:'0 \\\"\\\"',percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},prefix:{syntax:\\\"<symbol>\\\",media:\\\"all\\\",initial:'\\\"\\\"',percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},range:{syntax:\\\"[ [ <integer> | infinite ]{2} ]# | auto\\\",media:\\\"all\\\",initial:\\\"auto\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"standard\\\"},\\\"speak-as\\\":{syntax:\\\"auto | bullets | numbers | words | spell-out | <counter-style-name>\\\",media:\\\"all\\\",initial:\\\"auto\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},suffix:{syntax:\\\"<symbol>\\\",media:\\\"all\\\",initial:'\\\". \\\"',percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},symbols:{syntax:\\\"<symbol>+\\\",media:\\\"all\\\",initial:\\\"n/a (required)\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"standard\\\"},system:{syntax:\\\"cyclic | numeric | alphabetic | symbolic | additive | [ fixed <integer>? ] | [ extends <counter-style-name> ]\\\",media:\\\"all\\\",initial:\\\"symbolic\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"}},status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/@counter-style\\\"},\\\"@document\\\":{syntax:\\\"@document [ <url> | url-prefix(<string>) | domain(<string>) | media-document(<string>) | regexp(<string>) ]# {\\\\n <group-rule-body>\\\\n}\\\",interfaces:[\\\"CSSGroupingRule\\\",\\\"CSSConditionRule\\\"],groups:[\\\"CSS Conditional Rules\\\"],status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/@document\\\"},\\\"@font-face\\\":{syntax:\\\"@font-face {\\\\n [ font-family: <family-name>; ] ||\\\\n [ src: <src>; ] ||\\\\n [ unicode-range: <unicode-range>; ] ||\\\\n [ font-variant: <font-variant>; ] ||\\\\n [ font-feature-settings: <font-feature-settings>; ] ||\\\\n [ font-variation-settings: <font-variation-settings>; ] ||\\\\n [ font-stretch: <font-stretch>; ] ||\\\\n [ font-weight: <font-weight>; ] ||\\\\n [ font-style: <font-style>; ]\\\\n}\\\",interfaces:[\\\"CSSFontFaceRule\\\"],groups:[\\\"CSS Fonts\\\"],descriptors:{\\\"font-display\\\":{syntax:\\\"[ auto | block | swap | fallback | optional ]\\\",media:\\\"visual\\\",percentages:\\\"no\\\",initial:\\\"auto\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\"},\\\"font-family\\\":{syntax:\\\"<family-name>\\\",media:\\\"all\\\",initial:\\\"n/a (required)\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},\\\"font-feature-settings\\\":{syntax:\\\"normal | <feature-tag-value>#\\\",media:\\\"all\\\",initial:\\\"normal\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"standard\\\"},\\\"font-variation-settings\\\":{syntax:\\\"normal | [ <string> <number> ]#\\\",media:\\\"all\\\",initial:\\\"normal\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"standard\\\"},\\\"font-stretch\\\":{syntax:\\\"<font-stretch-absolute>{1,2}\\\",media:\\\"all\\\",initial:\\\"normal\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},\\\"font-style\\\":{syntax:\\\"normal | italic | oblique <angle>{0,2}\\\",media:\\\"all\\\",initial:\\\"normal\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},\\\"font-weight\\\":{syntax:\\\"<font-weight-absolute>{1,2}\\\",media:\\\"all\\\",initial:\\\"normal\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},\\\"font-variant\\\":{syntax:\\\"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic(<feature-value-name>) || historical-forms || styleset(<feature-value-name>#) || character-variant(<feature-value-name>#) || swash(<feature-value-name>) || ornaments(<feature-value-name>) || annotation(<feature-value-name>) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]\\\",media:\\\"all\\\",initial:\\\"normal\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"standard\\\"},src:{syntax:\\\"[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#\\\",media:\\\"all\\\",initial:\\\"n/a (required)\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"standard\\\"},\\\"unicode-range\\\":{syntax:\\\"<unicode-range>#\\\",media:\\\"all\\\",initial:\\\"U+0-10FFFF\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"standard\\\"}},status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/@font-face\\\"},\\\"@font-feature-values\\\":{syntax:\\\"@font-feature-values <family-name># {\\\\n <feature-value-block-list>\\\\n}\\\",interfaces:[\\\"CSSFontFeatureValuesRule\\\"],groups:[\\\"CSS Fonts\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/@font-feature-values\\\"},\\\"@import\\\":{syntax:\\\"@import [ <string> | <url> ] [ <media-query-list> ]?;\\\",groups:[\\\"Media Queries\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/@import\\\"},\\\"@keyframes\\\":{syntax:\\\"@keyframes <keyframes-name> {\\\\n <keyframe-block-list>\\\\n}\\\",interfaces:[\\\"CSSKeyframeRule\\\",\\\"CSSKeyframesRule\\\"],groups:[\\\"CSS Animations\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/@keyframes\\\"},\\\"@media\\\":{syntax:\\\"@media <media-query-list> {\\\\n <group-rule-body>\\\\n}\\\",interfaces:[\\\"CSSGroupingRule\\\",\\\"CSSConditionRule\\\",\\\"CSSMediaRule\\\",\\\"CSSCustomMediaRule\\\"],groups:[\\\"CSS Conditional Rules\\\",\\\"Media Queries\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/@media\\\"},\\\"@namespace\\\":{syntax:\\\"@namespace <namespace-prefix>? [ <string> | <url> ];\\\",groups:[\\\"CSS Namespaces\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/@namespace\\\"},\\\"@page\\\":{syntax:\\\"@page <page-selector-list> {\\\\n <page-body>\\\\n}\\\",interfaces:[\\\"CSSPageRule\\\"],groups:[\\\"CSS Pages\\\"],descriptors:{bleed:{syntax:\\\"auto | <length>\\\",media:[\\\"visual\\\",\\\"paged\\\"],initial:\\\"auto\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},marks:{syntax:\\\"none | [ crop || cross ]\\\",media:[\\\"visual\\\",\\\"paged\\\"],initial:\\\"none\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"standard\\\"},size:{syntax:\\\"<length>{1,2} | auto | [ <page-size> || [ portrait | landscape ] ]\\\",media:[\\\"visual\\\",\\\"paged\\\"],initial:\\\"auto\\\",percentages:\\\"no\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"orderOfAppearance\\\",status:\\\"standard\\\"}},status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/@page\\\"},\\\"@property\\\":{syntax:\\\"@property <custom-property-name> {\\\\n <declaration-list>\\\\n}\\\",interfaces:[\\\"CSS\\\",\\\"CSSPropertyRule\\\"],groups:[\\\"CSS Houdini\\\"],descriptors:{syntax:{syntax:\\\"<string>\\\",media:\\\"all\\\",percentages:\\\"no\\\",initial:\\\"n/a (required)\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\"},inherits:{syntax:\\\"true | false\\\",media:\\\"all\\\",percentages:\\\"no\\\",initial:\\\"auto\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\"},\\\"initial-value\\\":{syntax:\\\"<string>\\\",media:\\\"all\\\",initial:\\\"n/a (required)\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\"}},status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/@property\\\"},\\\"@supports\\\":{syntax:\\\"@supports <supports-condition> {\\\\n <group-rule-body>\\\\n}\\\",interfaces:[\\\"CSSGroupingRule\\\",\\\"CSSConditionRule\\\",\\\"CSSSupportsRule\\\"],groups:[\\\"CSS Conditional Rules\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/@supports\\\"},\\\"@viewport\\\":{syntax:\\\"@viewport {\\\\n <group-rule-body>\\\\n}\\\",interfaces:[\\\"CSSViewportRule\\\"],groups:[\\\"CSS Device Adaptation\\\"],descriptors:{height:{syntax:\\\"<viewport-length>{1,2}\\\",media:[\\\"visual\\\",\\\"continuous\\\"],initial:[\\\"min-height\\\",\\\"max-height\\\"],percentages:[\\\"min-height\\\",\\\"max-height\\\"],computed:[\\\"min-height\\\",\\\"max-height\\\"],order:\\\"orderOfAppearance\\\",status:\\\"standard\\\"},\\\"max-height\\\":{syntax:\\\"<viewport-length>\\\",media:[\\\"visual\\\",\\\"continuous\\\"],initial:\\\"auto\\\",percentages:\\\"referToHeightOfInitialViewport\\\",computed:\\\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},\\\"max-width\\\":{syntax:\\\"<viewport-length>\\\",media:[\\\"visual\\\",\\\"continuous\\\"],initial:\\\"auto\\\",percentages:\\\"referToWidthOfInitialViewport\\\",computed:\\\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},\\\"max-zoom\\\":{syntax:\\\"auto | <number> | <percentage>\\\",media:[\\\"visual\\\",\\\"continuous\\\"],initial:\\\"auto\\\",percentages:\\\"the zoom factor itself\\\",computed:\\\"autoNonNegativeOrPercentage\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},\\\"min-height\\\":{syntax:\\\"<viewport-length>\\\",media:[\\\"visual\\\",\\\"continuous\\\"],initial:\\\"auto\\\",percentages:\\\"referToHeightOfInitialViewport\\\",computed:\\\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},\\\"min-width\\\":{syntax:\\\"<viewport-length>\\\",media:[\\\"visual\\\",\\\"continuous\\\"],initial:\\\"auto\\\",percentages:\\\"referToWidthOfInitialViewport\\\",computed:\\\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},\\\"min-zoom\\\":{syntax:\\\"auto | <number> | <percentage>\\\",media:[\\\"visual\\\",\\\"continuous\\\"],initial:\\\"auto\\\",percentages:\\\"the zoom factor itself\\\",computed:\\\"autoNonNegativeOrPercentage\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},orientation:{syntax:\\\"auto | portrait | landscape\\\",media:[\\\"visual\\\",\\\"continuous\\\"],initial:\\\"auto\\\",percentages:\\\"referToSizeOfBoundingBox\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},\\\"user-zoom\\\":{syntax:\\\"zoom | fixed\\\",media:[\\\"visual\\\",\\\"continuous\\\"],initial:\\\"zoom\\\",percentages:\\\"referToSizeOfBoundingBox\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},\\\"viewport-fit\\\":{syntax:\\\"auto | contain | cover\\\",media:[\\\"visual\\\",\\\"continuous\\\"],initial:\\\"auto\\\",percentages:\\\"no\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"},width:{syntax:\\\"<viewport-length>{1,2}\\\",media:[\\\"visual\\\",\\\"continuous\\\"],initial:[\\\"min-width\\\",\\\"max-width\\\"],percentages:[\\\"min-width\\\",\\\"max-width\\\"],computed:[\\\"min-width\\\",\\\"max-width\\\"],order:\\\"orderOfAppearance\\\",status:\\\"standard\\\"},zoom:{syntax:\\\"auto | <number> | <percentage>\\\",media:[\\\"visual\\\",\\\"continuous\\\"],initial:\\\"auto\\\",percentages:\\\"the zoom factor itself\\\",computed:\\\"autoNonNegativeOrPercentage\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\"}},status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/@viewport\\\"}},rs={\\\"--*\\\":{syntax:\\\"<declaration-value>\\\",media:\\\"all\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Variables\\\"],initial:\\\"seeProse\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecifiedWithVarsSubstituted\\\",order:\\\"perGrammar\\\",status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/--*\\\"},\\\"-ms-accelerator\\\":{syntax:\\\"false | true\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"false\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-accelerator\\\"},\\\"-ms-block-progression\\\":{syntax:\\\"tb | rl | bt | lr\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"tb\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-block-progression\\\"},\\\"-ms-content-zoom-chaining\\\":{syntax:\\\"none | chained\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-chaining\\\"},\\\"-ms-content-zooming\\\":{syntax:\\\"none | zoom\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"zoomForTheTopLevelNoneForTheRest\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zooming\\\"},\\\"-ms-content-zoom-limit\\\":{syntax:\\\"<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:[\\\"-ms-content-zoom-limit-max\\\",\\\"-ms-content-zoom-limit-min\\\"],groups:[\\\"Microsoft Extensions\\\"],initial:[\\\"-ms-content-zoom-limit-max\\\",\\\"-ms-content-zoom-limit-min\\\"],appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:[\\\"-ms-content-zoom-limit-max\\\",\\\"-ms-content-zoom-limit-min\\\"],order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit\\\"},\\\"-ms-content-zoom-limit-max\\\":{syntax:\\\"<percentage>\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"maxZoomFactor\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"400%\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-max\\\"},\\\"-ms-content-zoom-limit-min\\\":{syntax:\\\"<percentage>\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"minZoomFactor\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"100%\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-min\\\"},\\\"-ms-content-zoom-snap\\\":{syntax:\\\"<'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:[\\\"-ms-content-zoom-snap-type\\\",\\\"-ms-content-zoom-snap-points\\\"],appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:[\\\"-ms-content-zoom-snap-type\\\",\\\"-ms-content-zoom-snap-points\\\"],order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap\\\"},\\\"-ms-content-zoom-snap-points\\\":{syntax:\\\"snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"snapInterval(0%, 100%)\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-points\\\"},\\\"-ms-content-zoom-snap-type\\\":{syntax:\\\"none | proximity | mandatory\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-type\\\"},\\\"-ms-filter\\\":{syntax:\\\"<string>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:'\\\"\\\"',appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-filter\\\"},\\\"-ms-flow-from\\\":{syntax:\\\"[ none | <custom-ident> ]#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"nonReplacedElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-flow-from\\\"},\\\"-ms-flow-into\\\":{syntax:\\\"[ none | <custom-ident> ]#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"iframeElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-flow-into\\\"},\\\"-ms-grid-columns\\\":{syntax:\\\"none | <track-list> | <auto-track-list>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"simpleListOfLpcDifferenceLpc\\\",percentages:\\\"referToDimensionOfContentArea\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"none\\\",appliesto:\\\"gridContainers\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-grid-columns\\\"},\\\"-ms-grid-rows\\\":{syntax:\\\"none | <track-list> | <auto-track-list>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"simpleListOfLpcDifferenceLpc\\\",percentages:\\\"referToDimensionOfContentArea\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"none\\\",appliesto:\\\"gridContainers\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-grid-rows\\\"},\\\"-ms-high-contrast-adjust\\\":{syntax:\\\"auto | none\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-high-contrast-adjust\\\"},\\\"-ms-hyphenate-limit-chars\\\":{syntax:\\\"auto | <integer>{1,3}\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-chars\\\"},\\\"-ms-hyphenate-limit-lines\\\":{syntax:\\\"no-limit | <integer>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"no-limit\\\",appliesto:\\\"blockContainerElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-lines\\\"},\\\"-ms-hyphenate-limit-zone\\\":{syntax:\\\"<percentage> | <length>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"referToLineBoxWidth\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"0\\\",appliesto:\\\"blockContainerElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-zone\\\"},\\\"-ms-ime-align\\\":{syntax:\\\"auto | after\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-ime-align\\\"},\\\"-ms-overflow-style\\\":{syntax:\\\"auto | none | scrollbar | -ms-autohiding-scrollbar\\\",media:\\\"interactive\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"auto\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-overflow-style\\\"},\\\"-ms-scrollbar-3dlight-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"dependsOnUserAgent\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-3dlight-color\\\"},\\\"-ms-scrollbar-arrow-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"ButtonText\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-arrow-color\\\"},\\\"-ms-scrollbar-base-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"dependsOnUserAgent\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-base-color\\\"},\\\"-ms-scrollbar-darkshadow-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"ThreeDDarkShadow\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-darkshadow-color\\\"},\\\"-ms-scrollbar-face-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"ThreeDFace\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-face-color\\\"},\\\"-ms-scrollbar-highlight-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"ThreeDHighlight\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-highlight-color\\\"},\\\"-ms-scrollbar-shadow-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"ThreeDDarkShadow\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-shadow-color\\\"},\\\"-ms-scrollbar-track-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"Scrollbar\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-track-color\\\"},\\\"-ms-scroll-chaining\\\":{syntax:\\\"chained | none\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"chained\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-chaining\\\"},\\\"-ms-scroll-limit\\\":{syntax:\\\"<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:[\\\"-ms-scroll-limit-x-min\\\",\\\"-ms-scroll-limit-y-min\\\",\\\"-ms-scroll-limit-x-max\\\",\\\"-ms-scroll-limit-y-max\\\"],appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:[\\\"-ms-scroll-limit-x-min\\\",\\\"-ms-scroll-limit-y-min\\\",\\\"-ms-scroll-limit-x-max\\\",\\\"-ms-scroll-limit-y-max\\\"],order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit\\\"},\\\"-ms-scroll-limit-x-max\\\":{syntax:\\\"auto | <length>\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"auto\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-max\\\"},\\\"-ms-scroll-limit-x-min\\\":{syntax:\\\"<length>\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"0\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-min\\\"},\\\"-ms-scroll-limit-y-max\\\":{syntax:\\\"auto | <length>\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"auto\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-max\\\"},\\\"-ms-scroll-limit-y-min\\\":{syntax:\\\"<length>\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"0\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-min\\\"},\\\"-ms-scroll-rails\\\":{syntax:\\\"none | railed\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"railed\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-rails\\\"},\\\"-ms-scroll-snap-points-x\\\":{syntax:\\\"snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"snapInterval(0px, 100%)\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-x\\\"},\\\"-ms-scroll-snap-points-y\\\":{syntax:\\\"snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"snapInterval(0px, 100%)\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-y\\\"},\\\"-ms-scroll-snap-type\\\":{syntax:\\\"none | proximity | mandatory\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-type\\\"},\\\"-ms-scroll-snap-x\\\":{syntax:\\\"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:[\\\"-ms-scroll-snap-type\\\",\\\"-ms-scroll-snap-points-x\\\"],appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:[\\\"-ms-scroll-snap-type\\\",\\\"-ms-scroll-snap-points-x\\\"],order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-x\\\"},\\\"-ms-scroll-snap-y\\\":{syntax:\\\"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:[\\\"-ms-scroll-snap-type\\\",\\\"-ms-scroll-snap-points-y\\\"],appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:[\\\"-ms-scroll-snap-type\\\",\\\"-ms-scroll-snap-points-y\\\"],order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-y\\\"},\\\"-ms-scroll-translation\\\":{syntax:\\\"none | vertical-to-horizontal\\\",media:\\\"interactive\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-translation\\\"},\\\"-ms-text-autospace\\\":{syntax:\\\"none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-text-autospace\\\"},\\\"-ms-touch-select\\\":{syntax:\\\"grippers | none\\\",media:\\\"interactive\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"grippers\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-touch-select\\\"},\\\"-ms-user-select\\\":{syntax:\\\"none | element | text\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"text\\\",appliesto:\\\"nonReplacedElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-user-select\\\"},\\\"-ms-wrap-flow\\\":{syntax:\\\"auto | both | start | end | maximum | clear\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"auto\\\",appliesto:\\\"blockLevelElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-flow\\\"},\\\"-ms-wrap-margin\\\":{syntax:\\\"<length>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"0\\\",appliesto:\\\"exclusionElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-margin\\\"},\\\"-ms-wrap-through\\\":{syntax:\\\"wrap | none\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"wrap\\\",appliesto:\\\"blockLevelElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-through\\\"},\\\"-moz-appearance\\\":{syntax:\\\"none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\",\\\"WebKit Extensions\\\"],initial:\\\"noneButOverriddenInUserAgentCSS\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/appearance\\\"},\\\"-moz-binding\\\":{syntax:\\\"<url> | none\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"allElementsExceptGeneratedContentOrPseudoElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-binding\\\"},\\\"-moz-border-bottom-colors\\\":{syntax:\\\"<color>+ | none\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-border-bottom-colors\\\"},\\\"-moz-border-left-colors\\\":{syntax:\\\"<color>+ | none\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-border-left-colors\\\"},\\\"-moz-border-right-colors\\\":{syntax:\\\"<color>+ | none\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-border-right-colors\\\"},\\\"-moz-border-top-colors\\\":{syntax:\\\"<color>+ | none\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-border-top-colors\\\"},\\\"-moz-context-properties\\\":{syntax:\\\"none | [ fill | fill-opacity | stroke | stroke-opacity ]#\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"allElementsThatCanReferenceImages\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-context-properties\\\"},\\\"-moz-float-edge\\\":{syntax:\\\"border-box | content-box | margin-box | padding-box\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"content-box\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge\\\"},\\\"-moz-force-broken-image-icon\\\":{syntax:\\\"<integer [0,1]>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"0\\\",appliesto:\\\"images\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon\\\"},\\\"-moz-image-region\\\":{syntax:\\\"<shape> | auto\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"auto\\\",appliesto:\\\"xulImageElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-image-region\\\"},\\\"-moz-orient\\\":{syntax:\\\"inline | block | horizontal | vertical\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"inline\\\",appliesto:\\\"anyElementEffectOnProgressAndMeter\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-orient\\\"},\\\"-moz-outline-radius\\\":{syntax:\\\"<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"-moz-outline-radius-topleft\\\",\\\"-moz-outline-radius-topright\\\",\\\"-moz-outline-radius-bottomright\\\",\\\"-moz-outline-radius-bottomleft\\\"],percentages:[\\\"-moz-outline-radius-topleft\\\",\\\"-moz-outline-radius-topright\\\",\\\"-moz-outline-radius-bottomright\\\",\\\"-moz-outline-radius-bottomleft\\\"],groups:[\\\"Mozilla Extensions\\\"],initial:[\\\"-moz-outline-radius-topleft\\\",\\\"-moz-outline-radius-topright\\\",\\\"-moz-outline-radius-bottomright\\\",\\\"-moz-outline-radius-bottomleft\\\"],appliesto:\\\"allElements\\\",computed:[\\\"-moz-outline-radius-topleft\\\",\\\"-moz-outline-radius-topright\\\",\\\"-moz-outline-radius-bottomright\\\",\\\"-moz-outline-radius-bottomleft\\\"],order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius\\\"},\\\"-moz-outline-radius-bottomleft\\\":{syntax:\\\"<outline-radius>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToDimensionOfBorderBox\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomleft\\\"},\\\"-moz-outline-radius-bottomright\\\":{syntax:\\\"<outline-radius>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToDimensionOfBorderBox\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomright\\\"},\\\"-moz-outline-radius-topleft\\\":{syntax:\\\"<outline-radius>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToDimensionOfBorderBox\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topleft\\\"},\\\"-moz-outline-radius-topright\\\":{syntax:\\\"<outline-radius>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToDimensionOfBorderBox\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topright\\\"},\\\"-moz-stack-sizing\\\":{syntax:\\\"ignore | stretch-to-fit\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"stretch-to-fit\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-stack-sizing\\\"},\\\"-moz-text-blink\\\":{syntax:\\\"none | blink\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-text-blink\\\"},\\\"-moz-user-focus\\\":{syntax:\\\"ignore | normal | select-after | select-before | select-menu | select-same | select-all | none\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-user-focus\\\"},\\\"-moz-user-input\\\":{syntax:\\\"auto | none | enabled | disabled\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-user-input\\\"},\\\"-moz-user-modify\\\":{syntax:\\\"read-only | read-write | write-only\\\",media:\\\"interactive\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"read-only\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-user-modify\\\"},\\\"-moz-window-dragging\\\":{syntax:\\\"drag | no-drag\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"drag\\\",appliesto:\\\"allElementsCreatingNativeWindows\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-window-dragging\\\"},\\\"-moz-window-shadow\\\":{syntax:\\\"default | menu | tooltip | sheet | none\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"default\\\",appliesto:\\\"allElementsCreatingNativeWindows\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-moz-window-shadow\\\"},\\\"-webkit-appearance\\\":{syntax:\\\"none | button | button-bevel | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"noneButOverriddenInUserAgentCSS\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/appearance\\\"},\\\"-webkit-border-before\\\":{syntax:\\\"<'border-width'> || <'border-style'> || <'color'>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:[\\\"-webkit-border-before-width\\\"],groups:[\\\"WebKit Extensions\\\"],initial:[\\\"border-width\\\",\\\"border-style\\\",\\\"color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"border-width\\\",\\\"border-style\\\",\\\"color\\\"],order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-border-before\\\"},\\\"-webkit-border-before-color\\\":{syntax:\\\"<'color'>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\"},\\\"-webkit-border-before-style\\\":{syntax:\\\"<'border-style'>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\"},\\\"-webkit-border-before-width\\\":{syntax:\\\"<'border-width'>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"medium\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthZeroIfBorderStyleNoneOrHidden\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\"},\\\"-webkit-box-reflect\\\":{syntax:\\\"[ above | below | right | left ]? <length>? <image>?\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-box-reflect\\\"},\\\"-webkit-line-clamp\\\":{syntax:\\\"none | <integer>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\",\\\"CSS Overflow\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp\\\"},\\\"-webkit-mask\\\":{syntax:\\\"[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:[\\\"-webkit-mask-image\\\",\\\"-webkit-mask-repeat\\\",\\\"-webkit-mask-attachment\\\",\\\"-webkit-mask-position\\\",\\\"-webkit-mask-origin\\\",\\\"-webkit-mask-clip\\\"],appliesto:\\\"allElements\\\",computed:[\\\"-webkit-mask-image\\\",\\\"-webkit-mask-repeat\\\",\\\"-webkit-mask-attachment\\\",\\\"-webkit-mask-position\\\",\\\"-webkit-mask-origin\\\",\\\"-webkit-mask-clip\\\"],order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask\\\"},\\\"-webkit-mask-attachment\\\":{syntax:\\\"<attachment>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"scroll\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-attachment\\\"},\\\"-webkit-mask-clip\\\":{syntax:\\\"[ <box> | border | padding | content | text ]#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"border\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-clip\\\"},\\\"-webkit-mask-composite\\\":{syntax:\\\"<composite-style>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"source-over\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-composite\\\"},\\\"-webkit-mask-image\\\":{syntax:\\\"<mask-reference>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteURIOrNone\\\",order:\\\"orderOfAppearance\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-image\\\"},\\\"-webkit-mask-origin\\\":{syntax:\\\"[ <box> | border | padding | content ]#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"padding\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-origin\\\"},\\\"-webkit-mask-position\\\":{syntax:\\\"<position>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"referToSizeOfElement\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"0% 0%\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthOrPercentage\\\",order:\\\"orderOfAppearance\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-position\\\"},\\\"-webkit-mask-position-x\\\":{syntax:\\\"[ <length-percentage> | left | center | right ]#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"referToSizeOfElement\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"0%\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthOrPercentage\\\",order:\\\"orderOfAppearance\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-x\\\"},\\\"-webkit-mask-position-y\\\":{syntax:\\\"[ <length-percentage> | top | center | bottom ]#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"referToSizeOfElement\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"0%\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthOrPercentage\\\",order:\\\"orderOfAppearance\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-y\\\"},\\\"-webkit-mask-repeat\\\":{syntax:\\\"<repeat-style>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"repeat\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-repeat\\\"},\\\"-webkit-mask-repeat-x\\\":{syntax:\\\"repeat | no-repeat | space | round\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"repeat\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-x\\\"},\\\"-webkit-mask-repeat-y\\\":{syntax:\\\"repeat | no-repeat | space | round\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"repeat\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthOrPercentage\\\",order:\\\"orderOfAppearance\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-y\\\"},\\\"-webkit-mask-size\\\":{syntax:\\\"<bg-size>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"relativeToBackgroundPositioningArea\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"auto auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-size\\\"},\\\"-webkit-overflow-scrolling\\\":{syntax:\\\"auto | touch\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"auto\\\",appliesto:\\\"scrollingBoxes\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-overflow-scrolling\\\"},\\\"-webkit-tap-highlight-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"black\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-tap-highlight-color\\\"},\\\"-webkit-text-fill-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-fill-color\\\"},\\\"-webkit-text-stroke\\\":{syntax:\\\"<length> || <color>\\\",media:\\\"visual\\\",inherited:!0,animationType:[\\\"-webkit-text-stroke-width\\\",\\\"-webkit-text-stroke-color\\\"],percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:[\\\"-webkit-text-stroke-width\\\",\\\"-webkit-text-stroke-color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"-webkit-text-stroke-width\\\",\\\"-webkit-text-stroke-color\\\"],order:\\\"canonicalOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke\\\"},\\\"-webkit-text-stroke-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-color\\\"},\\\"-webkit-text-stroke-width\\\":{syntax:\\\"<length>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLength\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-width\\\"},\\\"-webkit-touch-callout\\\":{syntax:\\\"default | none\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"default\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/-webkit-touch-callout\\\"},\\\"-webkit-user-modify\\\":{syntax:\\\"read-only | read-write | read-write-plaintext-only\\\",media:\\\"interactive\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"WebKit Extensions\\\"],initial:\\\"read-only\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\"},\\\"align-content\\\":{syntax:\\\"normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Alignment\\\"],initial:\\\"normal\\\",appliesto:\\\"multilineFlexContainers\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/align-content\\\"},\\\"align-items\\\":{syntax:\\\"normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Alignment\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/align-items\\\"},\\\"align-self\\\":{syntax:\\\"auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Alignment\\\"],initial:\\\"auto\\\",appliesto:\\\"flexItemsGridItemsAndAbsolutelyPositionedBoxes\\\",computed:\\\"autoOnAbsolutelyPositionedElementsValueOfAlignItemsOnParent\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/align-self\\\"},\\\"align-tracks\\\":{syntax:\\\"[ normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position> ]#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"normal\\\",appliesto:\\\"gridContainersWithMasonryLayoutInTheirBlockAxis\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/align-tracks\\\"},all:{syntax:\\\"initial | inherit | unset | revert\\\",media:\\\"noPracticalMedia\\\",inherited:!1,animationType:\\\"eachOfShorthandPropertiesExceptUnicodeBiDiAndDirection\\\",percentages:\\\"no\\\",groups:[\\\"CSS Miscellaneous\\\"],initial:\\\"noPracticalInitialValue\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecifiedAppliesToEachProperty\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/all\\\"},animation:{syntax:\\\"<single-animation>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Animations\\\"],initial:[\\\"animation-name\\\",\\\"animation-duration\\\",\\\"animation-timing-function\\\",\\\"animation-delay\\\",\\\"animation-iteration-count\\\",\\\"animation-direction\\\",\\\"animation-fill-mode\\\",\\\"animation-play-state\\\"],appliesto:\\\"allElementsAndPseudos\\\",computed:[\\\"animation-name\\\",\\\"animation-duration\\\",\\\"animation-timing-function\\\",\\\"animation-delay\\\",\\\"animation-direction\\\",\\\"animation-iteration-count\\\",\\\"animation-fill-mode\\\",\\\"animation-play-state\\\"],order:\\\"orderOfAppearance\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/animation\\\"},\\\"animation-delay\\\":{syntax:\\\"<time>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Animations\\\"],initial:\\\"0s\\\",appliesto:\\\"allElementsAndPseudos\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/animation-delay\\\"},\\\"animation-direction\\\":{syntax:\\\"<single-animation-direction>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Animations\\\"],initial:\\\"normal\\\",appliesto:\\\"allElementsAndPseudos\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/animation-direction\\\"},\\\"animation-duration\\\":{syntax:\\\"<time>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Animations\\\"],initial:\\\"0s\\\",appliesto:\\\"allElementsAndPseudos\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/animation-duration\\\"},\\\"animation-fill-mode\\\":{syntax:\\\"<single-animation-fill-mode>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Animations\\\"],initial:\\\"none\\\",appliesto:\\\"allElementsAndPseudos\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode\\\"},\\\"animation-iteration-count\\\":{syntax:\\\"<single-animation-iteration-count>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Animations\\\"],initial:\\\"1\\\",appliesto:\\\"allElementsAndPseudos\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count\\\"},\\\"animation-name\\\":{syntax:\\\"[ none | <keyframes-name> ]#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Animations\\\"],initial:\\\"none\\\",appliesto:\\\"allElementsAndPseudos\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/animation-name\\\"},\\\"animation-play-state\\\":{syntax:\\\"<single-animation-play-state>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Animations\\\"],initial:\\\"running\\\",appliesto:\\\"allElementsAndPseudos\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/animation-play-state\\\"},\\\"animation-timing-function\\\":{syntax:\\\"<timing-function>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Animations\\\"],initial:\\\"ease\\\",appliesto:\\\"allElementsAndPseudos\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/animation-timing-function\\\"},appearance:{syntax:\\\"none | auto | textfield | menulist-button | <compat-auto>\\\",media:\\\"all\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Basic User Interface\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/appearance\\\"},\\\"aspect-ratio\\\":{syntax:\\\"auto | <ratio>\\\",media:\\\"all\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Basic User Interface\\\"],initial:\\\"auto\\\",appliesto:\\\"allElementsExceptInlineBoxesAndInternalRubyOrTableBoxes\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/aspect-ratio\\\"},azimuth:{syntax:\\\"<angle> | [ [ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards\\\",media:\\\"aural\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Speech\\\"],initial:\\\"center\\\",appliesto:\\\"allElements\\\",computed:\\\"normalizedAngle\\\",order:\\\"orderOfAppearance\\\",status:\\\"obsolete\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/azimuth\\\"},\\\"backdrop-filter\\\":{syntax:\\\"none | <filter-function-list>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"filterList\\\",percentages:\\\"no\\\",groups:[\\\"Filter Effects\\\"],initial:\\\"none\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/backdrop-filter\\\"},\\\"backface-visibility\\\":{syntax:\\\"visible | hidden\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Transforms\\\"],initial:\\\"visible\\\",appliesto:\\\"transformableElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/backface-visibility\\\"},background:{syntax:\\\"[ <bg-layer> , ]* <final-bg-layer>\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"background-color\\\",\\\"background-image\\\",\\\"background-clip\\\",\\\"background-position\\\",\\\"background-size\\\",\\\"background-repeat\\\",\\\"background-attachment\\\"],percentages:[\\\"background-position\\\",\\\"background-size\\\"],groups:[\\\"CSS Backgrounds and Borders\\\"],initial:[\\\"background-image\\\",\\\"background-position\\\",\\\"background-size\\\",\\\"background-repeat\\\",\\\"background-origin\\\",\\\"background-clip\\\",\\\"background-attachment\\\",\\\"background-color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"background-image\\\",\\\"background-position\\\",\\\"background-size\\\",\\\"background-repeat\\\",\\\"background-origin\\\",\\\"background-clip\\\",\\\"background-attachment\\\",\\\"background-color\\\"],order:\\\"orderOfAppearance\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/background\\\"},\\\"background-attachment\\\":{syntax:\\\"<attachment>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"scroll\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/background-attachment\\\"},\\\"background-blend-mode\\\":{syntax:\\\"<blend-mode>#\\\",media:\\\"none\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Compositing and Blending\\\"],initial:\\\"normal\\\",appliesto:\\\"allElementsSVGContainerGraphicsAndGraphicsReferencingElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/background-blend-mode\\\"},\\\"background-clip\\\":{syntax:\\\"<box>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"border-box\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/background-clip\\\"},\\\"background-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"transparent\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/background-color\\\"},\\\"background-image\\\":{syntax:\\\"<bg-image>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecifiedURLsAbsolute\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/background-image\\\"},\\\"background-origin\\\":{syntax:\\\"<box>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"padding-box\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/background-origin\\\"},\\\"background-position\\\":{syntax:\\\"<bg-position>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"repeatableListOfSimpleListOfLpc\\\",percentages:\\\"referToSizeOfBackgroundPositioningAreaMinusBackgroundImageSize\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"0% 0%\\\",appliesto:\\\"allElements\\\",computed:\\\"listEachItemTwoKeywordsOriginOffsets\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/background-position\\\"},\\\"background-position-x\\\":{syntax:\\\"[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"referToWidthOfBackgroundPositioningAreaMinusBackgroundImageHeight\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"left\\\",appliesto:\\\"allElements\\\",computed:\\\"listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/background-position-x\\\"},\\\"background-position-y\\\":{syntax:\\\"[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"referToHeightOfBackgroundPositioningAreaMinusBackgroundImageHeight\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"top\\\",appliesto:\\\"allElements\\\",computed:\\\"listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/background-position-y\\\"},\\\"background-repeat\\\":{syntax:\\\"<repeat-style>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"repeat\\\",appliesto:\\\"allElements\\\",computed:\\\"listEachItemHasTwoKeywordsOnePerDimension\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/background-repeat\\\"},\\\"background-size\\\":{syntax:\\\"<bg-size>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"repeatableListOfSimpleListOfLpc\\\",percentages:\\\"relativeToBackgroundPositioningArea\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"auto auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/background-size\\\"},\\\"block-overflow\\\":{syntax:\\\"clip | ellipsis | <string>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Overflow\\\"],initial:\\\"clip\\\",appliesto:\\\"blockContainers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"experimental\\\"},\\\"block-size\\\":{syntax:\\\"<'width'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"blockSizeOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"auto\\\",appliesto:\\\"sameAsWidthAndHeight\\\",computed:\\\"sameAsWidthAndHeight\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/block-size\\\"},border:{syntax:\\\"<line-width> || <line-style> || <color>\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"border-color\\\",\\\"border-style\\\",\\\"border-width\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:[\\\"border-width\\\",\\\"border-style\\\",\\\"border-color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"border-width\\\",\\\"border-style\\\",\\\"border-color\\\"],order:\\\"orderOfAppearance\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border\\\"},\\\"border-block\\\":{syntax:\\\"<'border-top-width'> || <'border-top-style'> || <'color'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:[\\\"border-top-width\\\",\\\"border-top-style\\\",\\\"border-top-color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"border-top-width\\\",\\\"border-top-style\\\",\\\"border-top-color\\\"],order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-block\\\"},\\\"border-block-color\\\":{syntax:\\\"<'border-top-color'>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-block-color\\\"},\\\"border-block-style\\\":{syntax:\\\"<'border-top-style'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-block-style\\\"},\\\"border-block-width\\\":{syntax:\\\"<'border-top-width'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"medium\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthZeroIfBorderStyleNoneOrHidden\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-block-width\\\"},\\\"border-block-end\\\":{syntax:\\\"<'border-top-width'> || <'border-top-style'> || <'color'>\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"border-block-end-color\\\",\\\"border-block-end-style\\\",\\\"border-block-end-width\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:[\\\"border-top-width\\\",\\\"border-top-style\\\",\\\"border-top-color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"border-top-width\\\",\\\"border-top-style\\\",\\\"border-top-color\\\"],order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-block-end\\\"},\\\"border-block-end-color\\\":{syntax:\\\"<'border-top-color'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-block-end-color\\\"},\\\"border-block-end-style\\\":{syntax:\\\"<'border-top-style'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-block-end-style\\\"},\\\"border-block-end-width\\\":{syntax:\\\"<'border-top-width'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"medium\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthZeroIfBorderStyleNoneOrHidden\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-block-end-width\\\"},\\\"border-block-start\\\":{syntax:\\\"<'border-top-width'> || <'border-top-style'> || <'color'>\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"border-block-start-color\\\",\\\"border-block-start-style\\\",\\\"border-block-start-width\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:[\\\"border-width\\\",\\\"border-style\\\",\\\"color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"border-width\\\",\\\"border-style\\\",\\\"border-block-start-color\\\"],order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-block-start\\\"},\\\"border-block-start-color\\\":{syntax:\\\"<'border-top-color'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-block-start-color\\\"},\\\"border-block-start-style\\\":{syntax:\\\"<'border-top-style'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-block-start-style\\\"},\\\"border-block-start-width\\\":{syntax:\\\"<'border-top-width'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"medium\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthZeroIfBorderStyleNoneOrHidden\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-block-start-width\\\"},\\\"border-bottom\\\":{syntax:\\\"<line-width> || <line-style> || <color>\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"border-bottom-color\\\",\\\"border-bottom-style\\\",\\\"border-bottom-width\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:[\\\"border-bottom-width\\\",\\\"border-bottom-style\\\",\\\"border-bottom-color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"border-bottom-width\\\",\\\"border-bottom-style\\\",\\\"border-bottom-color\\\"],order:\\\"orderOfAppearance\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-bottom\\\"},\\\"border-bottom-color\\\":{syntax:\\\"<'border-top-color'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-bottom-color\\\"},\\\"border-bottom-left-radius\\\":{syntax:\\\"<length-percentage>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToDimensionOfBorderBox\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsUAsNotRequiredWhenCollapse\\\",computed:\\\"twoAbsoluteLengthOrPercentages\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius\\\"},\\\"border-bottom-right-radius\\\":{syntax:\\\"<length-percentage>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToDimensionOfBorderBox\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsUAsNotRequiredWhenCollapse\\\",computed:\\\"twoAbsoluteLengthOrPercentages\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius\\\"},\\\"border-bottom-style\\\":{syntax:\\\"<line-style>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-bottom-style\\\"},\\\"border-bottom-width\\\":{syntax:\\\"<line-width>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"medium\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthOr0IfBorderBottomStyleNoneOrHidden\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-bottom-width\\\"},\\\"border-collapse\\\":{syntax:\\\"collapse | separate\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Table\\\"],initial:\\\"separate\\\",appliesto:\\\"tableElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-collapse\\\"},\\\"border-color\\\":{syntax:\\\"<color>{1,4}\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"border-bottom-color\\\",\\\"border-left-color\\\",\\\"border-right-color\\\",\\\"border-top-color\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:[\\\"border-top-color\\\",\\\"border-right-color\\\",\\\"border-bottom-color\\\",\\\"border-left-color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"border-bottom-color\\\",\\\"border-left-color\\\",\\\"border-right-color\\\",\\\"border-top-color\\\"],order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-color\\\"},\\\"border-end-end-radius\\\":{syntax:\\\"<length-percentage>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToDimensionOfBorderBox\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsUAsNotRequiredWhenCollapse\\\",computed:\\\"twoAbsoluteLengthOrPercentages\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius\\\"},\\\"border-end-start-radius\\\":{syntax:\\\"<length-percentage>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToDimensionOfBorderBox\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsUAsNotRequiredWhenCollapse\\\",computed:\\\"twoAbsoluteLengthOrPercentages\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius\\\"},\\\"border-image\\\":{syntax:\\\"<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:[\\\"border-image-slice\\\",\\\"border-image-width\\\"],groups:[\\\"CSS Backgrounds and Borders\\\"],initial:[\\\"border-image-source\\\",\\\"border-image-slice\\\",\\\"border-image-width\\\",\\\"border-image-outset\\\",\\\"border-image-repeat\\\"],appliesto:\\\"allElementsExceptTableElementsWhenCollapse\\\",computed:[\\\"border-image-outset\\\",\\\"border-image-repeat\\\",\\\"border-image-slice\\\",\\\"border-image-source\\\",\\\"border-image-width\\\"],order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-image\\\"},\\\"border-image-outset\\\":{syntax:\\\"[ <length> | <number> ]{1,4}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsExceptTableElementsWhenCollapse\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-image-outset\\\"},\\\"border-image-repeat\\\":{syntax:\\\"[ stretch | repeat | round | space ]{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"stretch\\\",appliesto:\\\"allElementsExceptTableElementsWhenCollapse\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-image-repeat\\\"},\\\"border-image-slice\\\":{syntax:\\\"<number-percentage>{1,4} && fill?\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"referToSizeOfBorderImage\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"100%\\\",appliesto:\\\"allElementsExceptTableElementsWhenCollapse\\\",computed:\\\"oneToFourPercentagesOrAbsoluteLengthsPlusFill\\\",order:\\\"percentagesOrLengthsFollowedByFill\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-image-slice\\\"},\\\"border-image-source\\\":{syntax:\\\"none | <image>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"none\\\",appliesto:\\\"allElementsExceptTableElementsWhenCollapse\\\",computed:\\\"noneOrImageWithAbsoluteURI\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-image-source\\\"},\\\"border-image-width\\\":{syntax:\\\"[ <length-percentage> | <number> | auto ]{1,4}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"referToWidthOrHeightOfBorderImageArea\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"1\\\",appliesto:\\\"allElementsExceptTableElementsWhenCollapse\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-image-width\\\"},\\\"border-inline\\\":{syntax:\\\"<'border-top-width'> || <'border-top-style'> || <'color'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:[\\\"border-top-width\\\",\\\"border-top-style\\\",\\\"border-top-color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"border-top-width\\\",\\\"border-top-style\\\",\\\"border-top-color\\\"],order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-inline\\\"},\\\"border-inline-end\\\":{syntax:\\\"<'border-top-width'> || <'border-top-style'> || <'color'>\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"border-inline-end-color\\\",\\\"border-inline-end-style\\\",\\\"border-inline-end-width\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:[\\\"border-width\\\",\\\"border-style\\\",\\\"color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"border-width\\\",\\\"border-style\\\",\\\"border-inline-end-color\\\"],order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-inline-end\\\"},\\\"border-inline-color\\\":{syntax:\\\"<'border-top-color'>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-inline-color\\\"},\\\"border-inline-style\\\":{syntax:\\\"<'border-top-style'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-inline-style\\\"},\\\"border-inline-width\\\":{syntax:\\\"<'border-top-width'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"medium\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthZeroIfBorderStyleNoneOrHidden\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-inline-width\\\"},\\\"border-inline-end-color\\\":{syntax:\\\"<'border-top-color'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color\\\"},\\\"border-inline-end-style\\\":{syntax:\\\"<'border-top-style'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style\\\"},\\\"border-inline-end-width\\\":{syntax:\\\"<'border-top-width'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"medium\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthZeroIfBorderStyleNoneOrHidden\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width\\\"},\\\"border-inline-start\\\":{syntax:\\\"<'border-top-width'> || <'border-top-style'> || <'color'>\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"border-inline-start-color\\\",\\\"border-inline-start-style\\\",\\\"border-inline-start-width\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:[\\\"border-width\\\",\\\"border-style\\\",\\\"color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"border-width\\\",\\\"border-style\\\",\\\"border-inline-start-color\\\"],order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-inline-start\\\"},\\\"border-inline-start-color\\\":{syntax:\\\"<'border-top-color'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color\\\"},\\\"border-inline-start-style\\\":{syntax:\\\"<'border-top-style'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style\\\"},\\\"border-inline-start-width\\\":{syntax:\\\"<'border-top-width'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"medium\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthZeroIfBorderStyleNoneOrHidden\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width\\\"},\\\"border-left\\\":{syntax:\\\"<line-width> || <line-style> || <color>\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"border-left-color\\\",\\\"border-left-style\\\",\\\"border-left-width\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:[\\\"border-left-width\\\",\\\"border-left-style\\\",\\\"border-left-color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"border-left-width\\\",\\\"border-left-style\\\",\\\"border-left-color\\\"],order:\\\"orderOfAppearance\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-left\\\"},\\\"border-left-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-left-color\\\"},\\\"border-left-style\\\":{syntax:\\\"<line-style>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-left-style\\\"},\\\"border-left-width\\\":{syntax:\\\"<line-width>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"medium\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthOr0IfBorderLeftStyleNoneOrHidden\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-left-width\\\"},\\\"border-radius\\\":{syntax:\\\"<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"border-top-left-radius\\\",\\\"border-top-right-radius\\\",\\\"border-bottom-right-radius\\\",\\\"border-bottom-left-radius\\\"],percentages:\\\"referToDimensionOfBorderBox\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:[\\\"border-top-left-radius\\\",\\\"border-top-right-radius\\\",\\\"border-bottom-right-radius\\\",\\\"border-bottom-left-radius\\\"],appliesto:\\\"allElementsUAsNotRequiredWhenCollapse\\\",computed:[\\\"border-bottom-left-radius\\\",\\\"border-bottom-right-radius\\\",\\\"border-top-left-radius\\\",\\\"border-top-right-radius\\\"],order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-radius\\\"},\\\"border-right\\\":{syntax:\\\"<line-width> || <line-style> || <color>\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"border-right-color\\\",\\\"border-right-style\\\",\\\"border-right-width\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:[\\\"border-right-width\\\",\\\"border-right-style\\\",\\\"border-right-color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"border-right-width\\\",\\\"border-right-style\\\",\\\"border-right-color\\\"],order:\\\"orderOfAppearance\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-right\\\"},\\\"border-right-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-right-color\\\"},\\\"border-right-style\\\":{syntax:\\\"<line-style>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-right-style\\\"},\\\"border-right-width\\\":{syntax:\\\"<line-width>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"medium\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthOr0IfBorderRightStyleNoneOrHidden\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-right-width\\\"},\\\"border-spacing\\\":{syntax:\\\"<length> <length>?\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Table\\\"],initial:\\\"0\\\",appliesto:\\\"tableElements\\\",computed:\\\"twoAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-spacing\\\"},\\\"border-start-end-radius\\\":{syntax:\\\"<length-percentage>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToDimensionOfBorderBox\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsUAsNotRequiredWhenCollapse\\\",computed:\\\"twoAbsoluteLengthOrPercentages\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius\\\"},\\\"border-start-start-radius\\\":{syntax:\\\"<length-percentage>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToDimensionOfBorderBox\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsUAsNotRequiredWhenCollapse\\\",computed:\\\"twoAbsoluteLengthOrPercentages\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius\\\"},\\\"border-style\\\":{syntax:\\\"<line-style>{1,4}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:[\\\"border-top-style\\\",\\\"border-right-style\\\",\\\"border-bottom-style\\\",\\\"border-left-style\\\"],appliesto:\\\"allElements\\\",computed:[\\\"border-bottom-style\\\",\\\"border-left-style\\\",\\\"border-right-style\\\",\\\"border-top-style\\\"],order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-style\\\"},\\\"border-top\\\":{syntax:\\\"<line-width> || <line-style> || <color>\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"border-top-color\\\",\\\"border-top-style\\\",\\\"border-top-width\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:[\\\"border-top-width\\\",\\\"border-top-style\\\",\\\"border-top-color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"border-top-width\\\",\\\"border-top-style\\\",\\\"border-top-color\\\"],order:\\\"orderOfAppearance\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-top\\\"},\\\"border-top-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-top-color\\\"},\\\"border-top-left-radius\\\":{syntax:\\\"<length-percentage>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToDimensionOfBorderBox\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsUAsNotRequiredWhenCollapse\\\",computed:\\\"twoAbsoluteLengthOrPercentages\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius\\\"},\\\"border-top-right-radius\\\":{syntax:\\\"<length-percentage>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToDimensionOfBorderBox\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsUAsNotRequiredWhenCollapse\\\",computed:\\\"twoAbsoluteLengthOrPercentages\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius\\\"},\\\"border-top-style\\\":{syntax:\\\"<line-style>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-top-style\\\"},\\\"border-top-width\\\":{syntax:\\\"<line-width>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"medium\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthOr0IfBorderTopStyleNoneOrHidden\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-top-width\\\"},\\\"border-width\\\":{syntax:\\\"<line-width>{1,4}\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"border-bottom-width\\\",\\\"border-left-width\\\",\\\"border-right-width\\\",\\\"border-top-width\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:[\\\"border-top-width\\\",\\\"border-right-width\\\",\\\"border-bottom-width\\\",\\\"border-left-width\\\"],appliesto:\\\"allElements\\\",computed:[\\\"border-bottom-width\\\",\\\"border-left-width\\\",\\\"border-right-width\\\",\\\"border-top-width\\\"],order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/border-width\\\"},bottom:{syntax:\\\"<length> | <percentage> | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToContainingBlockHeight\\\",groups:[\\\"CSS Positioning\\\"],initial:\\\"auto\\\",appliesto:\\\"positionedElements\\\",computed:\\\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/bottom\\\"},\\\"box-align\\\":{syntax:\\\"start | center | end | baseline | stretch\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\",\\\"WebKit Extensions\\\"],initial:\\\"stretch\\\",appliesto:\\\"elementsWithDisplayBoxOrInlineBox\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/box-align\\\"},\\\"box-decoration-break\\\":{syntax:\\\"slice | clone\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fragmentation\\\"],initial:\\\"slice\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/box-decoration-break\\\"},\\\"box-direction\\\":{syntax:\\\"normal | reverse | inherit\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\",\\\"WebKit Extensions\\\"],initial:\\\"normal\\\",appliesto:\\\"elementsWithDisplayBoxOrInlineBox\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/box-direction\\\"},\\\"box-flex\\\":{syntax:\\\"<number>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\",\\\"WebKit Extensions\\\"],initial:\\\"0\\\",appliesto:\\\"directChildrenOfElementsWithDisplayMozBoxMozInlineBox\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/box-flex\\\"},\\\"box-flex-group\\\":{syntax:\\\"<integer>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\",\\\"WebKit Extensions\\\"],initial:\\\"1\\\",appliesto:\\\"inFlowChildrenOfBoxElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/box-flex-group\\\"},\\\"box-lines\\\":{syntax:\\\"single | multiple\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\",\\\"WebKit Extensions\\\"],initial:\\\"single\\\",appliesto:\\\"boxElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/box-lines\\\"},\\\"box-ordinal-group\\\":{syntax:\\\"<integer>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\",\\\"WebKit Extensions\\\"],initial:\\\"1\\\",appliesto:\\\"childrenOfBoxElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/box-ordinal-group\\\"},\\\"box-orient\\\":{syntax:\\\"horizontal | vertical | inline-axis | block-axis | inherit\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\",\\\"WebKit Extensions\\\"],initial:\\\"inlineAxisHorizontalInXUL\\\",appliesto:\\\"elementsWithDisplayBoxOrInlineBox\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/box-orient\\\"},\\\"box-pack\\\":{syntax:\\\"start | center | end | justify\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\",\\\"WebKit Extensions\\\"],initial:\\\"start\\\",appliesto:\\\"elementsWithDisplayMozBoxMozInlineBox\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/box-pack\\\"},\\\"box-shadow\\\":{syntax:\\\"none | <shadow>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"shadowList\\\",percentages:\\\"no\\\",groups:[\\\"CSS Backgrounds and Borders\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthsSpecifiedColorAsSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/box-shadow\\\"},\\\"box-sizing\\\":{syntax:\\\"content-box | border-box\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Basic User Interface\\\"],initial:\\\"content-box\\\",appliesto:\\\"allElementsAcceptingWidthOrHeight\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/box-sizing\\\"},\\\"break-after\\\":{syntax:\\\"auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fragmentation\\\"],initial:\\\"auto\\\",appliesto:\\\"blockLevelElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/break-after\\\"},\\\"break-before\\\":{syntax:\\\"auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fragmentation\\\"],initial:\\\"auto\\\",appliesto:\\\"blockLevelElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/break-before\\\"},\\\"break-inside\\\":{syntax:\\\"auto | avoid | avoid-page | avoid-column | avoid-region\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fragmentation\\\"],initial:\\\"auto\\\",appliesto:\\\"blockLevelElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/break-inside\\\"},\\\"caption-side\\\":{syntax:\\\"top | bottom | block-start | block-end | inline-start | inline-end\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Table\\\"],initial:\\\"top\\\",appliesto:\\\"tableCaptionElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/caption-side\\\"},\\\"caret-color\\\":{syntax:\\\"auto | <color>\\\",media:\\\"interactive\\\",inherited:!0,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Basic User Interface\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asAutoOrColor\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/caret-color\\\"},clear:{syntax:\\\"none | left | right | both | inline-start | inline-end\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Positioning\\\"],initial:\\\"none\\\",appliesto:\\\"blockLevelElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/clear\\\"},clip:{syntax:\\\"<shape> | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"rectangle\\\",percentages:\\\"no\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"auto\\\",appliesto:\\\"absolutelyPositionedElements\\\",computed:\\\"autoOrRectangle\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/clip\\\"},\\\"clip-path\\\":{syntax:\\\"<clip-source> | [ <basic-shape> || <geometry-box> ] | none\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"basicShapeOtherwiseNo\\\",percentages:\\\"referToReferenceBoxWhenSpecifiedOtherwiseBorderBox\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"none\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"asSpecifiedURLsAbsolute\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/clip-path\\\"},color:{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Color\\\"],initial:\\\"variesFromBrowserToBrowser\\\",appliesto:\\\"allElements\\\",computed:\\\"translucentValuesRGBAOtherwiseRGB\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/color\\\"},\\\"color-adjust\\\":{syntax:\\\"economy | exact\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Color\\\"],initial:\\\"economy\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/color-adjust\\\"},\\\"column-count\\\":{syntax:\\\"<integer> | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"integer\\\",percentages:\\\"no\\\",groups:[\\\"CSS Columns\\\"],initial:\\\"auto\\\",appliesto:\\\"blockContainersExceptTableWrappers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/column-count\\\"},\\\"column-fill\\\":{syntax:\\\"auto | balance | balance-all\\\",media:\\\"visualInContinuousMediaNoEffectInOverflowColumns\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Columns\\\"],initial:\\\"balance\\\",appliesto:\\\"multicolElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/column-fill\\\"},\\\"column-gap\\\":{syntax:\\\"normal | <length-percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToDimensionOfContentArea\\\",groups:[\\\"CSS Box Alignment\\\"],initial:\\\"normal\\\",appliesto:\\\"multiColumnElementsFlexContainersGridContainers\\\",computed:\\\"asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/column-gap\\\"},\\\"column-rule\\\":{syntax:\\\"<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"column-rule-color\\\",\\\"column-rule-style\\\",\\\"column-rule-width\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Columns\\\"],initial:[\\\"column-rule-width\\\",\\\"column-rule-style\\\",\\\"column-rule-color\\\"],appliesto:\\\"multicolElements\\\",computed:[\\\"column-rule-color\\\",\\\"column-rule-style\\\",\\\"column-rule-width\\\"],order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/column-rule\\\"},\\\"column-rule-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Columns\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"multicolElements\\\",computed:\\\"computedColor\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/column-rule-color\\\"},\\\"column-rule-style\\\":{syntax:\\\"<'border-style'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Columns\\\"],initial:\\\"none\\\",appliesto:\\\"multicolElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/column-rule-style\\\"},\\\"column-rule-width\\\":{syntax:\\\"<'border-width'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"no\\\",groups:[\\\"CSS Columns\\\"],initial:\\\"medium\\\",appliesto:\\\"multicolElements\\\",computed:\\\"absoluteLength0IfColumnRuleStyleNoneOrHidden\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/column-rule-width\\\"},\\\"column-span\\\":{syntax:\\\"none | all\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Columns\\\"],initial:\\\"none\\\",appliesto:\\\"inFlowBlockLevelElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/column-span\\\"},\\\"column-width\\\":{syntax:\\\"<length> | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"no\\\",groups:[\\\"CSS Columns\\\"],initial:\\\"auto\\\",appliesto:\\\"blockContainersExceptTableWrappers\\\",computed:\\\"absoluteLengthZeroOrLarger\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/column-width\\\"},columns:{syntax:\\\"<'column-width'> || <'column-count'>\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"column-width\\\",\\\"column-count\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Columns\\\"],initial:[\\\"column-width\\\",\\\"column-count\\\"],appliesto:\\\"blockContainersExceptTableWrappers\\\",computed:[\\\"column-width\\\",\\\"column-count\\\"],order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/columns\\\"},contain:{syntax:\\\"none | strict | content | [ size || layout || style || paint ]\\\",media:\\\"all\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Containment\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/contain\\\"},content:{syntax:\\\"normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?\\\",media:\\\"all\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Generated Content\\\"],initial:\\\"normal\\\",appliesto:\\\"beforeAndAfterPseudos\\\",computed:\\\"normalOnElementsForPseudosNoneAbsoluteURIStringOrAsSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/content\\\"},\\\"counter-increment\\\":{syntax:\\\"[ <custom-ident> <integer>? ]+ | none\\\",media:\\\"all\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Counter Styles\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/counter-increment\\\"},\\\"counter-reset\\\":{syntax:\\\"[ <custom-ident> <integer>? ]+ | none\\\",media:\\\"all\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Counter Styles\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/counter-reset\\\"},\\\"counter-set\\\":{syntax:\\\"[ <custom-ident> <integer>? ]+ | none\\\",media:\\\"all\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Counter Styles\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/counter-set\\\"},cursor:{syntax:\\\"[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]\\\",media:[\\\"visual\\\",\\\"interactive\\\"],inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Basic User Interface\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecifiedURLsAbsolute\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/cursor\\\"},direction:{syntax:\\\"ltr | rtl\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Writing Modes\\\"],initial:\\\"ltr\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/direction\\\"},display:{syntax:\\\"[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>\\\",media:\\\"all\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Display\\\"],initial:\\\"inline\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecifiedExceptPositionedFloatingAndRootElementsKeywordMaybeDifferent\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/display\\\"},\\\"empty-cells\\\":{syntax:\\\"show | hide\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Table\\\"],initial:\\\"show\\\",appliesto:\\\"tableCellElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/empty-cells\\\"},filter:{syntax:\\\"none | <filter-function-list>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"filterList\\\",percentages:\\\"no\\\",groups:[\\\"Filter Effects\\\"],initial:\\\"none\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/filter\\\"},flex:{syntax:\\\"none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"flex-grow\\\",\\\"flex-shrink\\\",\\\"flex-basis\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Flexible Box Layout\\\"],initial:[\\\"flex-grow\\\",\\\"flex-shrink\\\",\\\"flex-basis\\\"],appliesto:\\\"flexItemsAndInFlowPseudos\\\",computed:[\\\"flex-grow\\\",\\\"flex-shrink\\\",\\\"flex-basis\\\"],order:\\\"orderOfAppearance\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/flex\\\"},\\\"flex-basis\\\":{syntax:\\\"content | <'width'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToFlexContainersInnerMainSize\\\",groups:[\\\"CSS Flexible Box Layout\\\"],initial:\\\"auto\\\",appliesto:\\\"flexItemsAndInFlowPseudos\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"lengthOrPercentageBeforeKeywordIfBothPresent\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/flex-basis\\\"},\\\"flex-direction\\\":{syntax:\\\"row | row-reverse | column | column-reverse\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Flexible Box Layout\\\"],initial:\\\"row\\\",appliesto:\\\"flexContainers\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/flex-direction\\\"},\\\"flex-flow\\\":{syntax:\\\"<'flex-direction'> || <'flex-wrap'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Flexible Box Layout\\\"],initial:[\\\"flex-direction\\\",\\\"flex-wrap\\\"],appliesto:\\\"flexContainers\\\",computed:[\\\"flex-direction\\\",\\\"flex-wrap\\\"],order:\\\"orderOfAppearance\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/flex-flow\\\"},\\\"flex-grow\\\":{syntax:\\\"<number>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"number\\\",percentages:\\\"no\\\",groups:[\\\"CSS Flexible Box Layout\\\"],initial:\\\"0\\\",appliesto:\\\"flexItemsAndInFlowPseudos\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/flex-grow\\\"},\\\"flex-shrink\\\":{syntax:\\\"<number>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"number\\\",percentages:\\\"no\\\",groups:[\\\"CSS Flexible Box Layout\\\"],initial:\\\"1\\\",appliesto:\\\"flexItemsAndInFlowPseudos\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/flex-shrink\\\"},\\\"flex-wrap\\\":{syntax:\\\"nowrap | wrap | wrap-reverse\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Flexible Box Layout\\\"],initial:\\\"nowrap\\\",appliesto:\\\"flexContainers\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/flex-wrap\\\"},float:{syntax:\\\"left | right | none | inline-start | inline-end\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Positioning\\\"],initial:\\\"none\\\",appliesto:\\\"allElementsNoEffectIfDisplayNone\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/float\\\"},font:{syntax:\\\"[ [ <'font-style'> || <font-variant-css21> || <'font-weight'> || <'font-stretch'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar\\\",media:\\\"visual\\\",inherited:!0,animationType:[\\\"font-style\\\",\\\"font-variant\\\",\\\"font-weight\\\",\\\"font-stretch\\\",\\\"font-size\\\",\\\"line-height\\\",\\\"font-family\\\"],percentages:[\\\"font-size\\\",\\\"line-height\\\"],groups:[\\\"CSS Fonts\\\"],initial:[\\\"font-style\\\",\\\"font-variant\\\",\\\"font-weight\\\",\\\"font-stretch\\\",\\\"font-size\\\",\\\"line-height\\\",\\\"font-family\\\"],appliesto:\\\"allElements\\\",computed:[\\\"font-style\\\",\\\"font-variant\\\",\\\"font-weight\\\",\\\"font-stretch\\\",\\\"font-size\\\",\\\"line-height\\\",\\\"font-family\\\"],order:\\\"orderOfAppearance\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font\\\"},\\\"font-family\\\":{syntax:\\\"[ <family-name> | <generic-family> ]#\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"dependsOnUserAgent\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-family\\\"},\\\"font-feature-settings\\\":{syntax:\\\"normal | <feature-tag-value>#\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-feature-settings\\\"},\\\"font-kerning\\\":{syntax:\\\"auto | normal | none\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-kerning\\\"},\\\"font-language-override\\\":{syntax:\\\"normal | <string>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-language-override\\\"},\\\"font-optical-sizing\\\":{syntax:\\\"auto | none\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing\\\"},\\\"font-variation-settings\\\":{syntax:\\\"normal | [ <string> <number> ]#\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"transform\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-variation-settings\\\"},\\\"font-size\\\":{syntax:\\\"<absolute-size> | <relative-size> | <length-percentage>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"length\\\",percentages:\\\"referToParentElementsFontSize\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"medium\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-size\\\"},\\\"font-size-adjust\\\":{syntax:\\\"none | <number>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"number\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-size-adjust\\\"},\\\"font-smooth\\\":{syntax:\\\"auto | never | always | <absolute-size> | <length>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-smooth\\\"},\\\"font-stretch\\\":{syntax:\\\"<font-stretch-absolute>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"fontStretch\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-stretch\\\"},\\\"font-style\\\":{syntax:\\\"normal | italic | oblique <angle>?\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-style\\\"},\\\"font-synthesis\\\":{syntax:\\\"none | [ weight || style ]\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"weight style\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-synthesis\\\"},\\\"font-variant\\\":{syntax:\\\"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-variant\\\"},\\\"font-variant-alternates\\\":{syntax:\\\"normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-variant-alternates\\\"},\\\"font-variant-caps\\\":{syntax:\\\"normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-variant-caps\\\"},\\\"font-variant-east-asian\\\":{syntax:\\\"normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian\\\"},\\\"font-variant-ligatures\\\":{syntax:\\\"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures\\\"},\\\"font-variant-numeric\\\":{syntax:\\\"normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric\\\"},\\\"font-variant-position\\\":{syntax:\\\"normal | sub | super\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-variant-position\\\"},\\\"font-weight\\\":{syntax:\\\"<font-weight-absolute> | bolder | lighter\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"fontWeight\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"keywordOrNumericalValueBolderLighterTransformedToRealValue\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/font-weight\\\"},gap:{syntax:\\\"<'row-gap'> <'column-gap'>?\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"row-gap\\\",\\\"column-gap\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Box Alignment\\\"],initial:[\\\"row-gap\\\",\\\"column-gap\\\"],appliesto:\\\"multiColumnElementsFlexContainersGridContainers\\\",computed:[\\\"row-gap\\\",\\\"column-gap\\\"],order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/gap\\\"},grid:{syntax:\\\"<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:[\\\"grid-template-rows\\\",\\\"grid-template-columns\\\",\\\"grid-auto-rows\\\",\\\"grid-auto-columns\\\"],groups:[\\\"CSS Grid Layout\\\"],initial:[\\\"grid-template-rows\\\",\\\"grid-template-columns\\\",\\\"grid-template-areas\\\",\\\"grid-auto-rows\\\",\\\"grid-auto-columns\\\",\\\"grid-auto-flow\\\",\\\"grid-column-gap\\\",\\\"grid-row-gap\\\",\\\"column-gap\\\",\\\"row-gap\\\"],appliesto:\\\"gridContainers\\\",computed:[\\\"grid-template-rows\\\",\\\"grid-template-columns\\\",\\\"grid-template-areas\\\",\\\"grid-auto-rows\\\",\\\"grid-auto-columns\\\",\\\"grid-auto-flow\\\",\\\"grid-column-gap\\\",\\\"grid-row-gap\\\",\\\"column-gap\\\",\\\"row-gap\\\"],order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/grid\\\"},\\\"grid-area\\\":{syntax:\\\"<grid-line> [ / <grid-line> ]{0,3}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Grid Layout\\\"],initial:[\\\"grid-row-start\\\",\\\"grid-column-start\\\",\\\"grid-row-end\\\",\\\"grid-column-end\\\"],appliesto:\\\"gridItemsAndBoxesWithinGridContainer\\\",computed:[\\\"grid-row-start\\\",\\\"grid-column-start\\\",\\\"grid-row-end\\\",\\\"grid-column-end\\\"],order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/grid-area\\\"},\\\"grid-auto-columns\\\":{syntax:\\\"<track-size>+\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"referToDimensionOfContentArea\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"auto\\\",appliesto:\\\"gridContainers\\\",computed:\\\"percentageAsSpecifiedOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns\\\"},\\\"grid-auto-flow\\\":{syntax:\\\"[ row | column ] || dense\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"row\\\",appliesto:\\\"gridContainers\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow\\\"},\\\"grid-auto-rows\\\":{syntax:\\\"<track-size>+\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"referToDimensionOfContentArea\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"auto\\\",appliesto:\\\"gridContainers\\\",computed:\\\"percentageAsSpecifiedOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows\\\"},\\\"grid-column\\\":{syntax:\\\"<grid-line> [ / <grid-line> ]?\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Grid Layout\\\"],initial:[\\\"grid-column-start\\\",\\\"grid-column-end\\\"],appliesto:\\\"gridItemsAndBoxesWithinGridContainer\\\",computed:[\\\"grid-column-start\\\",\\\"grid-column-end\\\"],order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/grid-column\\\"},\\\"grid-column-end\\\":{syntax:\\\"<grid-line>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"auto\\\",appliesto:\\\"gridItemsAndBoxesWithinGridContainer\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/grid-column-end\\\"},\\\"grid-column-gap\\\":{syntax:\\\"<length-percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"referToDimensionOfContentArea\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"0\\\",appliesto:\\\"gridContainers\\\",computed:\\\"percentageAsSpecifiedOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",status:\\\"obsolete\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/column-gap\\\"},\\\"grid-column-start\\\":{syntax:\\\"<grid-line>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"auto\\\",appliesto:\\\"gridItemsAndBoxesWithinGridContainer\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/grid-column-start\\\"},\\\"grid-gap\\\":{syntax:\\\"<'grid-row-gap'> <'grid-column-gap'>?\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"grid-row-gap\\\",\\\"grid-column-gap\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Grid Layout\\\"],initial:[\\\"grid-row-gap\\\",\\\"grid-column-gap\\\"],appliesto:\\\"gridContainers\\\",computed:[\\\"grid-row-gap\\\",\\\"grid-column-gap\\\"],order:\\\"uniqueOrder\\\",status:\\\"obsolete\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/gap\\\"},\\\"grid-row\\\":{syntax:\\\"<grid-line> [ / <grid-line> ]?\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Grid Layout\\\"],initial:[\\\"grid-row-start\\\",\\\"grid-row-end\\\"],appliesto:\\\"gridItemsAndBoxesWithinGridContainer\\\",computed:[\\\"grid-row-start\\\",\\\"grid-row-end\\\"],order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/grid-row\\\"},\\\"grid-row-end\\\":{syntax:\\\"<grid-line>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"auto\\\",appliesto:\\\"gridItemsAndBoxesWithinGridContainer\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/grid-row-end\\\"},\\\"grid-row-gap\\\":{syntax:\\\"<length-percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"referToDimensionOfContentArea\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"0\\\",appliesto:\\\"gridContainers\\\",computed:\\\"percentageAsSpecifiedOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",status:\\\"obsolete\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/row-gap\\\"},\\\"grid-row-start\\\":{syntax:\\\"<grid-line>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"auto\\\",appliesto:\\\"gridItemsAndBoxesWithinGridContainer\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/grid-row-start\\\"},\\\"grid-template\\\":{syntax:\\\"none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:[\\\"grid-template-columns\\\",\\\"grid-template-rows\\\"],groups:[\\\"CSS Grid Layout\\\"],initial:[\\\"grid-template-columns\\\",\\\"grid-template-rows\\\",\\\"grid-template-areas\\\"],appliesto:\\\"gridContainers\\\",computed:[\\\"grid-template-columns\\\",\\\"grid-template-rows\\\",\\\"grid-template-areas\\\"],order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/grid-template\\\"},\\\"grid-template-areas\\\":{syntax:\\\"none | <string>+\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"none\\\",appliesto:\\\"gridContainers\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/grid-template-areas\\\"},\\\"grid-template-columns\\\":{syntax:\\\"none | <track-list> | <auto-track-list> | subgrid <line-name-list>?\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"simpleListOfLpcDifferenceLpc\\\",percentages:\\\"referToDimensionOfContentArea\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"none\\\",appliesto:\\\"gridContainers\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/grid-template-columns\\\"},\\\"grid-template-rows\\\":{syntax:\\\"none | <track-list> | <auto-track-list> | subgrid <line-name-list>?\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"simpleListOfLpcDifferenceLpc\\\",percentages:\\\"referToDimensionOfContentArea\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"none\\\",appliesto:\\\"gridContainers\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/grid-template-rows\\\"},\\\"hanging-punctuation\\\":{syntax:\\\"none | [ first || [ force-end | allow-end ] || last ]\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation\\\"},height:{syntax:\\\"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"regardingHeightOfGeneratedBoxContainingBlockPercentagesRelativeToContainingBlock\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"auto\\\",appliesto:\\\"allElementsButNonReplacedAndTableColumns\\\",computed:\\\"percentageAutoOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/height\\\"},hyphens:{syntax:\\\"none | manual | auto\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text\\\"],initial:\\\"manual\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/hyphens\\\"},\\\"image-orientation\\\":{syntax:\\\"from-image | <angle> | [ <angle>? flip ]\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Images\\\"],initial:\\\"from-image\\\",appliesto:\\\"allElements\\\",computed:\\\"angleRoundedToNextQuarter\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/image-orientation\\\"},\\\"image-rendering\\\":{syntax:\\\"auto | crisp-edges | pixelated\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Images\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/image-rendering\\\"},\\\"image-resolution\\\":{syntax:\\\"[ from-image || <resolution> ] && snap?\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Images\\\"],initial:\\\"1dppx\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecifiedWithExceptionOfResolution\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\"},\\\"ime-mode\\\":{syntax:\\\"auto | normal | active | inactive | disabled\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Basic User Interface\\\"],initial:\\\"auto\\\",appliesto:\\\"textFields\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"obsolete\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/ime-mode\\\"},\\\"initial-letter\\\":{syntax:\\\"normal | [ <number> <integer>? ]\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Inline\\\"],initial:\\\"normal\\\",appliesto:\\\"firstLetterPseudoElementsAndInlineLevelFirstChildren\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/initial-letter\\\"},\\\"initial-letter-align\\\":{syntax:\\\"[ auto | alphabetic | hanging | ideographic ]\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Inline\\\"],initial:\\\"auto\\\",appliesto:\\\"firstLetterPseudoElementsAndInlineLevelFirstChildren\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/initial-letter-align\\\"},\\\"inline-size\\\":{syntax:\\\"<'width'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"inlineSizeOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"auto\\\",appliesto:\\\"sameAsWidthAndHeight\\\",computed:\\\"sameAsWidthAndHeight\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/inline-size\\\"},inset:{syntax:\\\"<'top'>{1,4}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"logicalHeightOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"auto\\\",appliesto:\\\"positionedElements\\\",computed:\\\"sameAsBoxOffsets\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/inset\\\"},\\\"inset-block\\\":{syntax:\\\"<'top'>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"logicalHeightOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"auto\\\",appliesto:\\\"positionedElements\\\",computed:\\\"sameAsBoxOffsets\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/inset-block\\\"},\\\"inset-block-end\\\":{syntax:\\\"<'top'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"logicalHeightOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"auto\\\",appliesto:\\\"positionedElements\\\",computed:\\\"sameAsBoxOffsets\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/inset-block-end\\\"},\\\"inset-block-start\\\":{syntax:\\\"<'top'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"logicalHeightOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"auto\\\",appliesto:\\\"positionedElements\\\",computed:\\\"sameAsBoxOffsets\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/inset-block-start\\\"},\\\"inset-inline\\\":{syntax:\\\"<'top'>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"auto\\\",appliesto:\\\"positionedElements\\\",computed:\\\"sameAsBoxOffsets\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/inset-inline\\\"},\\\"inset-inline-end\\\":{syntax:\\\"<'top'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"auto\\\",appliesto:\\\"positionedElements\\\",computed:\\\"sameAsBoxOffsets\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/inset-inline-end\\\"},\\\"inset-inline-start\\\":{syntax:\\\"<'top'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"auto\\\",appliesto:\\\"positionedElements\\\",computed:\\\"sameAsBoxOffsets\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/inset-inline-start\\\"},isolation:{syntax:\\\"auto | isolate\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Compositing and Blending\\\"],initial:\\\"auto\\\",appliesto:\\\"allElementsSVGContainerGraphicsAndGraphicsReferencingElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/isolation\\\"},\\\"justify-content\\\":{syntax:\\\"normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Alignment\\\"],initial:\\\"normal\\\",appliesto:\\\"flexContainers\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/justify-content\\\"},\\\"justify-items\\\":{syntax:\\\"normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Alignment\\\"],initial:\\\"legacy\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/justify-items\\\"},\\\"justify-self\\\":{syntax:\\\"auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Alignment\\\"],initial:\\\"auto\\\",appliesto:\\\"blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/justify-self\\\"},\\\"justify-tracks\\\":{syntax:\\\"[ normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ] ]#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"normal\\\",appliesto:\\\"gridContainersWithMasonryLayoutInTheirInlineAxis\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/justify-tracks\\\"},left:{syntax:\\\"<length> | <percentage> | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Positioning\\\"],initial:\\\"auto\\\",appliesto:\\\"positionedElements\\\",computed:\\\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/left\\\"},\\\"letter-spacing\\\":{syntax:\\\"normal | <length>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"length\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"optimumValueOfAbsoluteLengthOrNormal\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/letter-spacing\\\"},\\\"line-break\\\":{syntax:\\\"auto | loose | normal | strict | anywhere\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/line-break\\\"},\\\"line-clamp\\\":{syntax:\\\"none | <integer>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"integer\\\",percentages:\\\"no\\\",groups:[\\\"CSS Overflow\\\"],initial:\\\"none\\\",appliesto:\\\"blockContainersExceptMultiColumnContainers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"experimental\\\"},\\\"line-height\\\":{syntax:\\\"normal | <number> | <length> | <percentage>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"numberOrLength\\\",percentages:\\\"referToElementFontSize\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLengthOrAsSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/line-height\\\"},\\\"line-height-step\\\":{syntax:\\\"<length>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fonts\\\"],initial:\\\"0\\\",appliesto:\\\"blockContainers\\\",computed:\\\"absoluteLength\\\",order:\\\"perGrammar\\\",status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/line-height-step\\\"},\\\"list-style\\\":{syntax:\\\"<'list-style-type'> || <'list-style-position'> || <'list-style-image'>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Lists and Counters\\\"],initial:[\\\"list-style-type\\\",\\\"list-style-position\\\",\\\"list-style-image\\\"],appliesto:\\\"listItems\\\",computed:[\\\"list-style-image\\\",\\\"list-style-position\\\",\\\"list-style-type\\\"],order:\\\"orderOfAppearance\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/list-style\\\"},\\\"list-style-image\\\":{syntax:\\\"<url> | none\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Lists and Counters\\\"],initial:\\\"none\\\",appliesto:\\\"listItems\\\",computed:\\\"noneOrImageWithAbsoluteURI\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/list-style-image\\\"},\\\"list-style-position\\\":{syntax:\\\"inside | outside\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Lists and Counters\\\"],initial:\\\"outside\\\",appliesto:\\\"listItems\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/list-style-position\\\"},\\\"list-style-type\\\":{syntax:\\\"<counter-style> | <string> | none\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Lists and Counters\\\"],initial:\\\"disc\\\",appliesto:\\\"listItems\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/list-style-type\\\"},margin:{syntax:\\\"[ <length> | <percentage> | auto ]{1,4}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Box Model\\\"],initial:[\\\"margin-bottom\\\",\\\"margin-left\\\",\\\"margin-right\\\",\\\"margin-top\\\"],appliesto:\\\"allElementsExceptTableDisplayTypes\\\",computed:[\\\"margin-bottom\\\",\\\"margin-left\\\",\\\"margin-right\\\",\\\"margin-top\\\"],order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/margin\\\"},\\\"margin-block\\\":{syntax:\\\"<'margin-left'>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"dependsOnLayoutModel\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"sameAsMargin\\\",computed:\\\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/margin-block\\\"},\\\"margin-block-end\\\":{syntax:\\\"<'margin-left'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"dependsOnLayoutModel\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"sameAsMargin\\\",computed:\\\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/margin-block-end\\\"},\\\"margin-block-start\\\":{syntax:\\\"<'margin-left'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"dependsOnLayoutModel\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"sameAsMargin\\\",computed:\\\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/margin-block-start\\\"},\\\"margin-bottom\\\":{syntax:\\\"<length> | <percentage> | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsExceptTableDisplayTypes\\\",computed:\\\"percentageAsSpecifiedOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/margin-bottom\\\"},\\\"margin-inline\\\":{syntax:\\\"<'margin-left'>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"dependsOnLayoutModel\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"sameAsMargin\\\",computed:\\\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/margin-inline\\\"},\\\"margin-inline-end\\\":{syntax:\\\"<'margin-left'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"dependsOnLayoutModel\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"sameAsMargin\\\",computed:\\\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/margin-inline-end\\\"},\\\"margin-inline-start\\\":{syntax:\\\"<'margin-left'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"dependsOnLayoutModel\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"sameAsMargin\\\",computed:\\\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/margin-inline-start\\\"},\\\"margin-left\\\":{syntax:\\\"<length> | <percentage> | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsExceptTableDisplayTypes\\\",computed:\\\"percentageAsSpecifiedOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/margin-left\\\"},\\\"margin-right\\\":{syntax:\\\"<length> | <percentage> | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsExceptTableDisplayTypes\\\",computed:\\\"percentageAsSpecifiedOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/margin-right\\\"},\\\"margin-top\\\":{syntax:\\\"<length> | <percentage> | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsExceptTableDisplayTypes\\\",computed:\\\"percentageAsSpecifiedOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/margin-top\\\"},\\\"margin-trim\\\":{syntax:\\\"none | in-flow | all\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"none\\\",appliesto:\\\"blockContainersAndMultiColumnContainers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\"],status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/margin-trim\\\"},mask:{syntax:\\\"<mask-layer>#\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"mask-image\\\",\\\"mask-mode\\\",\\\"mask-repeat\\\",\\\"mask-position\\\",\\\"mask-clip\\\",\\\"mask-origin\\\",\\\"mask-size\\\",\\\"mask-composite\\\"],percentages:[\\\"mask-position\\\"],groups:[\\\"CSS Masking\\\"],initial:[\\\"mask-image\\\",\\\"mask-mode\\\",\\\"mask-repeat\\\",\\\"mask-position\\\",\\\"mask-clip\\\",\\\"mask-origin\\\",\\\"mask-size\\\",\\\"mask-composite\\\"],appliesto:\\\"allElementsSVGContainerElements\\\",computed:[\\\"mask-image\\\",\\\"mask-mode\\\",\\\"mask-repeat\\\",\\\"mask-position\\\",\\\"mask-clip\\\",\\\"mask-origin\\\",\\\"mask-size\\\",\\\"mask-composite\\\"],order:\\\"perGrammar\\\",stacking:!0,status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask\\\"},\\\"mask-border\\\":{syntax:\\\"<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"mask-border-mode\\\",\\\"mask-border-outset\\\",\\\"mask-border-repeat\\\",\\\"mask-border-slice\\\",\\\"mask-border-source\\\",\\\"mask-border-width\\\"],percentages:[\\\"mask-border-slice\\\",\\\"mask-border-width\\\"],groups:[\\\"CSS Masking\\\"],initial:[\\\"mask-border-mode\\\",\\\"mask-border-outset\\\",\\\"mask-border-repeat\\\",\\\"mask-border-slice\\\",\\\"mask-border-source\\\",\\\"mask-border-width\\\"],appliesto:\\\"allElementsSVGContainerElements\\\",computed:[\\\"mask-border-mode\\\",\\\"mask-border-outset\\\",\\\"mask-border-repeat\\\",\\\"mask-border-slice\\\",\\\"mask-border-source\\\",\\\"mask-border-width\\\"],order:\\\"perGrammar\\\",stacking:!0,status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-border\\\"},\\\"mask-border-mode\\\":{syntax:\\\"luminance | alpha\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"alpha\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-border-mode\\\"},\\\"mask-border-outset\\\":{syntax:\\\"[ <length> | <number> ]{1,4}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-border-outset\\\"},\\\"mask-border-repeat\\\":{syntax:\\\"[ stretch | repeat | round | space ]{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"stretch\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat\\\"},\\\"mask-border-slice\\\":{syntax:\\\"<number-percentage>{1,4} fill?\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"referToSizeOfMaskBorderImage\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-border-slice\\\"},\\\"mask-border-source\\\":{syntax:\\\"none | <image>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"none\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"asSpecifiedURLsAbsolute\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-border-source\\\"},\\\"mask-border-width\\\":{syntax:\\\"[ <length-percentage> | <number> | auto ]{1,4}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"relativeToMaskBorderImageArea\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"auto\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-border-width\\\"},\\\"mask-clip\\\":{syntax:\\\"[ <geometry-box> | no-clip ]#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"border-box\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-clip\\\"},\\\"mask-composite\\\":{syntax:\\\"<compositing-operator>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"add\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-composite\\\"},\\\"mask-image\\\":{syntax:\\\"<mask-reference>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"none\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"asSpecifiedURLsAbsolute\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-image\\\"},\\\"mask-mode\\\":{syntax:\\\"<masking-mode>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"match-source\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-mode\\\"},\\\"mask-origin\\\":{syntax:\\\"<geometry-box>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"border-box\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-origin\\\"},\\\"mask-position\\\":{syntax:\\\"<position>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"repeatableListOfSimpleListOfLpc\\\",percentages:\\\"referToSizeOfMaskPaintingArea\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"center\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"consistsOfTwoKeywordsForOriginAndOffsets\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-position\\\"},\\\"mask-repeat\\\":{syntax:\\\"<repeat-style>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"no-repeat\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"consistsOfTwoDimensionKeywords\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-repeat\\\"},\\\"mask-size\\\":{syntax:\\\"<bg-size>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"repeatableListOfSimpleListOfLpc\\\",percentages:\\\"no\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"auto\\\",appliesto:\\\"allElementsSVGContainerElements\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-size\\\"},\\\"mask-type\\\":{syntax:\\\"luminance | alpha\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Masking\\\"],initial:\\\"luminance\\\",appliesto:\\\"maskElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mask-type\\\"},\\\"masonry-auto-flow\\\":{syntax:\\\"[ pack | next ] || [ definite-first | ordered ]\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Grid Layout\\\"],initial:\\\"pack\\\",appliesto:\\\"gridContainersWithMasonryLayout\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/masonry-auto-flow\\\"},\\\"math-style\\\":{syntax:\\\"normal | compact\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"notAnimatable\\\",percentages:\\\"no\\\",groups:[\\\"MathML\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/math-style\\\"},\\\"max-block-size\\\":{syntax:\\\"<'max-width'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"blockSizeOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"sameAsWidthAndHeight\\\",computed:\\\"sameAsMaxWidthAndMaxHeight\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/max-block-size\\\"},\\\"max-height\\\":{syntax:\\\"none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"regardingHeightOfGeneratedBoxContainingBlockPercentagesNone\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"none\\\",appliesto:\\\"allElementsButNonReplacedAndTableColumns\\\",computed:\\\"percentageAsSpecifiedAbsoluteLengthOrNone\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/max-height\\\"},\\\"max-inline-size\\\":{syntax:\\\"<'max-width'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"inlineSizeOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"sameAsWidthAndHeight\\\",computed:\\\"sameAsMaxWidthAndMaxHeight\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/max-inline-size\\\"},\\\"max-lines\\\":{syntax:\\\"none | <integer>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"integer\\\",percentages:\\\"no\\\",groups:[\\\"CSS Overflow\\\"],initial:\\\"none\\\",appliesto:\\\"blockContainersExceptMultiColumnContainers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"experimental\\\"},\\\"max-width\\\":{syntax:\\\"none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"none\\\",appliesto:\\\"allElementsButNonReplacedAndTableRows\\\",computed:\\\"percentageAsSpecifiedAbsoluteLengthOrNone\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/max-width\\\"},\\\"min-block-size\\\":{syntax:\\\"<'min-width'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"blockSizeOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"sameAsWidthAndHeight\\\",computed:\\\"sameAsMinWidthAndMinHeight\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/min-block-size\\\"},\\\"min-height\\\":{syntax:\\\"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"regardingHeightOfGeneratedBoxContainingBlockPercentages0\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"auto\\\",appliesto:\\\"allElementsButNonReplacedAndTableColumns\\\",computed:\\\"percentageAsSpecifiedOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/min-height\\\"},\\\"min-inline-size\\\":{syntax:\\\"<'min-width'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"inlineSizeOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"sameAsWidthAndHeight\\\",computed:\\\"sameAsMinWidthAndMinHeight\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/min-inline-size\\\"},\\\"min-width\\\":{syntax:\\\"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"auto\\\",appliesto:\\\"allElementsButNonReplacedAndTableRows\\\",computed:\\\"percentageAsSpecifiedOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/min-width\\\"},\\\"mix-blend-mode\\\":{syntax:\\\"<blend-mode>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Compositing and Blending\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",stacking:!0,status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode\\\"},\\\"object-fit\\\":{syntax:\\\"fill | contain | cover | none | scale-down\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Images\\\"],initial:\\\"fill\\\",appliesto:\\\"replacedElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/object-fit\\\"},\\\"object-position\\\":{syntax:\\\"<position>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"repeatableListOfSimpleListOfLpc\\\",percentages:\\\"referToWidthAndHeightOfElement\\\",groups:[\\\"CSS Images\\\"],initial:\\\"50% 50%\\\",appliesto:\\\"replacedElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/object-position\\\"},offset:{syntax:\\\"[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"offset-position\\\",\\\"offset-path\\\",\\\"offset-distance\\\",\\\"offset-anchor\\\",\\\"offset-rotate\\\"],percentages:[\\\"offset-position\\\",\\\"offset-distance\\\",\\\"offset-anchor\\\"],groups:[\\\"CSS Motion Path\\\"],initial:[\\\"offset-position\\\",\\\"offset-path\\\",\\\"offset-distance\\\",\\\"offset-anchor\\\",\\\"offset-rotate\\\"],appliesto:\\\"transformableElements\\\",computed:[\\\"offset-position\\\",\\\"offset-path\\\",\\\"offset-distance\\\",\\\"offset-anchor\\\",\\\"offset-rotate\\\"],order:\\\"perGrammar\\\",stacking:!0,status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/offset\\\"},\\\"offset-anchor\\\":{syntax:\\\"auto | <position>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"position\\\",percentages:\\\"relativeToWidthAndHeight\\\",groups:[\\\"CSS Motion Path\\\"],initial:\\\"auto\\\",appliesto:\\\"transformableElements\\\",computed:\\\"forLengthAbsoluteValueOtherwisePercentage\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\"},\\\"offset-distance\\\":{syntax:\\\"<length-percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToTotalPathLength\\\",groups:[\\\"CSS Motion Path\\\"],initial:\\\"0\\\",appliesto:\\\"transformableElements\\\",computed:\\\"forLengthAbsoluteValueOtherwisePercentage\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/offset-distance\\\"},\\\"offset-path\\\":{syntax:\\\"none | ray( [ <angle> && <size> && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"angleOrBasicShapeOrPath\\\",percentages:\\\"no\\\",groups:[\\\"CSS Motion Path\\\"],initial:\\\"none\\\",appliesto:\\\"transformableElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",stacking:!0,status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/offset-path\\\"},\\\"offset-position\\\":{syntax:\\\"auto | <position>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"position\\\",percentages:\\\"referToSizeOfContainingBlock\\\",groups:[\\\"CSS Motion Path\\\"],initial:\\\"auto\\\",appliesto:\\\"transformableElements\\\",computed:\\\"forLengthAbsoluteValueOtherwisePercentage\\\",order:\\\"perGrammar\\\",status:\\\"experimental\\\"},\\\"offset-rotate\\\":{syntax:\\\"[ auto | reverse ] || <angle>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"angleOrBasicShapeOrPath\\\",percentages:\\\"no\\\",groups:[\\\"CSS Motion Path\\\"],initial:\\\"auto\\\",appliesto:\\\"transformableElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/offset-rotate\\\"},opacity:{syntax:\\\"<alpha-value>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"number\\\",percentages:\\\"no\\\",groups:[\\\"CSS Color\\\"],initial:\\\"1.0\\\",appliesto:\\\"allElements\\\",computed:\\\"specifiedValueClipped0To1\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/opacity\\\"},order:{syntax:\\\"<integer>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"integer\\\",percentages:\\\"no\\\",groups:[\\\"CSS Flexible Box Layout\\\"],initial:\\\"0\\\",appliesto:\\\"flexItemsGridItemsAbsolutelyPositionedContainerChildren\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/order\\\"},orphans:{syntax:\\\"<integer>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fragmentation\\\"],initial:\\\"2\\\",appliesto:\\\"blockContainerElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/orphans\\\"},outline:{syntax:\\\"[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]\\\",media:[\\\"visual\\\",\\\"interactive\\\"],inherited:!1,animationType:[\\\"outline-color\\\",\\\"outline-width\\\",\\\"outline-style\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Basic User Interface\\\"],initial:[\\\"outline-color\\\",\\\"outline-style\\\",\\\"outline-width\\\"],appliesto:\\\"allElements\\\",computed:[\\\"outline-color\\\",\\\"outline-width\\\",\\\"outline-style\\\"],order:\\\"orderOfAppearance\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/outline\\\"},\\\"outline-color\\\":{syntax:\\\"<color> | invert\\\",media:[\\\"visual\\\",\\\"interactive\\\"],inherited:!1,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Basic User Interface\\\"],initial:\\\"invertOrCurrentColor\\\",appliesto:\\\"allElements\\\",computed:\\\"invertForTranslucentColorRGBAOtherwiseRGB\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/outline-color\\\"},\\\"outline-offset\\\":{syntax:\\\"<length>\\\",media:[\\\"visual\\\",\\\"interactive\\\"],inherited:!1,animationType:\\\"length\\\",percentages:\\\"no\\\",groups:[\\\"CSS Basic User Interface\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/outline-offset\\\"},\\\"outline-style\\\":{syntax:\\\"auto | <'border-style'>\\\",media:[\\\"visual\\\",\\\"interactive\\\"],inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Basic User Interface\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/outline-style\\\"},\\\"outline-width\\\":{syntax:\\\"<line-width>\\\",media:[\\\"visual\\\",\\\"interactive\\\"],inherited:!1,animationType:\\\"length\\\",percentages:\\\"no\\\",groups:[\\\"CSS Basic User Interface\\\"],initial:\\\"medium\\\",appliesto:\\\"allElements\\\",computed:\\\"absoluteLength0ForNone\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/outline-width\\\"},overflow:{syntax:\\\"[ visible | hidden | clip | scroll | auto ]{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Overflow\\\"],initial:\\\"visible\\\",appliesto:\\\"blockContainersFlexContainersGridContainers\\\",computed:[\\\"overflow-x\\\",\\\"overflow-y\\\"],order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/overflow\\\"},\\\"overflow-anchor\\\":{syntax:\\\"auto | none\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Anchoring\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\"},\\\"overflow-block\\\":{syntax:\\\"visible | hidden | clip | scroll | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Overflow\\\"],initial:\\\"auto\\\",appliesto:\\\"blockContainersFlexContainersGridContainers\\\",computed:\\\"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\"},\\\"overflow-clip-box\\\":{syntax:\\\"padding-box | content-box\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Mozilla Extensions\\\"],initial:\\\"padding-box\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Mozilla/CSS/overflow-clip-box\\\"},\\\"overflow-inline\\\":{syntax:\\\"visible | hidden | clip | scroll | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Overflow\\\"],initial:\\\"auto\\\",appliesto:\\\"blockContainersFlexContainersGridContainers\\\",computed:\\\"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\"},\\\"overflow-wrap\\\":{syntax:\\\"normal | break-word | anywhere\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text\\\"],initial:\\\"normal\\\",appliesto:\\\"nonReplacedInlineElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/overflow-wrap\\\"},\\\"overflow-x\\\":{syntax:\\\"visible | hidden | clip | scroll | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Overflow\\\"],initial:\\\"visible\\\",appliesto:\\\"blockContainersFlexContainersGridContainers\\\",computed:\\\"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/overflow-x\\\"},\\\"overflow-y\\\":{syntax:\\\"visible | hidden | clip | scroll | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Overflow\\\"],initial:\\\"visible\\\",appliesto:\\\"blockContainersFlexContainersGridContainers\\\",computed:\\\"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/overflow-y\\\"},\\\"overscroll-behavior\\\":{syntax:\\\"[ contain | none | auto ]{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"auto\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior\\\"},\\\"overscroll-behavior-block\\\":{syntax:\\\"contain | none | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"auto\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block\\\"},\\\"overscroll-behavior-inline\\\":{syntax:\\\"contain | none | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"auto\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline\\\"},\\\"overscroll-behavior-x\\\":{syntax:\\\"contain | none | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"auto\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x\\\"},\\\"overscroll-behavior-y\\\":{syntax:\\\"contain | none | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"auto\\\",appliesto:\\\"nonReplacedBlockAndInlineBlockElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y\\\"},padding:{syntax:\\\"[ <length> | <percentage> ]{1,4}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Box Model\\\"],initial:[\\\"padding-bottom\\\",\\\"padding-left\\\",\\\"padding-right\\\",\\\"padding-top\\\"],appliesto:\\\"allElementsExceptInternalTableDisplayTypes\\\",computed:[\\\"padding-bottom\\\",\\\"padding-left\\\",\\\"padding-right\\\",\\\"padding-top\\\"],order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/padding\\\"},\\\"padding-block\\\":{syntax:\\\"<'padding-left'>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asLength\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/padding-block\\\"},\\\"padding-block-end\\\":{syntax:\\\"<'padding-left'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asLength\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/padding-block-end\\\"},\\\"padding-block-start\\\":{syntax:\\\"<'padding-left'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asLength\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/padding-block-start\\\"},\\\"padding-bottom\\\":{syntax:\\\"<length> | <percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsExceptInternalTableDisplayTypes\\\",computed:\\\"percentageAsSpecifiedOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/padding-bottom\\\"},\\\"padding-inline\\\":{syntax:\\\"<'padding-left'>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asLength\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/padding-inline\\\"},\\\"padding-inline-end\\\":{syntax:\\\"<'padding-left'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asLength\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/padding-inline-end\\\"},\\\"padding-inline-start\\\":{syntax:\\\"<'padding-left'>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"logicalWidthOfContainingBlock\\\",groups:[\\\"CSS Logical Properties\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asLength\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/padding-inline-start\\\"},\\\"padding-left\\\":{syntax:\\\"<length> | <percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsExceptInternalTableDisplayTypes\\\",computed:\\\"percentageAsSpecifiedOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/padding-left\\\"},\\\"padding-right\\\":{syntax:\\\"<length> | <percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsExceptInternalTableDisplayTypes\\\",computed:\\\"percentageAsSpecifiedOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/padding-right\\\"},\\\"padding-top\\\":{syntax:\\\"<length> | <percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"0\\\",appliesto:\\\"allElementsExceptInternalTableDisplayTypes\\\",computed:\\\"percentageAsSpecifiedOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/padding-top\\\"},\\\"page-break-after\\\":{syntax:\\\"auto | always | avoid | left | right | recto | verso\\\",media:[\\\"visual\\\",\\\"paged\\\"],inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Pages\\\"],initial:\\\"auto\\\",appliesto:\\\"blockElementsInNormalFlow\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/page-break-after\\\"},\\\"page-break-before\\\":{syntax:\\\"auto | always | avoid | left | right | recto | verso\\\",media:[\\\"visual\\\",\\\"paged\\\"],inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Pages\\\"],initial:\\\"auto\\\",appliesto:\\\"blockElementsInNormalFlow\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/page-break-before\\\"},\\\"page-break-inside\\\":{syntax:\\\"auto | avoid\\\",media:[\\\"visual\\\",\\\"paged\\\"],inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Pages\\\"],initial:\\\"auto\\\",appliesto:\\\"blockElementsInNormalFlow\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/page-break-inside\\\"},\\\"paint-order\\\":{syntax:\\\"normal | [ fill || stroke || markers ]\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text\\\"],initial:\\\"normal\\\",appliesto:\\\"textElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/paint-order\\\"},perspective:{syntax:\\\"none | <length>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"no\\\",groups:[\\\"CSS Transforms\\\"],initial:\\\"none\\\",appliesto:\\\"transformableElements\\\",computed:\\\"absoluteLengthOrNone\\\",order:\\\"uniqueOrder\\\",stacking:!0,status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/perspective\\\"},\\\"perspective-origin\\\":{syntax:\\\"<position>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"simpleListOfLpc\\\",percentages:\\\"referToSizeOfBoundingBox\\\",groups:[\\\"CSS Transforms\\\"],initial:\\\"50% 50%\\\",appliesto:\\\"transformableElements\\\",computed:\\\"forLengthAbsoluteValueOtherwisePercentage\\\",order:\\\"oneOrTwoValuesLengthAbsoluteKeywordsPercentages\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/perspective-origin\\\"},\\\"place-content\\\":{syntax:\\\"<'align-content'> <'justify-content'>?\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Alignment\\\"],initial:\\\"normal\\\",appliesto:\\\"multilineFlexContainers\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/place-content\\\"},\\\"place-items\\\":{syntax:\\\"<'align-items'> <'justify-items'>?\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Alignment\\\"],initial:[\\\"align-items\\\",\\\"justify-items\\\"],appliesto:\\\"allElements\\\",computed:[\\\"align-items\\\",\\\"justify-items\\\"],order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/place-items\\\"},\\\"place-self\\\":{syntax:\\\"<'align-self'> <'justify-self'>?\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Alignment\\\"],initial:[\\\"align-self\\\",\\\"justify-self\\\"],appliesto:\\\"blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems\\\",computed:[\\\"align-self\\\",\\\"justify-self\\\"],order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/place-self\\\"},\\\"pointer-events\\\":{syntax:\\\"auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Pointer Events\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/pointer-events\\\"},position:{syntax:\\\"static | relative | absolute | sticky | fixed\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Positioning\\\"],initial:\\\"static\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",stacking:!0,status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/position\\\"},quotes:{syntax:\\\"none | auto | [ <string> <string> ]+\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Generated Content\\\"],initial:\\\"dependsOnUserAgent\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/quotes\\\"},resize:{syntax:\\\"none | both | horizontal | vertical | block | inline\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Basic User Interface\\\"],initial:\\\"none\\\",appliesto:\\\"elementsWithOverflowNotVisibleAndReplacedElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/resize\\\"},right:{syntax:\\\"<length> | <percentage> | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Positioning\\\"],initial:\\\"auto\\\",appliesto:\\\"positionedElements\\\",computed:\\\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/right\\\"},rotate:{syntax:\\\"none | <angle> | [ x | y | z | <number>{3} ] && <angle>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"transform\\\",percentages:\\\"no\\\",groups:[\\\"CSS Transforms\\\"],initial:\\\"none\\\",appliesto:\\\"transformableElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",stacking:!0,status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/rotate\\\"},\\\"row-gap\\\":{syntax:\\\"normal | <length-percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToDimensionOfContentArea\\\",groups:[\\\"CSS Box Alignment\\\"],initial:\\\"normal\\\",appliesto:\\\"multiColumnElementsFlexContainersGridContainers\\\",computed:\\\"asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/row-gap\\\"},\\\"ruby-align\\\":{syntax:\\\"start | center | space-between | space-around\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Ruby\\\"],initial:\\\"space-around\\\",appliesto:\\\"rubyBasesAnnotationsBaseAnnotationContainers\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/ruby-align\\\"},\\\"ruby-merge\\\":{syntax:\\\"separate | collapse | auto\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Ruby\\\"],initial:\\\"separate\\\",appliesto:\\\"rubyAnnotationsContainers\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\"},\\\"ruby-position\\\":{syntax:\\\"over | under | inter-character\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Ruby\\\"],initial:\\\"over\\\",appliesto:\\\"rubyAnnotationsContainers\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/ruby-position\\\"},scale:{syntax:\\\"none | <number>{1,3}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"transform\\\",percentages:\\\"no\\\",groups:[\\\"CSS Transforms\\\"],initial:\\\"none\\\",appliesto:\\\"transformableElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",stacking:!0,status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scale\\\"},\\\"scrollbar-color\\\":{syntax:\\\"auto | dark | light | <color>{2}\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scrollbars\\\"],initial:\\\"auto\\\",appliesto:\\\"scrollingBoxes\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scrollbar-color\\\"},\\\"scrollbar-gutter\\\":{syntax:\\\"auto | [ stable | always ] && both? && force?\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Overflow\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scrollbar-gutter\\\"},\\\"scrollbar-width\\\":{syntax:\\\"auto | thin | none\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scrollbars\\\"],initial:\\\"auto\\\",appliesto:\\\"scrollingBoxes\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scrollbar-width\\\"},\\\"scroll-behavior\\\":{syntax:\\\"auto | smooth\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSSOM View\\\"],initial:\\\"auto\\\",appliesto:\\\"scrollingBoxes\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-behavior\\\"},\\\"scroll-margin\\\":{syntax:\\\"<length>{1,4}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin\\\"},\\\"scroll-margin-block\\\":{syntax:\\\"<length>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block\\\"},\\\"scroll-margin-block-start\\\":{syntax:\\\"<length>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start\\\"},\\\"scroll-margin-block-end\\\":{syntax:\\\"<length>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end\\\"},\\\"scroll-margin-bottom\\\":{syntax:\\\"<length>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom\\\"},\\\"scroll-margin-inline\\\":{syntax:\\\"<length>{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline\\\"},\\\"scroll-margin-inline-start\\\":{syntax:\\\"<length>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start\\\"},\\\"scroll-margin-inline-end\\\":{syntax:\\\"<length>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end\\\"},\\\"scroll-margin-left\\\":{syntax:\\\"<length>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left\\\"},\\\"scroll-margin-right\\\":{syntax:\\\"<length>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right\\\"},\\\"scroll-margin-top\\\":{syntax:\\\"<length>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"0\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top\\\"},\\\"scroll-padding\\\":{syntax:\\\"[ auto | <length-percentage> ]{1,4}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"relativeToTheScrollContainersScrollport\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"auto\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding\\\"},\\\"scroll-padding-block\\\":{syntax:\\\"[ auto | <length-percentage> ]{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"relativeToTheScrollContainersScrollport\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"auto\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block\\\"},\\\"scroll-padding-block-start\\\":{syntax:\\\"auto | <length-percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"relativeToTheScrollContainersScrollport\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"auto\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start\\\"},\\\"scroll-padding-block-end\\\":{syntax:\\\"auto | <length-percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"relativeToTheScrollContainersScrollport\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"auto\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end\\\"},\\\"scroll-padding-bottom\\\":{syntax:\\\"auto | <length-percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"relativeToTheScrollContainersScrollport\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"auto\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom\\\"},\\\"scroll-padding-inline\\\":{syntax:\\\"[ auto | <length-percentage> ]{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"relativeToTheScrollContainersScrollport\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"auto\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline\\\"},\\\"scroll-padding-inline-start\\\":{syntax:\\\"auto | <length-percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"relativeToTheScrollContainersScrollport\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"auto\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start\\\"},\\\"scroll-padding-inline-end\\\":{syntax:\\\"auto | <length-percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"relativeToTheScrollContainersScrollport\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"auto\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end\\\"},\\\"scroll-padding-left\\\":{syntax:\\\"auto | <length-percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"relativeToTheScrollContainersScrollport\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"auto\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left\\\"},\\\"scroll-padding-right\\\":{syntax:\\\"auto | <length-percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"relativeToTheScrollContainersScrollport\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"auto\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right\\\"},\\\"scroll-padding-top\\\":{syntax:\\\"auto | <length-percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"relativeToTheScrollContainersScrollport\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"auto\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top\\\"},\\\"scroll-snap-align\\\":{syntax:\\\"[ none | start | end | center ]{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align\\\"},\\\"scroll-snap-coordinate\\\":{syntax:\\\"none | <position>#\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"position\\\",percentages:\\\"referToBorderBox\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",status:\\\"obsolete\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-coordinate\\\"},\\\"scroll-snap-destination\\\":{syntax:\\\"<position>\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"position\\\",percentages:\\\"relativeToScrollContainerPaddingBoxAxis\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"0px 0px\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",status:\\\"obsolete\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-destination\\\"},\\\"scroll-snap-points-x\\\":{syntax:\\\"none | repeat( <length-percentage> )\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"relativeToScrollContainerPaddingBoxAxis\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"none\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",status:\\\"obsolete\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-x\\\"},\\\"scroll-snap-points-y\\\":{syntax:\\\"none | repeat( <length-percentage> )\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"relativeToScrollContainerPaddingBoxAxis\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"none\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",status:\\\"obsolete\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-y\\\"},\\\"scroll-snap-stop\\\":{syntax:\\\"normal | always\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop\\\"},\\\"scroll-snap-type\\\":{syntax:\\\"none | [ x | y | block | inline | both ] [ mandatory | proximity ]?\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type\\\"},\\\"scroll-snap-type-x\\\":{syntax:\\\"none | mandatory | proximity\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"none\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"obsolete\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-x\\\"},\\\"scroll-snap-type-y\\\":{syntax:\\\"none | mandatory | proximity\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Scroll Snap\\\"],initial:\\\"none\\\",appliesto:\\\"scrollContainers\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"obsolete\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-y\\\"},\\\"shape-image-threshold\\\":{syntax:\\\"<alpha-value>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"number\\\",percentages:\\\"no\\\",groups:[\\\"CSS Shapes\\\"],initial:\\\"0.0\\\",appliesto:\\\"floats\\\",computed:\\\"specifiedValueNumberClipped0To1\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold\\\"},\\\"shape-margin\\\":{syntax:\\\"<length-percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Shapes\\\"],initial:\\\"0\\\",appliesto:\\\"floats\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/shape-margin\\\"},\\\"shape-outside\\\":{syntax:\\\"none | <shape-box> || <basic-shape> | <image>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"basicShapeOtherwiseNo\\\",percentages:\\\"no\\\",groups:[\\\"CSS Shapes\\\"],initial:\\\"none\\\",appliesto:\\\"floats\\\",computed:\\\"asDefinedForBasicShapeWithAbsoluteURIOtherwiseAsSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/shape-outside\\\"},\\\"tab-size\\\":{syntax:\\\"<integer> | <length>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"length\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text\\\"],initial:\\\"8\\\",appliesto:\\\"blockContainers\\\",computed:\\\"specifiedIntegerOrAbsoluteLength\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/tab-size\\\"},\\\"table-layout\\\":{syntax:\\\"auto | fixed\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Table\\\"],initial:\\\"auto\\\",appliesto:\\\"tableElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/table-layout\\\"},\\\"text-align\\\":{syntax:\\\"start | end | left | right | center | justify | match-parent\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text\\\"],initial:\\\"startOrNamelessValueIfLTRRightIfRTL\\\",appliesto:\\\"blockContainers\\\",computed:\\\"asSpecifiedExceptMatchParent\\\",order:\\\"orderOfAppearance\\\",alsoAppliesTo:[\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-align\\\"},\\\"text-align-last\\\":{syntax:\\\"auto | start | end | left | right | center | justify\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text\\\"],initial:\\\"auto\\\",appliesto:\\\"blockContainers\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-align-last\\\"},\\\"text-combine-upright\\\":{syntax:\\\"none | all | [ digits <integer>? ]\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"notAnimatable\\\",percentages:\\\"no\\\",groups:[\\\"CSS Writing Modes\\\"],initial:\\\"none\\\",appliesto:\\\"nonReplacedInlineElements\\\",computed:\\\"keywordPlusIntegerIfDigits\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-combine-upright\\\"},\\\"text-decoration\\\":{syntax:\\\"<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"text-decoration-color\\\",\\\"text-decoration-style\\\",\\\"text-decoration-line\\\",\\\"text-decoration-thickness\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Text Decoration\\\"],initial:[\\\"text-decoration-color\\\",\\\"text-decoration-style\\\",\\\"text-decoration-line\\\"],appliesto:\\\"allElements\\\",computed:[\\\"text-decoration-line\\\",\\\"text-decoration-style\\\",\\\"text-decoration-color\\\",\\\"text-decoration-thickness\\\"],order:\\\"orderOfAppearance\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-decoration\\\"},\\\"text-decoration-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text Decoration\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-color\\\"},\\\"text-decoration-line\\\":{syntax:\\\"none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text Decoration\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-line\\\"},\\\"text-decoration-skip\\\":{syntax:\\\"none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text Decoration\\\"],initial:\\\"objects\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip\\\"},\\\"text-decoration-skip-ink\\\":{syntax:\\\"auto | all | none\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text Decoration\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink\\\"},\\\"text-decoration-style\\\":{syntax:\\\"solid | double | dotted | dashed | wavy\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text Decoration\\\"],initial:\\\"solid\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-style\\\"},\\\"text-decoration-thickness\\\":{syntax:\\\"auto | from-font | <length> | <percentage> \\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"byComputedValueType\\\",percentages:\\\"referToElementFontSize\\\",groups:[\\\"CSS Text Decoration\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness\\\"},\\\"text-emphasis\\\":{syntax:\\\"<'text-emphasis-style'> || <'text-emphasis-color'>\\\",media:\\\"visual\\\",inherited:!1,animationType:[\\\"text-emphasis-color\\\",\\\"text-emphasis-style\\\"],percentages:\\\"no\\\",groups:[\\\"CSS Text Decoration\\\"],initial:[\\\"text-emphasis-style\\\",\\\"text-emphasis-color\\\"],appliesto:\\\"allElements\\\",computed:[\\\"text-emphasis-style\\\",\\\"text-emphasis-color\\\"],order:\\\"orderOfAppearance\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-emphasis\\\"},\\\"text-emphasis-color\\\":{syntax:\\\"<color>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"color\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text Decoration\\\"],initial:\\\"currentcolor\\\",appliesto:\\\"allElements\\\",computed:\\\"computedColor\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color\\\"},\\\"text-emphasis-position\\\":{syntax:\\\"[ over | under ] && [ right | left ]\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text Decoration\\\"],initial:\\\"over right\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position\\\"},\\\"text-emphasis-style\\\":{syntax:\\\"none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text Decoration\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style\\\"},\\\"text-indent\\\":{syntax:\\\"<length-percentage> && hanging? && each-line?\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"lpc\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Text\\\"],initial:\\\"0\\\",appliesto:\\\"blockContainers\\\",computed:\\\"percentageOrAbsoluteLengthPlusKeywords\\\",order:\\\"lengthOrPercentageBeforeKeywords\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-indent\\\"},\\\"text-justify\\\":{syntax:\\\"auto | inter-character | inter-word | none\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text\\\"],initial:\\\"auto\\\",appliesto:\\\"inlineLevelAndTableCellElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-justify\\\"},\\\"text-orientation\\\":{syntax:\\\"mixed | upright | sideways\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Writing Modes\\\"],initial:\\\"mixed\\\",appliesto:\\\"allElementsExceptTableRowGroupsRowsColumnGroupsAndColumns\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-orientation\\\"},\\\"text-overflow\\\":{syntax:\\\"[ clip | ellipsis | <string> ]{1,2}\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Basic User Interface\\\"],initial:\\\"clip\\\",appliesto:\\\"blockContainerElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-overflow\\\"},\\\"text-rendering\\\":{syntax:\\\"auto | optimizeSpeed | optimizeLegibility | geometricPrecision\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Miscellaneous\\\"],initial:\\\"auto\\\",appliesto:\\\"textElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-rendering\\\"},\\\"text-shadow\\\":{syntax:\\\"none | <shadow-t>#\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"shadowList\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text Decoration\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"colorPlusThreeAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-shadow\\\"},\\\"text-size-adjust\\\":{syntax:\\\"none | auto | <percentage>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"referToSizeOfFont\\\",groups:[\\\"CSS Text\\\"],initial:\\\"autoForSmartphoneBrowsersSupportingInflation\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"experimental\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-size-adjust\\\"},\\\"text-transform\\\":{syntax:\\\"none | capitalize | uppercase | lowercase | full-width | full-size-kana\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text\\\"],initial:\\\"none\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-transform\\\"},\\\"text-underline-offset\\\":{syntax:\\\"auto | <length> | <percentage> \\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"byComputedValueType\\\",percentages:\\\"referToElementFontSize\\\",groups:[\\\"CSS Text Decoration\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-underline-offset\\\"},\\\"text-underline-position\\\":{syntax:\\\"auto | from-font | [ under || [ left | right ] ]\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text Decoration\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"orderOfAppearance\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/text-underline-position\\\"},top:{syntax:\\\"<length> | <percentage> | auto\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToContainingBlockHeight\\\",groups:[\\\"CSS Positioning\\\"],initial:\\\"auto\\\",appliesto:\\\"positionedElements\\\",computed:\\\"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/top\\\"},\\\"touch-action\\\":{syntax:\\\"auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"Pointer Events\\\"],initial:\\\"auto\\\",appliesto:\\\"allElementsExceptNonReplacedInlineElementsTableRowsColumnsRowColumnGroups\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/touch-action\\\"},transform:{syntax:\\\"none | <transform-list>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"transform\\\",percentages:\\\"referToSizeOfBoundingBox\\\",groups:[\\\"CSS Transforms\\\"],initial:\\\"none\\\",appliesto:\\\"transformableElements\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"uniqueOrder\\\",stacking:!0,status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/transform\\\"},\\\"transform-box\\\":{syntax:\\\"content-box | border-box | fill-box | stroke-box | view-box\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Transforms\\\"],initial:\\\"view-box\\\",appliesto:\\\"transformableElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/transform-box\\\"},\\\"transform-origin\\\":{syntax:\\\"[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"simpleListOfLpc\\\",percentages:\\\"referToSizeOfBoundingBox\\\",groups:[\\\"CSS Transforms\\\"],initial:\\\"50% 50% 0\\\",appliesto:\\\"transformableElements\\\",computed:\\\"forLengthAbsoluteValueOtherwisePercentage\\\",order:\\\"oneOrTwoValuesLengthAbsoluteKeywordsPercentages\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/transform-origin\\\"},\\\"transform-style\\\":{syntax:\\\"flat | preserve-3d\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Transforms\\\"],initial:\\\"flat\\\",appliesto:\\\"transformableElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",stacking:!0,status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/transform-style\\\"},transition:{syntax:\\\"<single-transition>#\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Transitions\\\"],initial:[\\\"transition-delay\\\",\\\"transition-duration\\\",\\\"transition-property\\\",\\\"transition-timing-function\\\"],appliesto:\\\"allElementsAndPseudos\\\",computed:[\\\"transition-delay\\\",\\\"transition-duration\\\",\\\"transition-property\\\",\\\"transition-timing-function\\\"],order:\\\"orderOfAppearance\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/transition\\\"},\\\"transition-delay\\\":{syntax:\\\"<time>#\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Transitions\\\"],initial:\\\"0s\\\",appliesto:\\\"allElementsAndPseudos\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/transition-delay\\\"},\\\"transition-duration\\\":{syntax:\\\"<time>#\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Transitions\\\"],initial:\\\"0s\\\",appliesto:\\\"allElementsAndPseudos\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/transition-duration\\\"},\\\"transition-property\\\":{syntax:\\\"none | <single-transition-property>#\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Transitions\\\"],initial:\\\"all\\\",appliesto:\\\"allElementsAndPseudos\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/transition-property\\\"},\\\"transition-timing-function\\\":{syntax:\\\"<timing-function>#\\\",media:\\\"interactive\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Transitions\\\"],initial:\\\"ease\\\",appliesto:\\\"allElementsAndPseudos\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/transition-timing-function\\\"},translate:{syntax:\\\"none | <length-percentage> [ <length-percentage> <length>? ]?\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"transform\\\",percentages:\\\"referToSizeOfBoundingBox\\\",groups:[\\\"CSS Transforms\\\"],initial:\\\"none\\\",appliesto:\\\"transformableElements\\\",computed:\\\"asSpecifiedRelativeToAbsoluteLengths\\\",order:\\\"perGrammar\\\",stacking:!0,status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/translate\\\"},\\\"unicode-bidi\\\":{syntax:\\\"normal | embed | isolate | bidi-override | isolate-override | plaintext\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Writing Modes\\\"],initial:\\\"normal\\\",appliesto:\\\"allElementsSomeValuesNoEffectOnNonInlineElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/unicode-bidi\\\"},\\\"user-select\\\":{syntax:\\\"auto | text | none | contain | all\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Basic User Interface\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/user-select\\\"},\\\"vertical-align\\\":{syntax:\\\"baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"length\\\",percentages:\\\"referToLineHeight\\\",groups:[\\\"CSS Table\\\"],initial:\\\"baseline\\\",appliesto:\\\"inlineLevelAndTableCellElements\\\",computed:\\\"absoluteLengthOrKeyword\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/vertical-align\\\"},visibility:{syntax:\\\"visible | hidden | collapse\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"visibility\\\",percentages:\\\"no\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"visible\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/visibility\\\"},\\\"white-space\\\":{syntax:\\\"normal | pre | nowrap | pre-wrap | pre-line | break-spaces\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/white-space\\\"},widows:{syntax:\\\"<integer>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Fragmentation\\\"],initial:\\\"2\\\",appliesto:\\\"blockContainerElements\\\",computed:\\\"asSpecified\\\",order:\\\"perGrammar\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/widows\\\"},width:{syntax:\\\"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"lpc\\\",percentages:\\\"referToWidthOfContainingBlock\\\",groups:[\\\"CSS Box Model\\\"],initial:\\\"auto\\\",appliesto:\\\"allElementsButNonReplacedAndTableRows\\\",computed:\\\"percentageAutoOrAbsoluteLength\\\",order:\\\"lengthOrPercentageBeforeKeywordIfBothPresent\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/width\\\"},\\\"will-change\\\":{syntax:\\\"auto | <animateable-feature>#\\\",media:\\\"all\\\",inherited:!1,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Will Change\\\"],initial:\\\"auto\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/will-change\\\"},\\\"word-break\\\":{syntax:\\\"normal | break-all | keep-all | break-word\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/word-break\\\"},\\\"word-spacing\\\":{syntax:\\\"normal | <length-percentage>\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"length\\\",percentages:\\\"referToWidthOfAffectedGlyph\\\",groups:[\\\"CSS Text\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"optimumMinAndMaxValueOfAbsoluteLengthPercentageOrNormal\\\",order:\\\"uniqueOrder\\\",alsoAppliesTo:[\\\"::first-letter\\\",\\\"::first-line\\\",\\\"::placeholder\\\"],status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/word-spacing\\\"},\\\"word-wrap\\\":{syntax:\\\"normal | break-word\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Text\\\"],initial:\\\"normal\\\",appliesto:\\\"nonReplacedInlineElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/overflow-wrap\\\"},\\\"writing-mode\\\":{syntax:\\\"horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr\\\",media:\\\"visual\\\",inherited:!0,animationType:\\\"discrete\\\",percentages:\\\"no\\\",groups:[\\\"CSS Writing Modes\\\"],initial:\\\"horizontal-tb\\\",appliesto:\\\"allElementsExceptTableRowColumnGroupsTableRowsColumns\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/writing-mode\\\"},\\\"z-index\\\":{syntax:\\\"auto | <integer>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"integer\\\",percentages:\\\"no\\\",groups:[\\\"CSS Positioning\\\"],initial:\\\"auto\\\",appliesto:\\\"positionedElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",stacking:!0,status:\\\"standard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/z-index\\\"},zoom:{syntax:\\\"normal | reset | <number> | <percentage>\\\",media:\\\"visual\\\",inherited:!1,animationType:\\\"integer\\\",percentages:\\\"no\\\",groups:[\\\"Microsoft Extensions\\\"],initial:\\\"normal\\\",appliesto:\\\"allElements\\\",computed:\\\"asSpecified\\\",order:\\\"uniqueOrder\\\",status:\\\"nonstandard\\\",mdn_url:\\\"https://developer.mozilla.org/docs/Web/CSS/zoom\\\"}},as={atrules:{charset:{prelude:\\\"<string>\\\"},\\\"font-face\\\":{descriptors:{\\\"unicode-range\\\":{comment:\\\"replaces <unicode-range>, an old production name\\\",syntax:\\\"<urange>#\\\"}}}},properties:{\\\"-moz-background-clip\\\":{comment:\\\"deprecated syntax in old Firefox, https://developer.mozilla.org/en/docs/Web/CSS/background-clip\\\",syntax:\\\"padding | border\\\"},\\\"-moz-border-radius-bottomleft\\\":{comment:\\\"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius\\\",syntax:\\\"<'border-bottom-left-radius'>\\\"},\\\"-moz-border-radius-bottomright\\\":{comment:\\\"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius\\\",syntax:\\\"<'border-bottom-right-radius'>\\\"},\\\"-moz-border-radius-topleft\\\":{comment:\\\"https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius\\\",syntax:\\\"<'border-top-left-radius'>\\\"},\\\"-moz-border-radius-topright\\\":{comment:\\\"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius\\\",syntax:\\\"<'border-bottom-right-radius'>\\\"},\\\"-moz-control-character-visibility\\\":{comment:\\\"firefox specific keywords, https://bugzilla.mozilla.org/show_bug.cgi?id=947588\\\",syntax:\\\"visible | hidden\\\"},\\\"-moz-osx-font-smoothing\\\":{comment:\\\"misssed old syntax https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth\\\",syntax:\\\"auto | grayscale\\\"},\\\"-moz-user-select\\\":{comment:\\\"https://developer.mozilla.org/en-US/docs/Web/CSS/user-select\\\",syntax:\\\"none | text | all | -moz-none\\\"},\\\"-ms-flex-align\\\":{comment:\\\"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align\\\",syntax:\\\"start | end | center | baseline | stretch\\\"},\\\"-ms-flex-item-align\\\":{comment:\\\"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align\\\",syntax:\\\"auto | start | end | center | baseline | stretch\\\"},\\\"-ms-flex-line-pack\\\":{comment:\\\"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-line-pack\\\",syntax:\\\"start | end | center | justify | distribute | stretch\\\"},\\\"-ms-flex-negative\\\":{comment:\\\"misssed old syntax implemented in IE; TODO: find references for comfirmation\\\",syntax:\\\"<'flex-shrink'>\\\"},\\\"-ms-flex-pack\\\":{comment:\\\"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-pack\\\",syntax:\\\"start | end | center | justify | distribute\\\"},\\\"-ms-flex-order\\\":{comment:\\\"misssed old syntax implemented in IE; https://msdn.microsoft.com/en-us/library/jj127303(v=vs.85).aspx\\\",syntax:\\\"<integer>\\\"},\\\"-ms-flex-positive\\\":{comment:\\\"misssed old syntax implemented in IE; TODO: find references for comfirmation\\\",syntax:\\\"<'flex-grow'>\\\"},\\\"-ms-flex-preferred-size\\\":{comment:\\\"misssed old syntax implemented in IE; TODO: find references for comfirmation\\\",syntax:\\\"<'flex-basis'>\\\"},\\\"-ms-interpolation-mode\\\":{comment:\\\"https://msdn.microsoft.com/en-us/library/ff521095(v=vs.85).aspx\\\",syntax:\\\"nearest-neighbor | bicubic\\\"},\\\"-ms-grid-column-align\\\":{comment:\\\"add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466338.aspx\\\",syntax:\\\"start | end | center | stretch\\\"},\\\"-ms-grid-row-align\\\":{comment:\\\"add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466348.aspx\\\",syntax:\\\"start | end | center | stretch\\\"},\\\"-ms-hyphenate-limit-last\\\":{comment:\\\"misssed old syntax implemented in IE; https://www.w3.org/TR/css-text-4/#hyphenate-line-limits\\\",syntax:\\\"none | always | column | page | spread\\\"},\\\"-webkit-appearance\\\":{comment:\\\"webkit specific keywords\\\",references:[\\\"http://css-infos.net/property/-webkit-appearance\\\"],syntax:\\\"none | button | button-bevel | caps-lock-indicator | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbargripper-horizontal | scrollbargripper-vertical | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button\\\"},\\\"-webkit-background-clip\\\":{comment:\\\"https://developer.mozilla.org/en/docs/Web/CSS/background-clip\\\",syntax:\\\"[ <box> | border | padding | content | text ]#\\\"},\\\"-webkit-column-break-after\\\":{comment:\\\"added, http://help.dottoro.com/lcrthhhv.php\\\",syntax:\\\"always | auto | avoid\\\"},\\\"-webkit-column-break-before\\\":{comment:\\\"added, http://help.dottoro.com/lcxquvkf.php\\\",syntax:\\\"always | auto | avoid\\\"},\\\"-webkit-column-break-inside\\\":{comment:\\\"added, http://help.dottoro.com/lclhnthl.php\\\",syntax:\\\"always | auto | avoid\\\"},\\\"-webkit-font-smoothing\\\":{comment:\\\"https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth\\\",syntax:\\\"auto | none | antialiased | subpixel-antialiased\\\"},\\\"-webkit-mask-box-image\\\":{comment:\\\"missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image\\\",syntax:\\\"[ <url> | <gradient> | none ] [ <length-percentage>{4} <-webkit-mask-box-repeat>{2} ]?\\\"},\\\"-webkit-print-color-adjust\\\":{comment:\\\"missed\\\",references:[\\\"https://developer.mozilla.org/en/docs/Web/CSS/-webkit-print-color-adjust\\\"],syntax:\\\"economy | exact\\\"},\\\"-webkit-text-security\\\":{comment:\\\"missed; http://help.dottoro.com/lcbkewgt.php\\\",syntax:\\\"none | circle | disc | square\\\"},\\\"-webkit-user-drag\\\":{comment:\\\"missed; http://help.dottoro.com/lcbixvwm.php\\\",syntax:\\\"none | element | auto\\\"},\\\"-webkit-user-select\\\":{comment:\\\"auto is supported by old webkit, https://developer.mozilla.org/en-US/docs/Web/CSS/user-select\\\",syntax:\\\"auto | none | text | all\\\"},\\\"alignment-baseline\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/text.html#AlignmentBaselineProperty\\\"],syntax:\\\"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical\\\"},\\\"baseline-shift\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/text.html#BaselineShiftProperty\\\"],syntax:\\\"baseline | sub | super | <svg-length>\\\"},behavior:{comment:\\\"added old IE property https://msdn.microsoft.com/en-us/library/ms530723(v=vs.85).aspx\\\",syntax:\\\"<url>+\\\"},\\\"clip-rule\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/masking.html#ClipRuleProperty\\\"],syntax:\\\"nonzero | evenodd\\\"},cue:{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"<'cue-before'> <'cue-after'>?\\\"},\\\"cue-after\\\":{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"<url> <decibel>? | none\\\"},\\\"cue-before\\\":{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"<url> <decibel>? | none\\\"},cursor:{comment:\\\"added legacy keywords: hand, -webkit-grab. -webkit-grabbing, -webkit-zoom-in, -webkit-zoom-out, -moz-grab, -moz-grabbing, -moz-zoom-in, -moz-zoom-out\\\",references:[\\\"https://www.sitepoint.com/css3-cursor-styles/\\\"],syntax:\\\"[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing | hand | -webkit-grab | -webkit-grabbing | -webkit-zoom-in | -webkit-zoom-out | -moz-grab | -moz-grabbing | -moz-zoom-in | -moz-zoom-out ] ]\\\"},display:{comment:\\\"extended with -ms-flexbox\\\",syntax:\\\"| <-non-standard-display>\\\"},position:{comment:\\\"extended with -webkit-sticky\\\",syntax:\\\"| -webkit-sticky\\\"},\\\"dominant-baseline\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/text.html#DominantBaselineProperty\\\"],syntax:\\\"auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge\\\"},\\\"image-rendering\\\":{comment:\\\"extended with <-non-standard-image-rendering>, added SVG keywords optimizeSpeed and optimizeQuality\\\",references:[\\\"https://developer.mozilla.org/en/docs/Web/CSS/image-rendering\\\",\\\"https://www.w3.org/TR/SVG/painting.html#ImageRenderingProperty\\\"],syntax:\\\"| optimizeSpeed | optimizeQuality | <-non-standard-image-rendering>\\\"},fill:{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#FillProperty\\\"],syntax:\\\"<paint>\\\"},\\\"fill-opacity\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#FillProperty\\\"],syntax:\\\"<number-zero-one>\\\"},\\\"fill-rule\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#FillProperty\\\"],syntax:\\\"nonzero | evenodd\\\"},filter:{comment:\\\"extend with IE legacy syntaxes\\\",syntax:\\\"| <-ms-filter-function-list>\\\"},\\\"glyph-orientation-horizontal\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/text.html#GlyphOrientationHorizontalProperty\\\"],syntax:\\\"<angle>\\\"},\\\"glyph-orientation-vertical\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/text.html#GlyphOrientationVerticalProperty\\\"],syntax:\\\"<angle>\\\"},kerning:{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/text.html#KerningProperty\\\"],syntax:\\\"auto | <svg-length>\\\"},\\\"letter-spacing\\\":{comment:\\\"fix syntax <length> -> <length-percentage>\\\",references:[\\\"https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/letter-spacing\\\"],syntax:\\\"normal | <length-percentage>\\\"},marker:{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#MarkerProperties\\\"],syntax:\\\"none | <url>\\\"},\\\"marker-end\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#MarkerProperties\\\"],syntax:\\\"none | <url>\\\"},\\\"marker-mid\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#MarkerProperties\\\"],syntax:\\\"none | <url>\\\"},\\\"marker-start\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#MarkerProperties\\\"],syntax:\\\"none | <url>\\\"},\\\"max-width\\\":{comment:\\\"fix auto -> none (https://github.com/mdn/data/pull/431); extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/max-width\\\",syntax:\\\"none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>) | <-non-standard-width>\\\"},width:{comment:\\\"per spec fit-content should be a function, however browsers are supporting it as a keyword (https://github.com/csstree/stylelint-validator/issues/29)\\\",syntax:\\\"| fit-content | -moz-fit-content | -webkit-fit-content\\\"},\\\"min-width\\\":{comment:\\\"extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width\\\",syntax:\\\"auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>) | <-non-standard-width>\\\"},overflow:{comment:\\\"extend by vendor keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow\\\",syntax:\\\"| <-non-standard-overflow>\\\"},pause:{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"<'pause-before'> <'pause-after'>?\\\"},\\\"pause-after\\\":{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"<time> | none | x-weak | weak | medium | strong | x-strong\\\"},\\\"pause-before\\\":{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"<time> | none | x-weak | weak | medium | strong | x-strong\\\"},rest:{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"<'rest-before'> <'rest-after'>?\\\"},\\\"rest-after\\\":{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"<time> | none | x-weak | weak | medium | strong | x-strong\\\"},\\\"rest-before\\\":{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"<time> | none | x-weak | weak | medium | strong | x-strong\\\"},\\\"shape-rendering\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#ShapeRenderingPropert\\\"],syntax:\\\"auto | optimizeSpeed | crispEdges | geometricPrecision\\\"},src:{comment:\\\"added @font-face's src property https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/src\\\",syntax:\\\"[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#\\\"},speak:{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"auto | none | normal\\\"},\\\"speak-as\\\":{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"normal | spell-out || digits || [ literal-punctuation | no-punctuation ]\\\"},stroke:{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\\\"],syntax:\\\"<paint>\\\"},\\\"stroke-dasharray\\\":{comment:\\\"added SVG property; a list of comma and/or white space separated <length>s and <percentage>s\\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\\\"],syntax:\\\"none | [ <svg-length>+ ]#\\\"},\\\"stroke-dashoffset\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\\\"],syntax:\\\"<svg-length>\\\"},\\\"stroke-linecap\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\\\"],syntax:\\\"butt | round | square\\\"},\\\"stroke-linejoin\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\\\"],syntax:\\\"miter | round | bevel\\\"},\\\"stroke-miterlimit\\\":{comment:\\\"added SVG property (<miterlimit> = <number-one-or-greater>) \\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\\\"],syntax:\\\"<number-one-or-greater>\\\"},\\\"stroke-opacity\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\\\"],syntax:\\\"<number-zero-one>\\\"},\\\"stroke-width\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/painting.html#StrokeProperties\\\"],syntax:\\\"<svg-length>\\\"},\\\"text-anchor\\\":{comment:\\\"added SVG property\\\",references:[\\\"https://www.w3.org/TR/SVG/text.html#TextAlignmentProperties\\\"],syntax:\\\"start | middle | end\\\"},\\\"unicode-bidi\\\":{comment:\\\"added prefixed keywords https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidi\\\",syntax:\\\"| -moz-isolate | -moz-isolate-override | -moz-plaintext | -webkit-isolate | -webkit-isolate-override | -webkit-plaintext\\\"},\\\"unicode-range\\\":{comment:\\\"added missed property https://developer.mozilla.org/en-US/docs/Web/CSS/%40font-face/unicode-range\\\",syntax:\\\"<urange>#\\\"},\\\"voice-balance\\\":{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"<number> | left | center | right | leftwards | rightwards\\\"},\\\"voice-duration\\\":{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"auto | <time>\\\"},\\\"voice-family\\\":{comment:\\\"<name> -> <family-name>, https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"[ [ <family-name> | <generic-voice> ] , ]* [ <family-name> | <generic-voice> ] | preserve\\\"},\\\"voice-pitch\\\":{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]\\\"},\\\"voice-range\\\":{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]\\\"},\\\"voice-rate\\\":{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"[ normal | x-slow | slow | medium | fast | x-fast ] || <percentage>\\\"},\\\"voice-stress\\\":{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"normal | strong | moderate | none | reduced\\\"},\\\"voice-volume\\\":{comment:\\\"https://www.w3.org/TR/css3-speech/#property-index\\\",syntax:\\\"silent | [ [ x-soft | soft | medium | loud | x-loud ] || <decibel> ]\\\"},\\\"writing-mode\\\":{comment:\\\"extend with SVG keywords\\\",syntax:\\\"| <svg-writing-mode>\\\"}},syntaxes:{\\\"-legacy-gradient\\\":{comment:\\\"added collection of legacy gradient syntaxes\\\",syntax:\\\"<-webkit-gradient()> | <-legacy-linear-gradient> | <-legacy-repeating-linear-gradient> | <-legacy-radial-gradient> | <-legacy-repeating-radial-gradient>\\\"},\\\"-legacy-linear-gradient\\\":{comment:\\\"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient\\\",syntax:\\\"-moz-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-linear-gradient( <-legacy-linear-gradient-arguments> )\\\"},\\\"-legacy-repeating-linear-gradient\\\":{comment:\\\"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient\\\",syntax:\\\"-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )\\\"},\\\"-legacy-linear-gradient-arguments\\\":{comment:\\\"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient\\\",syntax:\\\"[ <angle> | <side-or-corner> ]? , <color-stop-list>\\\"},\\\"-legacy-radial-gradient\\\":{comment:\\\"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients\\\",syntax:\\\"-moz-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-radial-gradient( <-legacy-radial-gradient-arguments> )\\\"},\\\"-legacy-repeating-radial-gradient\\\":{comment:\\\"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients\\\",syntax:\\\"-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )\\\"},\\\"-legacy-radial-gradient-arguments\\\":{comment:\\\"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients\\\",syntax:\\\"[ <position> , ]? [ [ [ <-legacy-radial-gradient-shape> || <-legacy-radial-gradient-size> ] | [ <length> | <percentage> ]{2} ] , ]? <color-stop-list>\\\"},\\\"-legacy-radial-gradient-size\\\":{comment:\\\"before a standard it contains 2 extra keywords (`contain` and `cover`) https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltsize\\\",syntax:\\\"closest-side | closest-corner | farthest-side | farthest-corner | contain | cover\\\"},\\\"-legacy-radial-gradient-shape\\\":{comment:\\\"define to double sure it doesn't extends in future https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltshape\\\",syntax:\\\"circle | ellipse\\\"},\\\"-non-standard-font\\\":{comment:\\\"non standard fonts\\\",references:[\\\"https://webkit.org/blog/3709/using-the-system-font-in-web-content/\\\"],syntax:\\\"-apple-system-body | -apple-system-headline | -apple-system-subheadline | -apple-system-caption1 | -apple-system-caption2 | -apple-system-footnote | -apple-system-short-body | -apple-system-short-headline | -apple-system-short-subheadline | -apple-system-short-caption1 | -apple-system-short-footnote | -apple-system-tall-body\\\"},\\\"-non-standard-color\\\":{comment:\\\"non standard colors\\\",references:[\\\"http://cssdot.ru/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA_CSS/color-i305.html\\\",\\\"https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Mozilla_Color_Preference_Extensions\\\"],syntax:\\\"-moz-ButtonDefault | -moz-ButtonHoverFace | -moz-ButtonHoverText | -moz-CellHighlight | -moz-CellHighlightText | -moz-Combobox | -moz-ComboboxText | -moz-Dialog | -moz-DialogText | -moz-dragtargetzone | -moz-EvenTreeRow | -moz-Field | -moz-FieldText | -moz-html-CellHighlight | -moz-html-CellHighlightText | -moz-mac-accentdarkestshadow | -moz-mac-accentdarkshadow | -moz-mac-accentface | -moz-mac-accentlightesthighlight | -moz-mac-accentlightshadow | -moz-mac-accentregularhighlight | -moz-mac-accentregularshadow | -moz-mac-chrome-active | -moz-mac-chrome-inactive | -moz-mac-focusring | -moz-mac-menuselect | -moz-mac-menushadow | -moz-mac-menutextselect | -moz-MenuHover | -moz-MenuHoverText | -moz-MenuBarText | -moz-MenuBarHoverText | -moz-nativehyperlinktext | -moz-OddTreeRow | -moz-win-communicationstext | -moz-win-mediatext | -moz-activehyperlinktext | -moz-default-background-color | -moz-default-color | -moz-hyperlinktext | -moz-visitedhyperlinktext | -webkit-activelink | -webkit-focus-ring-color | -webkit-link | -webkit-text\\\"},\\\"-non-standard-image-rendering\\\":{comment:\\\"non-standard keywords http://phrogz.net/tmp/canvas_image_zoom.html\\\",syntax:\\\"optimize-contrast | -moz-crisp-edges | -o-crisp-edges | -webkit-optimize-contrast\\\"},\\\"-non-standard-overflow\\\":{comment:\\\"non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow\\\",syntax:\\\"-moz-scrollbars-none | -moz-scrollbars-horizontal | -moz-scrollbars-vertical | -moz-hidden-unscrollable\\\"},\\\"-non-standard-width\\\":{comment:\\\"non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width\\\",syntax:\\\"fill-available | min-intrinsic | intrinsic | -moz-available | -moz-fit-content | -moz-min-content | -moz-max-content | -webkit-min-content | -webkit-max-content\\\"},\\\"-webkit-gradient()\\\":{comment:\\\"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/ - TODO: simplify when after match algorithm improvement ( [, point, radius | , point] -> [, radius]? , point )\\\",syntax:\\\"-webkit-gradient( <-webkit-gradient-type>, <-webkit-gradient-point> [, <-webkit-gradient-point> | , <-webkit-gradient-radius>, <-webkit-gradient-point> ] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )\\\"},\\\"-webkit-gradient-color-stop\\\":{comment:\\\"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/\\\",syntax:\\\"from( <color> ) | color-stop( [ <number-zero-one> | <percentage> ] , <color> ) | to( <color> )\\\"},\\\"-webkit-gradient-point\\\":{comment:\\\"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/\\\",syntax:\\\"[ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]\\\"},\\\"-webkit-gradient-radius\\\":{comment:\\\"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/\\\",syntax:\\\"<length> | <percentage>\\\"},\\\"-webkit-gradient-type\\\":{comment:\\\"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/\\\",syntax:\\\"linear | radial\\\"},\\\"-webkit-mask-box-repeat\\\":{comment:\\\"missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image\\\",syntax:\\\"repeat | stretch | round\\\"},\\\"-webkit-mask-clip-style\\\":{comment:\\\"missed; there is no enough information about `-webkit-mask-clip` property, but looks like all those keywords are working\\\",syntax:\\\"border | border-box | padding | padding-box | content | content-box | text\\\"},\\\"-ms-filter-function-list\\\":{comment:\\\"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter\\\",syntax:\\\"<-ms-filter-function>+\\\"},\\\"-ms-filter-function\\\":{comment:\\\"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter\\\",syntax:\\\"<-ms-filter-function-progid> | <-ms-filter-function-legacy>\\\"},\\\"-ms-filter-function-progid\\\":{comment:\\\"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter\\\",syntax:\\\"'progid:' [ <ident-token> '.' ]* [ <ident-token> | <function-token> <any-value>? ) ]\\\"},\\\"-ms-filter-function-legacy\\\":{comment:\\\"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter\\\",syntax:\\\"<ident-token> | <function-token> <any-value>? )\\\"},\\\"-ms-filter\\\":{syntax:\\\"<string>\\\"},age:{comment:\\\"https://www.w3.org/TR/css3-speech/#voice-family\\\",syntax:\\\"child | young | old\\\"},\\\"attr-name\\\":{syntax:\\\"<wq-name>\\\"},\\\"attr-fallback\\\":{syntax:\\\"<any-value>\\\"},\\\"border-radius\\\":{comment:\\\"missed, https://drafts.csswg.org/css-backgrounds-3/#the-border-radius\\\",syntax:\\\"<length-percentage>{1,2}\\\"},bottom:{comment:\\\"missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect\\\",syntax:\\\"<length> | auto\\\"},\\\"content-list\\\":{comment:\\\"missed -> https://drafts.csswg.org/css-content/#typedef-content-list (document-url, <target> and leader() is omitted util stabilization)\\\",syntax:\\\"[ <string> | contents | <image> | <quote> | <target> | <leader()> | <attr()> | counter( <ident>, <'list-style-type'>? ) ]+\\\"},\\\"element()\\\":{comment:\\\"https://drafts.csswg.org/css-gcpm/#element-syntax & https://drafts.csswg.org/css-images-4/#element-notation\\\",syntax:\\\"element( <custom-ident> , [ first | start | last | first-except ]? ) | element( <id-selector> )\\\"},\\\"generic-voice\\\":{comment:\\\"https://www.w3.org/TR/css3-speech/#voice-family\\\",syntax:\\\"[ <age>? <gender> <integer>? ]\\\"},gender:{comment:\\\"https://www.w3.org/TR/css3-speech/#voice-family\\\",syntax:\\\"male | female | neutral\\\"},\\\"generic-family\\\":{comment:\\\"added -apple-system\\\",references:[\\\"https://webkit.org/blog/3709/using-the-system-font-in-web-content/\\\"],syntax:\\\"| -apple-system\\\"},gradient:{comment:\\\"added legacy syntaxes support\\\",syntax:\\\"| <-legacy-gradient>\\\"},left:{comment:\\\"missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect\\\",syntax:\\\"<length> | auto\\\"},\\\"mask-image\\\":{comment:\\\"missed; https://drafts.fxtf.org/css-masking-1/#the-mask-image\\\",syntax:\\\"<mask-reference>#\\\"},\\\"name-repeat\\\":{comment:\\\"missed, and looks like obsolete, keep it as is since other property syntaxes should be changed too; https://www.w3.org/TR/2015/WD-css-grid-1-20150917/#typedef-name-repeat\\\",syntax:\\\"repeat( [ <positive-integer> | auto-fill ], <line-names>+)\\\"},\\\"named-color\\\":{comment:\\\"added non standard color names\\\",syntax:\\\"| <-non-standard-color>\\\"},paint:{comment:\\\"used by SVG https://www.w3.org/TR/SVG/painting.html#SpecifyingPaint\\\",syntax:\\\"none | <color> | <url> [ none | <color> ]? | context-fill | context-stroke\\\"},\\\"page-size\\\":{comment:\\\"https://www.w3.org/TR/css-page-3/#typedef-page-size-page-size\\\",syntax:\\\"A5 | A4 | A3 | B5 | B4 | JIS-B5 | JIS-B4 | letter | legal | ledger\\\"},ratio:{comment:\\\"missed, https://drafts.csswg.org/mediaqueries-4/#typedef-ratio\\\",syntax:\\\"<integer> / <integer>\\\"},right:{comment:\\\"missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect\\\",syntax:\\\"<length> | auto\\\"},shape:{comment:\\\"missed spaces in function body and add backwards compatible syntax\\\",syntax:\\\"rect( <top>, <right>, <bottom>, <left> ) | rect( <top> <right> <bottom> <left> )\\\"},\\\"svg-length\\\":{comment:\\\"All coordinates and lengths in SVG can be specified with or without a unit identifier\\\",references:[\\\"https://www.w3.org/TR/SVG11/coords.html#Units\\\"],syntax:\\\"<percentage> | <length> | <number>\\\"},\\\"svg-writing-mode\\\":{comment:\\\"SVG specific keywords (deprecated for CSS)\\\",references:[\\\"https://developer.mozilla.org/en/docs/Web/CSS/writing-mode\\\",\\\"https://www.w3.org/TR/SVG/text.html#WritingModeProperty\\\"],syntax:\\\"lr-tb | rl-tb | tb-rl | lr | rl | tb\\\"},top:{comment:\\\"missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect\\\",syntax:\\\"<length> | auto\\\"},\\\"track-group\\\":{comment:\\\"used by old grid-columns and grid-rows syntax v0\\\",syntax:\\\"'(' [ <string>* <track-minmax> <string>* ]+ ')' [ '[' <positive-integer> ']' ]? | <track-minmax>\\\"},\\\"track-list-v0\\\":{comment:\\\"used by old grid-columns and grid-rows syntax v0\\\",syntax:\\\"[ <string>* <track-group> <string>* ]+ | none\\\"},\\\"track-minmax\\\":{comment:\\\"used by old grid-columns and grid-rows syntax v0\\\",syntax:\\\"minmax( <track-breadth> , <track-breadth> ) | auto | <track-breadth> | fit-content\\\"},x:{comment:\\\"missed; not sure we should add it, but no others except `cursor` is using it so it's ok for now; https://drafts.csswg.org/css-ui-3/#cursor\\\",syntax:\\\"<number>\\\"},y:{comment:\\\"missed; not sure we should add it, but no others except `cursor` is using so it's ok for now; https://drafts.csswg.org/css-ui-3/#cursor\\\",syntax:\\\"<number>\\\"},declaration:{comment:\\\"missed, restored by https://drafts.csswg.org/css-syntax\\\",syntax:\\\"<ident-token> : <declaration-value>? [ '!' important ]?\\\"},\\\"declaration-list\\\":{comment:\\\"missed, restored by https://drafts.csswg.org/css-syntax\\\",syntax:\\\"[ <declaration>? ';' ]* <declaration>?\\\"},url:{comment:\\\"https://drafts.csswg.org/css-values-4/#urls\\\",syntax:\\\"url( <string> <url-modifier>* ) | <url-token>\\\"},\\\"url-modifier\\\":{comment:\\\"https://drafts.csswg.org/css-values-4/#typedef-url-modifier\\\",syntax:\\\"<ident> | <function-token> <any-value> )\\\"},\\\"number-zero-one\\\":{syntax:\\\"<number [0,1]>\\\"},\\\"number-one-or-greater\\\":{syntax:\\\"<number [1,∞]>\\\"},\\\"positive-integer\\\":{syntax:\\\"<integer [0,∞]>\\\"},\\\"-non-standard-display\\\":{syntax:\\\"-ms-inline-flexbox | -ms-grid | -ms-inline-grid | -webkit-flex | -webkit-inline-flex | -webkit-box | -webkit-inline-box | -moz-inline-stack | -moz-box | -moz-inline-box\\\"}}},is=/^\\\\s*\\\\|\\\\s*/;function os(e,t){const n={};for(const t in e)n[t]=e[t].syntax||e[t];for(const r in t)r in e?t[r].syntax?n[r]=is.test(t[r].syntax)?n[r]+\\\" \\\"+t[r].syntax.trim():t[r].syntax:delete n[r]:t[r].syntax&&(n[r]=t[r].syntax.replace(is,\\\"\\\"));return n}function ss(e){const t={};for(const n in e)t[n]=e[n].syntax;return t}var ls={types:os({\\\"absolute-size\\\":{syntax:\\\"xx-small | x-small | small | medium | large | x-large | xx-large | xxx-large\\\"},\\\"alpha-value\\\":{syntax:\\\"<number> | <percentage>\\\"},\\\"angle-percentage\\\":{syntax:\\\"<angle> | <percentage>\\\"},\\\"angular-color-hint\\\":{syntax:\\\"<angle-percentage>\\\"},\\\"angular-color-stop\\\":{syntax:\\\"<color> && <color-stop-angle>?\\\"},\\\"angular-color-stop-list\\\":{syntax:\\\"[ <angular-color-stop> [, <angular-color-hint>]? ]# , <angular-color-stop>\\\"},\\\"animateable-feature\\\":{syntax:\\\"scroll-position | contents | <custom-ident>\\\"},attachment:{syntax:\\\"scroll | fixed | local\\\"},\\\"attr()\\\":{syntax:\\\"attr( <attr-name> <type-or-unit>? [, <attr-fallback> ]? )\\\"},\\\"attr-matcher\\\":{syntax:\\\"[ '~' | '|' | '^' | '$' | '*' ]? '='\\\"},\\\"attr-modifier\\\":{syntax:\\\"i | s\\\"},\\\"attribute-selector\\\":{syntax:\\\"'[' <wq-name> ']' | '[' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? ']'\\\"},\\\"auto-repeat\\\":{syntax:\\\"repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? )\\\"},\\\"auto-track-list\\\":{syntax:\\\"[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? <auto-repeat>\\\\n[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>?\\\"},\\\"baseline-position\\\":{syntax:\\\"[ first | last ]? baseline\\\"},\\\"basic-shape\\\":{syntax:\\\"<inset()> | <circle()> | <ellipse()> | <polygon()> | <path()>\\\"},\\\"bg-image\\\":{syntax:\\\"none | <image>\\\"},\\\"bg-layer\\\":{syntax:\\\"<bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>\\\"},\\\"bg-position\\\":{syntax:\\\"[ [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ center | [ left | right ] <length-percentage>? ] && [ center | [ top | bottom ] <length-percentage>? ] ]\\\"},\\\"bg-size\\\":{syntax:\\\"[ <length-percentage> | auto ]{1,2} | cover | contain\\\"},\\\"blur()\\\":{syntax:\\\"blur( <length> )\\\"},\\\"blend-mode\\\":{syntax:\\\"normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | hue | saturation | color | luminosity\\\"},box:{syntax:\\\"border-box | padding-box | content-box\\\"},\\\"brightness()\\\":{syntax:\\\"brightness( <number-percentage> )\\\"},\\\"calc()\\\":{syntax:\\\"calc( <calc-sum> )\\\"},\\\"calc-sum\\\":{syntax:\\\"<calc-product> [ [ '+' | '-' ] <calc-product> ]*\\\"},\\\"calc-product\\\":{syntax:\\\"<calc-value> [ '*' <calc-value> | '/' <number> ]*\\\"},\\\"calc-value\\\":{syntax:\\\"<number> | <dimension> | <percentage> | ( <calc-sum> )\\\"},\\\"cf-final-image\\\":{syntax:\\\"<image> | <color>\\\"},\\\"cf-mixing-image\\\":{syntax:\\\"<percentage>? && <image>\\\"},\\\"circle()\\\":{syntax:\\\"circle( [ <shape-radius> ]? [ at <position> ]? )\\\"},\\\"clamp()\\\":{syntax:\\\"clamp( <calc-sum>#{3} )\\\"},\\\"class-selector\\\":{syntax:\\\"'.' <ident-token>\\\"},\\\"clip-source\\\":{syntax:\\\"<url>\\\"},color:{syntax:\\\"<rgb()> | <rgba()> | <hsl()> | <hsla()> | <hex-color> | <named-color> | currentcolor | <deprecated-system-color>\\\"},\\\"color-stop\\\":{syntax:\\\"<color-stop-length> | <color-stop-angle>\\\"},\\\"color-stop-angle\\\":{syntax:\\\"<angle-percentage>{1,2}\\\"},\\\"color-stop-length\\\":{syntax:\\\"<length-percentage>{1,2}\\\"},\\\"color-stop-list\\\":{syntax:\\\"[ <linear-color-stop> [, <linear-color-hint>]? ]# , <linear-color-stop>\\\"},combinator:{syntax:\\\"'>' | '+' | '~' | [ '||' ]\\\"},\\\"common-lig-values\\\":{syntax:\\\"[ common-ligatures | no-common-ligatures ]\\\"},\\\"compat-auto\\\":{syntax:\\\"searchfield | textarea | push-button | slider-horizontal | checkbox | radio | square-button | menulist | listbox | meter | progress-bar | button\\\"},\\\"composite-style\\\":{syntax:\\\"clear | copy | source-over | source-in | source-out | source-atop | destination-over | destination-in | destination-out | destination-atop | xor\\\"},\\\"compositing-operator\\\":{syntax:\\\"add | subtract | intersect | exclude\\\"},\\\"compound-selector\\\":{syntax:\\\"[ <type-selector>? <subclass-selector>* [ <pseudo-element-selector> <pseudo-class-selector>* ]* ]!\\\"},\\\"compound-selector-list\\\":{syntax:\\\"<compound-selector>#\\\"},\\\"complex-selector\\\":{syntax:\\\"<compound-selector> [ <combinator>? <compound-selector> ]*\\\"},\\\"complex-selector-list\\\":{syntax:\\\"<complex-selector>#\\\"},\\\"conic-gradient()\\\":{syntax:\\\"conic-gradient( [ from <angle> ]? [ at <position> ]?, <angular-color-stop-list> )\\\"},\\\"contextual-alt-values\\\":{syntax:\\\"[ contextual | no-contextual ]\\\"},\\\"content-distribution\\\":{syntax:\\\"space-between | space-around | space-evenly | stretch\\\"},\\\"content-list\\\":{syntax:\\\"[ <string> | contents | <image> | <quote> | <target> | <leader()> ]+\\\"},\\\"content-position\\\":{syntax:\\\"center | start | end | flex-start | flex-end\\\"},\\\"content-replacement\\\":{syntax:\\\"<image>\\\"},\\\"contrast()\\\":{syntax:\\\"contrast( [ <number-percentage> ] )\\\"},\\\"counter()\\\":{syntax:\\\"counter( <custom-ident>, <counter-style>? )\\\"},\\\"counter-style\\\":{syntax:\\\"<counter-style-name> | symbols()\\\"},\\\"counter-style-name\\\":{syntax:\\\"<custom-ident>\\\"},\\\"counters()\\\":{syntax:\\\"counters( <custom-ident>, <string>, <counter-style>? )\\\"},\\\"cross-fade()\\\":{syntax:\\\"cross-fade( <cf-mixing-image> , <cf-final-image>? )\\\"},\\\"cubic-bezier-timing-function\\\":{syntax:\\\"ease | ease-in | ease-out | ease-in-out | cubic-bezier(<number [0,1]>, <number>, <number [0,1]>, <number>)\\\"},\\\"deprecated-system-color\\\":{syntax:\\\"ActiveBorder | ActiveCaption | AppWorkspace | Background | ButtonFace | ButtonHighlight | ButtonShadow | ButtonText | CaptionText | GrayText | Highlight | HighlightText | InactiveBorder | InactiveCaption | InactiveCaptionText | InfoBackground | InfoText | Menu | MenuText | Scrollbar | ThreeDDarkShadow | ThreeDFace | ThreeDHighlight | ThreeDLightShadow | ThreeDShadow | Window | WindowFrame | WindowText\\\"},\\\"discretionary-lig-values\\\":{syntax:\\\"[ discretionary-ligatures | no-discretionary-ligatures ]\\\"},\\\"display-box\\\":{syntax:\\\"contents | none\\\"},\\\"display-inside\\\":{syntax:\\\"flow | flow-root | table | flex | grid | ruby\\\"},\\\"display-internal\\\":{syntax:\\\"table-row-group | table-header-group | table-footer-group | table-row | table-cell | table-column-group | table-column | table-caption | ruby-base | ruby-text | ruby-base-container | ruby-text-container\\\"},\\\"display-legacy\\\":{syntax:\\\"inline-block | inline-list-item | inline-table | inline-flex | inline-grid\\\"},\\\"display-listitem\\\":{syntax:\\\"<display-outside>? && [ flow | flow-root ]? && list-item\\\"},\\\"display-outside\\\":{syntax:\\\"block | inline | run-in\\\"},\\\"drop-shadow()\\\":{syntax:\\\"drop-shadow( <length>{2,3} <color>? )\\\"},\\\"east-asian-variant-values\\\":{syntax:\\\"[ jis78 | jis83 | jis90 | jis04 | simplified | traditional ]\\\"},\\\"east-asian-width-values\\\":{syntax:\\\"[ full-width | proportional-width ]\\\"},\\\"element()\\\":{syntax:\\\"element( <id-selector> )\\\"},\\\"ellipse()\\\":{syntax:\\\"ellipse( [ <shape-radius>{2} ]? [ at <position> ]? )\\\"},\\\"ending-shape\\\":{syntax:\\\"circle | ellipse\\\"},\\\"env()\\\":{syntax:\\\"env( <custom-ident> , <declaration-value>? )\\\"},\\\"explicit-track-list\\\":{syntax:\\\"[ <line-names>? <track-size> ]+ <line-names>?\\\"},\\\"family-name\\\":{syntax:\\\"<string> | <custom-ident>+\\\"},\\\"feature-tag-value\\\":{syntax:\\\"<string> [ <integer> | on | off ]?\\\"},\\\"feature-type\\\":{syntax:\\\"@stylistic | @historical-forms | @styleset | @character-variant | @swash | @ornaments | @annotation\\\"},\\\"feature-value-block\\\":{syntax:\\\"<feature-type> '{' <feature-value-declaration-list> '}'\\\"},\\\"feature-value-block-list\\\":{syntax:\\\"<feature-value-block>+\\\"},\\\"feature-value-declaration\\\":{syntax:\\\"<custom-ident>: <integer>+;\\\"},\\\"feature-value-declaration-list\\\":{syntax:\\\"<feature-value-declaration>\\\"},\\\"feature-value-name\\\":{syntax:\\\"<custom-ident>\\\"},\\\"fill-rule\\\":{syntax:\\\"nonzero | evenodd\\\"},\\\"filter-function\\\":{syntax:\\\"<blur()> | <brightness()> | <contrast()> | <drop-shadow()> | <grayscale()> | <hue-rotate()> | <invert()> | <opacity()> | <saturate()> | <sepia()>\\\"},\\\"filter-function-list\\\":{syntax:\\\"[ <filter-function> | <url> ]+\\\"},\\\"final-bg-layer\\\":{syntax:\\\"<'background-color'> || <bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>\\\"},\\\"fit-content()\\\":{syntax:\\\"fit-content( [ <length> | <percentage> ] )\\\"},\\\"fixed-breadth\\\":{syntax:\\\"<length-percentage>\\\"},\\\"fixed-repeat\\\":{syntax:\\\"repeat( [ <positive-integer> ] , [ <line-names>? <fixed-size> ]+ <line-names>? )\\\"},\\\"fixed-size\\\":{syntax:\\\"<fixed-breadth> | minmax( <fixed-breadth> , <track-breadth> ) | minmax( <inflexible-breadth> , <fixed-breadth> )\\\"},\\\"font-stretch-absolute\\\":{syntax:\\\"normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | <percentage>\\\"},\\\"font-variant-css21\\\":{syntax:\\\"[ normal | small-caps ]\\\"},\\\"font-weight-absolute\\\":{syntax:\\\"normal | bold | <number [1,1000]>\\\"},\\\"frequency-percentage\\\":{syntax:\\\"<frequency> | <percentage>\\\"},\\\"general-enclosed\\\":{syntax:\\\"[ <function-token> <any-value> ) ] | ( <ident> <any-value> )\\\"},\\\"generic-family\\\":{syntax:\\\"serif | sans-serif | cursive | fantasy | monospace\\\"},\\\"generic-name\\\":{syntax:\\\"serif | sans-serif | cursive | fantasy | monospace\\\"},\\\"geometry-box\\\":{syntax:\\\"<shape-box> | fill-box | stroke-box | view-box\\\"},gradient:{syntax:\\\"<linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()> | <conic-gradient()>\\\"},\\\"grayscale()\\\":{syntax:\\\"grayscale( <number-percentage> )\\\"},\\\"grid-line\\\":{syntax:\\\"auto | <custom-ident> | [ <integer> && <custom-ident>? ] | [ span && [ <integer> || <custom-ident> ] ]\\\"},\\\"historical-lig-values\\\":{syntax:\\\"[ historical-ligatures | no-historical-ligatures ]\\\"},\\\"hsl()\\\":{syntax:\\\"hsl( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsl( <hue>, <percentage>, <percentage>, <alpha-value>? )\\\"},\\\"hsla()\\\":{syntax:\\\"hsla( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsla( <hue>, <percentage>, <percentage>, <alpha-value>? )\\\"},hue:{syntax:\\\"<number> | <angle>\\\"},\\\"hue-rotate()\\\":{syntax:\\\"hue-rotate( <angle> )\\\"},\\\"id-selector\\\":{syntax:\\\"<hash-token>\\\"},image:{syntax:\\\"<url> | <image()> | <image-set()> | <element()> | <paint()> | <cross-fade()> | <gradient>\\\"},\\\"image()\\\":{syntax:\\\"image( <image-tags>? [ <image-src>? , <color>? ]! )\\\"},\\\"image-set()\\\":{syntax:\\\"image-set( <image-set-option># )\\\"},\\\"image-set-option\\\":{syntax:\\\"[ <image> | <string> ] <resolution>\\\"},\\\"image-src\\\":{syntax:\\\"<url> | <string>\\\"},\\\"image-tags\\\":{syntax:\\\"ltr | rtl\\\"},\\\"inflexible-breadth\\\":{syntax:\\\"<length> | <percentage> | min-content | max-content | auto\\\"},\\\"inset()\\\":{syntax:\\\"inset( <length-percentage>{1,4} [ round <'border-radius'> ]? )\\\"},\\\"invert()\\\":{syntax:\\\"invert( <number-percentage> )\\\"},\\\"keyframes-name\\\":{syntax:\\\"<custom-ident> | <string>\\\"},\\\"keyframe-block\\\":{syntax:\\\"<keyframe-selector># {\\\\n <declaration-list>\\\\n}\\\"},\\\"keyframe-block-list\\\":{syntax:\\\"<keyframe-block>+\\\"},\\\"keyframe-selector\\\":{syntax:\\\"from | to | <percentage>\\\"},\\\"leader()\\\":{syntax:\\\"leader( <leader-type> )\\\"},\\\"leader-type\\\":{syntax:\\\"dotted | solid | space | <string>\\\"},\\\"length-percentage\\\":{syntax:\\\"<length> | <percentage>\\\"},\\\"line-names\\\":{syntax:\\\"'[' <custom-ident>* ']'\\\"},\\\"line-name-list\\\":{syntax:\\\"[ <line-names> | <name-repeat> ]+\\\"},\\\"line-style\\\":{syntax:\\\"none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset\\\"},\\\"line-width\\\":{syntax:\\\"<length> | thin | medium | thick\\\"},\\\"linear-color-hint\\\":{syntax:\\\"<length-percentage>\\\"},\\\"linear-color-stop\\\":{syntax:\\\"<color> <color-stop-length>?\\\"},\\\"linear-gradient()\\\":{syntax:\\\"linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )\\\"},\\\"mask-layer\\\":{syntax:\\\"<mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || <geometry-box> || [ <geometry-box> | no-clip ] || <compositing-operator> || <masking-mode>\\\"},\\\"mask-position\\\":{syntax:\\\"[ <length-percentage> | left | center | right ] [ <length-percentage> | top | center | bottom ]?\\\"},\\\"mask-reference\\\":{syntax:\\\"none | <image> | <mask-source>\\\"},\\\"mask-source\\\":{syntax:\\\"<url>\\\"},\\\"masking-mode\\\":{syntax:\\\"alpha | luminance | match-source\\\"},\\\"matrix()\\\":{syntax:\\\"matrix( <number>#{6} )\\\"},\\\"matrix3d()\\\":{syntax:\\\"matrix3d( <number>#{16} )\\\"},\\\"max()\\\":{syntax:\\\"max( <calc-sum># )\\\"},\\\"media-and\\\":{syntax:\\\"<media-in-parens> [ and <media-in-parens> ]+\\\"},\\\"media-condition\\\":{syntax:\\\"<media-not> | <media-and> | <media-or> | <media-in-parens>\\\"},\\\"media-condition-without-or\\\":{syntax:\\\"<media-not> | <media-and> | <media-in-parens>\\\"},\\\"media-feature\\\":{syntax:\\\"( [ <mf-plain> | <mf-boolean> | <mf-range> ] )\\\"},\\\"media-in-parens\\\":{syntax:\\\"( <media-condition> ) | <media-feature> | <general-enclosed>\\\"},\\\"media-not\\\":{syntax:\\\"not <media-in-parens>\\\"},\\\"media-or\\\":{syntax:\\\"<media-in-parens> [ or <media-in-parens> ]+\\\"},\\\"media-query\\\":{syntax:\\\"<media-condition> | [ not | only ]? <media-type> [ and <media-condition-without-or> ]?\\\"},\\\"media-query-list\\\":{syntax:\\\"<media-query>#\\\"},\\\"media-type\\\":{syntax:\\\"<ident>\\\"},\\\"mf-boolean\\\":{syntax:\\\"<mf-name>\\\"},\\\"mf-name\\\":{syntax:\\\"<ident>\\\"},\\\"mf-plain\\\":{syntax:\\\"<mf-name> : <mf-value>\\\"},\\\"mf-range\\\":{syntax:\\\"<mf-name> [ '<' | '>' ]? '='? <mf-value>\\\\n| <mf-value> [ '<' | '>' ]? '='? <mf-name>\\\\n| <mf-value> '<' '='? <mf-name> '<' '='? <mf-value>\\\\n| <mf-value> '>' '='? <mf-name> '>' '='? <mf-value>\\\"},\\\"mf-value\\\":{syntax:\\\"<number> | <dimension> | <ident> | <ratio>\\\"},\\\"min()\\\":{syntax:\\\"min( <calc-sum># )\\\"},\\\"minmax()\\\":{syntax:\\\"minmax( [ <length> | <percentage> | min-content | max-content | auto ] , [ <length> | <percentage> | <flex> | min-content | max-content | auto ] )\\\"},\\\"named-color\\\":{syntax:\\\"transparent | aliceblue | antiquewhite | aqua | aquamarine | azure | beige | bisque | black | blanchedalmond | blue | blueviolet | brown | burlywood | cadetblue | chartreuse | chocolate | coral | cornflowerblue | cornsilk | crimson | cyan | darkblue | darkcyan | darkgoldenrod | darkgray | darkgreen | darkgrey | darkkhaki | darkmagenta | darkolivegreen | darkorange | darkorchid | darkred | darksalmon | darkseagreen | darkslateblue | darkslategray | darkslategrey | darkturquoise | darkviolet | deeppink | deepskyblue | dimgray | dimgrey | dodgerblue | firebrick | floralwhite | forestgreen | fuchsia | gainsboro | ghostwhite | gold | goldenrod | gray | green | greenyellow | grey | honeydew | hotpink | indianred | indigo | ivory | khaki | lavender | lavenderblush | lawngreen | lemonchiffon | lightblue | lightcoral | lightcyan | lightgoldenrodyellow | lightgray | lightgreen | lightgrey | lightpink | lightsalmon | lightseagreen | lightskyblue | lightslategray | lightslategrey | lightsteelblue | lightyellow | lime | limegreen | linen | magenta | maroon | mediumaquamarine | mediumblue | mediumorchid | mediumpurple | mediumseagreen | mediumslateblue | mediumspringgreen | mediumturquoise | mediumvioletred | midnightblue | mintcream | mistyrose | moccasin | navajowhite | navy | oldlace | olive | olivedrab | orange | orangered | orchid | palegoldenrod | palegreen | paleturquoise | palevioletred | papayawhip | peachpuff | peru | pink | plum | powderblue | purple | rebeccapurple | red | rosybrown | royalblue | saddlebrown | salmon | sandybrown | seagreen | seashell | sienna | silver | skyblue | slateblue | slategray | slategrey | snow | springgreen | steelblue | tan | teal | thistle | tomato | turquoise | violet | wheat | white | whitesmoke | yellow | yellowgreen\\\"},\\\"namespace-prefix\\\":{syntax:\\\"<ident>\\\"},\\\"ns-prefix\\\":{syntax:\\\"[ <ident-token> | '*' ]? '|'\\\"},\\\"number-percentage\\\":{syntax:\\\"<number> | <percentage>\\\"},\\\"numeric-figure-values\\\":{syntax:\\\"[ lining-nums | oldstyle-nums ]\\\"},\\\"numeric-fraction-values\\\":{syntax:\\\"[ diagonal-fractions | stacked-fractions ]\\\"},\\\"numeric-spacing-values\\\":{syntax:\\\"[ proportional-nums | tabular-nums ]\\\"},nth:{syntax:\\\"<an-plus-b> | even | odd\\\"},\\\"opacity()\\\":{syntax:\\\"opacity( [ <number-percentage> ] )\\\"},\\\"overflow-position\\\":{syntax:\\\"unsafe | safe\\\"},\\\"outline-radius\\\":{syntax:\\\"<length> | <percentage>\\\"},\\\"page-body\\\":{syntax:\\\"<declaration>? [ ; <page-body> ]? | <page-margin-box> <page-body>\\\"},\\\"page-margin-box\\\":{syntax:\\\"<page-margin-box-type> '{' <declaration-list> '}'\\\"},\\\"page-margin-box-type\\\":{syntax:\\\"@top-left-corner | @top-left | @top-center | @top-right | @top-right-corner | @bottom-left-corner | @bottom-left | @bottom-center | @bottom-right | @bottom-right-corner | @left-top | @left-middle | @left-bottom | @right-top | @right-middle | @right-bottom\\\"},\\\"page-selector-list\\\":{syntax:\\\"[ <page-selector># ]?\\\"},\\\"page-selector\\\":{syntax:\\\"<pseudo-page>+ | <ident> <pseudo-page>*\\\"},\\\"path()\\\":{syntax:\\\"path( [ <fill-rule>, ]? <string> )\\\"},\\\"paint()\\\":{syntax:\\\"paint( <ident>, <declaration-value>? )\\\"},\\\"perspective()\\\":{syntax:\\\"perspective( <length> )\\\"},\\\"polygon()\\\":{syntax:\\\"polygon( <fill-rule>? , [ <length-percentage> <length-percentage> ]# )\\\"},position:{syntax:\\\"[ [ left | center | right ] || [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]? | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]\\\"},\\\"pseudo-class-selector\\\":{syntax:\\\"':' <ident-token> | ':' <function-token> <any-value> ')'\\\"},\\\"pseudo-element-selector\\\":{syntax:\\\"':' <pseudo-class-selector>\\\"},\\\"pseudo-page\\\":{syntax:\\\": [ left | right | first | blank ]\\\"},quote:{syntax:\\\"open-quote | close-quote | no-open-quote | no-close-quote\\\"},\\\"radial-gradient()\\\":{syntax:\\\"radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )\\\"},\\\"relative-selector\\\":{syntax:\\\"<combinator>? <complex-selector>\\\"},\\\"relative-selector-list\\\":{syntax:\\\"<relative-selector>#\\\"},\\\"relative-size\\\":{syntax:\\\"larger | smaller\\\"},\\\"repeat-style\\\":{syntax:\\\"repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2}\\\"},\\\"repeating-linear-gradient()\\\":{syntax:\\\"repeating-linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )\\\"},\\\"repeating-radial-gradient()\\\":{syntax:\\\"repeating-radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )\\\"},\\\"rgb()\\\":{syntax:\\\"rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) | rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )\\\"},\\\"rgba()\\\":{syntax:\\\"rgba( <percentage>{3} [ / <alpha-value> ]? ) | rgba( <number>{3} [ / <alpha-value> ]? ) | rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? )\\\"},\\\"rotate()\\\":{syntax:\\\"rotate( [ <angle> | <zero> ] )\\\"},\\\"rotate3d()\\\":{syntax:\\\"rotate3d( <number> , <number> , <number> , [ <angle> | <zero> ] )\\\"},\\\"rotateX()\\\":{syntax:\\\"rotateX( [ <angle> | <zero> ] )\\\"},\\\"rotateY()\\\":{syntax:\\\"rotateY( [ <angle> | <zero> ] )\\\"},\\\"rotateZ()\\\":{syntax:\\\"rotateZ( [ <angle> | <zero> ] )\\\"},\\\"saturate()\\\":{syntax:\\\"saturate( <number-percentage> )\\\"},\\\"scale()\\\":{syntax:\\\"scale( <number> , <number>? )\\\"},\\\"scale3d()\\\":{syntax:\\\"scale3d( <number> , <number> , <number> )\\\"},\\\"scaleX()\\\":{syntax:\\\"scaleX( <number> )\\\"},\\\"scaleY()\\\":{syntax:\\\"scaleY( <number> )\\\"},\\\"scaleZ()\\\":{syntax:\\\"scaleZ( <number> )\\\"},\\\"self-position\\\":{syntax:\\\"center | start | end | self-start | self-end | flex-start | flex-end\\\"},\\\"shape-radius\\\":{syntax:\\\"<length-percentage> | closest-side | farthest-side\\\"},\\\"skew()\\\":{syntax:\\\"skew( [ <angle> | <zero> ] , [ <angle> | <zero> ]? )\\\"},\\\"skewX()\\\":{syntax:\\\"skewX( [ <angle> | <zero> ] )\\\"},\\\"skewY()\\\":{syntax:\\\"skewY( [ <angle> | <zero> ] )\\\"},\\\"sepia()\\\":{syntax:\\\"sepia( <number-percentage> )\\\"},shadow:{syntax:\\\"inset? && <length>{2,4} && <color>?\\\"},\\\"shadow-t\\\":{syntax:\\\"[ <length>{2,3} && <color>? ]\\\"},shape:{syntax:\\\"rect(<top>, <right>, <bottom>, <left>)\\\"},\\\"shape-box\\\":{syntax:\\\"<box> | margin-box\\\"},\\\"side-or-corner\\\":{syntax:\\\"[ left | right ] || [ top | bottom ]\\\"},\\\"single-animation\\\":{syntax:\\\"<time> || <timing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state> || [ none | <keyframes-name> ]\\\"},\\\"single-animation-direction\\\":{syntax:\\\"normal | reverse | alternate | alternate-reverse\\\"},\\\"single-animation-fill-mode\\\":{syntax:\\\"none | forwards | backwards | both\\\"},\\\"single-animation-iteration-count\\\":{syntax:\\\"infinite | <number>\\\"},\\\"single-animation-play-state\\\":{syntax:\\\"running | paused\\\"},\\\"single-transition\\\":{syntax:\\\"[ none | <single-transition-property> ] || <time> || <timing-function> || <time>\\\"},\\\"single-transition-property\\\":{syntax:\\\"all | <custom-ident>\\\"},size:{syntax:\\\"closest-side | farthest-side | closest-corner | farthest-corner | <length> | <length-percentage>{2}\\\"},\\\"step-position\\\":{syntax:\\\"jump-start | jump-end | jump-none | jump-both | start | end\\\"},\\\"step-timing-function\\\":{syntax:\\\"step-start | step-end | steps(<integer>[, <step-position>]?)\\\"},\\\"subclass-selector\\\":{syntax:\\\"<id-selector> | <class-selector> | <attribute-selector> | <pseudo-class-selector>\\\"},\\\"supports-condition\\\":{syntax:\\\"not <supports-in-parens> | <supports-in-parens> [ and <supports-in-parens> ]* | <supports-in-parens> [ or <supports-in-parens> ]*\\\"},\\\"supports-in-parens\\\":{syntax:\\\"( <supports-condition> ) | <supports-feature> | <general-enclosed>\\\"},\\\"supports-feature\\\":{syntax:\\\"<supports-decl> | <supports-selector-fn>\\\"},\\\"supports-decl\\\":{syntax:\\\"( <declaration> )\\\"},\\\"supports-selector-fn\\\":{syntax:\\\"selector( <complex-selector> )\\\"},symbol:{syntax:\\\"<string> | <image> | <custom-ident>\\\"},target:{syntax:\\\"<target-counter()> | <target-counters()> | <target-text()>\\\"},\\\"target-counter()\\\":{syntax:\\\"target-counter( [ <string> | <url> ] , <custom-ident> , <counter-style>? )\\\"},\\\"target-counters()\\\":{syntax:\\\"target-counters( [ <string> | <url> ] , <custom-ident> , <string> , <counter-style>? )\\\"},\\\"target-text()\\\":{syntax:\\\"target-text( [ <string> | <url> ] , [ content | before | after | first-letter ]? )\\\"},\\\"time-percentage\\\":{syntax:\\\"<time> | <percentage>\\\"},\\\"timing-function\\\":{syntax:\\\"linear | <cubic-bezier-timing-function> | <step-timing-function>\\\"},\\\"track-breadth\\\":{syntax:\\\"<length-percentage> | <flex> | min-content | max-content | auto\\\"},\\\"track-list\\\":{syntax:\\\"[ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>?\\\"},\\\"track-repeat\\\":{syntax:\\\"repeat( [ <positive-integer> ] , [ <line-names>? <track-size> ]+ <line-names>? )\\\"},\\\"track-size\\\":{syntax:\\\"<track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( [ <length> | <percentage> ] )\\\"},\\\"transform-function\\\":{syntax:\\\"<matrix()> | <translate()> | <translateX()> | <translateY()> | <scale()> | <scaleX()> | <scaleY()> | <rotate()> | <skew()> | <skewX()> | <skewY()> | <matrix3d()> | <translate3d()> | <translateZ()> | <scale3d()> | <scaleZ()> | <rotate3d()> | <rotateX()> | <rotateY()> | <rotateZ()> | <perspective()>\\\"},\\\"transform-list\\\":{syntax:\\\"<transform-function>+\\\"},\\\"translate()\\\":{syntax:\\\"translate( <length-percentage> , <length-percentage>? )\\\"},\\\"translate3d()\\\":{syntax:\\\"translate3d( <length-percentage> , <length-percentage> , <length> )\\\"},\\\"translateX()\\\":{syntax:\\\"translateX( <length-percentage> )\\\"},\\\"translateY()\\\":{syntax:\\\"translateY( <length-percentage> )\\\"},\\\"translateZ()\\\":{syntax:\\\"translateZ( <length> )\\\"},\\\"type-or-unit\\\":{syntax:\\\"string | color | url | integer | number | length | angle | time | frequency | cap | ch | em | ex | ic | lh | rlh | rem | vb | vi | vw | vh | vmin | vmax | mm | Q | cm | in | pt | pc | px | deg | grad | rad | turn | ms | s | Hz | kHz | %\\\"},\\\"type-selector\\\":{syntax:\\\"<wq-name> | <ns-prefix>? '*'\\\"},\\\"var()\\\":{syntax:\\\"var( <custom-property-name> , <declaration-value>? )\\\"},\\\"viewport-length\\\":{syntax:\\\"auto | <length-percentage>\\\"},\\\"wq-name\\\":{syntax:\\\"<ns-prefix>? <ident-token>\\\"}},as.syntaxes),atrules:function(e,t){const n={};for(const r in e){const a=t[r]&&t[r].descriptors||null;n[r]={prelude:r in t&&\\\"prelude\\\"in t[r]?t[r].prelude:e[r].prelude||null,descriptors:e[r].descriptors?os(e[r].descriptors,a||{}):a&&ss(a)}}for(const r in t)hasOwnProperty.call(e,r)||(n[r]={prelude:t[r].prelude||null,descriptors:t[r].descriptors&&ss(t[r].descriptors)});return n}(function(e){const t=Object.create(null);for(const n in e){const r=e[n];let a=null;if(r.descriptors){a=Object.create(null);for(const e in r.descriptors)a[e]=r.descriptors[e].syntax}t[n.substr(1)]={prelude:r.syntax.trim().match(/^@\\\\S+\\\\s+([^;\\\\{]*)/)[1].trim()||null,descriptors:a}}return t}(ns),as.atrules),properties:os(rs,as.properties)},ds=hn.cmpChar,ps=hn.isDigit,cs=hn.TYPE,us=cs.WhiteSpace,ms=cs.Comment,hs=cs.Ident,gs=cs.Number,fs=cs.Dimension,ys=43,bs=45,Ss=110,vs=!0;function xs(e,t){var n=this.scanner.tokenStart+e,r=this.scanner.source.charCodeAt(n);for(r!==ys&&r!==bs||(t&&this.error(\\\"Number sign is not allowed\\\"),n++);n<this.scanner.tokenEnd;n++)ps(this.scanner.source.charCodeAt(n))||this.error(\\\"Integer is expected\\\",n)}function ks(e){return xs.call(this,0,e)}function ws(e,t){if(!ds(this.scanner.source,this.scanner.tokenStart+e,t)){var n=\\\"\\\";switch(t){case Ss:n=\\\"N is expected\\\";break;case bs:n=\\\"HyphenMinus is expected\\\"}this.error(n,this.scanner.tokenStart+e)}}function Cs(){for(var e=0,t=0,n=this.scanner.tokenType;n===us||n===ms;)n=this.scanner.lookupType(++e);if(n!==gs){if(!this.scanner.isDelim(ys,e)&&!this.scanner.isDelim(bs,e))return null;t=this.scanner.isDelim(ys,e)?ys:bs;do{n=this.scanner.lookupType(++e)}while(n===us||n===ms);n!==gs&&(this.scanner.skip(e),ks.call(this,vs))}return e>0&&this.scanner.skip(e),0===t&&(n=this.scanner.source.charCodeAt(this.scanner.tokenStart))!==ys&&n!==bs&&this.error(\\\"Number sign is expected\\\"),ks.call(this,0!==t),t===bs?\\\"-\\\"+this.consume(gs):this.consume(gs)}var Ts={name:\\\"AnPlusB\\\",structure:{a:[String,null],b:[String,null]},parse:function(){var e=this.scanner.tokenStart,t=null,n=null;if(this.scanner.tokenType===gs)ks.call(this,false),n=this.consume(gs);else if(this.scanner.tokenType===hs&&ds(this.scanner.source,this.scanner.tokenStart,bs))switch(t=\\\"-1\\\",ws.call(this,1,Ss),this.scanner.getTokenLength()){case 2:this.scanner.next(),n=Cs.call(this);break;case 3:ws.call(this,2,bs),this.scanner.next(),this.scanner.skipSC(),ks.call(this,vs),n=\\\"-\\\"+this.consume(gs);break;default:ws.call(this,2,bs),xs.call(this,3,vs),this.scanner.next(),n=this.scanner.substrToCursor(e+2)}else if(this.scanner.tokenType===hs||this.scanner.isDelim(ys)&&this.scanner.lookupType(1)===hs){var r=0;switch(t=\\\"1\\\",this.scanner.isDelim(ys)&&(r=1,this.scanner.next()),ws.call(this,0,Ss),this.scanner.getTokenLength()){case 1:this.scanner.next(),n=Cs.call(this);break;case 2:ws.call(this,1,bs),this.scanner.next(),this.scanner.skipSC(),ks.call(this,vs),n=\\\"-\\\"+this.consume(gs);break;default:ws.call(this,1,bs),xs.call(this,2,vs),this.scanner.next(),n=this.scanner.substrToCursor(e+r+1)}}else if(this.scanner.tokenType===fs){for(var a=this.scanner.source.charCodeAt(this.scanner.tokenStart),i=(r=a===ys||a===bs,this.scanner.tokenStart+r);i<this.scanner.tokenEnd&&ps(this.scanner.source.charCodeAt(i));i++);i===this.scanner.tokenStart+r&&this.error(\\\"Integer is expected\\\",this.scanner.tokenStart+r),ws.call(this,i-this.scanner.tokenStart,Ss),t=this.scanner.source.substring(e,i),i+1===this.scanner.tokenEnd?(this.scanner.next(),n=Cs.call(this)):(ws.call(this,i-this.scanner.tokenStart+1,bs),i+2===this.scanner.tokenEnd?(this.scanner.next(),this.scanner.skipSC(),ks.call(this,vs),n=\\\"-\\\"+this.consume(gs)):(xs.call(this,i-this.scanner.tokenStart+2,vs),this.scanner.next(),n=this.scanner.substrToCursor(i+1)))}else this.error();return null!==t&&t.charCodeAt(0)===ys&&(t=t.substr(1)),null!==n&&n.charCodeAt(0)===ys&&(n=n.substr(1)),{type:\\\"AnPlusB\\\",loc:this.getLocation(e,this.scanner.tokenStart),a:t,b:n}},generate:function(e){var t=null!==e.a&&void 0!==e.a,n=null!==e.b&&void 0!==e.b;t?(this.chunk(\\\"+1\\\"===e.a?\\\"+n\\\":\\\"1\\\"===e.a?\\\"n\\\":\\\"-1\\\"===e.a?\\\"-n\\\":e.a+\\\"n\\\"),n&&(\\\"-\\\"===(n=String(e.b)).charAt(0)||\\\"+\\\"===n.charAt(0)?(this.chunk(n.charAt(0)),this.chunk(n.substr(1))):(this.chunk(\\\"+\\\"),this.chunk(n)))):this.chunk(String(e.b))}},_s=hn.TYPE,zs=_s.WhiteSpace,Os=_s.Semicolon,As=_s.LeftCurlyBracket,Es=_s.Delim,js=33;function Ws(){return this.scanner.tokenIndex>0&&this.scanner.lookupType(-1)===zs?this.scanner.tokenIndex>1?this.scanner.getTokenStart(this.scanner.tokenIndex-1):this.scanner.firstCharOffset:this.scanner.tokenStart}function Ls(){return 0}var Bs={name:\\\"Raw\\\",structure:{value:String},parse:function(e,t,n){var r,a=this.scanner.getTokenStart(e);return this.scanner.skip(this.scanner.getRawLength(e,t||Ls)),r=n&&this.scanner.tokenStart>a?Ws.call(this):this.scanner.tokenStart,{type:\\\"Raw\\\",loc:this.getLocation(a,r),value:this.scanner.source.substring(a,r)}},generate:function(e){this.chunk(e.value)},mode:{default:Ls,leftCurlyBracket:function(e){return e===As?1:0},leftCurlyBracketOrSemicolon:function(e){return e===As||e===Os?1:0},exclamationMarkOrSemicolon:function(e,t,n){return e===Es&&t.charCodeAt(n)===js||e===Os?1:0},semicolonIncluded:function(e){return e===Os?2:0}}},Ps=hn.TYPE,qs=Bs.mode,Ms=Ps.AtKeyword,Is=Ps.Semicolon,Ds=Ps.LeftCurlyBracket,Rs=Ps.RightCurlyBracket;function Ns(e){return this.Raw(e,qs.leftCurlyBracketOrSemicolon,!0)}function Gs(){for(var e,t=1;e=this.scanner.lookupType(t);t++){if(e===Rs)return!0;if(e===Ds||e===Ms)return!1}return!1}var Fs={name:\\\"Atrule\\\",structure:{name:String,prelude:[\\\"AtrulePrelude\\\",\\\"Raw\\\",null],block:[\\\"Block\\\",null]},parse:function(){var e,t,n=this.scanner.tokenStart,r=null,a=null;switch(this.eat(Ms),t=(e=this.scanner.substrToCursor(n+1)).toLowerCase(),this.scanner.skipSC(),!1===this.scanner.eof&&this.scanner.tokenType!==Ds&&this.scanner.tokenType!==Is&&(this.parseAtrulePrelude?\\\"AtrulePrelude\\\"===(r=this.parseWithFallback(this.AtrulePrelude.bind(this,e),Ns)).type&&null===r.children.head&&(r=null):r=Ns.call(this,this.scanner.tokenIndex),this.scanner.skipSC()),this.scanner.tokenType){case Is:this.scanner.next();break;case Ds:a=this.atrule.hasOwnProperty(t)&&\\\"function\\\"==typeof this.atrule[t].block?this.atrule[t].block.call(this):this.Block(Gs.call(this))}return{type:\\\"Atrule\\\",loc:this.getLocation(n,this.scanner.tokenStart),name:e,prelude:r,block:a}},generate:function(e){this.chunk(\\\"@\\\"),this.chunk(e.name),null!==e.prelude&&(this.chunk(\\\" \\\"),this.node(e.prelude)),e.block?this.node(e.block):this.chunk(\\\";\\\")},walkContext:\\\"atrule\\\"},Vs=hn.TYPE,Us=Vs.Semicolon,Hs=Vs.LeftCurlyBracket,$s={name:\\\"AtrulePrelude\\\",structure:{children:[[]]},parse:function(e){var t=null;return null!==e&&(e=e.toLowerCase()),this.scanner.skipSC(),t=this.atrule.hasOwnProperty(e)&&\\\"function\\\"==typeof this.atrule[e].prelude?this.atrule[e].prelude.call(this):this.readSequence(this.scope.AtrulePrelude),this.scanner.skipSC(),!0!==this.scanner.eof&&this.scanner.tokenType!==Hs&&this.scanner.tokenType!==Us&&this.error(\\\"Semicolon or block is expected\\\"),null===t&&(t=this.createList()),{type:\\\"AtrulePrelude\\\",loc:this.getLocationFromList(t),children:t}},generate:function(e){this.children(e)},walkContext:\\\"atrulePrelude\\\"},Ys=hn.TYPE,Ks=Ys.Ident,Zs=Ys.String,Qs=Ys.Colon,Js=Ys.LeftSquareBracket,Xs=Ys.RightSquareBracket,el=36,tl=42,nl=61,rl=94,al=124,il=126;function ol(){this.scanner.eof&&this.error(\\\"Unexpected end of input\\\");var e=this.scanner.tokenStart,t=!1,n=!0;return this.scanner.isDelim(tl)?(t=!0,n=!1,this.scanner.next()):this.scanner.isDelim(al)||this.eat(Ks),this.scanner.isDelim(al)?this.scanner.source.charCodeAt(this.scanner.tokenStart+1)!==nl?(this.scanner.next(),this.eat(Ks)):t&&this.error(\\\"Identifier is expected\\\",this.scanner.tokenEnd):t&&this.error(\\\"Vertical line is expected\\\"),n&&this.scanner.tokenType===Qs&&(this.scanner.next(),this.eat(Ks)),{type:\\\"Identifier\\\",loc:this.getLocation(e,this.scanner.tokenStart),name:this.scanner.substrToCursor(e)}}function sl(){var e=this.scanner.tokenStart,t=this.scanner.source.charCodeAt(e);return t!==nl&&t!==il&&t!==rl&&t!==el&&t!==tl&&t!==al&&this.error(\\\"Attribute selector (=, ~=, ^=, $=, *=, |=) is expected\\\"),this.scanner.next(),t!==nl&&(this.scanner.isDelim(nl)||this.error(\\\"Equal sign is expected\\\"),this.scanner.next()),this.scanner.substrToCursor(e)}var ll={name:\\\"AttributeSelector\\\",structure:{name:\\\"Identifier\\\",matcher:[String,null],value:[\\\"String\\\",\\\"Identifier\\\",null],flags:[String,null]},parse:function(){var e,t=this.scanner.tokenStart,n=null,r=null,a=null;return this.eat(Js),this.scanner.skipSC(),e=ol.call(this),this.scanner.skipSC(),this.scanner.tokenType!==Xs&&(this.scanner.tokenType!==Ks&&(n=sl.call(this),this.scanner.skipSC(),r=this.scanner.tokenType===Zs?this.String():this.Identifier(),this.scanner.skipSC()),this.scanner.tokenType===Ks&&(a=this.scanner.getTokenValue(),this.scanner.next(),this.scanner.skipSC())),this.eat(Xs),{type:\\\"AttributeSelector\\\",loc:this.getLocation(t,this.scanner.tokenStart),name:e,matcher:n,value:r,flags:a}},generate:function(e){var t=\\\" \\\";this.chunk(\\\"[\\\"),this.node(e.name),null!==e.matcher&&(this.chunk(e.matcher),null!==e.value&&(this.node(e.value),\\\"String\\\"===e.value.type&&(t=\\\"\\\"))),null!==e.flags&&(this.chunk(t),this.chunk(e.flags)),this.chunk(\\\"]\\\")}},dl=hn.TYPE,pl=Bs.mode,cl=dl.WhiteSpace,ul=dl.Comment,ml=dl.Semicolon,hl=dl.AtKeyword,gl=dl.LeftCurlyBracket,fl=dl.RightCurlyBracket;function yl(e){return this.Raw(e,null,!0)}function bl(){return this.parseWithFallback(this.Rule,yl)}function Sl(e){return this.Raw(e,pl.semicolonIncluded,!0)}function vl(){if(this.scanner.tokenType===ml)return Sl.call(this,this.scanner.tokenIndex);var e=this.parseWithFallback(this.Declaration,Sl);return this.scanner.tokenType===ml&&this.scanner.next(),e}var xl={name:\\\"Block\\\",structure:{children:[[\\\"Atrule\\\",\\\"Rule\\\",\\\"Declaration\\\"]]},parse:function(e){var t=e?vl:bl,n=this.scanner.tokenStart,r=this.createList();this.eat(gl);e:for(;!this.scanner.eof;)switch(this.scanner.tokenType){case fl:break e;case cl:case ul:this.scanner.next();break;case hl:r.push(this.parseWithFallback(this.Atrule,yl));break;default:r.push(t.call(this))}return this.scanner.eof||this.eat(fl),{type:\\\"Block\\\",loc:this.getLocation(n,this.scanner.tokenStart),children:r}},generate:function(e){this.chunk(\\\"{\\\"),this.children(e,(function(e){\\\"Declaration\\\"===e.type&&this.chunk(\\\";\\\")})),this.chunk(\\\"}\\\")},walkContext:\\\"block\\\"},kl=hn.TYPE,wl=kl.LeftSquareBracket,Cl=kl.RightSquareBracket,Tl={name:\\\"Brackets\\\",structure:{children:[[]]},parse:function(e,t){var n,r=this.scanner.tokenStart;return this.eat(wl),n=e.call(this,t),this.scanner.eof||this.eat(Cl),{type:\\\"Brackets\\\",loc:this.getLocation(r,this.scanner.tokenStart),children:n}},generate:function(e){this.chunk(\\\"[\\\"),this.children(e),this.chunk(\\\"]\\\")}},_l=hn.TYPE.CDC,zl={name:\\\"CDC\\\",structure:[],parse:function(){var e=this.scanner.tokenStart;return this.eat(_l),{type:\\\"CDC\\\",loc:this.getLocation(e,this.scanner.tokenStart)}},generate:function(){this.chunk(\\\"--\\\\x3e\\\")}},Ol=hn.TYPE.CDO,Al={name:\\\"CDO\\\",structure:[],parse:function(){var e=this.scanner.tokenStart;return this.eat(Ol),{type:\\\"CDO\\\",loc:this.getLocation(e,this.scanner.tokenStart)}},generate:function(){this.chunk(\\\"\\\\x3c!--\\\")}},El=hn.TYPE.Ident,jl={name:\\\"ClassSelector\\\",structure:{name:String},parse:function(){return this.scanner.isDelim(46)||this.error(\\\"Full stop is expected\\\"),this.scanner.next(),{type:\\\"ClassSelector\\\",loc:this.getLocation(this.scanner.tokenStart-1,this.scanner.tokenEnd),name:this.consume(El)}},generate:function(e){this.chunk(\\\".\\\"),this.chunk(e.name)}},Wl=hn.TYPE.Ident,Ll={name:\\\"Combinator\\\",structure:{name:String},parse:function(){var e=this.scanner.tokenStart;switch(this.scanner.source.charCodeAt(this.scanner.tokenStart)){case 62:case 43:case 126:this.scanner.next();break;case 47:this.scanner.next(),this.scanner.tokenType===Wl&&!1!==this.scanner.lookupValue(0,\\\"deep\\\")||this.error(\\\"Identifier `deep` is expected\\\"),this.scanner.next(),this.scanner.isDelim(47)||this.error(\\\"Solidus is expected\\\"),this.scanner.next();break;default:this.error(\\\"Combinator is expected\\\")}return{type:\\\"Combinator\\\",loc:this.getLocation(e,this.scanner.tokenStart),name:this.scanner.substrToCursor(e)}},generate:function(e){this.chunk(e.name)}},Bl=hn.TYPE.Comment,Pl={name:\\\"Comment\\\",structure:{value:String},parse:function(){var e=this.scanner.tokenStart,t=this.scanner.tokenEnd;return this.eat(Bl),t-e+2>=2&&42===this.scanner.source.charCodeAt(t-2)&&47===this.scanner.source.charCodeAt(t-1)&&(t-=2),{type:\\\"Comment\\\",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.source.substring(e+2,t)}},generate:function(e){this.chunk(\\\"/*\\\"),this.chunk(e.value),this.chunk(\\\"*/\\\")}},ql=Nt.isCustomProperty,Ml=hn.TYPE,Il=Bs.mode,Dl=Ml.Ident,Rl=Ml.Hash,Nl=Ml.Colon,Gl=Ml.Semicolon,Fl=Ml.Delim,Vl=Ml.WhiteSpace,Ul=33,Hl=35,$l=36,Yl=38,Kl=42,Zl=43,Ql=47;function Jl(e){return this.Raw(e,Il.exclamationMarkOrSemicolon,!0)}function Xl(e){return this.Raw(e,Il.exclamationMarkOrSemicolon,!1)}function ed(){var e=this.scanner.tokenIndex,t=this.Value();return\\\"Raw\\\"!==t.type&&!1===this.scanner.eof&&this.scanner.tokenType!==Gl&&!1===this.scanner.isDelim(Ul)&&!1===this.scanner.isBalanceEdge(e)&&this.error(),t}var td={name:\\\"Declaration\\\",structure:{important:[Boolean,String],property:String,value:[\\\"Value\\\",\\\"Raw\\\"]},parse:function(){var e,t=this.scanner.tokenStart,n=this.scanner.tokenIndex,r=nd.call(this),a=ql(r),i=a?this.parseCustomProperty:this.parseValue,o=a?Xl:Jl,s=!1;this.scanner.skipSC(),this.eat(Nl);const l=this.scanner.tokenIndex;if(a||this.scanner.skipSC(),e=i?this.parseWithFallback(ed,o):o.call(this,this.scanner.tokenIndex),a&&\\\"Value\\\"===e.type&&e.children.isEmpty())for(let t=l-this.scanner.tokenIndex;t<=0;t++)if(this.scanner.lookupType(t)===Vl){e.children.appendData({type:\\\"WhiteSpace\\\",loc:null,value:\\\" \\\"});break}return this.scanner.isDelim(Ul)&&(s=rd.call(this),this.scanner.skipSC()),!1===this.scanner.eof&&this.scanner.tokenType!==Gl&&!1===this.scanner.isBalanceEdge(n)&&this.error(),{type:\\\"Declaration\\\",loc:this.getLocation(t,this.scanner.tokenStart),important:s,property:r,value:e}},generate:function(e){this.chunk(e.property),this.chunk(\\\":\\\"),this.node(e.value),e.important&&this.chunk(!0===e.important?\\\"!important\\\":\\\"!\\\"+e.important)},walkContext:\\\"declaration\\\"};function nd(){var e=this.scanner.tokenStart;if(this.scanner.tokenType===Fl)switch(this.scanner.source.charCodeAt(this.scanner.tokenStart)){case Kl:case $l:case Zl:case Hl:case Yl:this.scanner.next();break;case Ql:this.scanner.next(),this.scanner.isDelim(Ql)&&this.scanner.next()}return this.scanner.tokenType===Rl?this.eat(Rl):this.eat(Dl),this.scanner.substrToCursor(e)}function rd(){this.eat(Fl),this.scanner.skipSC();var e=this.consume(Dl);return\\\"important\\\"===e||e}var ad=hn.TYPE,id=Bs.mode,od=ad.WhiteSpace,sd=ad.Comment,ld=ad.Semicolon;function dd(e){return this.Raw(e,id.semicolonIncluded,!0)}var pd={name:\\\"DeclarationList\\\",structure:{children:[[\\\"Declaration\\\"]]},parse:function(){for(var e=this.createList();!this.scanner.eof;)switch(this.scanner.tokenType){case od:case sd:case ld:this.scanner.next();break;default:e.push(this.parseWithFallback(this.Declaration,dd))}return{type:\\\"DeclarationList\\\",loc:this.getLocationFromList(e),children:e}},generate:function(e){this.children(e,(function(e){\\\"Declaration\\\"===e.type&&this.chunk(\\\";\\\")}))}},cd=ht.consumeNumber,ud=hn.TYPE.Dimension,md={name:\\\"Dimension\\\",structure:{value:String,unit:String},parse:function(){var e=this.scanner.tokenStart,t=cd(this.scanner.source,e);return this.eat(ud),{type:\\\"Dimension\\\",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.source.substring(e,t),unit:this.scanner.source.substring(t,this.scanner.tokenStart)}},generate:function(e){this.chunk(e.value),this.chunk(e.unit)}},hd=hn.TYPE.RightParenthesis,gd={name:\\\"Function\\\",structure:{name:String,children:[[]]},parse:function(e,t){var n,r=this.scanner.tokenStart,a=this.consumeFunctionName(),i=a.toLowerCase();return n=t.hasOwnProperty(i)?t[i].call(this,t):e.call(this,t),this.scanner.eof||this.eat(hd),{type:\\\"Function\\\",loc:this.getLocation(r,this.scanner.tokenStart),name:a,children:n}},generate:function(e){this.chunk(e.name),this.chunk(\\\"(\\\"),this.children(e),this.chunk(\\\")\\\")},walkContext:\\\"function\\\"},fd=hn.TYPE.Hash,yd={name:\\\"Hash\\\",structure:{value:String},parse:function(){var e=this.scanner.tokenStart;return this.eat(fd),{type:\\\"Hash\\\",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.substrToCursor(e+1)}},generate:function(e){this.chunk(\\\"#\\\"),this.chunk(e.value)}},bd=hn.TYPE.Ident,Sd={name:\\\"Identifier\\\",structure:{name:String},parse:function(){return{type:\\\"Identifier\\\",loc:this.getLocation(this.scanner.tokenStart,this.scanner.tokenEnd),name:this.consume(bd)}},generate:function(e){this.chunk(e.name)}},vd=hn.TYPE.Hash,xd={name:\\\"IdSelector\\\",structure:{name:String},parse:function(){var e=this.scanner.tokenStart;return this.eat(vd),{type:\\\"IdSelector\\\",loc:this.getLocation(e,this.scanner.tokenStart),name:this.scanner.substrToCursor(e+1)}},generate:function(e){this.chunk(\\\"#\\\"),this.chunk(e.name)}},kd=hn.TYPE,wd=kd.Ident,Cd=kd.Number,Td=kd.Dimension,_d=kd.LeftParenthesis,zd=kd.RightParenthesis,Od=kd.Colon,Ad=kd.Delim,Ed={name:\\\"MediaFeature\\\",structure:{name:String,value:[\\\"Identifier\\\",\\\"Number\\\",\\\"Dimension\\\",\\\"Ratio\\\",null]},parse:function(){var e,t=this.scanner.tokenStart,n=null;if(this.eat(_d),this.scanner.skipSC(),e=this.consume(wd),this.scanner.skipSC(),this.scanner.tokenType!==zd){switch(this.eat(Od),this.scanner.skipSC(),this.scanner.tokenType){case Cd:n=this.lookupNonWSType(1)===Ad?this.Ratio():this.Number();break;case Td:n=this.Dimension();break;case wd:n=this.Identifier();break;default:this.error(\\\"Number, dimension, ratio or identifier is expected\\\")}this.scanner.skipSC()}return this.eat(zd),{type:\\\"MediaFeature\\\",loc:this.getLocation(t,this.scanner.tokenStart),name:e,value:n}},generate:function(e){this.chunk(\\\"(\\\"),this.chunk(e.name),null!==e.value&&(this.chunk(\\\":\\\"),this.node(e.value)),this.chunk(\\\")\\\")}},jd=hn.TYPE,Wd=jd.WhiteSpace,Ld=jd.Comment,Bd=jd.Ident,Pd=jd.LeftParenthesis,qd={name:\\\"MediaQuery\\\",structure:{children:[[\\\"Identifier\\\",\\\"MediaFeature\\\",\\\"WhiteSpace\\\"]]},parse:function(){this.scanner.skipSC();var e=this.createList(),t=null,n=null;e:for(;!this.scanner.eof;){switch(this.scanner.tokenType){case Ld:this.scanner.next();continue;case Wd:n=this.WhiteSpace();continue;case Bd:t=this.Identifier();break;case Pd:t=this.MediaFeature();break;default:break e}null!==n&&(e.push(n),n=null),e.push(t)}return null===t&&this.error(\\\"Identifier or parenthesis is expected\\\"),{type:\\\"MediaQuery\\\",loc:this.getLocationFromList(e),children:e}},generate:function(e){this.children(e)}},Md=hn.TYPE.Comma,Id={name:\\\"MediaQueryList\\\",structure:{children:[[\\\"MediaQuery\\\"]]},parse:function(e){var t=this.createList();for(this.scanner.skipSC();!this.scanner.eof&&(t.push(this.MediaQuery(e)),this.scanner.tokenType===Md);)this.scanner.next();return{type:\\\"MediaQueryList\\\",loc:this.getLocationFromList(t),children:t}},generate:function(e){this.children(e,(function(){this.chunk(\\\",\\\")}))}},Dd=hn.TYPE.Number,Rd={name:\\\"Number\\\",structure:{value:String},parse:function(){return{type:\\\"Number\\\",loc:this.getLocation(this.scanner.tokenStart,this.scanner.tokenEnd),value:this.consume(Dd)}},generate:function(e){this.chunk(e.value)}},Nd={name:\\\"Operator\\\",structure:{value:String},parse:function(){var e=this.scanner.tokenStart;return this.scanner.next(),{type:\\\"Operator\\\",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.substrToCursor(e)}},generate:function(e){this.chunk(e.value)}},Gd=hn.TYPE,Fd=Gd.LeftParenthesis,Vd=Gd.RightParenthesis,Ud={name:\\\"Parentheses\\\",structure:{children:[[]]},parse:function(e,t){var n,r=this.scanner.tokenStart;return this.eat(Fd),n=e.call(this,t),this.scanner.eof||this.eat(Vd),{type:\\\"Parentheses\\\",loc:this.getLocation(r,this.scanner.tokenStart),children:n}},generate:function(e){this.chunk(\\\"(\\\"),this.children(e),this.chunk(\\\")\\\")}},Hd=ht.consumeNumber,$d=hn.TYPE.Percentage,Yd={name:\\\"Percentage\\\",structure:{value:String},parse:function(){var e=this.scanner.tokenStart,t=Hd(this.scanner.source,e);return this.eat($d),{type:\\\"Percentage\\\",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.source.substring(e,t)}},generate:function(e){this.chunk(e.value),this.chunk(\\\"%\\\")}},Kd=hn.TYPE,Zd=Kd.Ident,Qd=Kd.Function,Jd=Kd.Colon,Xd=Kd.RightParenthesis,ep={name:\\\"PseudoClassSelector\\\",structure:{name:String,children:[[\\\"Raw\\\"],null]},parse:function(){var e,t,n=this.scanner.tokenStart,r=null;return this.eat(Jd),this.scanner.tokenType===Qd?(t=(e=this.consumeFunctionName()).toLowerCase(),this.pseudo.hasOwnProperty(t)?(this.scanner.skipSC(),r=this.pseudo[t].call(this),this.scanner.skipSC()):(r=this.createList()).push(this.Raw(this.scanner.tokenIndex,null,!1)),this.eat(Xd)):e=this.consume(Zd),{type:\\\"PseudoClassSelector\\\",loc:this.getLocation(n,this.scanner.tokenStart),name:e,children:r}},generate:function(e){this.chunk(\\\":\\\"),this.chunk(e.name),null!==e.children&&(this.chunk(\\\"(\\\"),this.children(e),this.chunk(\\\")\\\"))},walkContext:\\\"function\\\"},tp=hn.TYPE,np=tp.Ident,rp=tp.Function,ap=tp.Colon,ip=tp.RightParenthesis,op={name:\\\"PseudoElementSelector\\\",structure:{name:String,children:[[\\\"Raw\\\"],null]},parse:function(){var e,t,n=this.scanner.tokenStart,r=null;return this.eat(ap),this.eat(ap),this.scanner.tokenType===rp?(t=(e=this.consumeFunctionName()).toLowerCase(),this.pseudo.hasOwnProperty(t)?(this.scanner.skipSC(),r=this.pseudo[t].call(this),this.scanner.skipSC()):(r=this.createList()).push(this.Raw(this.scanner.tokenIndex,null,!1)),this.eat(ip)):e=this.consume(np),{type:\\\"PseudoElementSelector\\\",loc:this.getLocation(n,this.scanner.tokenStart),name:e,children:r}},generate:function(e){this.chunk(\\\"::\\\"),this.chunk(e.name),null!==e.children&&(this.chunk(\\\"(\\\"),this.children(e),this.chunk(\\\")\\\"))},walkContext:\\\"function\\\"},sp=hn.isDigit,lp=hn.TYPE,dp=lp.Number,pp=lp.Delim,cp=46;function up(){this.scanner.skipWS();for(var e=this.consume(dp),t=0;t<e.length;t++){var n=e.charCodeAt(t);sp(n)||n===cp||this.error(\\\"Unsigned number is expected\\\",this.scanner.tokenStart-e.length+t)}return 0===Number(e)&&this.error(\\\"Zero number is not allowed\\\",this.scanner.tokenStart-e.length),e}var mp={name:\\\"Ratio\\\",structure:{left:String,right:String},parse:function(){var e,t=this.scanner.tokenStart,n=up.call(this);return this.scanner.skipWS(),this.scanner.isDelim(47)||this.error(\\\"Solidus is expected\\\"),this.eat(pp),e=up.call(this),{type:\\\"Ratio\\\",loc:this.getLocation(t,this.scanner.tokenStart),left:n,right:e}},generate:function(e){this.chunk(e.left),this.chunk(\\\"/\\\"),this.chunk(e.right)}},hp=hn.TYPE,gp=Bs.mode,fp=hp.LeftCurlyBracket;function yp(e){return this.Raw(e,gp.leftCurlyBracket,!0)}function bp(){var e=this.SelectorList();return\\\"Raw\\\"!==e.type&&!1===this.scanner.eof&&this.scanner.tokenType!==fp&&this.error(),e}var Sp={name:\\\"Rule\\\",structure:{prelude:[\\\"SelectorList\\\",\\\"Raw\\\"],block:[\\\"Block\\\"]},parse:function(){var e,t,n=this.scanner.tokenIndex,r=this.scanner.tokenStart;return e=this.parseRulePrelude?this.parseWithFallback(bp,yp):yp.call(this,n),t=this.Block(!0),{type:\\\"Rule\\\",loc:this.getLocation(r,this.scanner.tokenStart),prelude:e,block:t}},generate:function(e){this.node(e.prelude),this.node(e.block)},walkContext:\\\"rule\\\"},vp=hn.TYPE.Comma,xp={name:\\\"SelectorList\\\",structure:{children:[[\\\"Selector\\\",\\\"Raw\\\"]]},parse:function(){for(var e=this.createList();!this.scanner.eof&&(e.push(this.Selector()),this.scanner.tokenType===vp);)this.scanner.next();return{type:\\\"SelectorList\\\",loc:this.getLocationFromList(e),children:e}},generate:function(e){this.children(e,(function(){this.chunk(\\\",\\\")}))},walkContext:\\\"selector\\\"},kp=hn.TYPE.String,wp={name:\\\"String\\\",structure:{value:String},parse:function(){return{type:\\\"String\\\",loc:this.getLocation(this.scanner.tokenStart,this.scanner.tokenEnd),value:this.consume(kp)}},generate:function(e){this.chunk(e.value)}},Cp=hn.TYPE,Tp=Cp.WhiteSpace,_p=Cp.Comment,zp=Cp.AtKeyword,Op=Cp.CDO,Ap=Cp.CDC;function Ep(e){return this.Raw(e,null,!1)}var jp={name:\\\"StyleSheet\\\",structure:{children:[[\\\"Comment\\\",\\\"CDO\\\",\\\"CDC\\\",\\\"Atrule\\\",\\\"Rule\\\",\\\"Raw\\\"]]},parse:function(){for(var e,t=this.scanner.tokenStart,n=this.createList();!this.scanner.eof;){switch(this.scanner.tokenType){case Tp:this.scanner.next();continue;case _p:if(33!==this.scanner.source.charCodeAt(this.scanner.tokenStart+2)){this.scanner.next();continue}e=this.Comment();break;case Op:e=this.CDO();break;case Ap:e=this.CDC();break;case zp:e=this.parseWithFallback(this.Atrule,Ep);break;default:e=this.parseWithFallback(this.Rule,Ep)}n.push(e)}return{type:\\\"StyleSheet\\\",loc:this.getLocation(t,this.scanner.tokenStart),children:n}},generate:function(e){this.children(e)},walkContext:\\\"stylesheet\\\"},Wp=hn.TYPE.Ident,Lp=42;function Bp(){this.scanner.tokenType!==Wp&&!1===this.scanner.isDelim(Lp)&&this.error(\\\"Identifier or asterisk is expected\\\"),this.scanner.next()}var Pp={name:\\\"TypeSelector\\\",structure:{name:String},parse:function(){var e=this.scanner.tokenStart;return this.scanner.isDelim(124)?(this.scanner.next(),Bp.call(this)):(Bp.call(this),this.scanner.isDelim(124)&&(this.scanner.next(),Bp.call(this))),{type:\\\"TypeSelector\\\",loc:this.getLocation(e,this.scanner.tokenStart),name:this.scanner.substrToCursor(e)}},generate:function(e){this.chunk(e.name)}},qp=hn.isHexDigit,Mp=hn.cmpChar,Ip=hn.TYPE,Dp=hn.NAME,Rp=Ip.Ident,Np=Ip.Number,Gp=Ip.Dimension,Fp=43,Vp=45,Up=63;function Hp(e,t){for(var n=this.scanner.tokenStart+e,r=0;n<this.scanner.tokenEnd;n++){var a=this.scanner.source.charCodeAt(n);if(a===Vp&&t&&0!==r)return 0===Hp.call(this,e+r+1,!1)&&this.error(),-1;qp(a)||this.error(t&&0!==r?\\\"HyphenMinus\\\"+(r<6?\\\" or hex digit\\\":\\\"\\\")+\\\" is expected\\\":r<6?\\\"Hex digit is expected\\\":\\\"Unexpected input\\\",n),++r>6&&this.error(\\\"Too many hex digits\\\",n)}return this.scanner.next(),r}function $p(e){for(var t=0;this.scanner.isDelim(Up);)++t>e&&this.error(\\\"Too many question marks\\\"),this.scanner.next()}function Yp(e){this.scanner.source.charCodeAt(this.scanner.tokenStart)!==e&&this.error(Dp[e]+\\\" is expected\\\")}function Kp(){var e=0;return this.scanner.isDelim(Fp)?(this.scanner.next(),this.scanner.tokenType===Rp?void((e=Hp.call(this,0,!0))>0&&$p.call(this,6-e)):this.scanner.isDelim(Up)?(this.scanner.next(),void $p.call(this,5)):void this.error(\\\"Hex digit or question mark is expected\\\")):this.scanner.tokenType===Np?(Yp.call(this,Fp),e=Hp.call(this,1,!0),this.scanner.isDelim(Up)?void $p.call(this,6-e):this.scanner.tokenType===Gp||this.scanner.tokenType===Np?(Yp.call(this,Vp),void Hp.call(this,1,!1)):void 0):this.scanner.tokenType===Gp?(Yp.call(this,Fp),void((e=Hp.call(this,1,!0))>0&&$p.call(this,6-e))):void this.error()}var Zp={name:\\\"UnicodeRange\\\",structure:{value:String},parse:function(){var e=this.scanner.tokenStart;return Mp(this.scanner.source,e,117)||this.error(\\\"U is expected\\\"),Mp(this.scanner.source,e+1,Fp)||this.error(\\\"Plus sign is expected\\\"),this.scanner.next(),Kp.call(this),{type:\\\"UnicodeRange\\\",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.substrToCursor(e)}},generate:function(e){this.chunk(e.value)}},Qp=hn.isWhiteSpace,Jp=hn.cmpStr,Xp=hn.TYPE,ec=Xp.Function,tc=Xp.Url,nc=Xp.RightParenthesis,rc={name:\\\"Url\\\",structure:{value:[\\\"String\\\",\\\"Raw\\\"]},parse:function(){var e,t=this.scanner.tokenStart;switch(this.scanner.tokenType){case tc:for(var n=t+4,r=this.scanner.tokenEnd-1;n<r&&Qp(this.scanner.source.charCodeAt(n));)n++;for(;n<r&&Qp(this.scanner.source.charCodeAt(r-1));)r--;e={type:\\\"Raw\\\",loc:this.getLocation(n,r),value:this.scanner.source.substring(n,r)},this.eat(tc);break;case ec:Jp(this.scanner.source,this.scanner.tokenStart,this.scanner.tokenEnd,\\\"url(\\\")||this.error(\\\"Function name must be `url`\\\"),this.eat(ec),this.scanner.skipSC(),e=this.String(),this.scanner.skipSC(),this.eat(nc);break;default:this.error(\\\"Url or Function is expected\\\")}return{type:\\\"Url\\\",loc:this.getLocation(t,this.scanner.tokenStart),value:e}},generate:function(e){this.chunk(\\\"url\\\"),this.chunk(\\\"(\\\"),this.node(e.value),this.chunk(\\\")\\\")}},ac=hn.TYPE.WhiteSpace,ic=Object.freeze({type:\\\"WhiteSpace\\\",loc:null,value:\\\" \\\"}),oc={name:\\\"WhiteSpace\\\",structure:{value:String},parse:function(){return this.eat(ac),ic},generate:function(e){this.chunk(e.value)}},sc={AnPlusB:Ts,Atrule:Fs,AtrulePrelude:$s,AttributeSelector:ll,Block:xl,Brackets:Tl,CDC:zl,CDO:Al,ClassSelector:jl,Combinator:Ll,Comment:Pl,Declaration:td,DeclarationList:pd,Dimension:md,Function:gd,Hash:yd,Identifier:Sd,IdSelector:xd,MediaFeature:Ed,MediaQuery:qd,MediaQueryList:Id,Nth:{name:\\\"Nth\\\",structure:{nth:[\\\"AnPlusB\\\",\\\"Identifier\\\"],selector:[\\\"SelectorList\\\",null]},parse:function(e){this.scanner.skipSC();var t,n=this.scanner.tokenStart,r=n,a=null;return t=this.scanner.lookupValue(0,\\\"odd\\\")||this.scanner.lookupValue(0,\\\"even\\\")?this.Identifier():this.AnPlusB(),this.scanner.skipSC(),e&&this.scanner.lookupValue(0,\\\"of\\\")?(this.scanner.next(),a=this.SelectorList(),this.needPositions&&(r=this.getLastListNode(a.children).loc.end.offset)):this.needPositions&&(r=t.loc.end.offset),{type:\\\"Nth\\\",loc:this.getLocation(n,r),nth:t,selector:a}},generate:function(e){this.node(e.nth),null!==e.selector&&(this.chunk(\\\" of \\\"),this.node(e.selector))}},Number:Rd,Operator:Nd,Parentheses:Ud,Percentage:Yd,PseudoClassSelector:ep,PseudoElementSelector:op,Ratio:mp,Raw:Bs,Rule:Sp,Selector:{name:\\\"Selector\\\",structure:{children:[[\\\"TypeSelector\\\",\\\"IdSelector\\\",\\\"ClassSelector\\\",\\\"AttributeSelector\\\",\\\"PseudoClassSelector\\\",\\\"PseudoElementSelector\\\",\\\"Combinator\\\",\\\"WhiteSpace\\\"]]},parse:function(){var e=this.readSequence(this.scope.Selector);return null===this.getFirstListNode(e)&&this.error(\\\"Selector is expected\\\"),{type:\\\"Selector\\\",loc:this.getLocationFromList(e),children:e}},generate:function(e){this.children(e)}},SelectorList:xp,String:wp,StyleSheet:jp,TypeSelector:Pp,UnicodeRange:Zp,Url:rc,Value:{name:\\\"Value\\\",structure:{children:[[]]},parse:function(){var e=this.scanner.tokenStart,t=this.readSequence(this.scope.Value);return{type:\\\"Value\\\",loc:this.getLocation(e,this.scanner.tokenStart),children:t}},generate:function(e){this.children(e)}},WhiteSpace:oc},lc={generic:!0,types:ls.types,atrules:ls.atrules,properties:ls.properties,node:sc},dc=hn.cmpChar,pc=hn.cmpStr,cc=hn.TYPE,uc=cc.Ident,mc=cc.String,hc=cc.Number,gc=cc.Function,fc=cc.Url,yc=cc.Hash,bc=cc.Dimension,Sc=cc.Percentage,vc=cc.LeftParenthesis,xc=cc.LeftSquareBracket,kc=cc.Comma,wc=cc.Delim,Cc=function(e){switch(this.scanner.tokenType){case yc:return this.Hash();case kc:return e.space=null,e.ignoreWSAfter=!0,this.Operator();case vc:return this.Parentheses(this.readSequence,e.recognizer);case xc:return this.Brackets(this.readSequence,e.recognizer);case mc:return this.String();case bc:return this.Dimension();case Sc:return this.Percentage();case hc:return this.Number();case gc:return pc(this.scanner.source,this.scanner.tokenStart,this.scanner.tokenEnd,\\\"url(\\\")?this.Url():this.Function(this.readSequence,e.recognizer);case fc:return this.Url();case uc:return dc(this.scanner.source,this.scanner.tokenStart,117)&&dc(this.scanner.source,this.scanner.tokenStart+1,43)?this.UnicodeRange():this.Identifier();case wc:var t=this.scanner.source.charCodeAt(this.scanner.tokenStart);if(47===t||42===t||43===t||45===t)return this.Operator();35===t&&this.error(\\\"Hex or identifier is expected\\\",this.scanner.tokenStart+1)}},Tc={getNode:Cc},_c=hn.TYPE,zc=_c.Delim,Oc=_c.Ident,Ac=_c.Dimension,Ec=_c.Percentage,jc=_c.Number,Wc=_c.Hash,Lc=_c.Colon,Bc=_c.LeftSquareBracket,Pc=35,qc=42,Mc=43,Ic=47,Dc=46,Rc=62,Nc=124,Gc=126;var Fc={getNode:function(e){switch(this.scanner.tokenType){case Bc:return this.AttributeSelector();case Wc:return this.IdSelector();case Lc:return this.scanner.lookupType(1)===Lc?this.PseudoElementSelector():this.PseudoClassSelector();case Oc:return this.TypeSelector();case jc:case Ec:return this.Percentage();case Ac:this.scanner.source.charCodeAt(this.scanner.tokenStart)===Dc&&this.error(\\\"Identifier is expected\\\",this.scanner.tokenStart+1);break;case zc:switch(this.scanner.source.charCodeAt(this.scanner.tokenStart)){case Mc:case Rc:case Gc:return e.space=null,e.ignoreWSAfter=!0,this.Combinator();case Ic:return this.Combinator();case Dc:return this.ClassSelector();case qc:case Nc:return this.TypeSelector();case Pc:return this.IdSelector()}}}},Vc=hn.TYPE,Uc=Bs.mode,Hc=Vc.Comma,$c=Vc.WhiteSpace,Yc={getNode:Cc,expression:function(){return this.createSingleNodeList(this.Raw(this.scanner.tokenIndex,null,!1))},var:function(){var e=this.createList();if(this.scanner.skipSC(),e.push(this.Identifier()),this.scanner.skipSC(),this.scanner.tokenType===Hc){e.push(this.Operator());const t=this.scanner.tokenIndex,n=this.parseCustomProperty?this.Value(null):this.Raw(this.scanner.tokenIndex,Uc.exclamationMarkOrSemicolon,!1);if(\\\"Value\\\"===n.type&&n.children.isEmpty())for(let e=t-this.scanner.tokenIndex;e<=0;e++)if(this.scanner.lookupType(e)===$c){n.children.appendData({type:\\\"WhiteSpace\\\",loc:null,value:\\\" \\\"});break}e.push(n)}return e}},Kc={AtrulePrelude:Tc,Selector:Fc,Value:Yc},Zc=hn.TYPE,Qc=Zc.String,Jc=Zc.Ident,Xc=Zc.Url,eu=Zc.Function,tu=Zc.LeftParenthesis,nu={parse:{prelude:function(){var e=this.createList();switch(this.scanner.skipSC(),this.scanner.tokenType){case Qc:e.push(this.String());break;case Xc:case eu:e.push(this.Url());break;default:this.error(\\\"String or url() is expected\\\")}return this.lookupNonWSType(0)!==Jc&&this.lookupNonWSType(0)!==tu||(e.push(this.WhiteSpace()),e.push(this.MediaQueryList())),e},block:null}},ru=hn.TYPE,au=ru.WhiteSpace,iu=ru.Comment,ou=ru.Ident,su=ru.Function,lu=ru.Colon,du=ru.LeftParenthesis;function pu(){return this.createSingleNodeList(this.Raw(this.scanner.tokenIndex,null,!1))}function cu(){return this.scanner.skipSC(),this.scanner.tokenType===ou&&this.lookupNonWSType(1)===lu?this.createSingleNodeList(this.Declaration()):uu.call(this)}function uu(){var e,t=this.createList(),n=null;this.scanner.skipSC();e:for(;!this.scanner.eof;){switch(this.scanner.tokenType){case au:n=this.WhiteSpace();continue;case iu:this.scanner.next();continue;case su:e=this.Function(pu,this.scope.AtrulePrelude);break;case ou:e=this.Identifier();break;case du:e=this.Parentheses(cu,this.scope.AtrulePrelude);break;default:break e}null!==n&&(t.push(n),n=null),t.push(e)}return t}var mu={parse:function(){return this.createSingleNodeList(this.SelectorList())}},hu={parse:function(){return this.createSingleNodeList(this.Nth(true))}},gu={parse:function(){return this.createSingleNodeList(this.Nth(false))}},fu={parseContext:{default:\\\"StyleSheet\\\",stylesheet:\\\"StyleSheet\\\",atrule:\\\"Atrule\\\",atrulePrelude:function(e){return this.AtrulePrelude(e.atrule?String(e.atrule):null)},mediaQueryList:\\\"MediaQueryList\\\",mediaQuery:\\\"MediaQuery\\\",rule:\\\"Rule\\\",selectorList:\\\"SelectorList\\\",selector:\\\"Selector\\\",block:function(){return this.Block(!0)},declarationList:\\\"DeclarationList\\\",declaration:\\\"Declaration\\\",value:\\\"Value\\\"},scope:Kc,atrule:{\\\"font-face\\\":{parse:{prelude:null,block:function(){return this.Block(!0)}}},import:nu,media:{parse:{prelude:function(){return this.createSingleNodeList(this.MediaQueryList())},block:function(){return this.Block(!1)}}},page:{parse:{prelude:function(){return this.createSingleNodeList(this.SelectorList())},block:function(){return this.Block(!0)}}},supports:{parse:{prelude:function(){var e=uu.call(this);return null===this.getFirstListNode(e)&&this.error(\\\"Condition is expected\\\"),e},block:function(){return this.Block(!1)}}}},pseudo:{dir:{parse:function(){return this.createSingleNodeList(this.Identifier())}},has:{parse:function(){return this.createSingleNodeList(this.SelectorList())}},lang:{parse:function(){return this.createSingleNodeList(this.Identifier())}},matches:mu,not:mu,\\\"nth-child\\\":hu,\\\"nth-last-child\\\":hu,\\\"nth-last-of-type\\\":gu,\\\"nth-of-type\\\":gu,slotted:{parse:function(){return this.createSingleNodeList(this.Selector())}}},node:sc},yu={node:sc},bu=\\\"1.1.3\\\";Ce.exports=Te.create(function(){for(var e={},t=0;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}(lc,fu,yu)),Ce.exports.version=bu;var Su=e(Ce.exports);class vu{constructor(e,t){t?this.hooks=t:(this.hooks={},this.hooks.onUrl=new B(this),this.hooks.onAtPage=new B(this),this.hooks.onAtMedia=new B(this),this.hooks.onRule=new B(this),this.hooks.onDeclaration=new B(this),this.hooks.onSelector=new B(this),this.hooks.onPseudoSelector=new B(this),this.hooks.onContent=new B(this),this.hooks.onImport=new B(this),this.hooks.beforeTreeParse=new B(this),this.hooks.beforeTreeWalk=new B(this),this.hooks.afterTreeWalk=new B(this));try{this.url=new URL(e,window.location.href)}catch(e){this.url=new URL(window.location.href)}}async parse(e){return this.text=e,await this.hooks.beforeTreeParse.trigger(this.text,this),this.ast=Su.parse(this._text),await this.hooks.beforeTreeWalk.trigger(this.ast),this.replaceUrls(this.ast),this.id=M(),this.replaceIds(this.ast),this.imported=[],this.urls(this.ast),this.rules(this.ast),this.atrules(this.ast),await this.hooks.afterTreeWalk.trigger(this.ast,this),this.ast}insertRule(e){let t=this.ast.children.appendData(e);return this.declarations(e),t}urls(e){Su.walk(e,{visit:\\\"Url\\\",enter:(e,t,n)=>{this.hooks.onUrl.trigger(e,t,n)}})}atrules(e){Su.walk(e,{visit:\\\"Atrule\\\",enter:(e,t,n)=>{const r=Su.keyword(e.name).basename;\\\"page\\\"===r&&(this.hooks.onAtPage.trigger(e,t,n),this.declarations(e,t,n)),\\\"media\\\"===r&&(this.hooks.onAtMedia.trigger(e,t,n),this.declarations(e,t,n)),\\\"import\\\"===r&&(this.hooks.onImport.trigger(e,t,n),this.imports(e,t,n))}})}rules(e){Su.walk(e,{visit:\\\"Rule\\\",enter:(e,t,n)=>{this.hooks.onRule.trigger(e,t,n),this.declarations(e,t,n),this.onSelector(e,t,n)}})}declarations(e,t,n){Su.walk(e,{visit:\\\"Declaration\\\",enter:(r,a,i)=>{this.hooks.onDeclaration.trigger(r,a,i,{ruleNode:e,ruleItem:t,rulelist:n}),\\\"content\\\"===r.property&&Su.walk(r,{visit:\\\"Function\\\",enter:(o,s,l)=>{this.hooks.onContent.trigger(o,s,l,{declarationNode:r,dItem:a,dList:i},{ruleNode:e,ruleItem:t,rulelist:n})}})}})}onSelector(e,t,n){Su.walk(e,{visit:\\\"Selector\\\",enter:(r,a,i)=>{this.hooks.onSelector.trigger(r,a,i,{ruleNode:e,ruleItem:t,rulelist:n}),r.children.forEach((o=>{\\\"PseudoElementSelector\\\"===o.type&&Su.walk(o,{visit:\\\"PseudoElementSelector\\\",enter:(o,s,l)=>{this.hooks.onPseudoSelector.trigger(o,s,l,{selectNode:r,selectItem:a,selectList:i},{ruleNode:e,ruleItem:t,rulelist:n})}})}))}})}replaceUrls(e){Su.walk(e,{visit:\\\"Url\\\",enter:(e,t,n)=>{let r=e.value.value;if(\\\"Raw\\\"===e.value.type&&r.startsWith(\\\"data:\\\")||\\\"String\\\"===e.value.type&&(r.startsWith('\\\"data:')||r.startsWith(\\\"'data:\\\")));else{let t=r.replace(/[\\\"']/g,\\\"\\\"),n=new URL(t,this.url);e.value.value=n.toString()}}})}addScope(e,t){Su.walk(e,{visit:\\\"Selector\\\",enter:(e,n,r)=>{let a=e.children;a.prepend(a.createItem({type:\\\"WhiteSpace\\\",value:\\\" \\\"})),a.prepend(a.createItem({type:\\\"IdSelector\\\",name:t,loc:null,children:null}))}})}getNamedPageSelectors(e){let t={};return Su.walk(e,{visit:\\\"Rule\\\",enter:(e,n,r)=>{Su.walk(e,{visit:\\\"Declaration\\\",enter:(n,r,a)=>{if(\\\"page\\\"===n.property){let r=n.value.children.first(),a=r.name,i=Su.generate(e.prelude);t[a]={name:a,selector:i},n.property=\\\"break-before\\\",r.type=\\\"Identifier\\\",r.name=\\\"always\\\"}}})}}),t}replaceIds(e){Su.walk(e,{visit:\\\"Rule\\\",enter:(e,t,n)=>{Su.walk(e,{visit:\\\"IdSelector\\\",enter:(e,t,n)=>{let r=e.name;e.flags=null,e.matcher=\\\"=\\\",e.name={type:\\\"Identifier\\\",loc:null,name:\\\"data-id\\\"},e.type=\\\"AttributeSelector\\\",e.value={type:\\\"String\\\",loc:null,value:`\\\"${r}\\\"`}}})}})}imports(e,t,n){let r=[];Su.walk(e,{visit:\\\"MediaQuery\\\",enter:(e,t,n)=>{Su.walk(e,{visit:\\\"Identifier\\\",enter:(e,t,n)=>{r.push(e.name)}})}}),r.some(((e,t)=>{let n=e;return\\\"not\\\"===n?(n=r[t+1],!(\\\"screen\\\"===n||\\\"speech\\\"===n)):\\\"screen\\\"===n||\\\"speech\\\"===n}))||Su.walk(e,{visit:\\\"String\\\",enter:(e,r,a)=>{let i=e.value.replace(/[\\\"']/g,\\\"\\\"),o=new URL(i,this.url).toString();this.imported.push(o),n.remove(t)}})}set text(e){this._text=e}get text(){return this._text}toString(e){return Su.generate(e||this.ast)}}async function xu(e,t={}){return new Promise((function(n,r){let a=new XMLHttpRequest;a.open(t.method||\\\"get\\\",e,!0);for(let e in t.headers)a.setRequestHeader(e,t.headers[e]);a.withCredentials=\\\"include\\\"===t.credentials,a.onload=()=>{const t=0===a.status&&e.startsWith(\\\"file://\\\")?200:a.status;n(new Response(a.responseText,{status:t}))},a.onerror=r,a.send(t.body||null)}))}class ku{constructor(e){this.sheets=[],this.inserted=[],this.hooks={},this.hooks.onUrl=new B(this),this.hooks.onAtPage=new B(this),this.hooks.onAtMedia=new B(this),this.hooks.onRule=new B(this),this.hooks.onDeclaration=new B(this),this.hooks.onContent=new B(this),this.hooks.onSelector=new B(this),this.hooks.onPseudoSelector=new B(this),this.hooks.onImport=new B(this),this.hooks.beforeTreeParse=new B(this),this.hooks.beforeTreeWalk=new B(this),this.hooks.afterTreeWalk=new B(this),!1!==e&&this.setup()}setup(){return this.base=this.insert('\\\\n:root {\\\\n\\\\t--pagedjs-width: 8.5in;\\\\n\\\\t--pagedjs-height: 11in;\\\\n\\\\t--pagedjs-width-right: 8.5in;\\\\n\\\\t--pagedjs-height-right: 11in;\\\\n\\\\t--pagedjs-width-left: 8.5in;\\\\n\\\\t--pagedjs-height-left: 11in;\\\\n\\\\t--pagedjs-pagebox-width: 8.5in;\\\\n\\\\t--pagedjs-pagebox-height: 11in;\\\\n\\\\t--pagedjs-footnotes-height: 0mm;\\\\n\\\\t--pagedjs-margin-top: 1in;\\\\n\\\\t--pagedjs-margin-right: 1in;\\\\n\\\\t--pagedjs-margin-bottom: 1in;\\\\n\\\\t--pagedjs-margin-left: 1in;\\\\n\\\\t--pagedjs-padding-top: 0mm;\\\\n\\\\t--pagedjs-padding-right: 0mm;\\\\n\\\\t--pagedjs-padding-bottom: 0mm;\\\\n\\\\t--pagedjs-padding-left: 0mm;\\\\n\\\\t--pagedjs-border-top: 0mm;\\\\n\\\\t--pagedjs-border-right: 0mm;\\\\n\\\\t--pagedjs-border-bottom: 0mm;\\\\n\\\\t--pagedjs-border-left: 0mm;\\\\n\\\\t--pagedjs-bleed-top: 0mm;\\\\n\\\\t--pagedjs-bleed-right: 0mm;\\\\n\\\\t--pagedjs-bleed-bottom: 0mm;\\\\n\\\\t--pagedjs-bleed-left: 0mm;\\\\n\\\\t--pagedjs-bleed-right-top: 0mm;\\\\n\\\\t--pagedjs-bleed-right-right: 0mm;\\\\n\\\\t--pagedjs-bleed-right-bottom: 0mm;\\\\n\\\\t--pagedjs-bleed-right-left: 0mm;\\\\n\\\\t--pagedjs-bleed-left-top: 0mm;\\\\n\\\\t--pagedjs-bleed-left-right: 0mm;\\\\n\\\\t--pagedjs-bleed-left-bottom: 0mm;\\\\n\\\\t--pagedjs-bleed-left-left: 0mm;\\\\n\\\\t--pagedjs-crop-color: black;\\\\n\\\\t--pagedjs-crop-shadow: white;\\\\n\\\\t--pagedjs-crop-offset: 2mm;\\\\n\\\\t--pagedjs-crop-stroke: 1px;\\\\n\\\\t--pagedjs-cross-size: 5mm;\\\\n\\\\t--pagedjs-mark-cross-display: none;\\\\n\\\\t--pagedjs-mark-crop-display: none;\\\\n\\\\t--pagedjs-page-count: 0;\\\\n\\\\t--pagedjs-page-counter-increment: 1;\\\\n\\\\t--pagedjs-footnotes-count: 0;\\\\n\\\\t--pagedjs-column-gap-offset: 1000px;\\\\n}\\\\n\\\\n@page {\\\\n\\\\tsize: letter;\\\\n\\\\tmargin: 0;\\\\n}\\\\n\\\\n.pagedjs_sheet {\\\\n\\\\tbox-sizing: border-box;\\\\n\\\\twidth: var(--pagedjs-width);\\\\n\\\\theight: var(--pagedjs-height);\\\\n\\\\toverflow: hidden;\\\\n\\\\tposition: relative;\\\\n\\\\tdisplay: grid;\\\\n\\\\tgrid-template-columns: [bleed-left] var(--pagedjs-bleed-left) [sheet-center] calc(var(--pagedjs-width) - var(--pagedjs-bleed-left) - var(--pagedjs-bleed-right)) [bleed-right] var(--pagedjs-bleed-right);\\\\n\\\\tgrid-template-rows: [bleed-top] var(--pagedjs-bleed-top) [sheet-middle] calc(var(--pagedjs-height) - var(--pagedjs-bleed-top) - var(--pagedjs-bleed-bottom)) [bleed-bottom] var(--pagedjs-bleed-bottom);\\\\n}\\\\n\\\\n.pagedjs_right_page .pagedjs_sheet {\\\\n\\\\twidth: var(--pagedjs-width-right);\\\\n\\\\theight: var(--pagedjs-height-right);\\\\n\\\\tgrid-template-columns: [bleed-left] var(--pagedjs-bleed-right-left) [sheet-center] calc(var(--pagedjs-width) - var(--pagedjs-bleed-right-left) - var(--pagedjs-bleed-right-right)) [bleed-right] var(--pagedjs-bleed-right-right);\\\\n\\\\tgrid-template-rows: [bleed-top] var(--pagedjs-bleed-right-top) [sheet-middle] calc(var(--pagedjs-height) - var(--pagedjs-bleed-right-top) - var(--pagedjs-bleed-right-bottom)) [bleed-bottom] var(--pagedjs-bleed-right-bottom);\\\\n}\\\\n\\\\n.pagedjs_left_page .pagedjs_sheet {\\\\n\\\\twidth: var(--pagedjs-width-left);\\\\n\\\\theight: var(--pagedjs-height-left);\\\\n\\\\tgrid-template-columns: [bleed-left] var(--pagedjs-bleed-left-left) [sheet-center] calc(var(--pagedjs-width) - var(--pagedjs-bleed-left-left) - var(--pagedjs-bleed-left-right)) [bleed-right] var(--pagedjs-bleed-left-right);\\\\n\\\\tgrid-template-rows: [bleed-top] var(--pagedjs-bleed-left-top) [sheet-middle] calc(var(--pagedjs-height) - var(--pagedjs-bleed-left-top) - var(--pagedjs-bleed-left-bottom)) [bleed-bottom] var(--pagedjs-bleed-left-bottom);\\\\n}\\\\n\\\\n.pagedjs_bleed {\\\\n\\\\tdisplay: flex;\\\\n\\\\talign-items: center;\\\\n\\\\tjustify-content: center;\\\\n\\\\tflex-wrap: nowrap;\\\\n\\\\toverflow: hidden;\\\\n}\\\\n\\\\n.pagedjs_bleed-top {\\\\n\\\\tgrid-column: bleed-left / -1;\\\\n\\\\tgrid-row: bleed-top;\\\\n\\\\tflex-direction: row;\\\\n}\\\\n\\\\n.pagedjs_bleed-bottom {\\\\n\\\\tgrid-column: bleed-left / -1;\\\\n\\\\tgrid-row: bleed-bottom;\\\\n\\\\tflex-direction: row;\\\\n}\\\\n\\\\n.pagedjs_bleed-left {\\\\n\\\\tgrid-column: bleed-left;\\\\n\\\\tgrid-row: bleed-top / -1;\\\\n\\\\tflex-direction: column;\\\\n}\\\\n\\\\n.pagedjs_bleed-right {\\\\n\\\\tgrid-column: bleed-right;\\\\n\\\\tgrid-row: bleed-top / -1;\\\\n\\\\tflex-direction: column;\\\\n}\\\\n\\\\n.pagedjs_marks-crop {\\\\n\\\\tdisplay: var(--pagedjs-mark-crop-display);\\\\n\\\\tflex-grow: 0;\\\\n\\\\tflex-shrink: 0;\\\\n\\\\tz-index: 9999999999;\\\\n}\\\\n\\\\n.pagedjs_bleed-top .pagedjs_marks-crop:nth-child(1),\\\\n.pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(1) {\\\\n\\\\twidth: calc(var(--pagedjs-bleed-left) - var(--pagedjs-crop-stroke));\\\\n\\\\tborder-right: var(--pagedjs-crop-stroke) solid var(--pagedjs-crop-color);\\\\n\\\\tbox-shadow: 1px 0px 0px 0px var(--pagedjs-crop-shadow);\\\\n}\\\\n\\\\n.pagedjs_right_page .pagedjs_bleed-top .pagedjs_marks-crop:nth-child(1),\\\\n.pagedjs_right_page .pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(1) {\\\\n\\\\twidth: calc(var(--pagedjs-bleed-right-left) - var(--pagedjs-crop-stroke));\\\\n}\\\\n\\\\n.pagedjs_left_page .pagedjs_bleed-top .pagedjs_marks-crop:nth-child(1),\\\\n.pagedjs_left_page .pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(1) {\\\\n\\\\twidth: calc(var(--pagedjs-bleed-left-left) - var(--pagedjs-crop-stroke));\\\\n}\\\\n\\\\n.pagedjs_bleed-top .pagedjs_marks-crop:nth-child(3),\\\\n.pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(3) {\\\\n\\\\twidth: calc(var(--pagedjs-bleed-right) - var(--pagedjs-crop-stroke));\\\\n\\\\tborder-left: var(--pagedjs-crop-stroke) solid var(--pagedjs-crop-color);\\\\n\\\\tbox-shadow: -1px 0px 0px 0px var(--pagedjs-crop-shadow);\\\\n}\\\\n\\\\n.pagedjs_right_page .pagedjs_bleed-top .pagedjs_marks-crop:nth-child(3),\\\\n.pagedjs_right_page .pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(3) {\\\\n\\\\twidth: calc(var(--pagedjs-bleed-right-right) - var(--pagedjs-crop-stroke));\\\\n}\\\\n\\\\n.pagedjs_left_page .pagedjs_bleed-top .pagedjs_marks-crop:nth-child(3),\\\\n.pagedjs_left_page .pagedjs_bleed-bottom .pagedjs_marks-crop:nth-child(3) {\\\\n\\\\twidth: calc(var(--pagedjs-bleed-left-right) - var(--pagedjs-crop-stroke));\\\\n}\\\\n\\\\n.pagedjs_bleed-top .pagedjs_marks-crop {\\\\n\\\\talign-self: flex-start;\\\\n\\\\theight: calc(var(--pagedjs-bleed-top) - var(--pagedjs-crop-offset));\\\\n}\\\\n\\\\n.pagedjs_right_page .pagedjs_bleed-top .pagedjs_marks-crop {\\\\n\\\\theight: calc(var(--pagedjs-bleed-right-top) - var(--pagedjs-crop-offset));\\\\n}\\\\n\\\\n.pagedjs_left_page .pagedjs_bleed-top .pagedjs_marks-crop {\\\\n\\\\theight: calc(var(--pagedjs-bleed-left-top) - var(--pagedjs-crop-offset));\\\\n}\\\\n\\\\n.pagedjs_bleed-bottom .pagedjs_marks-crop {\\\\n\\\\talign-self: flex-end;\\\\n\\\\theight: calc(var(--pagedjs-bleed-bottom) - var(--pagedjs-crop-offset));\\\\n}\\\\n\\\\n.pagedjs_right_page .pagedjs_bleed-bottom .pagedjs_marks-crop {\\\\n\\\\theight: calc(var(--pagedjs-bleed-right-bottom) - var(--pagedjs-crop-offset));\\\\n}\\\\n\\\\n.pagedjs_left_page .pagedjs_bleed-bottom .pagedjs_marks-crop {\\\\n\\\\theight: calc(var(--pagedjs-bleed-left-bottom) - var(--pagedjs-crop-offset));\\\\n}\\\\n\\\\n.pagedjs_bleed-left .pagedjs_marks-crop:nth-child(1),\\\\n.pagedjs_bleed-right .pagedjs_marks-crop:nth-child(1) {\\\\n\\\\theight: calc(var(--pagedjs-bleed-top) - var(--pagedjs-crop-stroke));\\\\n\\\\tborder-bottom: var(--pagedjs-crop-stroke) solid var(--pagedjs-crop-color);\\\\n\\\\tbox-shadow: 0px 1px 0px 0px var(--pagedjs-crop-shadow);\\\\n}\\\\n\\\\n.pagedjs_right_page .pagedjs_bleed-left .pagedjs_marks-crop:nth-child(1),\\\\n.pagedjs_right_page .pagedjs_bleed-right .pagedjs_marks-crop:nth-child(1) {\\\\n\\\\theight: calc(var(--pagedjs-bleed-right-top) - var(--pagedjs-crop-stroke));\\\\n}\\\\n\\\\n.pagedjs_left_page .pagedjs_bleed-left .pagedjs_marks-crop:nth-child(1),\\\\n.pagedjs_left_page .pagedjs_bleed-right .pagedjs_marks-crop:nth-child(1) {\\\\n\\\\theight: calc(var(--pagedjs-bleed-left-top) - var(--pagedjs-crop-stroke));\\\\n}\\\\n\\\\n.pagedjs_bleed-left .pagedjs_marks-crop:nth-child(3),\\\\n.pagedjs_bleed-right .pagedjs_marks-crop:nth-child(3) {\\\\n\\\\theight: calc(var(--pagedjs-bleed-bottom) - var(--pagedjs-crop-stroke));\\\\n\\\\tborder-top: var(--pagedjs-crop-stroke) solid var(--pagedjs-crop-color);\\\\n\\\\tbox-shadow: 0px -1px 0px 0px var(--pagedjs-crop-shadow);\\\\n}\\\\n\\\\n.pagedjs_right_page .pagedjs_bleed-left .pagedjs_marks-crop:nth-child(3),\\\\n.pagedjs_right_page .pagedjs_bleed-right .pagedjs_marks-crop:nth-child(3) {\\\\n\\\\theight: calc(var(--pagedjs-bleed-right-bottom) - var(--pagedjs-crop-stroke));\\\\n}\\\\n\\\\n.pagedjs_left_page .pagedjs_bleed-left .pagedjs_marks-crop:nth-child(3),\\\\n.pagedjs_left_page .pagedjs_bleed-right .pagedjs_marks-crop:nth-child(3) {\\\\n\\\\theight: calc(var(--pagedjs-bleed-left-bottom) - var(--pagedjs-crop-stroke));\\\\n}\\\\n\\\\n.pagedjs_bleed-left .pagedjs_marks-crop {\\\\n\\\\twidth: calc(var(--pagedjs-bleed-left) - var(--pagedjs-crop-offset));\\\\n\\\\talign-self: flex-start;\\\\n}\\\\n\\\\n.pagedjs_right_page .pagedjs_bleed-left .pagedjs_marks-crop {\\\\n\\\\twidth: calc(var(--pagedjs-bleed-right-left) - var(--pagedjs-crop-offset));\\\\n}\\\\n\\\\n.pagedjs_left_page .pagedjs_bleed-left .pagedjs_marks-crop {\\\\n\\\\twidth: calc(var(--pagedjs-bleed-left-left) - var(--pagedjs-crop-offset));\\\\n}\\\\n\\\\n.pagedjs_bleed-right .pagedjs_marks-crop {\\\\n\\\\twidth: calc(var(--pagedjs-bleed-right) - var(--pagedjs-crop-offset));\\\\n\\\\talign-self: flex-end;\\\\n}\\\\n\\\\n.pagedjs_right_page .pagedjs_bleed-right .pagedjs_marks-crop {\\\\n\\\\twidth: calc(var(--pagedjs-bleed-right-right) - var(--pagedjs-crop-offset));\\\\n}\\\\n\\\\n.pagedjs_left_page .pagedjs_bleed-right .pagedjs_marks-crop {\\\\n\\\\twidth: calc(var(--pagedjs-bleed-left-right) - var(--pagedjs-crop-offset));\\\\n}\\\\n\\\\n.pagedjs_marks-middle {\\\\n\\\\tdisplay: flex;\\\\n\\\\tflex-grow: 1;\\\\n\\\\tflex-shrink: 0;\\\\n\\\\talign-items: center;\\\\n\\\\tjustify-content: center;\\\\n}\\\\n\\\\n.pagedjs_marks-cross {\\\\n\\\\tdisplay: var(--pagedjs-mark-cross-display);\\\\n\\\\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIzMi41MzdweCIgaGVpZ2h0PSIzMi41MzdweCIgdmlld0JveD0iMC4xMDQgMC4xMDQgMzIuNTM3IDMyLjUzNyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwLjEwNCAwLjEwNCAzMi41MzcgMzIuNTM3IiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMy4zODkzIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik0yOS45MzEsMTYuMzczYzAsNy40ODktNi4wNjgsMTMuNTYtMTMuNTU4LDEzLjU2Yy03LjQ4MywwLTEzLjU1Ny02LjA3Mi0xMy41NTctMTMuNTZjMC03LjQ4Niw2LjA3NC0xMy41NTQsMTMuNTU3LTEzLjU1NEMyMy44NjIsMi44MTksMjkuOTMxLDguODg3LDI5LjkzMSwxNi4zNzN6Ii8+PGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjMuMzg5MyIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB4MT0iMC4xMDQiIHkxPSIxNi4zNzMiIHgyPSIzMi42NDIiIHkyPSIxNi4zNzMiLz48bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMy4zODkzIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHgxPSIxNi4zNzMiIHkxPSIwLjEwNCIgeDI9IjE2LjM3MyIgeTI9IjMyLjY0MiIvPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIzLjM4OTMiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTI0LjUwOCwxNi4zNzNjMCw0LjQ5Ni0zLjYzOCw4LjEzNS04LjEzNSw4LjEzNWMtNC40OTEsMC04LjEzNS0zLjYzOC04LjEzNS04LjEzNWMwLTQuNDg5LDMuNjQ0LTguMTM1LDguMTM1LTguMTM1QzIwLjg2OSw4LjIzOSwyNC41MDgsMTEuODg0LDI0LjUwOCwxNi4zNzN6Ii8+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjAuNjc3OCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMjkuOTMxLDE2LjM3M2MwLDcuNDg5LTYuMDY4LDEzLjU2LTEzLjU1OCwxMy41NmMtNy40ODMsMC0xMy41NTctNi4wNzItMTMuNTU3LTEzLjU2YzAtNy40ODYsNi4wNzQtMTMuNTU0LDEzLjU1Ny0xMy41NTRDMjMuODYyLDIuODE5LDI5LjkzMSw4Ljg4NywyOS45MzEsMTYuMzczeiIvPjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIwLjY3NzgiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjAuMTA0IiB5MT0iMTYuMzczIiB4Mj0iMzIuNjQyIiB5Mj0iMTYuMzczIi8+PGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjAuNjc3OCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB4MT0iMTYuMzczIiB5MT0iMC4xMDQiIHgyPSIxNi4zNzMiIHkyPSIzMi42NDIiLz48cGF0aCBkPSJNMjQuNTA4LDE2LjM3M2MwLDQuNDk2LTMuNjM4LDguMTM1LTguMTM1LDguMTM1Yy00LjQ5MSwwLTguMTM1LTMuNjM4LTguMTM1LTguMTM1YzAtNC40ODksMy42NDQtOC4xMzUsOC4xMzUtOC4xMzVDMjAuODY5LDguMjM5LDI0LjUwOCwxMS44ODQsMjQuNTA4LDE2LjM3MyIvPjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIwLjY3NzgiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjguMjM5IiB5MT0iMTYuMzczIiB4Mj0iMjQuNTA4IiB5Mj0iMTYuMzczIi8+PGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjAuNjc3OCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB4MT0iMTYuMzczIiB5MT0iOC4yMzkiIHgyPSIxNi4zNzMiIHkyPSIyNC41MDgiLz48L3N2Zz4=);\\\\n background-repeat: no-repeat;\\\\n background-position: 50% 50%;\\\\n background-size: var(--pagedjs-cross-size);\\\\n\\\\n z-index: 2147483647;\\\\n\\\\twidth: var(--pagedjs-cross-size);\\\\n\\\\theight: var(--pagedjs-cross-size);\\\\n}\\\\n\\\\n.pagedjs_pagebox {\\\\n\\\\tbox-sizing: border-box;\\\\n\\\\twidth: var(--pagedjs-pagebox-width);\\\\n\\\\theight: var(--pagedjs-pagebox-height);\\\\n\\\\tposition: relative;\\\\n\\\\tdisplay: grid;\\\\n\\\\tgrid-template-columns: [left] var(--pagedjs-margin-left) [center] calc(var(--pagedjs-pagebox-width) - var(--pagedjs-margin-left) - var(--pagedjs-margin-right)) [right] var(--pagedjs-margin-right);\\\\n\\\\tgrid-template-rows: [header] var(--pagedjs-margin-top) [page] calc(var(--pagedjs-pagebox-height) - var(--pagedjs-margin-top) - var(--pagedjs-margin-bottom)) [footer] var(--pagedjs-margin-bottom);\\\\n\\\\tgrid-column: sheet-center;\\\\n\\\\tgrid-row: sheet-middle;\\\\n}\\\\n\\\\n.pagedjs_pagebox * {\\\\n\\\\tbox-sizing: border-box;\\\\n}\\\\n\\\\n.pagedjs_margin-top {\\\\n\\\\twidth: calc(var(--pagedjs-pagebox-width) - var(--pagedjs-margin-left) - var(--pagedjs-margin-right));\\\\n\\\\theight: var(--pagedjs-margin-top);\\\\n\\\\tgrid-column: center;\\\\n\\\\tgrid-row: header;\\\\n\\\\tflex-wrap: nowrap;\\\\n\\\\tdisplay: grid;\\\\n\\\\tgrid-template-columns: repeat(3, 1fr);\\\\n\\\\tgrid-template-rows: 100%;\\\\n}\\\\n\\\\n.pagedjs_margin-top-left-corner-holder {\\\\n\\\\twidth: var(--pagedjs-margin-left);\\\\n\\\\theight: var(--pagedjs-margin-top);\\\\n\\\\tdisplay: flex;\\\\n\\\\tgrid-column: left;\\\\n\\\\tgrid-row: header;\\\\n}\\\\n\\\\n.pagedjs_margin-top-right-corner-holder {\\\\n\\\\twidth: var(--pagedjs-margin-right);\\\\n\\\\theight: var(--pagedjs-margin-top);\\\\n\\\\tdisplay: flex;\\\\n\\\\tgrid-column: right;\\\\n\\\\tgrid-row: header;\\\\n}\\\\n\\\\n.pagedjs_margin-top-left-corner {\\\\n\\\\twidth: var(--pagedjs-margin-left);\\\\n}\\\\n\\\\n.pagedjs_margin-top-right-corner {\\\\n\\\\twidth: var(--pagedjs-margin-right);\\\\n}\\\\n\\\\n.pagedjs_margin-right {\\\\n\\\\theight: calc(var(--pagedjs-pagebox-height) - var(--pagedjs-margin-top) - var(--pagedjs-margin-bottom));\\\\n\\\\twidth: var(--pagedjs-margin-right);\\\\n\\\\tright: 0;\\\\n\\\\tgrid-column: right;\\\\n\\\\tgrid-row: page;\\\\n\\\\tdisplay: grid;\\\\n\\\\tgrid-template-rows: repeat(3, 33.3333%);\\\\n\\\\tgrid-template-columns: 100%;\\\\n}\\\\n\\\\n.pagedjs_margin-bottom {\\\\n\\\\twidth: calc(var(--pagedjs-pagebox-width) - var(--pagedjs-margin-left) - var(--pagedjs-margin-right));\\\\n\\\\theight: var(--pagedjs-margin-bottom);\\\\n\\\\tgrid-column: center;\\\\n\\\\tgrid-row: footer;\\\\n\\\\tdisplay: grid;\\\\n\\\\tgrid-template-columns: repeat(3, 1fr);\\\\n\\\\tgrid-template-rows: 100%;\\\\n}\\\\n\\\\n.pagedjs_margin-bottom-left-corner-holder {\\\\n\\\\twidth: var(--pagedjs-margin-left);\\\\n\\\\theight: var(--pagedjs-margin-bottom);\\\\n\\\\tdisplay: flex;\\\\n\\\\tgrid-column: left;\\\\n\\\\tgrid-row: footer;\\\\n}\\\\n\\\\n.pagedjs_margin-bottom-right-corner-holder {\\\\n\\\\twidth: var(--pagedjs-margin-right);\\\\n\\\\theight: var(--pagedjs-margin-bottom);\\\\n\\\\tdisplay: flex;\\\\n\\\\tgrid-column: right;\\\\n\\\\tgrid-row: footer;\\\\n}\\\\n\\\\n.pagedjs_margin-bottom-left-corner {\\\\n\\\\twidth: var(--pagedjs-margin-left);\\\\n}\\\\n\\\\n.pagedjs_margin-bottom-right-corner {\\\\n\\\\twidth: var(--pagedjs-margin-right);\\\\n}\\\\n\\\\n\\\\n\\\\n.pagedjs_margin-left {\\\\n\\\\theight: calc(var(--pagedjs-pagebox-height) - var(--pagedjs-margin-top) - var(--pagedjs-margin-bottom));\\\\n\\\\twidth: var(--pagedjs-margin-left);\\\\n\\\\tgrid-column: left;\\\\n\\\\tgrid-row: page;\\\\n\\\\tdisplay: grid;\\\\n\\\\tgrid-template-rows: repeat(3, 33.33333%);\\\\n\\\\tgrid-template-columns: 100%;\\\\n}\\\\n\\\\n.pagedjs_pages .pagedjs_pagebox .pagedjs_margin:not(.hasContent) {\\\\n\\\\tvisibility: hidden;\\\\n}\\\\n\\\\n.pagedjs_pagebox > .pagedjs_area {\\\\n\\\\tgrid-column: center;\\\\n\\\\tgrid-row: page;\\\\n\\\\twidth: 100%;\\\\n\\\\theight: 100%;\\\\n\\\\tpadding: var(--pagedjs-padding-top) var(--pagedjs-padding-right) var(--pagedjs-padding-bottom) var(--pagedjs-padding-left);\\\\n\\\\tborder-top: var(--pagedjs-border-top);\\\\n\\\\tborder-right: var(--pagedjs-border-right);\\\\n\\\\tborder-bottom: var(--pagedjs-border-bottom);\\\\n\\\\tborder-left: var(--pagedjs-border-left);\\\\n}\\\\n\\\\n.pagedjs_pagebox > .pagedjs_area > .pagedjs_page_content {\\\\n\\\\twidth: 100%;\\\\n\\\\theight: calc(100% - var(--pagedjs-footnotes-height));\\\\n\\\\tposition: relative;\\\\n\\\\tcolumn-fill: auto;\\\\n}\\\\n\\\\n.pagedjs_pagebox > .pagedjs_area > .pagedjs_page_content > div {\\\\n\\\\theight: inherit;\\\\n}\\\\n\\\\n.pagedjs_pagebox > .pagedjs_area > .pagedjs_footnote_area {\\\\n\\\\tposition: relative;\\\\n\\\\toverflow: hidden;\\\\n\\\\theight: var(--pagedjs-footnotes-height);\\\\n\\\\tdisplay: flex;\\\\n justify-content: flex-end;\\\\n flex-flow: column;\\\\n}\\\\n\\\\n.pagedjs_pagebox > .pagedjs_area > .pagedjs_footnote_area > .pagedjs_footnote_content {\\\\n\\\\toverflow: hidden;\\\\n}\\\\n\\\\n.pagedjs_pagebox > .pagedjs_area > .pagedjs_footnote_area > .pagedjs_footnote_inner_content {\\\\n\\\\toverflow: hidden;\\\\n}\\\\n\\\\n.pagedjs_area [data-footnote-call] {\\\\n\\\\tall: unset;\\\\n\\\\tcounter-increment: footnote;\\\\n}\\\\n\\\\n.pagedjs_area [data-split-from] {\\\\n\\\\tcounter-increment: unset;\\\\n\\\\tcounter-reset: unset;\\\\n}\\\\n\\\\n[data-footnote-call]::after {\\\\n\\\\tvertical-align: super;\\\\n\\\\tfont-size: 65%;\\\\n\\\\tline-height: normal;\\\\n\\\\tcontent: counter(footnote);\\\\n}\\\\n\\\\n@supports ( font-variant-position: super ) {\\\\n\\\\t[data-footnote-call]::after {\\\\n\\\\t\\\\tvertical-align: baseline;\\\\n\\\\t\\\\tfont-size: 100%;\\\\n\\\\t\\\\tline-height: inherit;\\\\n\\\\t\\\\tfont-variant-position: super;\\\\n\\\\t}\\\\n}\\\\n\\\\n.pagedjs_footnote_empty {\\\\n\\\\tdisplay: none;\\\\n}\\\\n\\\\n.pagedjs_area [data-split-from] {\\\\n\\\\tcounter-increment: unset;\\\\n\\\\tcounter-reset: unset;\\\\n}\\\\n\\\\n[data-footnote-marker] {\\\\n\\\\ttext-indent: 0;\\\\n\\\\tdisplay: list-item;\\\\n\\\\tlist-style-position: inside;\\\\n}\\\\n\\\\n[data-footnote-marker][data-split-from] {\\\\n\\\\tlist-style: none;\\\\n}\\\\n\\\\n[data-footnote-marker]:not([data-split-from]) {\\\\n\\\\tcounter-increment: footnote-marker;\\\\n}\\\\n\\\\n[data-footnote-marker]::marker {\\\\n\\\\tcontent: counter(footnote-marker) \\\". \\\";\\\\n}\\\\n\\\\n[data-footnote-marker][data-split-from]::marker {\\\\n\\\\tcontent: unset;\\\\n}\\\\n\\\\n.pagedjs_area .pagedjs_footnote_inner_content [data-note-display=\\\"inline\\\"] {\\\\n \\\\tdisplay: inline;\\\\n}\\\\n\\\\n.pagedjs_page {\\\\n\\\\tcounter-increment: page var(--pagedjs-page-counter-increment);\\\\n\\\\twidth: var(--pagedjs-width);\\\\n\\\\theight: var(--pagedjs-height);\\\\n}\\\\n\\\\n.pagedjs_page.pagedjs_right_page {\\\\n\\\\twidth: var(--pagedjs-width-right);\\\\n\\\\theight: var(--pagedjs-height-right);\\\\n}\\\\n\\\\n.pagedjs_page.pagedjs_left_page {\\\\n\\\\twidth: var(--pagedjs-width-left);\\\\n\\\\theight: var(--pagedjs-height-left);\\\\n}\\\\n\\\\n.pagedjs_pages {\\\\n\\\\tcounter-reset: pages var(--pagedjs-page-count) footnote var(--pagedjs-footnotes-count) footnote-marker var(--pagedjs-footnotes-count);\\\\n}\\\\n\\\\n.pagedjs_pagebox .pagedjs_margin-top-left-corner,\\\\n.pagedjs_pagebox .pagedjs_margin-top-right-corner,\\\\n.pagedjs_pagebox .pagedjs_margin-bottom-left-corner,\\\\n.pagedjs_pagebox .pagedjs_margin-bottom-right-corner,\\\\n.pagedjs_pagebox .pagedjs_margin-top-left,\\\\n.pagedjs_pagebox .pagedjs_margin-top-right,\\\\n.pagedjs_pagebox .pagedjs_margin-bottom-left,\\\\n.pagedjs_pagebox .pagedjs_margin-bottom-right,\\\\n.pagedjs_pagebox .pagedjs_margin-top-center,\\\\n.pagedjs_pagebox .pagedjs_margin-bottom-center,\\\\n.pagedjs_pagebox .pagedjs_margin-top-center,\\\\n.pagedjs_pagebox .pagedjs_margin-bottom-center,\\\\n.pagedjs_margin-right-middle,\\\\n.pagedjs_margin-left-middle {\\\\n\\\\tdisplay: flex;\\\\n\\\\talign-items: center;\\\\n}\\\\n\\\\n.pagedjs_margin-right-top,\\\\n.pagedjs_margin-left-top {\\\\n\\\\tdisplay: flex;\\\\n\\\\talign-items: flex-top;\\\\n}\\\\n\\\\n\\\\n.pagedjs_margin-right-bottom,\\\\n.pagedjs_margin-left-bottom {\\\\n\\\\tdisplay: flex;\\\\n\\\\talign-items: flex-end;\\\\n}\\\\n\\\\n\\\\n\\\\n/*\\\\n.pagedjs_pagebox .pagedjs_margin-top-center,\\\\n.pagedjs_pagebox .pagedjs_margin-bottom-center {\\\\n\\\\theight: 100%;\\\\n\\\\tdisplay: none;\\\\n\\\\talign-items: center;\\\\n\\\\tflex: 1 0 33%;\\\\n\\\\tmargin: 0 auto;\\\\n}\\\\n\\\\n.pagedjs_pagebox .pagedjs_margin-top-left-corner,\\\\n.pagedjs_pagebox .pagedjs_margin-top-right-corner,\\\\n.pagedjs_pagebox .pagedjs_margin-bottom-right-corner,\\\\n.pagedjs_pagebox .pagedjs_margin-bottom-left-corner {\\\\n\\\\tdisplay: none;\\\\n\\\\talign-items: center;\\\\n}\\\\n\\\\n.pagedjs_pagebox .pagedjs_margin-left-top,\\\\n.pagedjs_pagebox .pagedjs_margin-right-top {\\\\n\\\\tdisplay: none;\\\\n\\\\talign-items: flex-start;\\\\n}\\\\n\\\\n.pagedjs_pagebox .pagedjs_margin-right-middle,\\\\n.pagedjs_pagebox .pagedjs_margin-left-middle {\\\\n\\\\tdisplay: none;\\\\n\\\\talign-items: center;\\\\n}\\\\n\\\\n.pagedjs_pagebox .pagedjs_margin-left-bottom,\\\\n.pagedjs_pagebox .pagedjs_margin-right-bottom {\\\\n\\\\tdisplay: none;\\\\n\\\\talign-items: flex-end;\\\\n}\\\\n*/\\\\n\\\\n.pagedjs_pagebox .pagedjs_margin-top-left,\\\\n.pagedjs_pagebox .pagedjs_margin-top-right-corner,\\\\n.pagedjs_pagebox .pagedjs_margin-bottom-left,\\\\n.pagedjs_pagebox .pagedjs_margin-bottom-right-corner { text-align: left; }\\\\n\\\\n.pagedjs_pagebox .pagedjs_margin-top-left-corner,\\\\n.pagedjs_pagebox .pagedjs_margin-top-right,\\\\n.pagedjs_pagebox .pagedjs_margin-bottom-left-corner,\\\\n.pagedjs_pagebox .pagedjs_margin-bottom-right { text-align: right; }\\\\n\\\\n.pagedjs_pagebox .pagedjs_margin-top-center,\\\\n.pagedjs_pagebox .pagedjs_margin-bottom-center,\\\\n.pagedjs_pagebox .pagedjs_margin-left-top,\\\\n.pagedjs_pagebox .pagedjs_margin-left-middle,\\\\n.pagedjs_pagebox .pagedjs_margin-left-bottom,\\\\n.pagedjs_pagebox .pagedjs_margin-right-top,\\\\n.pagedjs_pagebox .pagedjs_margin-right-middle,\\\\n.pagedjs_pagebox .pagedjs_margin-right-bottom { text-align: center; }\\\\n\\\\n.pagedjs_pages .pagedjs_margin .pagedjs_margin-content {\\\\n\\\\twidth: 100%;\\\\n}\\\\n\\\\n.pagedjs_pages .pagedjs_margin-left .pagedjs_margin-content::after,\\\\n.pagedjs_pages .pagedjs_margin-top .pagedjs_margin-content::after,\\\\n.pagedjs_pages .pagedjs_margin-right .pagedjs_margin-content::after,\\\\n.pagedjs_pages .pagedjs_margin-bottom .pagedjs_margin-content::after {\\\\n\\\\tdisplay: block;\\\\n}\\\\n\\\\n.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-to] {\\\\n\\\\tmargin-bottom: unset;\\\\n\\\\tpadding-bottom: unset;\\\\n}\\\\n\\\\n.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from] {\\\\n\\\\ttext-indent: unset;\\\\n\\\\tmargin-top: unset;\\\\n\\\\tpadding-top: unset;\\\\n\\\\tinitial-letter: unset;\\\\n}\\\\n\\\\n.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from] > *::first-letter,\\\\n.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from]::first-letter {\\\\n\\\\tcolor: unset;\\\\n\\\\tfont-size: unset;\\\\n\\\\tfont-weight: unset;\\\\n\\\\tfont-family: unset;\\\\n\\\\tcolor: unset;\\\\n\\\\tline-height: unset;\\\\n\\\\tfloat: unset;\\\\n\\\\tpadding: unset;\\\\n\\\\tmargin: unset;\\\\n}\\\\n\\\\n.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-to]:not([data-footnote-call]):after,\\\\n.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-to]:not([data-footnote-call])::after {\\\\n\\\\tcontent: unset;\\\\n}\\\\n\\\\n.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from]:not([data-footnote-call]):before,\\\\n.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from]:not([data-footnote-call])::before {\\\\n\\\\tcontent: unset;\\\\n}\\\\n\\\\n.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div li[data-split-from]:first-of-type {\\\\n\\\\tlist-style: none;\\\\n}\\\\n\\\\n/*\\\\n[data-page]:not([data-split-from]),\\\\n[data-break-before=\\\"page\\\"]:not([data-split-from]),\\\\n[data-break-before=\\\"always\\\"]:not([data-split-from]),\\\\n[data-break-before=\\\"left\\\"]:not([data-split-from]),\\\\n[data-break-before=\\\"right\\\"]:not([data-split-from]),\\\\n[data-break-before=\\\"recto\\\"]:not([data-split-from]),\\\\n[data-break-before=\\\"verso\\\"]:not([data-split-from])\\\\n{\\\\n\\\\tbreak-before: column;\\\\n}\\\\n\\\\n[data-page]:not([data-split-to]),\\\\n[data-break-after=\\\"page\\\"]:not([data-split-to]),\\\\n[data-break-after=\\\"always\\\"]:not([data-split-to]),\\\\n[data-break-after=\\\"left\\\"]:not([data-split-to]),\\\\n[data-break-after=\\\"right\\\"]:not([data-split-to]),\\\\n[data-break-after=\\\"recto\\\"]:not([data-split-to]),\\\\n[data-break-after=\\\"verso\\\"]:not([data-split-to])\\\\n{\\\\n\\\\tbreak-after: column;\\\\n}\\\\n*/\\\\n\\\\n.pagedjs_clear-after::after {\\\\n\\\\tcontent: none !important;\\\\n}\\\\n\\\\n[data-align-last-split-element=\\\\'justify\\\\'] {\\\\n\\\\ttext-align-last: justify;\\\\n}\\\\n\\\\n\\\\n@media print {\\\\n\\\\thtml {\\\\n\\\\t\\\\twidth: 100%;\\\\n\\\\t\\\\theight: 100%;\\\\n\\\\t\\\\t-webkit-print-color-adjust: exact;\\\\n\\\\t\\\\tprint-color-adjust: exact;\\\\n\\\\t}\\\\n\\\\tbody {\\\\n\\\\t\\\\tmargin: 0;\\\\n\\\\t\\\\tpadding: 0;\\\\n\\\\t\\\\twidth: 100% !important;\\\\n\\\\t\\\\theight: 100% !important;\\\\n\\\\t\\\\tmin-width: 100%;\\\\n\\\\t\\\\tmax-width: 100%;\\\\n\\\\t\\\\tmin-height: 100%;\\\\n\\\\t\\\\tmax-height: 100%;\\\\n\\\\t}\\\\n\\\\t.pagedjs_pages {\\\\n\\\\t\\\\twidth: auto;\\\\n\\\\t\\\\tdisplay: block !important;\\\\n\\\\t\\\\ttransform: none !important;\\\\n\\\\t\\\\theight: 100% !important;\\\\n\\\\t\\\\tmin-height: 100%;\\\\n\\\\t\\\\tmax-height: 100%;\\\\n\\\\t\\\\toverflow: visible;\\\\n\\\\t}\\\\n\\\\t.pagedjs_page {\\\\n\\\\t\\\\tmargin: 0;\\\\n\\\\t\\\\tpadding: 0;\\\\n\\\\t\\\\tmax-height: 100%;\\\\n\\\\t\\\\tmin-height: 100%;\\\\n\\\\t\\\\theight: 100% !important;\\\\n\\\\t\\\\tpage-break-after: always;\\\\n\\\\t\\\\tbreak-after: page;\\\\n\\\\t}\\\\n\\\\t.pagedjs_sheet {\\\\n\\\\t\\\\tmargin: 0;\\\\n\\\\t\\\\tpadding: 0;\\\\n\\\\t\\\\tmax-height: 100%;\\\\n\\\\t\\\\tmin-height: 100%;\\\\n\\\\t\\\\theight: 100% !important;\\\\n\\\\t}\\\\n}\\\\n'),this.styleEl=document.createElement(\\\"style\\\"),document.head.appendChild(this.styleEl),this.styleSheet=this.styleEl.sheet,this.styleSheet}async add(){let e=[],t=[];for(var n=0;n<arguments.length;n++){let r;if(\\\"object\\\"==typeof arguments[n])for(let e in arguments[n]){let a=arguments[n];r=new Promise((function(n,r){t.push(e),n(a[e])}))}else t.push(arguments[n]),r=xu(arguments[n]).then((e=>e.text()));e.push(r)}return await Promise.all(e).then((async e=>{let n=\\\"\\\";for(let r=0;r<e.length;r++)n=await this.convertViaSheet(e[r],t[r]),this.insert(n);return n}))}async convertViaSheet(e,t){let n=new vu(t,this.hooks);await n.parse(e);for(let e of n.imported){let t=await xu(e).then((e=>e.text())),n=await this.convertViaSheet(t,e);this.insert(n)}return this.sheets.push(n),void 0!==n.width&&(this.width=n.width),void 0!==n.height&&(this.height=n.height),void 0!==n.orientation&&(this.orientation=n.orientation),n.toString()}insert(e){let t=document.querySelector(\\\"head\\\"),n=document.createElement(\\\"style\\\");return n.setAttribute(\\\"data-pagedjs-inserted-styles\\\",\\\"true\\\"),n.appendChild(document.createTextNode(e)),t.appendChild(n),this.inserted.push(n),n}destroy(){this.styleEl.remove(),this.inserted.forEach((e=>{e.remove()})),this.sheets=[]}}class wu{constructor(e,t,n){let r=Object.assign({},e&&e.hooks,t&&t.hooks,n&&n.hooks);this.chunker=e,this.polisher=t,this.caller=n;for(let e in r)if(e in this){r[e].register(this[e].bind(this))}}}L(wu.prototype);var Cu={A0:{width:{value:841,unit:\\\"mm\\\"},height:{value:1189,unit:\\\"mm\\\"}},A1:{width:{value:594,unit:\\\"mm\\\"},height:{value:841,unit:\\\"mm\\\"}},A2:{width:{value:420,unit:\\\"mm\\\"},height:{value:594,unit:\\\"mm\\\"}},A3:{width:{value:297,unit:\\\"mm\\\"},height:{value:420,unit:\\\"mm\\\"}},A4:{width:{value:210,unit:\\\"mm\\\"},height:{value:297,unit:\\\"mm\\\"}},A5:{width:{value:148,unit:\\\"mm\\\"},height:{value:210,unit:\\\"mm\\\"}},A6:{width:{value:105,unit:\\\"mm\\\"},height:{value:148,unit:\\\"mm\\\"}},A7:{width:{value:74,unit:\\\"mm\\\"},height:{value:105,unit:\\\"mm\\\"}},A8:{width:{value:52,unit:\\\"mm\\\"},height:{value:74,unit:\\\"mm\\\"}},A9:{width:{value:37,unit:\\\"mm\\\"},height:{value:52,unit:\\\"mm\\\"}},A10:{width:{value:26,unit:\\\"mm\\\"},height:{value:37,unit:\\\"mm\\\"}},B4:{width:{value:250,unit:\\\"mm\\\"},height:{value:353,unit:\\\"mm\\\"}},B5:{width:{value:176,unit:\\\"mm\\\"},height:{value:250,unit:\\\"mm\\\"}},letter:{width:{value:8.5,unit:\\\"in\\\"},height:{value:11,unit:\\\"in\\\"}},legal:{width:{value:8.5,unit:\\\"in\\\"},height:{value:14,unit:\\\"in\\\"}},ledger:{width:{value:11,unit:\\\"in\\\"},height:{value:17,unit:\\\"in\\\"}}};var Tu=[class extends wu{constructor(e,t,n){super(e,t,n)}onAtMedia(e,t,n){let r,a=this.getMediaName(e);a.includes(\\\"print\\\")?(r=e.block.children,n.appendList(r),n.remove(t)):a.includes(\\\"all\\\")||a.includes(\\\"pagedjs-ignore\\\")||n.remove(t)}getMediaName(e){let t=[];if(void 0!==e.prelude&&\\\"AtrulePrelude\\\"===e.prelude.type)return Su.walk(e.prelude,{visit:\\\"Identifier\\\",enter:(e,n,r)=>{t.push(e.name)}}),t}},class extends wu{constructor(e,t,n){super(e,t,n),this.pages={},this.width=void 0,this.height=void 0,this.orientation=void 0,this.marginalia={}}pageModel(e){return{selector:e,name:void 0,psuedo:void 0,nth:void 0,marginalia:{},width:void 0,height:void 0,orientation:void 0,margin:{top:{},right:{},left:{},bottom:{}},padding:{top:{},right:{},left:{},bottom:{}},border:{top:{},right:{},left:{},bottom:{}},backgroundOrigin:void 0,block:{},marks:void 0,notes:void 0,added:!1}}onAtPage(e,t,n){let r,a,i,o,s,l=\\\"\\\",d=!1;e.prelude?(i=this.getTypeSelector(e),o=this.getPsuedoSelector(e),s=this.getNthSelector(e),l=Su.generate(e.prelude)):l=\\\"*\\\",l in this.pages?(r=this.pages[l],a=this.replaceMarginalia(e),d=!0,r.added=!1):(r=this.pageModel(l),a=this.replaceMarginalia(e),this.pages[l]=r),r.name=i,r.psuedo=o,r.nth=s,r.marginalia=d?Object.assign(r.marginalia,a):a;let p=this.replaceNotes(e);r.notes=p;let c=this.replaceDeclarations(e);if(c.size&&(r.size=c.size,r.width=c.size.width,r.height=c.size.height,r.orientation=c.size.orientation,r.format=c.size.format),c.bleed&&\\\"auto\\\"!=c.bleed[0])switch(c.bleed.length){case 4:r.bleed={top:c.bleed[0],right:c.bleed[1],bottom:c.bleed[2],left:c.bleed[3]};break;case 3:r.bleed={top:c.bleed[0],right:c.bleed[1],bottom:c.bleed[2],left:c.bleed[1]};break;case 2:r.bleed={top:c.bleed[0],right:c.bleed[1],bottom:c.bleed[0],left:c.bleed[1]};break;default:r.bleed={top:c.bleed[0],right:c.bleed[0],bottom:c.bleed[0],left:c.bleed[0]}}c.marks&&((!c.bleed||c.bleed&&\\\"auto\\\"===c.bleed[0])&&(r.bleed={top:{value:6,unit:\\\"mm\\\"},right:{value:6,unit:\\\"mm\\\"},bottom:{value:6,unit:\\\"mm\\\"},left:{value:6,unit:\\\"mm\\\"}}),r.marks=c.marks),c.margin&&(r.margin=c.margin),c.padding&&(r.padding=c.padding),c.border&&(r.border=c.border),c.marks&&(r.marks=c.marks),d?r.block.children.appendList(e.block.children):r.block=e.block,n.remove(t)}afterTreeWalk(e,t){let n=\\\"*\\\"in this.pages&&!1===this.pages[\\\"*\\\"].added;if(this.addPageClasses(this.pages,e,t),n){let t,n,r=this.pages[\\\"*\\\"].width,a=this.pages[\\\"*\\\"].height,i=this.pages[\\\"*\\\"].format,o=this.pages[\\\"*\\\"].orientation,s=this.pages[\\\"*\\\"].bleed,l=this.pages[\\\"*\\\"].marks;\\\":left\\\"in this.pages&&(t=this.pages[\\\":left\\\"].bleed),\\\":right\\\"in this.pages&&(n=this.pages[\\\":right\\\"].bleed),r&&a&&(this.width!==r||this.height!==a)&&(this.width=r,this.height=a,this.format=i,this.orientation=o,this.addRootVars(e,r,a,o,s,n,t,l),this.addRootPage(e,this.pages[\\\"*\\\"].size,s,n,t),this.emit(\\\"size\\\",{width:r,height:a,orientation:o,format:i,bleed:s}),this.emit(\\\"atpages\\\",this.pages))}}getTypeSelector(e){let t;return Su.walk(e,{visit:\\\"TypeSelector\\\",enter:(e,n,r)=>{t=e.name}}),t}getPsuedoSelector(e){let t;return Su.walk(e,{visit:\\\"PseudoClassSelector\\\",enter:(e,n,r)=>{\\\"nth\\\"!==e.name&&(t=e.name)}}),t}getNthSelector(e){let t;return Su.walk(e,{visit:\\\"PseudoClassSelector\\\",enter:(e,n,r)=>{if(\\\"nth\\\"===e.name&&e.children){let n=e.children.first();t=n.value}}}),t}replaceMarginalia(e){let t={};const n=[\\\"top-left-corner\\\",\\\"top-left\\\",\\\"top\\\",\\\"top-center\\\",\\\"top-right\\\",\\\"top-right-corner\\\",\\\"bottom-left-corner\\\",\\\"bottom-left\\\",\\\"bottom\\\",\\\"bottom-center\\\",\\\"bottom-right\\\",\\\"bottom-right-corner\\\",\\\"left-top\\\",\\\"left-middle\\\",\\\"left\\\",\\\"left-bottom\\\",\\\"top-right-corner\\\",\\\"right-top\\\",\\\"right-middle\\\",\\\"right\\\",\\\"right-bottom\\\",\\\"right-right-corner\\\"];return Su.walk(e.block,{visit:\\\"Atrule\\\",enter:(e,r,a)=>{let i=e.name;n.includes(i)&&(\\\"top\\\"===i&&(i=\\\"top-center\\\"),\\\"right\\\"===i&&(i=\\\"right-middle\\\"),\\\"left\\\"===i&&(i=\\\"left-middle\\\"),\\\"bottom\\\"===i&&(i=\\\"bottom-center\\\"),t[i]=e.block,a.remove(r))}}),t}replaceNotes(e){let t={};return Su.walk(e.block,{visit:\\\"Atrule\\\",enter:(e,n,r)=>{let a=e.name;\\\"footnote\\\"===a&&(t[a]=e.block,r.remove(n))}}),t}replaceDeclarations(e){let t={};return Su.walk(e.block,{visit:\\\"Declaration\\\",enter:(e,n,r)=>{let a=Su.property(e.property).name;if(\\\"marks\\\"===a)t.marks=[],Su.walk(e,{visit:\\\"Identifier\\\",enter:e=>{t.marks.push(e.name)}}),r.remove(n);else if(\\\"margin\\\"===a)t.margin=this.getMargins(e),r.remove(n);else if(0===a.indexOf(\\\"margin-\\\")){let i=a.substring(\\\"margin-\\\".length);t.margin||(t.margin={top:{},right:{},left:{},bottom:{}}),t.margin[i]=e.value.children.first(),r.remove(n)}else if(\\\"padding\\\"===a)t.padding=this.getPaddings(e.value),r.remove(n);else if(0===a.indexOf(\\\"padding-\\\")){let i=a.substring(\\\"padding-\\\".length);t.padding||(t.padding={top:{},right:{},left:{},bottom:{}}),t.padding[i]=e.value.children.first(),r.remove(n)}else if(\\\"border\\\"===a)t.border||(t.border={top:{},right:{},left:{},bottom:{}}),t.border.top=Su.generate(e.value),t.border.right=Su.generate(e.value),t.border.left=Su.generate(e.value),t.border.bottom=Su.generate(e.value),r.remove(n);else if(0===a.indexOf(\\\"border-\\\")){t.border||(t.border={top:{},right:{},left:{},bottom:{}});let i=a.substring(\\\"border-\\\".length);t.border[i]=Su.generate(e.value),r.remove(n)}else\\\"size\\\"===a?(t.size=this.getSize(e),r.remove(n)):\\\"bleed\\\"===a&&(t.bleed=[],Su.walk(e,{enter:e=>{switch(e.type){case\\\"String\\\":e.value.indexOf(\\\"auto\\\")>-1&&t.bleed.push(\\\"auto\\\");break;case\\\"Dimension\\\":t.bleed.push({value:e.value,unit:e.unit});break;case\\\"Number\\\":t.bleed.push({value:e.value,unit:\\\"px\\\"})}}}),r.remove(n))}}),t}getSize(e){let t,n,r,a;return Su.walk(e,{visit:\\\"Dimension\\\",enter:(e,r,a)=>{let{value:i,unit:o}=e;void 0===t?t={value:i,unit:o}:void 0===n&&(n={value:i,unit:o})}}),Su.walk(e,{visit:\\\"String\\\",enter:(e,r,a)=>{let i=e.value.replace(/[\\\"|']/g,\\\"\\\"),o=Cu[i];o&&(t=o.width,n=o.height)}}),Su.walk(e,{visit:\\\"Identifier\\\",enter:(e,i,o)=>{let s=e.name;if(\\\"landscape\\\"===s||\\\"portrait\\\"===s)r=e.name;else if(\\\"auto\\\"!==s){let e=Cu[s];e&&(t=e.width,n=e.height),a=s}}}),{width:t,height:n,orientation:r,format:a}}getMargins(e){let t=[],n={top:{},right:{},left:{},bottom:{}};if(Su.walk(e,{enter:e=>{switch(e.type){case\\\"Dimension\\\":t.push(e);break;case\\\"Number\\\":t.push({value:e.value,unit:\\\"px\\\"})}}}),1===t.length)for(let e in n)n[e]=t[0];else 2===t.length?(n.top=t[0],n.right=t[1],n.bottom=t[0],n.left=t[1]):3===t.length?(n.top=t[0],n.right=t[1],n.bottom=t[2],n.left=t[1]):4===t.length&&(n.top=t[0],n.right=t[1],n.bottom=t[2],n.left=t[3]);return n}getPaddings(e){let t=[],n={top:{},right:{},left:{},bottom:{}};if(Su.walk(e,{enter:e=>{switch(e.type){case\\\"Dimension\\\":t.push(e);break;case\\\"Number\\\":t.push({value:e.value,unit:\\\"px\\\"})}}}),1===t.length)for(let e in n)n[e]=t[0];else 2===t.length?(n.top=t[0],n.right=t[1],n.bottom=t[0],n.left=t[1]):3===t.length?(n.top=t[0],n.right=t[1],n.bottom=t[2],n.left=t[1]):4===t.length&&(n.top=t[0],n.right=t[1],n.bottom=t[2],n.left=t[3]);return n}getBorders(e){let t={top:{},right:{},left:{},bottom:{}};return\\\"border\\\"==e.prop?(t.top=Su.generate(e.value),t.right=Su.generate(e.value),t.bottom=Su.generate(e.value),t.left=Su.generate(e.value)):\\\"border-top\\\"==e.prop?t.top=Su.generate(e.value):\\\"border-right\\\"==e.prop?t.right=Su.generate(e.value):\\\"border-bottom\\\"==e.prop?t.bottom=Su.generate(e.value):\\\"border-left\\\"==e.prop&&(t.left=Su.generate(e.value)),t}addPageClasses(e,t,n){if(\\\"*\\\"in e&&!1===e[\\\"*\\\"].added){let r=this.createPage(e[\\\"*\\\"],t.children,n);n.insertRule(r),e[\\\"*\\\"].added=!0}if(\\\":left\\\"in e&&!1===e[\\\":left\\\"].added){let r=this.createPage(e[\\\":left\\\"],t.children,n);n.insertRule(r),e[\\\":left\\\"].added=!0}if(\\\":right\\\"in e&&!1===e[\\\":right\\\"].added){let r=this.createPage(e[\\\":right\\\"],t.children,n);n.insertRule(r),e[\\\":right\\\"].added=!0}if(\\\":first\\\"in e&&!1===e[\\\":first\\\"].added){let r=this.createPage(e[\\\":first\\\"],t.children,n);n.insertRule(r),e[\\\":first\\\"].added=!0}if(\\\":blank\\\"in e&&!1===e[\\\":blank\\\"].added){let r=this.createPage(e[\\\":blank\\\"],t.children,n);n.insertRule(r),e[\\\":blank\\\"].added=!0}for(let r in e)if(e[r].nth&&!1===e[r].added){let a=this.createPage(e[r],t.children,n);n.insertRule(a),e[r].added=!0}for(let r in e)if(e[r].name&&!1===e[r].added){let a=this.createPage(e[r],t.children,n);n.insertRule(a),e[r].added=!0}}createPage(e,t,n){let r=this.selectorsForPage(e),a=e.block.children.copy(),i={type:\\\"Block\\\",loc:0,children:a},o=this.createRule(r,i);return this.addMarginVars(e.margin,a,a.first()),this.addPaddingVars(e.padding,a,a.first()),this.addBorderVars(e.border,a,a.first()),e.width&&this.addDimensions(e.width,e.height,e.orientation,a,a.first()),e.marginalia&&(this.addMarginaliaStyles(e,t,o,n),this.addMarginaliaContent(e,t,o,n)),e.notes&&this.addNotesStyles(e.notes,e,t,o,n),o}addMarginVars(e,t,n){for(let r in e)if(void 0!==e[r].value){let a=e[r].value+(e[r].unit||\\\"\\\"),i=t.createItem({type:\\\"Declaration\\\",property:\\\"--pagedjs-margin-\\\"+r,value:{type:\\\"Raw\\\",value:a}});t.append(i,n)}}addPaddingVars(e,t,n){for(let r in e)if(void 0!==e[r].value){let a=e[r].value+(e[r].unit||\\\"\\\"),i=t.createItem({type:\\\"Declaration\\\",property:\\\"--pagedjs-padding-\\\"+r,value:{type:\\\"Raw\\\",value:a}});t.append(i,n)}}addBorderVars(e,t,n){for(const r of Object.keys(e)){const a=e[r];if(\\\"string\\\"==typeof a){const e=t.createItem({type:\\\"Declaration\\\",property:\\\"--pagedjs-border-\\\"+r,value:{type:\\\"Raw\\\",value:a}});t.append(e,n)}}}addDimensions(e,t,n,r,a){let i,o;i=G(e),o=G(t),n&&\\\"portrait\\\"!==n&&([i,o]=[o,i]);let s=this.createVariable(\\\"--pagedjs-pagebox-width\\\",i);r.appendData(s);let l=this.createVariable(\\\"--pagedjs-pagebox-height\\\",o);r.appendData(l)}addMarginaliaStyles(e,t,n,r){for(let n in e.marginalia){let r=Su.clone(e.marginalia[n]),a=!1;if(r.children.isEmpty())continue;Su.walk(r,{visit:\\\"Declaration\\\",enter:(e,t,r)=>{if(\\\"content\\\"===e.property&&(a=!e.value.children||\\\"none\\\"!==e.value.children.first().name,r.remove(t)),\\\"vertical-align\\\"===e.property&&(Su.walk(e,{visit:\\\"Identifier\\\",enter:(e,t,n)=>{let r=e.name;\\\"top\\\"===r?e.name=\\\"flex-start\\\":\\\"middle\\\"===r?e.name=\\\"center\\\":\\\"bottom\\\"===r&&(e.name=\\\"flex-end\\\")}}),e.property=\\\"align-items\\\"),\\\"width\\\"===e.property&&(\\\"top-left\\\"===n||\\\"top-center\\\"===n||\\\"top-right\\\"===n||\\\"bottom-left\\\"===n||\\\"bottom-center\\\"===n||\\\"bottom-right\\\"===n)){let t=Su.clone(e);t.property=\\\"max-width\\\",r.appendData(t)}if(\\\"height\\\"===e.property&&(\\\"left-top\\\"===n||\\\"left-middle\\\"===n||\\\"left-bottom\\\"===n||\\\"right-top\\\"===n||\\\"right-middle\\\"===n||\\\"right-bottom\\\"===n)){let t=Su.clone(e);t.property=\\\"max-height\\\",r.appendData(t)}}});let i=this.selectorsForPageMargin(e,n),o=this.createRule(i,r);t.appendData(o);let s=Su.generate({type:\\\"Selector\\\",children:i});this.marginalia[s]={page:e,selector:s,block:e.marginalia[n],hasContent:a}}}addMarginaliaContent(e,t,n,r){let a;for(let t in e.marginalia){let n=Su.clone(e.marginalia[t]);if(Su.walk(n,{visit:\\\"Declaration\\\",enter:(e,t,n)=>{\\\"content\\\"!==e.property&&n.remove(t),e.value.children&&\\\"none\\\"===e.value.children.first().name&&(a=!0)}}),n.children.isEmpty())continue;let i,o=this.selectorsForPageMargin(e,t);o.insertData({type:\\\"Combinator\\\",name:\\\">\\\"}),o.insertData({type:\\\"ClassSelector\\\",name:\\\"pagedjs_margin-content\\\"}),o.insertData({type:\\\"Combinator\\\",name:\\\">\\\"}),o.insertData({type:\\\"TypeSelector\\\",name:\\\"*\\\"}),i=a?this.createDeclaration(\\\"display\\\",\\\"none\\\"):this.createDeclaration(\\\"display\\\",\\\"block\\\");let s=this.createRule(o,[i]);r.insertRule(s);let l=this.selectorsForPageMargin(e,t);l.insertData({type:\\\"Combinator\\\",name:\\\">\\\"}),l.insertData({type:\\\"ClassSelector\\\",name:\\\"pagedjs_margin-content\\\"}),l.insertData({type:\\\"PseudoElementSelector\\\",name:\\\"after\\\",children:null});let d=this.createRule(l,n);r.insertRule(d)}}addRootVars(e,t,n,r,a,i,o,s){let l,d,p,c,u,m,h=[],g=new Su.List;if(g.insertData({type:\\\"PseudoClassSelector\\\",name:\\\"root\\\",children:null}),a){l=`calc( ${G(t)} + ${G(a.left)} + ${G(a.right)} )`,d=`calc( ${G(n)} + ${G(a.top)} + ${G(a.bottom)} )`,p=`calc( ${G(t)} + ${G(a.left)} + ${G(a.right)} )`,c=`calc( ${G(n)} + ${G(a.top)} + ${G(a.bottom)} )`,u=`calc( ${G(t)} + ${G(a.left)} + ${G(a.right)} )`,m=`calc( ${G(n)} + ${G(a.top)} + ${G(a.bottom)} )`;let e=this.createVariable(\\\"--pagedjs-bleed-top\\\",G(a.top)),r=this.createVariable(\\\"--pagedjs-bleed-right\\\",G(a.right)),s=this.createVariable(\\\"--pagedjs-bleed-bottom\\\",G(a.bottom)),g=this.createVariable(\\\"--pagedjs-bleed-left\\\",G(a.left)),f=this.createVariable(\\\"--pagedjs-bleed-right-top\\\",G(a.top)),y=this.createVariable(\\\"--pagedjs-bleed-right-right\\\",G(a.right)),b=this.createVariable(\\\"--pagedjs-bleed-right-bottom\\\",G(a.bottom)),S=this.createVariable(\\\"--pagedjs-bleed-right-left\\\",G(a.left)),v=this.createVariable(\\\"--pagedjs-bleed-left-top\\\",G(a.top)),x=this.createVariable(\\\"--pagedjs-bleed-left-right\\\",G(a.right)),k=this.createVariable(\\\"--pagedjs-bleed-left-bottom\\\",G(a.bottom)),w=this.createVariable(\\\"--pagedjs-bleed-left-left\\\",G(a.left));i&&(f=this.createVariable(\\\"--pagedjs-bleed-right-top\\\",G(i.top)),y=this.createVariable(\\\"--pagedjs-bleed-right-right\\\",G(i.right)),b=this.createVariable(\\\"--pagedjs-bleed-right-bottom\\\",G(i.bottom)),S=this.createVariable(\\\"--pagedjs-bleed-right-left\\\",G(i.left)),p=`calc( ${G(t)} + ${G(i.left)} + ${G(i.right)} )`,c=`calc( ${G(n)} + ${G(i.top)} + ${G(i.bottom)} )`),o&&(v=this.createVariable(\\\"--pagedjs-bleed-left-top\\\",G(o.top)),x=this.createVariable(\\\"--pagedjs-bleed-left-right\\\",G(o.right)),k=this.createVariable(\\\"--pagedjs-bleed-left-bottom\\\",G(o.bottom)),w=this.createVariable(\\\"--pagedjs-bleed-left-left\\\",G(o.left)),u=`calc( ${G(t)} + ${G(o.left)} + ${G(o.right)} )`,m=`calc( ${G(n)} + ${G(o.top)} + ${G(o.bottom)} )`);let C=this.createVariable(\\\"--pagedjs-width\\\",G(t)),T=this.createVariable(\\\"--pagedjs-height\\\",G(n));h.push(e,r,s,g,f,y,b,S,v,x,k,w,C,T)}else l=G(t),d=G(n),p=G(t),c=G(n),u=G(t),m=G(n);if(s&&s.forEach((e=>{let t=this.createVariable(\\\"--pagedjs-mark-\\\"+e+\\\"-display\\\",\\\"block\\\");h.push(t)})),r){let e=this.createVariable(\\\"--pagedjs-orientation\\\",r);h.push(e),\\\"portrait\\\"!==r&&([l,d]=[d,l],[p,c]=[c,p],[u,m]=[m,u])}let f=this.createVariable(\\\"--pagedjs-width\\\",l),y=this.createVariable(\\\"--pagedjs-height\\\",d),b=this.createVariable(\\\"--pagedjs-width-right\\\",p),S=this.createVariable(\\\"--pagedjs-height-right\\\",c),v=this.createVariable(\\\"--pagedjs-width-left\\\",u),x=this.createVariable(\\\"--pagedjs-height-left\\\",m);h.push(f,y,b,S,v,x);let k=this.createRule(g,h);e.children.appendData(k)}addNotesStyles(e,t,n,r,a){for(const r in e){let a=this.selectorsForPage(t);a.insertData({type:\\\"Combinator\\\",name:\\\" \\\"}),a.insertData({type:\\\"ClassSelector\\\",name:\\\"pagedjs_\\\"+r+\\\"_content\\\"});let i=this.createRule(a,e[r]);n.appendData(i)}}addRootPage(e,t,n,r,a){let{width:i,height:o,orientation:s,format:l}=t,d=new Su.List,p=new Su.List,c=new Su.List,u=new Su.List,m=new Su.List,h=new Su.List;if(n){let e=new Su.List,t=new Su.List;e.appendData({type:\\\"Dimension\\\",unit:i.unit,value:i.value}),e.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),e.appendData({type:\\\"Operator\\\",value:\\\"+\\\"}),e.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),e.appendData({type:\\\"Dimension\\\",unit:n.left.unit,value:n.left.value}),e.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),e.appendData({type:\\\"Operator\\\",value:\\\"+\\\"}),e.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),e.appendData({type:\\\"Dimension\\\",unit:n.right.unit,value:n.right.value}),t.appendData({type:\\\"Dimension\\\",unit:o.unit,value:o.value}),t.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),t.appendData({type:\\\"Operator\\\",value:\\\"+\\\"}),t.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),t.appendData({type:\\\"Dimension\\\",unit:n.top.unit,value:n.top.value}),t.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),t.appendData({type:\\\"Operator\\\",value:\\\"+\\\"}),t.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),t.appendData({type:\\\"Dimension\\\",unit:n.bottom.unit,value:n.bottom.value}),u.appendData({type:\\\"Function\\\",name:\\\"calc\\\",children:e}),u.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),u.appendData({type:\\\"Function\\\",name:\\\"calc\\\",children:t})}else l?(u.appendData({type:\\\"Identifier\\\",name:l}),s&&(u.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),u.appendData({type:\\\"Identifier\\\",name:s}))):(u.appendData({type:\\\"Dimension\\\",unit:i.unit,value:i.value}),u.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),u.appendData({type:\\\"Dimension\\\",unit:o.unit,value:o.value}));d.appendData({type:\\\"Declaration\\\",property:\\\"size\\\",loc:null,value:{type:\\\"Value\\\",children:u}}),d.appendData({type:\\\"Declaration\\\",property:\\\"margin\\\",loc:null,value:{type:\\\"Value\\\",children:[{type:\\\"Dimension\\\",unit:\\\"px\\\",value:0}]}}),d.appendData({type:\\\"Declaration\\\",property:\\\"padding\\\",loc:null,value:{type:\\\"Value\\\",children:[{type:\\\"Dimension\\\",unit:\\\"px\\\",value:0}]}}),d.appendData({type:\\\"Declaration\\\",property:\\\"padding\\\",loc:null,value:{type:\\\"Value\\\",children:[{type:\\\"Dimension\\\",unit:\\\"px\\\",value:0}]}});let g=e.children.createItem({type:\\\"Atrule\\\",prelude:null,name:\\\"page\\\",block:{type:\\\"Block\\\",loc:null,children:d}});if(e.children.append(g),a){let t=new Su.List,n=new Su.List;t.appendData({type:\\\"Dimension\\\",unit:i.unit,value:i.value}),t.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),t.appendData({type:\\\"Operator\\\",value:\\\"+\\\"}),t.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),t.appendData({type:\\\"Dimension\\\",unit:a.left.unit,value:a.left.value}),t.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),t.appendData({type:\\\"Operator\\\",value:\\\"+\\\"}),t.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),t.appendData({type:\\\"Dimension\\\",unit:a.right.unit,value:a.right.value}),n.appendData({type:\\\"Dimension\\\",unit:o.unit,value:o.value}),n.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),n.appendData({type:\\\"Operator\\\",value:\\\"+\\\"}),n.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),n.appendData({type:\\\"Dimension\\\",unit:a.top.unit,value:a.top.value}),n.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),n.appendData({type:\\\"Operator\\\",value:\\\"+\\\"}),n.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),n.appendData({type:\\\"Dimension\\\",unit:a.bottom.unit,value:a.bottom.value}),m.appendData({type:\\\"Function\\\",name:\\\"calc\\\",children:t}),m.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),m.appendData({type:\\\"Function\\\",name:\\\"calc\\\",children:n}),p.appendData({type:\\\"Declaration\\\",property:\\\"size\\\",loc:null,value:{type:\\\"Value\\\",children:m}});let r=e.children.createItem({type:\\\"Atrule\\\",prelude:null,name:\\\"page :left\\\",block:{type:\\\"Block\\\",loc:null,children:p}});e.children.append(r)}if(r){let t=new Su.List,n=new Su.List;t.appendData({type:\\\"Dimension\\\",unit:i.unit,value:i.value}),t.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),t.appendData({type:\\\"Operator\\\",value:\\\"+\\\"}),t.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),t.appendData({type:\\\"Dimension\\\",unit:r.left.unit,value:r.left.value}),t.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),t.appendData({type:\\\"Operator\\\",value:\\\"+\\\"}),t.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),t.appendData({type:\\\"Dimension\\\",unit:r.right.unit,value:r.right.value}),n.appendData({type:\\\"Dimension\\\",unit:o.unit,value:o.value}),n.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),n.appendData({type:\\\"Operator\\\",value:\\\"+\\\"}),n.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),n.appendData({type:\\\"Dimension\\\",unit:r.top.unit,value:r.top.value}),n.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),n.appendData({type:\\\"Operator\\\",value:\\\"+\\\"}),n.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),n.appendData({type:\\\"Dimension\\\",unit:r.bottom.unit,value:r.bottom.value}),h.appendData({type:\\\"Function\\\",name:\\\"calc\\\",children:t}),h.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),h.appendData({type:\\\"Function\\\",name:\\\"calc\\\",children:n}),c.appendData({type:\\\"Declaration\\\",property:\\\"size\\\",loc:null,value:{type:\\\"Value\\\",children:h}});let a=e.children.createItem({type:\\\"Atrule\\\",prelude:null,name:\\\"page :right\\\",block:{type:\\\"Block\\\",loc:null,children:c}});e.children.append(a)}}getNth(e){let t=e.indexOf(\\\"n\\\"),n=e.indexOf(\\\"+\\\"),r=e.split(\\\"n\\\"),a=e.split(\\\"+\\\"),i=null,o=null;return t>-1?(i=r[0],n>-1&&(o=a[1])):o=e,{type:\\\"Nth\\\",loc:null,selector:null,nth:{type:\\\"AnPlusB\\\",loc:null,a:i,b:o}}}addPageAttributes(e,t,n){let r=[t.dataset.page];if(r&&r.length)for(const n of r)n&&(e.name=n,e.element.classList.add(\\\"pagedjs_named_page\\\"),e.element.classList.add(\\\"pagedjs_\\\"+n+\\\"_page\\\"),t.dataset.splitFrom||e.element.classList.add(\\\"pagedjs_\\\"+n+\\\"_first_page\\\"))}getStartElement(e,t){let n=t&&t.node;if(!e&&!t)return;if(!n)return e.children[0];if(1===n.nodeType&&11===n.parentNode.nodeType)return n;if(1===n.nodeType&&n.dataset.page)return n;let r=J(n),a=r.querySelectorAll(\\\"[data-page]\\\");return a.length?a[a.length-1]:r.children[0]}beforePageLayout(e,t,n,r){let a=this.getStartElement(t,n);a&&this.addPageAttributes(e,a,r.pages)}finalizePage(e,t,n,r){for(let e in this.marginalia){let n,r=this.marginalia[e],a=e.split(\\\" \\\");t.element.matches(a[0])&&r.hasContent&&(n=t.element.querySelector(a[1]),n.classList.add(\\\"hasContent\\\"))}[\\\"top\\\",\\\"bottom\\\"].forEach((e=>{let n,r,a,i=t.element.querySelector(\\\".pagedjs_margin-\\\"+e),o=t.element.querySelector(\\\".pagedjs_margin-\\\"+e+\\\"-center\\\"),s=t.element.querySelector(\\\".pagedjs_margin-\\\"+e+\\\"-left\\\"),l=t.element.querySelector(\\\".pagedjs_margin-\\\"+e+\\\"-right\\\"),d=o.classList.contains(\\\"hasContent\\\"),p=s.classList.contains(\\\"hasContent\\\"),c=l.classList.contains(\\\"hasContent\\\");if(p&&(r=window.getComputedStyle(s)[\\\"max-width\\\"]),c&&(a=window.getComputedStyle(l)[\\\"max-width\\\"]),d)if(n=window.getComputedStyle(o)[\\\"max-width\\\"],\\\"none\\\"===n||\\\"auto\\\"===n)if(p||c)if(p)if(c)if(\\\"none\\\"!==r&&\\\"auto\\\"!==r)i.style[\\\"grid-template-columns\\\"]=\\\"none\\\"!==a&&\\\"auto\\\"!==a?r+\\\" 1fr \\\"+a:r+\\\" 1fr \\\"+r;else if(\\\"none\\\"!==a&&\\\"auto\\\"!==a)i.style[\\\"grid-template-columns\\\"]=a+\\\" 1fr \\\"+a;else{i.style[\\\"grid-template-columns\\\"]=\\\"auto auto 1fr\\\",s.style[\\\"white-space\\\"]=\\\"nowrap\\\",o.style[\\\"white-space\\\"]=\\\"nowrap\\\",l.style[\\\"white-space\\\"]=\\\"nowrap\\\";let e=s.offsetWidth,t=o.offsetWidth,n=100*t/(e+t+l.offsetWidth);i.style[\\\"grid-template-columns\\\"]=n>40?\\\"minmax(16.66%, 1fr) minmax(33%, \\\"+n+\\\"%) minmax(16.66%, 1fr)\\\":\\\"repeat(3, 1fr)\\\",s.style[\\\"white-space\\\"]=\\\"normal\\\",o.style[\\\"white-space\\\"]=\\\"normal\\\",l.style[\\\"white-space\\\"]=\\\"normal\\\"}else if(\\\"none\\\"!==r&&\\\"auto\\\"!==r)i.style[\\\"grid-template-columns\\\"]=r+\\\" 1fr \\\"+r;else{i.style[\\\"grid-template-columns\\\"]=\\\"auto auto 1fr\\\",s.style[\\\"white-space\\\"]=\\\"nowrap\\\",o.style[\\\"white-space\\\"]=\\\"nowrap\\\";let e=s.offsetWidth,t=o.offsetWidth,n=100*t/(e+t);i.style[\\\"grid-template-columns\\\"]=\\\"minmax(16.66%, 1fr) minmax(33%, \\\"+n+\\\"%) minmax(16.66%, 1fr)\\\",s.style[\\\"white-space\\\"]=\\\"normal\\\",o.style[\\\"white-space\\\"]=\\\"normal\\\"}else if(\\\"none\\\"!==a&&\\\"auto\\\"!==a)i.style[\\\"grid-template-columns\\\"]=a+\\\" 1fr \\\"+a;else{i.style[\\\"grid-template-columns\\\"]=\\\"auto auto 1fr\\\",l.style[\\\"white-space\\\"]=\\\"nowrap\\\",o.style[\\\"white-space\\\"]=\\\"nowrap\\\";let e=l.offsetWidth,t=o.offsetWidth,n=100*t/(e+t);i.style[\\\"grid-template-columns\\\"]=\\\"minmax(16.66%, 1fr) minmax(33%, \\\"+n+\\\"%) minmax(16.66%, 1fr)\\\",l.style[\\\"white-space\\\"]=\\\"normal\\\",o.style[\\\"white-space\\\"]=\\\"normal\\\"}else i.style[\\\"grid-template-columns\\\"]=\\\"0 1fr 0\\\";else\\\"none\\\"!==n&&\\\"auto\\\"!==n&&(i.style[\\\"grid-template-columns\\\"]=p&&\\\"none\\\"!==r&&\\\"auto\\\"!==r?r+\\\" \\\"+n+\\\" 1fr\\\":c&&\\\"none\\\"!==a&&\\\"auto\\\"!==a?\\\"1fr \\\"+n+\\\" \\\"+a:\\\"1fr \\\"+n+\\\" 1fr\\\");else if(p)if(c)if(\\\"none\\\"!==r&&\\\"auto\\\"!==r)i.style[\\\"grid-template-columns\\\"]=\\\"none\\\"!==a&&\\\"auto\\\"!==a?r+\\\" 1fr \\\"+a:r+\\\" 0 1fr\\\";else if(\\\"none\\\"!==a&&\\\"auto\\\"!==a)i.style[\\\"grid-template-columns\\\"]=\\\"1fr 0 \\\"+a;else{i.style[\\\"grid-template-columns\\\"]=\\\"auto 1fr auto\\\",s.style[\\\"white-space\\\"]=\\\"nowrap\\\",l.style[\\\"white-space\\\"]=\\\"nowrap\\\";let e=s.offsetWidth,t=100*e/(e+l.offsetWidth);i.style[\\\"grid-template-columns\\\"]=\\\"minmax(16.66%, \\\"+t+\\\"%) 0 1fr\\\",s.style[\\\"white-space\\\"]=\\\"normal\\\",l.style[\\\"white-space\\\"]=\\\"normal\\\"}else i.style[\\\"grid-template-columns\\\"]=\\\"1fr 0 0\\\";else i.style[\\\"grid-template-columns\\\"]=\\\"none\\\"!==a&&\\\"auto\\\"!==a?\\\"1fr 0 \\\"+a:\\\"0 0 1fr\\\"})),[\\\"left\\\",\\\"right\\\"].forEach((e=>{let n,r,a,i=t.element.querySelector(\\\".pagedjs_margin-\\\"+e+\\\"-middle.hasContent\\\"),o=t.element.querySelector(\\\".pagedjs_margin-\\\"+e),s=t.element.querySelector(\\\".pagedjs_margin-\\\"+e+\\\"-top\\\"),l=t.element.querySelector(\\\".pagedjs_margin-\\\"+e+\\\"-bottom\\\"),d=s.classList.contains(\\\"hasContent\\\"),p=l.classList.contains(\\\"hasContent\\\");d&&(r=window.getComputedStyle(s)[\\\"max-height\\\"]),p&&(a=window.getComputedStyle(l)[\\\"max-height\\\"]),i?(n=window.getComputedStyle(i)[\\\"max-height\\\"],\\\"none\\\"===n||\\\"auto\\\"===n?d||p?d?p?\\\"none\\\"!==r&&\\\"auto\\\"!==r?o.style[\\\"grid-template-rows\\\"]=\\\"none\\\"!==a&&\\\"auto\\\"!==a?r+\\\" calc(100% - \\\"+r+\\\" - \\\"+a+\\\") \\\"+a:r+\\\" calc(100% - \\\"+r+\\\"*2) \\\"+r:\\\"none\\\"!==a&&\\\"auto\\\"!==a&&(o.style[\\\"grid-template-rows\\\"]=a+\\\" calc(100% - \\\"+a+\\\"*2) \\\"+a):\\\"none\\\"!==r&&\\\"auto\\\"!==r&&(o.style[\\\"grid-template-rows\\\"]=r+\\\" calc(100% - \\\"+r+\\\"*2) \\\"+r):\\\"none\\\"!==a&&\\\"auto\\\"!==a&&(o.style[\\\"grid-template-rows\\\"]=a+\\\" calc(100% - \\\"+a+\\\"*2) \\\"+a):o.style[\\\"grid-template-rows\\\"]=\\\"0 1fr 0\\\":o.style[\\\"grid-template-rows\\\"]=d&&\\\"none\\\"!==r&&\\\"auto\\\"!==r?r+\\\" \\\"+n+\\\" calc(100% - (\\\"+r+\\\" + \\\"+n+\\\"))\\\":p&&\\\"none\\\"!==a&&\\\"auto\\\"!==a?\\\"1fr \\\"+n+\\\" \\\"+a:\\\"calc((100% - \\\"+n+\\\")/2) \\\"+n+\\\" calc((100% - \\\"+n+\\\")/2)\\\"):o.style[\\\"grid-template-rows\\\"]=d?p?\\\"none\\\"!==r&&\\\"auto\\\"!==r?\\\"none\\\"!==a&&\\\"auto\\\"!==a?r+\\\" 1fr \\\"+a:r+\\\" 0 1fr\\\":\\\"none\\\"!==a&&\\\"auto\\\"!==a?\\\"1fr 0 \\\"+a:\\\"1fr 0 1fr\\\":\\\"1fr 0 0\\\":\\\"none\\\"!==a&&\\\"auto\\\"!==a?\\\"1fr 0 \\\"+a:\\\"0 0 1fr\\\"}))}selectorsForPage(e){let t,n,r=new Su.List;return r.insertData({type:\\\"ClassSelector\\\",name:\\\"pagedjs_page\\\"}),e.name&&(r.insertData({type:\\\"ClassSelector\\\",name:\\\"pagedjs_named_page\\\"}),r.insertData({type:\\\"ClassSelector\\\",name:\\\"pagedjs_\\\"+e.name+\\\"_page\\\"})),!e.psuedo||e.name&&\\\"first\\\"===e.psuedo||r.insertData({type:\\\"ClassSelector\\\",name:\\\"pagedjs_\\\"+e.psuedo+\\\"_page\\\"}),e.name&&\\\"first\\\"===e.psuedo&&r.insertData({type:\\\"ClassSelector\\\",name:\\\"pagedjs_\\\"+e.name+\\\"_\\\"+e.psuedo+\\\"_page\\\"}),e.nth&&(t=new Su.List,n=this.getNth(e.nth),t.insertData(n),r.insertData({type:\\\"PseudoClassSelector\\\",name:\\\"nth-of-type\\\",children:t})),r}selectorsForPageMargin(e,t){let n=this.selectorsForPage(e);return n.insertData({type:\\\"Combinator\\\",name:\\\" \\\"}),n.insertData({type:\\\"ClassSelector\\\",name:\\\"pagedjs_margin-\\\"+t}),n}createDeclaration(e,t,n){let r=new Su.List;return r.insertData({type:\\\"Identifier\\\",loc:null,name:t}),{type:\\\"Declaration\\\",loc:null,important:n,property:e,value:{type:\\\"Value\\\",loc:null,children:r}}}createVariable(e,t){return{type:\\\"Declaration\\\",loc:null,property:e,value:{type:\\\"Raw\\\",value:t}}}createCalculatedDimension(e,t,n,r=\\\"+\\\"){let a=new Su.List,i=new Su.List;return t.forEach(((e,n)=>{i.appendData({type:\\\"Dimension\\\",unit:e.unit,value:e.value}),i.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),n+1<t.length&&(i.appendData({type:\\\"Operator\\\",value:r}),i.appendData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}))})),a.insertData({type:\\\"Function\\\",loc:null,name:\\\"calc\\\",children:i}),{type:\\\"Declaration\\\",loc:null,important:n,property:e,value:{type:\\\"Value\\\",loc:null,children:a}}}createDimension(e,t,n){let r=new Su.List;return r.insertData({type:\\\"Dimension\\\",loc:null,value:t.value,unit:t.unit}),{type:\\\"Declaration\\\",loc:null,important:n,property:e,value:{type:\\\"Value\\\",loc:null,children:r}}}createBlock(e){let t=new Su.List;return e.forEach((e=>{t.insertData(e)})),{type:\\\"Block\\\",loc:null,children:t}}createRule(e,t){let n=new Su.List;return n.insertData({type:\\\"Selector\\\",children:e}),Array.isArray(t)&&(t=this.createBlock(t)),{type:\\\"Rule\\\",prelude:{type:\\\"SelectorList\\\",children:n},block:t}}},class extends wu{constructor(e,t,n){super(e,t,n),this.breaks={}}onDeclaration(e,t,n,r){let a=e.property;if(\\\"page\\\"===a){let i=e.value.children.first().name,o=Su.generate(r.ruleNode.prelude),s={property:a,value:i,selector:o,name:i};o.split(\\\",\\\").forEach((e=>{this.breaks[e]?this.breaks[e].push(s):this.breaks[e]=[s]})),n.remove(t)}if(\\\"break-before\\\"===a||\\\"break-after\\\"===a||\\\"page-break-before\\\"===a||\\\"page-break-after\\\"===a){let i=e.value.children.first().name,o=Su.generate(r.ruleNode.prelude);\\\"page-break-before\\\"===a?a=\\\"break-before\\\":\\\"page-break-after\\\"===a&&(a=\\\"break-after\\\");let s={property:a,value:i,selector:o};o.split(\\\",\\\").forEach((e=>{this.breaks[e]?this.breaks[e].push(s):this.breaks[e]=[s]})),n.remove(t)}}afterParsed(e){this.processBreaks(e,this.breaks)}processBreaks(e,t){for(let r in t){let a=e.querySelectorAll(r);for(var n=0;n<a.length;n++)for(let i of t[r])if(\\\"break-after\\\"===i.property){let t=Z(a[n],e);a[n].setAttribute(\\\"data-break-after\\\",i.value),t&&t.setAttribute(\\\"data-previous-break-after\\\",i.value)}else if(\\\"break-before\\\"===i.property){let t=Q(a[n],e);if(t){if(\\\"page\\\"===i.value&&ee(a[n],t))continue;a[n].setAttribute(\\\"data-break-before\\\",i.value),t.setAttribute(\\\"data-next-break-before\\\",i.value)}}else if(\\\"page\\\"===i.property){a[n].setAttribute(\\\"data-page\\\",i.value);let t=Z(a[n],e);t&&t.setAttribute(\\\"data-after-page\\\",i.value)}else a[n].setAttribute(\\\"data-\\\"+i.property,i.value)}}mergeBreaks(e,t){for(let n in t)e[n]=n in e?e[n].concat(t[n]):t[n];return e}addBreakAttributes(e,t){let n=e.querySelector(\\\"[data-break-before]\\\"),r=e.querySelector(\\\"[data-break-after]\\\"),a=e.querySelector(\\\"[data-previous-break-after]\\\");n&&(n.dataset.splitFrom?(t.splitFrom=n.dataset.splitFrom,e.setAttribute(\\\"data-split-from\\\",n.dataset.splitFrom)):n.dataset.breakBefore&&\\\"avoid\\\"!==n.dataset.breakBefore&&(t.breakBefore=n.dataset.breakBefore,e.setAttribute(\\\"data-break-before\\\",n.dataset.breakBefore))),r&&r.dataset&&(r.dataset.splitTo?(t.splitTo=r.dataset.splitTo,e.setAttribute(\\\"data-split-to\\\",r.dataset.splitTo)):r.dataset.breakAfter&&\\\"avoid\\\"!==r.dataset.breakAfter&&(t.breakAfter=r.dataset.breakAfter,e.setAttribute(\\\"data-break-after\\\",r.dataset.breakAfter))),a&&a.dataset&&a.dataset.previousBreakAfter&&\\\"avoid\\\"!==a.dataset.previousBreakAfter&&(t.previousBreakAfter=a.dataset.previousBreakAfter)}afterPageLayout(e,t){this.addBreakAttributes(e,t)}},class extends wu{constructor(e,t,n){super(e,t,n)}afterPageLayout(e,t,n,r){let a,i,o=Array.from(e.querySelectorAll(\\\"[data-split-from]\\\")),s=e.parentNode,l=Array.prototype.indexOf.call(s.children,e);0!==l&&(a=s.children[l-1],o.forEach((e=>{let t=e.dataset.ref;i=a.querySelector(\\\"[data-ref='\\\"+t+\\\"']:not([data-split-to])\\\"),i&&(i.dataset.splitTo=t,i.dataset.splitFrom||(i.dataset.splitOriginal=!0))})),i&&this.handleAlignment(i))}handleAlignment(e){let t=window.getComputedStyle(e),n=t[\\\"text-align\\\"],r=t[\\\"text-align-last\\\"];e.dataset.lastSplitElement=\\\"true\\\",e.dataset.alignLastSplitElement=\\\"justify\\\"===n&&\\\"auto\\\"===r?\\\"justify\\\":r}},class extends wu{constructor(e,t,n){super(e,t,n),this.styleSheet=t.styleSheet,this.counters={},this.resetCountersMap=new Map}onDeclaration(e,t,n,r){let a=e.property;if(\\\"counter-increment\\\"===a){this.handleIncrement(e,r);let a=!1;e.value.children.forEach((e=>{e.type&&\\\"WhiteSpace\\\"!==e.type&&(a=!0)})),a||n.remove(t)}else if(\\\"counter-reset\\\"===a){this.handleReset(e,r);let a=!1;e.value.children.forEach((e=>{e.type&&\\\"WhiteSpace\\\"!==e.type&&(a=!0)})),a||n.remove(t)}}afterParsed(e){this.processCounters(e,this.counters),this.scopeCounters(this.counters)}addCounter(e){return e in this.counters||(this.counters[e]={name:e,increments:{},resets:{}}),this.counters[e]}handleIncrement(e,t){let n=[],r=e.value.children;return r.forEach(((e,a)=>{if(e.type&&\\\"Identifier\\\"===e.type){let i,o,s,l=e.name;if(\\\"page\\\"===l||0===l.indexOf(\\\"target-counter-\\\"))return;a.next&&\\\"WhiteSpace\\\"===a.next.data.type&&(i=a.next),i&&i.next&&\\\"Number\\\"===i.next.data.type&&(o=i.next,s=parseInt(o.data.value));let d,p=Su.generate(t.ruleNode.prelude);d=l in this.counters?this.counters[l]:this.addCounter(l);let c={selector:p,number:s||1};d.increments[p]=c,n.push(c),r.remove(a),i&&r.remove(i),o&&r.remove(o)}})),n}handleReset(e,t){let n=e.value.children;n.forEach(((r,a)=>{if(r.type&&\\\"Identifier\\\"===r.type){let i,o,s,l,d,p=r.name;a.next&&\\\"WhiteSpace\\\"===a.next.data.type&&(i=a.next),i&&i.next&&(\\\"Number\\\"===i.next.data.type?(o=i.next,s=parseInt(o.data.value)):\\\"Function\\\"===i.next.data.type&&\\\"var\\\"===i.next.data.name&&(o=i.next,s=i.next.data.children.head.data.name));let c=t.ruleNode.prelude;d=\\\"Atrule\\\"===t.ruleNode.type&&\\\"page\\\"===t.ruleNode.name?\\\".pagedjs_page\\\":Su.generate(c||t.ruleNode),\\\"footnote\\\"===p&&this.addFootnoteMarkerCounter(e.value.children),l=p in this.counters?this.counters[p]:this.addCounter(p);let u={selector:d,number:s||0};l.resets[d]=u,\\\".pagedjs_page\\\"!==d&&(n.remove(a),i&&n.remove(i),o&&n.remove(o))}}))}processCounters(e,t){let n;for(let r in t)n=this.counters[r],this.processCounterIncrements(e,n),this.processCounterResets(e,n),\\\"page\\\"!==r&&this.addCounterValues(e,n)}scopeCounters(e){let t=[];for(let n in e)\\\"page\\\"!==n&&t.push(`${e[n].name} 0`);this.insertRule(`.pagedjs_pages { counter-reset: ${t.join(\\\" \\\")} page 0 pages var(--pagedjs-page-count) footnote var(--pagedjs-footnotes-count) footnote-marker var(--pagedjs-footnotes-count)}`)}insertRule(e){this.styleSheet.insertRule(e,this.styleSheet.cssRules.length)}processCounterIncrements(e,t){let n;for(let r in t.increments){n=t.increments[r];let a=e.querySelectorAll(n.selector);for(let e=0;e<a.length;e++)a[e].setAttribute(\\\"data-counter-\\\"+t.name+\\\"-increment\\\",n.number),a[e].getAttribute(\\\"data-counter-increment\\\")?a[e].setAttribute(\\\"data-counter-increment\\\",a[e].getAttribute(\\\"data-counter-increment\\\")+\\\" \\\"+t.name):a[e].setAttribute(\\\"data-counter-increment\\\",t.name)}}processCounterResets(e,t){let n;for(let a in t.resets){n=t.resets[a];let i=e.querySelectorAll(n.selector);for(var r=0;r<i.length;r++){let e=n.number;\\\"string\\\"==typeof e&&e.startsWith(\\\"--\\\")&&(e=i[r].style.getPropertyValue(e)||0),i[r].setAttribute(\\\"data-counter-\\\"+t.name+\\\"-reset\\\",e),i[r].getAttribute(\\\"data-counter-reset\\\")?i[r].setAttribute(\\\"data-counter-reset\\\",i[r].getAttribute(\\\"data-counter-reset\\\")+\\\" \\\"+t.name):i[r].setAttribute(\\\"data-counter-reset\\\",t.name)}}}addCounterValues(e,t){let n=t.name;if(\\\"page\\\"===n||\\\"footnote\\\"===n)return;let r,a,i,o,s,l,d,p=e.querySelectorAll(\\\"[data-counter-\\\"+n+\\\"-reset], [data-counter-\\\"+n+\\\"-increment]\\\"),c=0;for(let e=0;e<p.length;e++)r=p[e],l=0,d=[],r.hasAttribute(\\\"data-counter-\\\"+n+\\\"-reset\\\")&&(i=r.getAttribute(\\\"data-counter-\\\"+n+\\\"-reset\\\"),o=parseInt(i),l=o-c,d.push(`${n} ${l}`),c=o),r.hasAttribute(\\\"data-counter-\\\"+n+\\\"-increment\\\")&&(a=r.getAttribute(\\\"data-counter-\\\"+n+\\\"-increment\\\"),s=parseInt(a),c+=s,r.setAttribute(\\\"data-counter-\\\"+n+\\\"-value\\\",c),d.push(`${n} ${s}`)),d.length>0&&this.incrementCounterForElement(r,d)}addFootnoteMarkerCounter(e){let t=[];Su.walk(e,{visit:\\\"Identifier\\\",enter:(e,n,r)=>{t.push(e.name)}}),t.includes(\\\"footnote-maker\\\")||(e.insertData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),e.insertData({type:\\\"Identifier\\\",name:\\\"footnote-marker\\\"}),e.insertData({type:\\\"WhiteSpace\\\",value:\\\" \\\"}),e.insertData({type:\\\"Number\\\",value:0}))}incrementCounterForElement(e,t){if(!e||!t||0===t.length)return;const n=e.dataset.ref,r=Array.from(this.styleSheet.cssRules).filter((t=>t.selectorText===`[data-ref=\\\"${e.dataset.ref}\\\"]:not([data-split-from])`&&\\\"counter-increment\\\"===t.style[0])).map((e=>e.style.counterIncrement));r.push(this.mergeIncrements(t,((e,t)=>(parseInt(e)||0)+(parseInt(t)||0))));const a=this.mergeIncrements(r,((e,t)=>t));this.insertRule(`[data-ref=\\\"${n}\\\"]:not([data-split-from]) { counter-increment: ${a} }`)}mergeIncrements(e,t){const n={};return e.forEach((e=>{let r=e.split(\\\" \\\");for(let e=0;e<r.length;e+=2)n[r[e]]=t(n[r[e]],r[e+1])})),Object.entries(n).map((([e,t])=>`${e} ${t}`)).join(\\\" \\\")}afterPageLayout(e,t){let n=[];e.querySelectorAll(\\\"[data-counter-page-reset]:not([data-split-from])\\\").forEach((e=>{const t=e.dataset&&e.dataset.ref;if(t&&this.resetCountersMap.has(t));else{t&&this.resetCountersMap.set(t,\\\"\\\");let r=e.dataset.counterPageReset;n.push(`page ${r}`)}})),e.querySelectorAll(\\\"[data-counter-footnote-reset]:not([data-split-from])\\\").forEach((e=>{let t=e.dataset.counterFootnoteReset;n.push(`footnote ${t}`),n.push(`footnote-marker ${t}`)})),n.length&&this.styleSheet.insertRule(`[data-page-number=\\\"${e.dataset.pageNumber}\\\"] { counter-increment: none; counter-reset: ${n.join(\\\" \\\")} }`,this.styleSheet.cssRules.length)}},class extends wu{constructor(e,t,n){super(e,t,n)}afterParsed(e){const t=e.querySelectorAll(\\\"ol\\\");for(var n of t)this.addDataNumbers(n)}afterPageLayout(e,t,n,r){var a=e.getElementsByTagName(\\\"ol\\\");for(var i of a)i.firstElementChild&&(i.start=i.firstElementChild.dataset.itemNum)}addDataNumbers(e){let t=1;e.hasAttribute(\\\"start\\\")&&(t=parseInt(e.getAttribute(\\\"start\\\"),10),isNaN(t)&&(t=1));let n=e.children;for(var r=0;r<n.length;r++)n[r].setAttribute(\\\"data-item-num\\\",r+t)}},class extends wu{constructor(e,t,n){super(e,t,n),this.styleSheet=t.styleSheet,this.fixedElementsSelector=[],this.fixedElements=[]}onDeclaration(e,t,n,r){if(\\\"position\\\"===e.property&&\\\"fixed\\\"===e.value.children.first().name){let e=Su.generate(r.ruleNode.prelude);this.fixedElementsSelector.push(e),n.remove(t)}}afterParsed(e){this.fixedElementsSelector.forEach((t=>{e.querySelectorAll(`${t}`).forEach((e=>{e.style.setProperty(\\\"position\\\",\\\"absolute\\\"),this.fixedElements.push(e),e.remove()}))}))}afterPageLayout(e,t,n){this.fixedElements.forEach((t=>{const n=t.cloneNode(!0);e.querySelector(\\\".pagedjs_pagebox\\\").insertAdjacentElement(\\\"afterbegin\\\",n)}))}},class extends wu{constructor(e,t,n){super(e,t,n),this.styleSheet=t.styleSheet,this.pageCounter={name:\\\"page\\\",increments:{},resets:{}}}onDeclaration(e,t,n,r){if(\\\"counter-increment\\\"===e.property){this.handleIncrement(e,r)&&n.remove(t)}}afterParsed(e){for(const e in this.pageCounter.increments){const t=this.pageCounter.increments[e];this.insertRule(`${t.selector} { --pagedjs-page-counter-increment: ${t.number} }`)}}handleIncrement(e,t){const n=e.value.children.first(),r=e.value.children.getSize()>1?e.value.children.last().value:1,a=n&&n.name;if(a&&0===a.indexOf(\\\"target-counter-\\\"))return;if(\\\"page\\\"!==a)return;if(\\\"page\\\"===t.ruleNode.name&&\\\"Atrule\\\"===t.ruleNode.type)return;const i=Su.generate(t.ruleNode.prelude);return this.pageCounter.increments[i]={selector:i,number:r}}insertRule(e){this.styleSheet.insertRule(e,this.styleSheet.cssRules.length)}},class extends wu{constructor(e,t,n){super(e,t,n),this.styleSheet=t.styleSheet,this.selectors={}}onRule(e,t,n){let r=Su.generate(e.prelude);if(r.match(/:(first|last|nth)-of-type/)){let a=Su.generate(e.block);a=a.replace(/[{}]/g,\\\"\\\");let i=\\\"nth-of-type-\\\"+M();r.split(\\\",\\\").forEach((e=>{this.selectors[e]?this.selectors[e][1]=`${this.selectors[e][1]};${a}`:this.selectors[e]=[i,a]})),n.remove(t)}}afterParsed(e){this.processSelectors(e,this.selectors)}processSelectors(e,t){for(let r in t){let a=e.querySelectorAll(r);for(var n=0;n<a.length;n++){let e=a[n].getAttribute(\\\"data-nth-of-type\\\");e&&\\\"\\\"!=e?(e=`${e},${t[r][0]}`,a[n].setAttribute(\\\"data-nth-of-type\\\",e)):a[n].setAttribute(\\\"data-nth-of-type\\\",t[r][0])}let i=`*[data-nth-of-type*='${t[r][0]}'] { ${t[r][1]}; }`;this.styleSheet.insertRule(i,this.styleSheet.cssRules.length)}}},class extends wu{constructor(e,t,n){super(e,t,n),this.styleSheet=t.styleSheet,this.selectors={}}onRule(e,t,n){let r=Su.generate(e.prelude);if(r.match(/\\\\+/)){let a=Su.generate(e.block);a=a.replace(/[{}]/g,\\\"\\\");let i=\\\"following-\\\"+M();r.split(\\\",\\\").forEach((e=>{this.selectors[e]?this.selectors[e][1]=`${this.selectors[e][1]};${a}`:this.selectors[e]=[i,a]})),n.remove(t)}}afterParsed(e){this.processSelectors(e,this.selectors)}processSelectors(e,t){for(let r in t){let a=e.querySelectorAll(r);for(var n=0;n<a.length;n++){let e=a[n].getAttribute(\\\"data-following\\\");e&&\\\"\\\"!=e?(e=`${e},${t[r][0]}`,a[n].setAttribute(\\\"data-following\\\",e)):a[n].setAttribute(\\\"data-following\\\",t[r][0])}let i=`*[data-following*='${t[r][0]}'] { ${t[r][1]}; }`;this.styleSheet.insertRule(i,this.styleSheet.cssRules.length)}}},class extends wu{constructor(e,t,n){super(e,t,n),this.footnotes={},this.needsLayout=[]}onDeclaration(e,t,n,r){let a=e.property;if(\\\"float\\\"===a){let a=e.value.children&&e.value.children.first();if(\\\"footnote\\\"===(a&&a.name)){let e=Su.generate(r.ruleNode.prelude);this.footnotes[e]={selector:e,policy:\\\"auto\\\",display:\\\"block\\\"},n.remove(t)}}if(\\\"footnote-policy\\\"===a){let t=e.value.children&&e.value.children.first(),n=t&&t.name;if(n){let e=Su.generate(r.ruleNode.prelude),t=this.footnotes[e];t&&(t.policy=n)}}if(\\\"footnote-display\\\"===a){let t=e.value.children&&e.value.children.first(),n=t&&t.name,a=Su.generate(r.ruleNode.prelude);if(n&&this.footnotes[a]){let e=this.footnotes[a];e&&(e.display=n)}}}onPseudoSelector(e,t,n,r,a){let i=e.name;if(\\\"footnote-marker\\\"===i){let e=a.ruleNode.prelude,t=new Su.List;e.children.first().children.each((e=>{\\\"PseudoElementSelector\\\"!==e.type&&t.appendData(e)})),t.appendData({type:\\\"AttributeSelector\\\",name:{type:\\\"Identifier\\\",name:\\\"data-footnote-marker\\\"},flags:null,loc:null,matcher:null,value:null}),t.appendData({type:\\\"PseudoElementSelector\\\",name:\\\"marker\\\",loc:null,children:null}),e.children.first().children=t}if(\\\"footnote-call\\\"===i){let e=a.ruleNode.prelude,t=new Su.List;e.children.first().children.each((e=>{\\\"PseudoElementSelector\\\"!==e.type&&t.appendData(e)})),t.appendData({type:\\\"AttributeSelector\\\",name:{type:\\\"Identifier\\\",name:\\\"data-footnote-call\\\"},flags:null,loc:null,matcher:null,value:null}),t.appendData({type:\\\"PseudoElementSelector\\\",name:\\\"after\\\",loc:null,children:null}),e.children.first().children=t}}afterParsed(e){this.processFootnotes(e,this.footnotes)}processFootnotes(e,t){for(let r in t){let a,i=e.querySelectorAll(r),o=t[r];for(var n=0;n<i.length;n++)a=i[n],a.setAttribute(\\\"data-note\\\",\\\"footnote\\\"),a.setAttribute(\\\"data-break-before\\\",\\\"avoid\\\"),a.setAttribute(\\\"data-note-policy\\\",o.policy||\\\"auto\\\"),a.setAttribute(\\\"data-note-display\\\",o.display||\\\"block\\\"),this.processFootnoteContainer(a)}}processFootnoteContainer(e){let t=e.parentElement,n=t;for(;t;){if(ne(t)){n.setAttribute(\\\"data-has-notes\\\",\\\"true\\\");break}n=t,t=t.parentElement,t||n.setAttribute(\\\"data-has-notes\\\",\\\"true\\\")}}renderNode(e){if(1==e.nodeType){let t;if(!e.dataset)return;\\\"footnote\\\"===e.dataset.note?t=[e]:(e.dataset.hasNotes||e.querySelectorAll(\\\"[data-note='footnote']\\\"))&&(t=e.querySelectorAll(\\\"[data-note='footnote']\\\")),t&&t.length&&this.findVisibleFootnotes(t,e)}}findVisibleFootnotes(e,t){let n,r,a;n=t.closest(\\\".pagedjs_page_content\\\"),r=n.getBoundingClientRect(),a=r.left+r.width;for(let n=0;n<e.length;++n){let r=e[n];r.getBoundingClientRect().left<a&&this.moveFootnote(r,t.closest(\\\".pagedjs_area\\\"),!0)}}moveFootnote(e,t,n){let r,a=t.querySelector(\\\".pagedjs_footnote_area\\\"),i=a.querySelector(\\\".pagedjs_footnote_content\\\"),o=i.querySelector(\\\".pagedjs_footnote_inner_content\\\");if(!F(e))return;if(n&&(r=this.createFootnoteCall(e)),e.removeAttribute(\\\"data-break-before\\\"),o.querySelector(`[data-ref=\\\"${e.dataset.ref}\\\"]`))return void e.remove();o.appendChild(e),i.classList.contains(\\\"pagedjs_footnote_empty\\\")&&i.classList.remove(\\\"pagedjs_footnote_empty\\\"),e.dataset.footnoteMarker=e.dataset.ref,e.id=`note-${e.dataset.ref}`;let s=i.scrollHeight,l=t.querySelector(\\\".pagedjs_page_content\\\").getBoundingClientRect(),d=l.left+l.width,p=r&&r.getBoundingClientRect(),c=a.getBoundingClientRect(),u=this.marginsHeight(i),m=this.paddingHeight(i),h=this.borderHeight(i),g=u+m+h,f=Math.floor(c.top);0===c.height&&(f-=this.marginsHeight(i,!1),f-=this.paddingHeight(i,!1),f-=this.borderHeight(i,!1));let y=e.dataset.notePolicy,b=0,S=0;if(r){let e=r.previousSibling,t=new Range;e?t.setStartBefore(e):t.setStartBefore(r),t.setEndAfter(r);let n=t.getBoundingClientRect();if(b=n.bottom,y&&\\\"auto\\\"!==y){if(\\\"line\\\"===y)S=Math.ceil(n.top);else if(\\\"block\\\"===y){let e=r.closest(\\\"p\\\").previousElementSibling;S=e?Math.ceil(e.getBoundingClientRect().bottom):Math.ceil(n.bottom)}}else S=Math.ceil(n.bottom)}let v=s+g-c.height,x=b?f-b:0,k=b?Math.floor(c.top)-S:0,w=a.querySelector(\\\"[data-note='footnote']\\\");if(n&&p.left>d)e.remove();else if(!w&&n&&g>x){t.style.setProperty(\\\"--pagedjs-footnotes-height\\\",\\\"0px\\\");let n=document.createElement(\\\"div\\\");n.appendChild(e),this.needsLayout.push(n)}else n?b<c.top-v?t.style.setProperty(\\\"--pagedjs-footnotes-height\\\",`${s+u+h}px`):(t.style.setProperty(\\\"--pagedjs-footnotes-height\\\",`${c.height+k}px`),o.style.height=c.height+k-g+\\\"px\\\"):t.style.setProperty(\\\"--pagedjs-footnotes-height\\\",`${s+g}px`)}createFootnoteCall(e){let t=e.parentElement,n=document.createElement(\\\"a\\\");for(const t of e.classList)n.classList.add(`${t}`);return n.dataset.footnoteCall=e.dataset.ref,n.dataset.ref=e.dataset.ref,n.dataset.dataCounterFootnoteIncrement=1,n.href=`#note-${e.dataset.ref}`,t.insertBefore(n,e),n}afterPageLayout(e,t,n,r){let a=e.querySelector(\\\".pagedjs_area\\\"),i=t.footnotesArea,o=i.querySelector(\\\".pagedjs_footnote_content\\\"),s=i.querySelector(\\\".pagedjs_footnote_inner_content\\\"),l=o.getBoundingClientRect(),{width:d}=l;s.style.columnWidth=Math.round(d)+\\\"px\\\",s.style.columnGap=\\\"calc(var(--pagedjs-margin-right) + var(--pagedjs-margin-left))\\\";let p=new Se(i,void 0,r.settings).findOverflow(s,l);if(p){let e,{startContainer:i,startOffset:l}=p;if(F(i)){let t=i.childNodes[l];e=F(t)&&t.hasAttribute(\\\"data-footnote-marker\\\")}let d=p.extractContents();if(!e){let e=d.firstElementChild;e.dataset.splitFrom=e.dataset.ref,this.handleAlignment(s.lastElementChild)}this.needsLayout.push(d),o.style.removeProperty(\\\"height\\\"),s.style.removeProperty(\\\"height\\\");let c=s.getBoundingClientRect(),{height:u}=c,m=this.marginsHeight(o),h=this.paddingHeight(o),g=this.borderHeight(o);if(a.style.setProperty(\\\"--pagedjs-footnotes-height\\\",`${u+m+g+h}px`),0===s.childNodes.length&&o.classList.add(\\\"pagedjs_footnote_empty\\\"),n){let e,a;n.node&&void 0!==n.node.dataset&&void 0!==n.node.dataset.previousBreakAfter&&(a=n.node.dataset.previousBreakAfter),n.node&&void 0!==n.node.dataset&&void 0!==n.node.dataset.breakBefore&&(e=n.node.dataset.breakBefore),(e||a)&&r.clonePage(t)}else r.clonePage(t)}s.style.height=\\\"auto\\\"}handleAlignment(e){let t=window.getComputedStyle(e)[\\\"text-align-last\\\"];e.dataset.lastSplitElement=\\\"true\\\",e.dataset.alignLastSplitElement=\\\"auto\\\"===t?\\\"justify\\\":t}beforePageLayout(e){for(;this.needsLayout.length;){let t=this.needsLayout.shift();Array.from(t.childNodes).forEach((t=>{this.moveFootnote(t,e.element.querySelector(\\\".pagedjs_area\\\"),!1)}))}}afterOverflowRemoved(e,t){let n=t.closest(\\\".pagedjs_area\\\"),r=n.querySelectorAll(\\\".pagedjs_footnote_area [data-note='footnote']\\\");for(let t=0;t<r.length;t++){const n=r[t];e.querySelector(`[data-footnote-call=\\\"${n.dataset.ref}\\\"]`)&&n.remove()}let a=n.querySelector(\\\".pagedjs_footnote_inner_content\\\");a&&0===a.childNodes.length&&a.parentElement.classList.add(\\\"pagedjs_footnote_empty\\\")}marginsHeight(e,t=!0){let n=window.getComputedStyle(e),r=parseInt(n.marginTop),a=parseInt(n.marginBottom),i=0;return r&&(i+=r),a&&t&&(i+=a),i}paddingHeight(e,t=!0){let n=window.getComputedStyle(e),r=parseInt(n.paddingTop),a=parseInt(n.paddingBottom),i=0;return r&&(i+=r),a&&t&&(i+=a),i}borderHeight(e,t=!0){let n=window.getComputedStyle(e),r=parseInt(n.borderTop),a=parseInt(n.borderBottom),i=0;return r&&(i+=r),a&&t&&(i+=a),i}}];function _u(e,t=\\\"\\\\\\\"' \\\"){if(null!=e)return e.replace(new RegExp(`^[${t}]+`),\\\"\\\").replace(new RegExp(`[${t}]+$`),\\\"\\\").replace(/[\\\"']/g,(e=>\\\"\\\\\\\\\\\"+e)).replace(/[\\\\n]/g,(e=>\\\"\\\\\\\\00000A\\\"))}function zu(e){if(null!=e)return e.replace(new RegExp(\\\"::footnote-call\\\",\\\"g\\\"),\\\"\\\").replace(new RegExp(\\\"::footnote-marker\\\",\\\"g\\\"),\\\"\\\")}var Ou=[class extends wu{constructor(e,t,n){super(e,t,n),this.runningSelectors={},this.elements={}}onDeclaration(e,t,n,r){if(\\\"position\\\"===e.property){let t=Su.generate(r.ruleNode.prelude),n=e.value.children.first().name;if(\\\"running\\\"===n){let r;Su.walk(e,{visit:\\\"Function\\\",enter:(e,t,n)=>{r=e.children.first().name}}),this.runningSelectors[r]={identifier:n,value:r,selector:t}}}\\\"content\\\"===e.property&&Su.walk(e,{visit:\\\"Function\\\",enter:(e,t,n)=>{if(e.name.indexOf(\\\"element\\\")>-1){let t=Su.generate(r.ruleNode.prelude),n=e.name,a=e.children.first().name,i=[a],o=\\\"first\\\";t.split(\\\",\\\").forEach((e=>{e=e.replace(/::after|::before/,\\\"\\\"),this.elements[e]={func:n,args:i,value:a,style:o,selector:e,fullSelector:t}}))}}})}afterParsed(e){for(let t of Object.keys(this.runningSelectors)){let n=this.runningSelectors[t],r=Array.from(e.querySelectorAll(n.selector));if(\\\"running\\\"===n.identifier)for(let e of r)e.style.display=\\\"none\\\"}}afterPageLayout(e){for(let t of Object.keys(this.runningSelectors)){let n=this.runningSelectors[t],r=e.querySelector(n.selector);r&&(\\\"running\\\"===n.identifier?n.first=r:console.warn(n.value+\\\"needs css replacement\\\"))}this.orderedSelectors||(this.orderedSelectors=this.orderSelectors(this.elements));for(let t of this.orderedSelectors)if(t){let n=this.elements[t],r=e.querySelector(t);if(r){let e=this.runningSelectors[n.args[0]];if(e&&e.first){r.innerHTML=\\\"\\\";let t=e.first.cloneNode(!0);t.style.display=null,r.appendChild(t)}}}}pageWeight(e){let t=1,n=e.split(\\\" \\\"),r=n.length&&n[0].split(\\\".\\\");switch(r.shift(),r.length){case 4:/^pagedjs_[\\\\w-]+_first_page$/.test(r[3])?t=7:\\\"pagedjs_left_page\\\"!==r[3]&&\\\"pagedjs_right_page\\\"!==r[3]||(t=6);break;case 3:\\\"pagedjs_named_page\\\"===r[1]&&(t=r[2].indexOf(\\\":nth-of-type\\\")>-1?7:5);break;case 2:\\\"pagedjs_first_page\\\"===r[1]?t=4:\\\"pagedjs_blank_page\\\"===r[1]?t=3:\\\"pagedjs_left_page\\\"!==r[1]&&\\\"pagedjs_right_page\\\"!==r[1]||(t=2);break;default:t=r[0].indexOf(\\\":nth-of-type\\\")>-1?4:1}return t}orderSelectors(e){let t=Object.keys(e),n={1:[],2:[],3:[],4:[],5:[],6:[],7:[]},r=[];for(let e of t){n[this.pageWeight(e)].unshift(e)}for(var a=1;a<=7;a++)r=r.concat(n[a]);return r}beforeTreeParse(e,t){t.text=e.replace(/element[\\\\s]*\\\\(([^|^#)]*)\\\\)/g,\\\"element-ident($1)\\\")}},class extends wu{constructor(e,t,n){super(e,t,n),this.stringSetSelectors={},this.type,this.pageLastString}onDeclaration(e,t,n,r){if(\\\"string-set\\\"===e.property){let t=Su.generate(r.ruleNode.prelude),n=[],a=[],i=[];e.value.children.forEach((e=>{\\\"Identifier\\\"===e.type&&n.push(e.name),\\\"Function\\\"===e.type&&(a.push(e.name),e.children.forEach((e=>{\\\"Identifier\\\"===e.type&&i.push(e.name)})))})),n.forEach(((e,n)=>{let r=a[n],o=i[n];this.stringSetSelectors[e]={identifier:e,func:r,value:o,selector:t}}))}}onContent(e,t,n,r,a){if(\\\"string\\\"===e.name){let t=e.children&&e.children.first().name;this.type=e.children.last().name,e.name=\\\"var\\\",e.children=new Su.List,\\\"first\\\"===this.type||\\\"last\\\"===this.type||\\\"start\\\"===this.type||\\\"first-except\\\"===this.type?e.children.append(e.children.createItem({type:\\\"Identifier\\\",loc:null,name:\\\"--pagedjs-string-\\\"+this.type+\\\"-\\\"+t})):e.children.append(e.children.createItem({type:\\\"Identifier\\\",loc:null,name:\\\"--pagedjs-string-first-\\\"+t}))}}afterPageLayout(e){void 0===this.pageLastString&&(this.pageLastString={});for(let t of Object.keys(this.stringSetSelectors)){let n,r,a,i,o=this.stringSetSelectors[t],s=o.value,l=o.func,d=e.querySelectorAll(o.selector),p=t in this.pageLastString?this.pageLastString[t]:\\\"\\\";if(0==d.length)n=p,r=p,a=p,i=p;else{d.forEach((e=>{\\\"content\\\"===l&&(this.pageLastString[t]=d[d.length-1].textContent),\\\"attr\\\"===l&&(this.pageLastString[t]=d[d.length-1].getAttribute(s)||\\\"\\\")})),\\\"content\\\"===l&&(n=d[0].textContent),\\\"attr\\\"===l&&(n=d[0].getAttribute(s)||\\\"\\\"),\\\"content\\\"===l&&(r=d[d.length-1].textContent),\\\"attr\\\"===l&&(r=d[d.length-1].getAttribute(s)||\\\"\\\"),a=d[0].getBoundingClientRect().top==d[0].closest(\\\".pagedjs_page_content\\\").getBoundingClientRect().top?n:p,i=\\\"\\\"}e.style.setProperty(`--pagedjs-string-first-${t}`,`\\\"${_u(n)}`),e.style.setProperty(`--pagedjs-string-last-${t}`,`\\\"${_u(r)}`),e.style.setProperty(`--pagedjs-string-start-${t}`,`\\\"${_u(a)}`),e.style.setProperty(`--pagedjs-string-first-except-${t}`,`\\\"${_u(i)}`)}}},class extends wu{constructor(e,t,n){super(e,t,n),this.styleSheet=t.styleSheet,this.counterTargets={}}onContent(e,t,n,r,a){if(\\\"target-counter\\\"===e.name){let t,n,r,i=Su.generate(a.ruleNode.prelude),o=e.children.first(),s=o.name,l=Su.generate(e),d=[];o.children.forEach((e=>{\\\"Identifier\\\"===e.type&&d.push(e.name)})),e.children.forEach((e=>{\\\"Identifier\\\"===e.type&&(t?n||(r=Su.clone(e),n=e.name):t=e.name)}));let p=\\\"target-counter-\\\"+M();i.split(\\\",\\\").forEach((e=>{this.counterTargets[e]={func:s,args:d,value:l,counter:t,style:n,selector:e,fullSelector:i,variable:p}})),e.name=\\\"counter\\\",e.children=new Su.List,e.children.appendData({type:\\\"Identifier\\\",loc:0,name:p}),r&&(e.children.appendData({type:\\\"Operator\\\",loc:null,value:\\\",\\\"}),e.children.appendData(r))}}afterPageLayout(e,t,n,r){Object.keys(this.counterTargets).forEach((e=>{let t=this.counterTargets[e],n=t.selector.split(/::?/g),a=n[0];r.pagesArea.querySelectorAll(a+\\\":not([data-\\\"+t.variable+\\\"])\\\").forEach(((e,a)=>{if(\\\"attr\\\"!==t.func)return;let i=I(e,t.args),o=r.pagesArea.querySelector(D(i));if(o){let a=M();e.setAttribute(\\\"data-\\\"+t.variable,a);let i=\\\"\\\";if(n.length>1&&(i+=\\\"::\\\"+n[1]),\\\"page\\\"===t.counter){let e=r.pagesArea.querySelectorAll(\\\".pagedjs_page\\\"),n=0;for(let t=0;t<e.length;t++){let r=e[t],a=window.getComputedStyle(r),i=a[\\\"counter-reset\\\"].replace(\\\"page\\\",\\\"\\\").trim(),s=a[\\\"counter-increment\\\"].replace(\\\"page\\\",\\\"\\\").trim();if(\\\"none\\\"!==i&&(n=parseInt(i)),\\\"none\\\"!==s&&(n+=parseInt(s)),r.contains(o))break}this.styleSheet.insertRule(`[data-${t.variable}=\\\"${a}\\\"]${i} { counter-reset: ${t.variable} ${n}; }`,this.styleSheet.cssRules.length)}else{let e=o.getAttribute(`data-counter-${t.counter}-value`);e&&this.styleSheet.insertRule(`[data-${t.variable}=\\\"${a}\\\"]${i} { counter-reset: ${t.variable} ${t.variable} ${parseInt(e)}; }`,this.styleSheet.cssRules.length)}let s=document.querySelector(`[data-${t.variable}=\\\"${a}\\\"]`);s&&(s.style.display=\\\"none\\\",s.clientHeight,s.style.removeProperty(\\\"display\\\"))}}))}))}},class extends wu{constructor(e,t,n){super(e,t,n),this.styleSheet=t.styleSheet,this.textTargets={},this.beforeContent=\\\"\\\",this.afterContent=\\\"\\\",this.selector={}}onContent(e,t,n,r,a){if(\\\"target-text\\\"===e.name){this.selector=Su.generate(a.ruleNode.prelude);let t,n=e.children.first(),r=e.children.last(),i=n.name,o=Su.generate(e),s=[];n.children.forEach((e=>{\\\"Identifier\\\"===e.type&&s.push(e.name)})),r!==n&&(t=r.name);let l=\\\"--pagedjs-\\\"+M();this.selector.split(\\\",\\\").forEach((e=>{this.textTargets[e]={func:i,args:s,value:o,style:t||\\\"content\\\",selector:e,fullSelector:this.selector,variable:l}})),e.name=\\\"var\\\",e.children=new Su.List,e.children.appendData({type:\\\"Identifier\\\",loc:0,name:l})}}onPseudoSelector(e,t,n,r,a){a.ruleNode.block.children.forEach((t=>{if(\\\"before\\\"===e.name&&\\\"content\\\"===t.property){t.value.children.forEach((e=>{\\\"String\\\"===e.type&&(this.beforeContent=e.value)}))}else\\\"after\\\"===e.name&&\\\"content\\\"===t.property&&t.value.children.forEach((e=>{\\\"String\\\"===e.type&&(this.afterContent=e.value)}))}))}afterParsed(e){Object.keys(this.textTargets).forEach((t=>{let n,r=this.textTargets[t],a=r.selector.split(\\\"::\\\"),i=a[0];e.querySelectorAll(i).forEach(((t,i)=>{let o=I(t,r.args),s=e.querySelector(D(o));if(s)if(r.style){this.selector=M(),t.setAttribute(\\\"data-target-text\\\",this.selector);let e=\\\"\\\";if(a.length>1&&(e+=\\\"::\\\"+a[1]),\\\"before\\\"===r.style||\\\"after\\\"===r.style){const e=`${r.style}Content`;n=_u(this[e])}else n=_u(s.textContent,\\\" \\\");n=\\\"first-letter\\\"===r.style?n.charAt(0):n,this.styleSheet.insertRule(`[data-target-text=\\\"${this.selector}\\\"]${e} { ${r.variable}: \\\"${n}\\\" }`)}else console.warn(\\\"missed target\\\",o)}))}))}}];var Au={};!function(e){var t=/(\\\\[[^\\\\]]+\\\\])/g,n=/(#[^\\\\s\\\\+>~\\\\.\\\\[:]+)/g,r=/(\\\\.[^\\\\s\\\\+>~\\\\.\\\\[:]+)/g,a=/(::[^\\\\s\\\\+>~\\\\.\\\\[:]+|:first-line|:first-letter|:before|:after)/g,i=/(:[^\\\\s\\\\+>~\\\\.\\\\[:]+)/g,o=/([^\\\\s\\\\+>~\\\\.\\\\[:]+)/g,s=/:not\\\\(([^\\\\)]*)\\\\)/g,l=/\\\\{[^]*/gm,d=/[\\\\*\\\\s\\\\+>~]/g,p=/[#\\\\.]/g,c=function(e,t,n,r){var a=r.match(e);if(a)for(var i=0;i<a.length;i++)n[t]++,r=r.replace(a[i],\\\" \\\");return r},u={};e.calculateSpecificity=function(e){var m=u[e];return void 0===m&&(m=function(e){var u=e.indexOf(\\\",\\\");-1!==u&&(e=e.substring(0,u));var m={a:0,b:0,c:0};return e=(e=e.replace(s,\\\" $1 \\\")).replace(l,\\\" \\\"),e=c(t,\\\"b\\\",m,e),e=c(n,\\\"a\\\",m,e),e=c(r,\\\"b\\\",m,e),e=c(a,\\\"c\\\",m,e),e=(e=(e=c(i,\\\"b\\\",m,e)).replace(d,\\\" \\\")).replace(p,\\\" \\\"),c(o,\\\"c\\\",m,e),100*m.a+10*m.b+1*m.c}(e),u[e]=m),m};var m={},h=null;e.isSelectorValid=function(e){var t=m[e];if(void 0===t){null==h&&(h=document.createElement(\\\"div\\\"));try{h.querySelector(e),t=!0}catch(e){t=!1}m[e]=t}return t},e.validateSelector=function(t){if(!e.isSelectorValid(t)){var n=new SyntaxError(t+\\\" is not a valid selector\\\");throw n.code=\\\"EBADSELECTOR\\\",n}}}(Au);var Eu,ju,Wu,Lu,Bu,Pu,qu,Mu,Iu,Du,Ru,Nu,Gu,Fu,Vu=[class extends wu{constructor(e,t,n){super(e,t,n)}filter(e){ge(e,(e=>this.filterEmpty(e)),NodeFilter.SHOW_TEXT)}filterEmpty(e){if(e.textContent.length>1&&de(e)){let t=e.parentNode;if(F(t)&&t.closest(\\\"pre\\\"))return NodeFilter.FILTER_REJECT;const n=pe(e),r=he(e);return null===r&&null===n?(e.textContent=\\\" \\\",NodeFilter.FILTER_REJECT):null===r||null===n?NodeFilter.FILTER_ACCEPT:(e.textContent=\\\" \\\",NodeFilter.FILTER_REJECT)}return NodeFilter.FILTER_REJECT}},class extends wu{constructor(e,t,n){super(e,t,n)}filter(e){ge(e,null,NodeFilter.SHOW_COMMENT)}},class extends wu{constructor(e,t,n){super(e,t,n)}filter(e){e.querySelectorAll(\\\"script\\\").forEach((e=>{e.remove()}))}},class extends wu{constructor(e,t,n){super(e,t,n),this.displayRules={}}onDeclaration(e,t,n,r){if(\\\"display\\\"===e.property){let t=Su.generate(r.ruleNode.prelude),n=e.value.children.first().name;t.split(\\\",\\\").forEach((t=>{this.displayRules[t]={value:n,selector:t,specificity:Au.calculateSpecificity(t),important:e.important}}))}}filter(e){let{matches:t,selectors:n}=this.sortDisplayedSelectors(e,this.displayRules);for(let e=0;e<t.length;e++){let r=t[e],a=n[e],i=a[a.length-1].value;this.removable(r)&&\\\"none\\\"===i&&(r.dataset.undisplayed=\\\"undisplayed\\\")}let r=e.querySelectorAll(\\\"[style]\\\");for(let e=0;e<r.length;e++){let t=r[e];this.removable(t)&&(t.dataset.undisplayed=\\\"undisplayed\\\")}}sorter(e,t){return e.important&&!t.important?1:t.important&&!e.important?-1:e.specificity-t.specificity}sortDisplayedSelectors(e,t=[]){let n=[],r=[];for(let a in t){let i=t[a],o=i.selector,s=[];try{try{s=e.querySelectorAll(o)}catch(t){s=e.querySelectorAll(zu(o))}}catch(e){s=[]}let l=Array.from(s);for(let e of l)if(n.includes(e)){let t=n.indexOf(e);r[t].push(i),r[t]=r[t].sort(this.sorter)}else n.push(e),r.push([i])}return{matches:n,selectors:r}}removable(e){return!e.style||\\\"\\\"===e.style.display||\\\"none\\\"===e.style.display}}];function Uu(){return Lu?Wu:(Lu=1,Wu=function(e){return!!e&&(\\\"symbol\\\"==typeof e||!!e.constructor&&(\\\"Symbol\\\"===e.constructor.name&&\\\"Symbol\\\"===e[e.constructor.toStringTag]))})}function Hu(){if(Pu)return Bu;Pu=1;var e=Uu();return Bu=function(t){if(!e(t))throw new TypeError(t+\\\" is not a symbol\\\");return t},Bu}function $u(){return Du||(Du=1,Iu=function(){if(ju)return Eu;ju=1;var e={object:!0,symbol:!0};return Eu=function(){var t;if(\\\"function\\\"!=typeof Symbol)return!1;t=Symbol(\\\"test symbol\\\");try{String(t)}catch(e){return!1}return!!e[typeof Symbol.iterator]&&!!e[typeof Symbol.toPrimitive]&&!!e[typeof Symbol.toStringTag]},Eu}()()?Symbol:function(){if(Mu)return qu;Mu=1;var e,t,n,r,a=E,i=Hu(),o=Object.create,s=Object.defineProperties,l=Object.defineProperty,d=Object.prototype,p=o(null);if(\\\"function\\\"==typeof Symbol){e=Symbol;try{String(e()),r=!0}catch(e){}}var c,u=(c=o(null),function(e){for(var t,n,r=0;c[e+(r||\\\"\\\")];)++r;return c[e+=r||\\\"\\\"]=!0,l(d,t=\\\"@@\\\"+e,a.gs(null,(function(e){n||(n=!0,l(this,t,a(e)),n=!1)}))),t});return n=function(e){if(this instanceof n)throw new TypeError(\\\"Symbol is not a constructor\\\");return t(e)},qu=t=function t(i){var l;if(this instanceof t)throw new TypeError(\\\"Symbol is not a constructor\\\");return r?e(i):(l=o(n.prototype),i=void 0===i?\\\"\\\":String(i),s(l,{__description__:a(\\\"\\\",i),__name__:a(\\\"\\\",u(i))}))},s(t,{for:a((function(e){return p[e]?p[e]:p[e]=t(String(e))})),keyFor:a((function(e){var t;for(t in i(e),p)if(p[t]===e)return t})),hasInstance:a(\\\"\\\",e&&e.hasInstance||t(\\\"hasInstance\\\")),isConcatSpreadable:a(\\\"\\\",e&&e.isConcatSpreadable||t(\\\"isConcatSpreadable\\\")),iterator:a(\\\"\\\",e&&e.iterator||t(\\\"iterator\\\")),match:a(\\\"\\\",e&&e.match||t(\\\"match\\\")),replace:a(\\\"\\\",e&&e.replace||t(\\\"replace\\\")),search:a(\\\"\\\",e&&e.search||t(\\\"search\\\")),species:a(\\\"\\\",e&&e.species||t(\\\"species\\\")),split:a(\\\"\\\",e&&e.split||t(\\\"split\\\")),toPrimitive:a(\\\"\\\",e&&e.toPrimitive||t(\\\"toPrimitive\\\")),toStringTag:a(\\\"\\\",e&&e.toStringTag||t(\\\"toStringTag\\\")),unscopables:a(\\\"\\\",e&&e.unscopables||t(\\\"unscopables\\\"))}),s(n.prototype,{constructor:a(t),toString:a(\\\"\\\",(function(){return this.__name__}))}),s(t.prototype,{toString:a((function(){return\\\"Symbol (\\\"+i(this).__description__+\\\")\\\"})),valueOf:a((function(){return i(this)}))}),l(t.prototype,t.toPrimitive,a(\\\"\\\",(function(){var e=i(this);return\\\"symbol\\\"==typeof e?e:e.toString()}))),l(t.prototype,t.toStringTag,a(\\\"c\\\",\\\"Symbol\\\")),l(n.prototype,t.toStringTag,a(\\\"c\\\",t.prototype[t.toStringTag])),l(n.prototype,t.toPrimitive,a(\\\"c\\\",t.prototype[t.toPrimitive])),qu}()),Iu}function Yu(){if(Nu)return Ru;Nu=1;var e=Object.prototype.toString,t=e.call(function(){return arguments}());return Ru=function(n){return e.call(n)===t},Ru}function Ku(){if(Fu)return Gu;Fu=1;var e=Object.prototype.toString,t=e.call(d);return Gu=function(n){return\\\"function\\\"==typeof n&&e.call(n)===t},Gu}var Zu,Qu;var Ju,Xu,em,tm,nm=function(){var e=Math.sign;return\\\"function\\\"==typeof e&&(1===e(10)&&-1===e(-20))}()?Math.sign:(Qu||(Qu=1,Zu=function(e){return e=Number(e),isNaN(e)||0===e?e:e>0?1:-1}),Zu),rm=nm,am=Math.abs,im=Math.floor,om=function(e){return isNaN(e)?0:0!==(e=Number(e))&&isFinite(e)?rm(e)*im(am(e)):e},sm=Math.max,lm=function(e){return sm(0,om(e))};function dm(){if(Xu)return Ju;Xu=1;var e=Object.prototype.toString,t=e.call(\\\"\\\");return Ju=function(n){return\\\"string\\\"==typeof n||n&&\\\"object\\\"==typeof n&&(n instanceof String||e.call(n)===t)||!1},Ju}var pm,cm,um=function(){var e,t,n=Array.from;return\\\"function\\\"==typeof n&&(t=n(e=[\\\"raz\\\",\\\"dwa\\\"]),Boolean(t&&t!==e&&\\\"dwa\\\"===t[1]))}()?Array.from:function(){if(tm)return em;tm=1;var e=$u().iterator,t=Yu(),n=Ku(),r=lm,a=j,i=f,o=c,s=dm(),l=Array.isArray,d=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},u=Object.defineProperty;return em=function(c){var m,h,g,f,y,b,S,v,x,k,w=arguments[1],C=arguments[2];if(c=Object(i(c)),o(w)&&a(w),this&&this!==Array&&n(this))m=this;else{if(!w){if(t(c))return 1!==(y=c.length)?Array.apply(null,c):((f=new Array(1))[0]=c[0],f);if(l(c)){for(f=new Array(y=c.length),h=0;h<y;++h)f[h]=c[h];return f}}f=[]}if(!l(c))if(void 0!==(x=c[e])){for(S=a(x).call(c),m&&(f=new m),v=S.next(),h=0;!v.done;)k=w?d.call(w,C,v.value,h):v.value,m?(p.value=k,u(f,h,p)):f[h]=k,v=S.next(),++h;y=h}else if(s(c)){for(y=c.length,m&&(f=new m),h=0,g=0;h<y;++h)k=c[h],h+1<y&&(b=k.charCodeAt(0))>=55296&&b<=56319&&(k+=c[++h]),k=w?d.call(w,C,k,g):k,m?(p.value=k,u(f,g,p)):f[g]=k,++g;y=g}if(void 0===y)for(y=r(c.length),m&&(f=new m(y)),h=0;h<y;++h)k=w?d.call(w,C,c[h],h):c[h],m?(p.value=k,u(f,h,p)):f[h]=k;return m&&(p.value=null,f.length=y),f},em}();var mm=function(){var e=Number.isNaN;return\\\"function\\\"==typeof e&&(!e({})&&e(NaN)&&!e(34))}()?Number.isNaN:(cm||(cm=1,pm=function(e){return e!=e}),pm),hm=mm,gm=lm,fm=f,ym=Array.prototype.indexOf,bm=Object.prototype.hasOwnProperty,Sm=Math.abs,vm=Math.floor,xm=function(e){var t,n,r,a;if(!hm(e))return ym.apply(this,arguments);for(n=gm(fm(this).length),r=arguments[1],t=r=isNaN(r)?0:r>=0?vm(r):gm(this.length)-vm(Sm(r));t<n;++t)if(bm.call(this,t)&&(a=this[t],hm(a)))return t;return-1},km=Array.prototype.forEach,wm=Array.prototype.splice,Cm=c,Tm={function:!0,object:!0},_m=function(e){return Cm(e)&&Tm[typeof e]||!1},zm=um,Om=function(e){km.call(arguments,(function(e){var t=xm.call(this,e);-1!==t&&wm.call(this,t,1)}),this)},Am=function(e){if(!_m(e))throw new TypeError(e+\\\" is not an Object\\\");return e},Em=E,jm=W.methods.emit,Wm=Object.defineProperty,Lm=Object.prototype.hasOwnProperty,Bm=Object.getOwnPropertyDescriptor,Pm=function(e,t){var n,r,a,i;return Am(e)&&Am(t),void 0===(i=arguments[2])&&(i=\\\"emit\\\"),r={close:function(){Om.call(n,t)}},Lm.call(e,\\\"__eePipes__\\\")?((n=e.__eePipes__).push(t),r):(Wm(e,\\\"__eePipes__\\\",Em(\\\"c\\\",n=[t])),(a=Bm(e,i))?(delete a.get,delete a.set):a=Em(\\\"c\\\",void 0),a.value=function(){var e,t,r=zm(n);for(jm.apply(this,arguments),e=0;t=r[e];++e)jm.apply(t,arguments)},Wm(e,i,a),r)},qm=e(Pm);let Mm=[...Tu,...Ou,...Vu];class Im{constructor(e,t,n){Mm.forEach((r=>{let a=new r(e,t,n);qm(a,this)}))}}function Dm(){for(var e=0;e<arguments.length;e++)Mm.push(arguments[e])}function Rm(e,t,n){return new Im(e,t,n)}L(Im.prototype);class Nm{constructor(e){this.settings=e||{},this.polisher=new ku(!1),this.chunker=new we(void 0,void 0,this.settings),this.hooks={},this.hooks.beforePreview=new B(this),this.hooks.afterPreview=new B(this),this.size={width:{value:8.5,unit:\\\"in\\\"},height:{value:11,unit:\\\"in\\\"},format:void 0,orientation:void 0},this.chunker.on(\\\"page\\\",(e=>{this.emit(\\\"page\\\",e)})),this.chunker.on(\\\"rendering\\\",(()=>{this.emit(\\\"rendering\\\",this.chunker)}))}initializeHandlers(){let e=Rm(this.chunker,this.polisher,this);return e.on(\\\"size\\\",(e=>{this.size=e,this.emit(\\\"size\\\",e)})),e.on(\\\"atpages\\\",(e=>{this.atpages=e,this.emit(\\\"atpages\\\",e)})),e}registerHandlers(){return Dm.apply(Dm,arguments)}getParams(e){let t,n=new URL(window.location),r=new URLSearchParams(n.search);for(var a of r.entries())a[0]===e&&(t=a[1]);return t}wrapContent(){let e,t=document.querySelector(\\\"body\\\");return e=t.querySelector(\\\":scope > template[data-ref='pagedjs-content']\\\"),e||(e=document.createElement(\\\"template\\\"),e.dataset.ref=\\\"pagedjs-content\\\",e.innerHTML=t.innerHTML,t.innerHTML=\\\"\\\",t.appendChild(e)),e.content}removeStyles(e=document){return[...Array.from(e.querySelectorAll(\\\"link[rel='stylesheet']:not([data-pagedjs-ignore], [media~='screen'])\\\")),...Array.from(e.querySelectorAll(\\\"style:not([data-pagedjs-inserted-styles], [data-pagedjs-ignore], [media~='screen'])\\\"))].sort((function(e,t){const n=e.compareDocumentPosition(t);return n===Node.DOCUMENT_POSITION_PRECEDING?1:n===Node.DOCUMENT_POSITION_FOLLOWING?-1:0})).map((e=>{if(\\\"STYLE\\\"===e.nodeName){const t={};return t[window.location.href]=e.textContent,e.remove(),t}if(\\\"LINK\\\"===e.nodeName)return e.remove(),e.href;console.warn(`Unable to process: ${e}, ignoring.`)}))}async preview(e,t,n){await this.hooks.beforePreview.trigger(e,n),e||(e=this.wrapContent()),t||(t=this.removeStyles()),this.polisher.setup(),this.handlers=this.initializeHandlers(),await this.polisher.add(...t);let r=performance.now(),a=await this.chunker.flow(e,n),i=performance.now();return a.performance=i-r,a.size=this.size,this.emit(\\\"rendered\\\",a),await this.hooks.afterPreview.trigger(a.pages),a}}L(Nm.prototype);var Gm=Object.freeze({__proto__:null,Chunker:we,Handler:wu,Polisher:ku,Previewer:Nm,initializeHandlers:Rm,registerHandlers:Dm,registeredHandlers:Mm});window.Paged=Gm;let Fm=new Promise((function(e,t){\\\"interactive\\\"!==document.readyState&&\\\"complete\\\"!==document.readyState?document.onreadystatechange=function(t){\\\"interactive\\\"===document.readyState&&e(document.readyState)}:e(document.readyState)})),Vm=window.PagedConfig||{auto:!0,before:void 0,after:void 0,content:void 0,stylesheets:void 0,renderTo:void 0,settings:void 0},Um=new Nm(Vm.settings);return Fm.then((async function(){let e;Vm.before&&await Vm.before(),!1!==Vm.auto&&(e=await Um.preview(Vm.content,Vm.stylesheets,Vm.renderTo)),Vm.after&&await Vm.after(e)})),Um}));\\n\";\n","/**\n * Handler do Paged.js que repete <thead> (e <colgroup>) em cada fragmento de tabela\n * quebrada entre páginas — o polyfill NÃO faz isso sozinho (display: table-header-group\n * só funciona no print nativo). Adaptação do handler canônico de repeating table\n * headers do Paged.js; roda no hook `layout`, então a altura do thead clonado é\n * contabilizada pela paginação (sem overflow).\n *\n * Precisa rodar DEPOIS do PAGEDJS_SOURCE (usa window.Paged) e ANTES do\n * PagedPolyfill.preview() do bootstrap.\n */\nexport const REPEAT_TABLE_HEADERS = `(function () {\n if (!window.Paged) return;\n\n function findFirstAncestor(el, selector) {\n while (el && el.parentNode && el.parentNode.nodeType === 1) {\n if (el.parentNode.matches(selector)) return el.parentNode;\n el = el.parentNode;\n }\n return null;\n }\n\n function findAllAncestors(el, selector) {\n var ancestors = [];\n while (el && el.parentNode && el.parentNode.nodeType === 1) {\n if (el.parentNode.matches(selector)) ancestors.unshift(el.parentNode);\n el = el.parentNode;\n }\n return ancestors;\n }\n\n class RepeatingTableHeaders extends window.Paged.Handler {\n constructor(chunker, polisher, caller) {\n super(chunker, polisher, caller);\n this.splitTablesRefs = [];\n }\n\n afterPageLayout(pageElement, page, breakToken, chunker) {\n this.chunker = chunker;\n this.splitTablesRefs = [];\n if (!breakToken || !breakToken.node || breakToken.node.nodeType !== 1) return;\n\n var node = breakToken.node;\n var tables = findAllAncestors(node, 'table');\n if (node.tagName === 'TABLE') tables.push(node);\n if (!tables.length) return;\n\n this.splitTablesRefs = tables.map(function (t) { return t.dataset.ref; });\n\n var thead = node.tagName === 'THEAD' ? node : findFirstAncestor(node, 'thead');\n if (thead) {\n var lastTheadNode = thead.hasChildNodes() ? thead.lastChild : thead;\n breakToken.node = this.nodeAfter(lastTheadNode, chunker.source);\n }\n }\n\n layout(rendered, layout) {\n var self = this;\n this.splitTablesRefs.forEach(function (ref) {\n var renderedTable = rendered.querySelector(\"[data-ref='\" + ref + \"']\");\n if (!renderedTable || renderedTable.getAttribute('data-repeated-headers')) return;\n var sourceTable = self.chunker.source.querySelector(\"[data-ref='\" + ref + \"']\");\n if (!sourceTable) return;\n var firstChild = renderedTable.firstChild;\n sourceTable.querySelectorAll('colgroup').forEach(function (colgroup) {\n renderedTable.insertBefore(colgroup.cloneNode(true), firstChild);\n });\n var thead = sourceTable.querySelector('thead');\n if (thead) renderedTable.insertBefore(thead.cloneNode(true), renderedTable.firstChild);\n renderedTable.setAttribute('data-repeated-headers', 'true');\n });\n }\n }\n\n window.Paged.registerHandlers(RepeatingTableHeaders);\n})();`;\n","export const DG_MESSAGE_SOURCE = 'document-generator';\nexport const DG_READY = 'dg-ready';\nexport const DG_ERROR = 'dg-error';\n\nconst ASSET_TIMEOUT_MS = 5000;\n\n/**\n * Roda DENTRO do documento gerado (iframe/Chromium). Requer window.PagedConfig = { auto: false }\n * definido ANTES do polyfill — o bootstrap decide quando paginar (depois dos assets).\n */\nexport const PREVIEW_BOOTSTRAP = `(function () {\n function send(type, detail) {\n if (window.parent && window.parent !== window) {\n window.parent.postMessage({ source: '${DG_MESSAGE_SOURCE}', type: type, detail: detail || null }, '*');\n }\n }\n function waitAssets() {\n var images = Array.prototype.slice.call(document.images);\n var decodes = images.map(function (img) {\n return img.decode ? img.decode()['catch'](function () {}) : Promise.resolve();\n });\n var fonts = document.fonts && document.fonts.ready ? document.fonts.ready : Promise.resolve();\n var timeout = new Promise(function (resolve) { setTimeout(resolve, ${ASSET_TIMEOUT_MS}); });\n return Promise.race([Promise.all([fonts].concat(decodes)), timeout]);\n }\n function run() {\n waitAssets()\n .then(function () { return window.PagedPolyfill.preview(); })\n .then(function () { send('${DG_READY}'); })\n ['catch'](function (err) { send('${DG_ERROR}', String((err && err.message) || err)); });\n }\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', run);\n } else {\n run();\n }\n})();`;\n","import { createElement, Fragment, type ComponentType, type ReactNode } from 'react';\nimport { renderToStaticMarkup } from 'react-dom/server';\nimport { ServerStyleSheet } from 'styled-components';\nimport type { Data, Metadata } from '@puckeditor/core';\nimport type { Registry } from '../blocks/types';\nimport type { CoverFields, Theme } from '../schema/theme';\nimport type { ResolvedVariables, UnresolvedDisplay, VariableDef } from '../variables/types';\nimport { DocumentRenderer } from './DocumentRenderer';\nimport { buildPageCss } from './buildPageCss';\nimport { CoverPage } from './chrome/CoverPage';\nimport { HeaderBar } from './chrome/HeaderBar';\nimport { FooterBar } from './chrome/FooterBar';\nimport type { CompanyInfo } from './chrome/types';\nimport { gfontHref } from '../surface/fonts';\nimport { PAGEDJS_SOURCE } from './pagedjsSource.gen';\nimport { REPEAT_TABLE_HEADERS } from './repeatTableHeaders';\nimport { PREVIEW_BOOTSTRAP } from './previewBootstrap';\n\nexport type BuildDocumentHtmlOptions = {\n registry: Registry;\n data: Data;\n theme?: Theme;\n catalog?: VariableDef[];\n resolvedVariables: ResolvedVariables;\n /** Como exibir variável conhecida sem valor: `'placeholder'` (default) ou `'label'` (contexto de template). */\n unresolvedDisplay?: UnresolvedDisplay;\n companyInfo?: CompanyInfo;\n documentName?: string;\n /** Envolve apenas o DocumentRenderer para prover contexto extra (ex.: dados de orçamento pré-carregados). Deve permanecer puro/SSR-safe — sem side effects, sem hooks com efeitos assíncronos. */\n wrapper?: ComponentType<{ children: ReactNode }>;\n /** `key` do bloco tratado como capa (hoisted para fora do fluxo quando é o 1º de `content`). */\n coverBlockKey?: string;\n /** `key`s de bloco que não podem ser cortados entre páginas. Repassado ao `buildPageCss`. */\n noCutBlockKeys?: string[];\n /** Dados do host visíveis a todo bloco como `puck.metadata` (ex.: `{ isTemplate: true }`). */\n metadata?: Metadata;\n};\n\nexport const DEFAULT_COVER_BLOCK_KEY = 'Cover';\n\nconst escapeHtml = (value: string): string =>\n value.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\"/g, '"');\n\n// O useDocumentFont dos blocos é useEffect e não roda no renderToStaticMarkup —\n// toda fonte usada (documento + fontFamily por bloco) precisa virar <link> no head.\nconst collectFontHrefs = (data: Data, theme: Theme): string[] => {\n const ids = new Set<string>();\n if (theme.documentFont) ids.add(theme.documentFont);\n const items = [...(data.content ?? []), ...Object.values(data.zones ?? {}).flat()];\n items.forEach(item => {\n const fontFamily = (item?.props as { appearance?: { fontFamily?: string } })?.appearance?.fontFamily;\n if (fontFamily) ids.add(fontFamily);\n });\n return [...ids].map(id => gfontHref(id)).filter((href): href is string => Boolean(href));\n};\n\nconst renderBody = (opts: BuildDocumentHtmlOptions): { body: string; styleTags: string; hasCover: boolean } => {\n const sheet = new ServerStyleSheet();\n try {\n // Bloco Cover (se for o 1º de content) sai do fluxo do DocumentRenderer e vira\n // seção líder do body — hoisted, não passa pelo Puck Render normal.\n const [first, ...rest] = opts.data.content ?? [];\n const coverBlock = first?.type === (opts.coverBlockKey ?? DEFAULT_COVER_BLOCK_KEY) ? first : null;\n const contentData = coverBlock ? { ...opts.data, content: rest } : opts.data;\n\n const documentRenderer = createElement(DocumentRenderer, {\n registry: opts.registry,\n data: contentData,\n theme: opts.theme,\n catalog: opts.catalog,\n resolvedVariables: opts.resolvedVariables,\n unresolvedDisplay: opts.unresolvedDisplay,\n metadata: opts.metadata\n });\n const coverProps = coverBlock?.props as\n | { templateId?: string; accent?: string; fields?: CoverFields; textColor?: string; bgColor?: string }\n | undefined;\n const body = renderToStaticMarkup(\n sheet.collectStyles(\n createElement(\n Fragment,\n null,\n coverBlock\n ? createElement(CoverPage, {\n templateId: coverProps?.templateId,\n accent: coverProps?.accent,\n fields: coverProps?.fields,\n theme: opts.theme,\n textColor: coverProps?.textColor,\n bgColor: coverProps?.bgColor\n })\n : null,\n createElement(HeaderBar, {\n config: opts.theme?.header,\n companyInfo: opts.companyInfo,\n logoUrl: opts.theme?.logo?.url,\n documentFont: opts.theme?.documentFont\n }),\n createElement(FooterBar, {\n config: opts.theme?.footer,\n companyInfo: opts.companyInfo,\n documentFont: opts.theme?.documentFont\n }),\n opts.wrapper ? createElement(opts.wrapper, null, documentRenderer) : documentRenderer\n )\n )\n );\n return { body, styleTags: sheet.getStyleTags(), hasCover: Boolean(coverBlock) };\n } finally {\n sheet.seal();\n }\n};\n\n/** Documento HTML completo e autocontido — preview (iframe), link público e PDF (Gotenberg). */\nexport function buildDocumentHtml(opts: BuildDocumentHtmlOptions): string {\n const theme = opts.theme ?? {};\n const { body, styleTags, hasCover } = renderBody(opts);\n const fontLinks = collectFontHrefs(opts.data, theme).map(href => `<link rel=\"stylesheet\" href=\"${href}\"/>`);\n\n return [\n '<!doctype html>',\n '<html lang=\"pt-BR\">',\n '<head>',\n '<meta charset=\"utf-8\"/>',\n '<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>',\n `<title>${escapeHtml(opts.documentName || 'Documento')}</title>`,\n ...fontLinks,\n styleTags,\n `<style>${buildPageCss(theme, { hasCover, noCutBlockKeys: opts.noCutBlockKeys })}</style>`,\n '<style>body { margin: 0; background: #E8E9EB; } .pagedjs_page { box-shadow: 0 1px 4px rgba(15, 23, 42, 0.18); margin: 16px auto; }</style>',\n '<script>window.PagedConfig = { auto: false };</script>',\n `<script>${PAGEDJS_SOURCE}</script>`,\n `<script>${REPEAT_TABLE_HEADERS}</script>`,\n `<script>${PREVIEW_BOOTSTRAP}</script>`,\n '</head>',\n `<body>${body}</body>`,\n '</html>'\n ]\n .filter(Boolean)\n .join('\\n');\n}\n","import { z } from 'zod';\n\nconst hex = z.string().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/, 'cor hex inválida');\n\n/**\n * Sobrescrita de aparência por bloco. Toda chave opcional = herda tema.\n * `passthrough`: blocos podem guardar config visual extra (ex: ícone do botão)\n * sem enumerar aqui; `appearanceToStyle` só lê as chaves de estilo conhecidas.\n */\nexport const appearanceSchema = z\n .object({\n brand: hex.optional(),\n text: hex.optional(),\n background: hex.optional(),\n fontSize: z.number().int().min(8).max(96).optional(),\n fontFamily: z.string().optional(),\n fontWeight: z.enum(['normal', 'medium', 'bold']).optional(),\n textAlign: z.enum(['left', 'center', 'right']).optional()\n })\n .passthrough();\n\nexport type Appearance = z.infer<typeof appearanceSchema>;\n","import { useCallback, useEffect, useRef, useState } from 'react';\n\nexport type SaveStatus = 'saving' | 'saved' | 'error';\n\nexport type UseDocumentAutosaveOptions<T> = {\n doc: T;\n /** Persiste o documento. DEVE retornar a Promise da requisição — o status e o flush dependem dela. */\n save: (doc: T) => Promise<void>;\n delay?: number;\n initialSavedAt?: Date | null;\n /** Enquanto false (ex: documento carregando), o baseline segue o doc e nada é salvo. */\n enabled?: boolean;\n};\n\nexport type UseDocumentAutosaveResult = {\n status: SaveStatus;\n lastSavedAt: Date | null;\n /** Salva o snapshot mais recente AGORA, aguardando qualquer save em voo antes. */\n flushNow: () => Promise<void>;\n};\n\n/**\n * Autosave com debounce por conteúdo e fila de saves — `flushNow()` só resolve\n * com o snapshot mais recente persistido. Semântica completa: docs/autosave.md.\n */\nexport function useDocumentAutosave<T>({\n doc,\n save,\n delay = 3000,\n initialSavedAt = null,\n enabled = true\n}: UseDocumentAutosaveOptions<T>): UseDocumentAutosaveResult {\n const [status, setStatus] = useState<SaveStatus>('saved');\n const [lastSavedAt, setLastSavedAt] = useState<Date | null>(initialSavedAt);\n\n const lastSaved = useRef<string | null>(null);\n const timer = useRef<ReturnType<typeof setTimeout>>();\n const inFlight = useRef(false);\n const tail = useRef<Promise<void>>(Promise.resolve());\n const latest = useRef(doc);\n latest.current = doc;\n const enabledRef = useRef(enabled);\n enabledRef.current = enabled;\n\n const flush = useCallback((): Promise<void> => {\n if (!enabledRef.current) return Promise.resolve();\n const run = async (): Promise<void> => {\n inFlight.current = true;\n try {\n const snapshot = JSON.stringify(latest.current);\n if (snapshot === lastSaved.current) return;\n\n setStatus('saving');\n await save(latest.current);\n lastSaved.current = snapshot;\n setStatus('saved');\n setLastSavedAt(new Date());\n } catch {\n setStatus('error');\n clearTimeout(timer.current);\n timer.current = setTimeout(flush, delay);\n } finally {\n inFlight.current = false;\n }\n };\n\n // Ocioso: roda já (síncrono até o await). Em voo: encadeia no fim da fila.\n const chained = inFlight.current ? tail.current.then(run) : run();\n tail.current = chained;\n return chained;\n }, [save, delay]);\n\n useEffect(() => {\n if (!enabled || lastSaved.current === null) {\n lastSaved.current = JSON.stringify(doc);\n return undefined;\n }\n clearTimeout(timer.current);\n timer.current = setTimeout(flush, delay);\n return () => clearTimeout(timer.current);\n }, [doc, delay, flush, enabled]);\n\n return { status, lastSavedAt, flushNow: flush };\n}\n","import { z } from 'zod';\nimport type { ZodObject } from 'zod';\nimport type { Registry } from '../blocks/types';\nimport { appearanceSchema } from './appearance';\n\nconst idProps = z.object({ id: z.string().min(1) });\nconst readOnly = z.record(z.boolean()).optional();\n\n/**\n * Build the per-type block validator from a registry. Each registered block\n * becomes `{ type: literal(key), props }`, where props are validated by the\n * block's `propsSchema` (with `id` added, unknown keys stripped) or, when none\n * is given, only required to carry an `id` (passthrough).\n *\n * Unregistered `type`s are rejected — the registry doubles as an allowlist.\n */\nexport function buildBlockSchema(registry: Registry) {\n // Replace-by-key (regra do buildConfig): keys duplicadas quebram o discriminatedUnion.\n const entries = [...new Map(registry.map(entry => [entry.key, entry])).values()];\n const variants = entries.map(entry => {\n const props = entry.propsSchema\n ? (entry.propsSchema as ZodObject<z.ZodRawShape>).extend({\n id: z.string().min(1),\n appearance: appearanceSchema.optional()\n })\n : z.object({ id: z.string().min(1), appearance: appearanceSchema.optional() }).passthrough();\n return z.object({ type: z.literal(entry.key), props, readOnly });\n });\n\n if (variants.length === 0) {\n return z.object({ type: z.string(), props: idProps.passthrough(), readOnly });\n }\n if (variants.length === 1) return variants[0];\n return z.discriminatedUnion('type', variants as [(typeof variants)[number], ...(typeof variants)[number][]]);\n}\n\n/** Build the Puck `Data` envelope (`{ content, root, zones? }`) for a registry. */\nexport function buildPuckDataSchema(registry: Registry) {\n const block = buildBlockSchema(registry);\n return z\n .object({\n content: z.array(block),\n root: z\n .object({\n props: z.record(z.unknown()).optional(),\n readOnly\n })\n .strict(),\n zones: z.record(z.array(block)).optional()\n })\n .strict();\n}\n","import { z } from 'zod';\n\nexport const variableTypeSchema = z.enum([\n 'string',\n 'number',\n 'date',\n 'currency',\n 'boolean',\n 'document',\n 'phone',\n 'zipcode'\n]);\n\nexport const variableDefSchema = z\n .object({\n key: z.string().min(1),\n label: z.string().min(1),\n fullLabel: z.string().optional(),\n type: variableTypeSchema,\n model: z.string().min(1),\n default: z.unknown().optional()\n })\n .strict();\n\nexport const variableCatalogSchema = z\n .object({\n catalog: z.array(variableDefSchema).default([])\n })\n .strict();\n","import { z } from 'zod';\nimport type { Registry } from '../blocks/types';\nimport { buildPuckDataSchema } from './puckData';\nimport { themeSchema, type Theme } from './theme';\nimport { variableCatalogSchema } from '../variables/schema';\nimport { findInvalidBindings } from '../variables/bindings';\nimport type { VariableCatalog, VariableDef } from '../variables/types';\n\nexport type DocumentSchemaOptions = {\n /** When given, bindings whose key is not in the catalog are rejected. */\n catalog?: VariableDef[];\n};\n\n/**\n * Validador do documento (data + theme + catálogo) — contrato central entre\n * back, fila e front. Envelope strict; `catalog` também valida bindings.\n */\nexport function buildDocumentSchema(registry: Registry, options: DocumentSchemaOptions = {}) {\n const base = z\n .object({\n data: buildPuckDataSchema(registry),\n theme: themeSchema.optional(),\n variables: variableCatalogSchema.default({ catalog: [] })\n })\n .strict();\n\n const { catalog } = options;\n if (!catalog) return base;\n\n return base.superRefine((doc, ctx) => {\n findInvalidBindings(doc, catalog).forEach(key => {\n ctx.addIssue({ code: z.ZodIssueCode.custom, message: `Variável desconhecida: ${key}`, path: ['data'] });\n });\n });\n}\n\n/** Validate `input`, throwing `ZodError` on failure. Returns the parsed document. */\nexport function parseDocument(registry: Registry, input: unknown, options?: DocumentSchemaOptions): Document {\n return buildDocumentSchema(registry, options).parse(input) as Document;\n}\n\n/** Non-throwing validation — returns Zod's `{ success, data | error }`. */\nexport function safeParseDocument(registry: Registry, input: unknown, options?: DocumentSchemaOptions) {\n return buildDocumentSchema(registry, options).safeParse(input);\n}\n\n// --- Public document types (decoupled from the runtime-built schema) ---\n\nexport type DocumentBlock = {\n type: string;\n props: { id: string } & Record<string, unknown>;\n readOnly?: Record<string, boolean>;\n};\n\nexport type PuckDocumentData = {\n content: DocumentBlock[];\n root: { props?: Record<string, unknown>; readOnly?: Record<string, boolean> };\n zones?: Record<string, DocumentBlock[]>;\n};\n\n/** Document before validation — `variables` may be omitted (defaulted on parse). */\nexport type DocumentInput = {\n data: PuckDocumentData;\n theme?: Theme;\n variables?: VariableCatalog;\n};\n\n/** Document after validation — `variables` always present. */\nexport type Document = DocumentInput & { variables: VariableCatalog };\n","import { useEffect, useMemo, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { useCatalog, useTranslator } from './catalogContext';\nimport { useEnsureResolved, useResolvedVariables } from './resolvedContext';\nimport type { VariableDef, VariableType } from './types';\n\ntype Props = {\n accept?: VariableType[];\n model?: string;\n onPick: (def: VariableDef) => void;\n};\n\nconst Panel = styled.div`\n width: 260px;\n max-height: 320px;\n overflow: auto;\n background: #fff;\n border: 1px solid #e5e7eb;\n border-radius: 12px;\n box-shadow: 0 12px 32px rgba(17, 24, 39, 0.16);\n padding: 6px;\n`;\n\nconst Search = styled.input`\n width: 100%;\n padding: 9px 10px;\n margin-bottom: 4px;\n border: 1px solid #e5e7eb;\n border-radius: 8px;\n font-size: 13px;\n color: #111827;\n\n &::placeholder {\n color: #9aa3af;\n }\n &:focus {\n outline: none;\n border-color: #1a56db;\n }\n`;\n\nconst GroupLabel = styled.div`\n padding: 10px 10px 4px;\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: #9aa3af;\n`;\n\nconst Option = styled.button`\n display: flex;\n flex-direction: column;\n gap: 1px;\n width: 100%;\n padding: 7px 10px;\n border: none;\n border-radius: 8px;\n background: transparent;\n cursor: pointer;\n text-align: left;\n\n &:hover {\n background: #f3f6fb;\n }\n`;\n\nconst OptionLabel = styled.span`\n color: #1f2937;\n font-size: 13px;\n font-weight: 500;\n`;\n\nconst OptionValue = styled.span`\n color: #9aa3af;\n font-size: 12px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst Missing = styled.span`\n color: #e02424;\n font-size: 12px;\n font-style: italic;\n`;\n\nconst Empty = styled.div`\n padding: 14px 10px;\n color: #9aa3af;\n text-align: center;\n font-size: 13px;\n`;\n\nfunction groupBy(defs: VariableDef[]): [string, VariableDef[]][] {\n const map = new Map<string, VariableDef[]>();\n defs.forEach(def => {\n const list = map.get(def.model ?? 'outros') ?? [];\n list.push(def);\n map.set(def.model ?? 'outros', list);\n });\n return [...map.entries()];\n}\n\nexport function VariableMenu({ accept, model, onPick }: Props) {\n const catalog = useCatalog();\n const translator = useTranslator();\n const preview = useResolvedVariables();\n const ensureResolved = useEnsureResolved();\n const [query, setQuery] = useState('');\n const [loading, setLoading] = useState(true);\n const searchRef = useRef<HTMLInputElement>(null);\n const catalogRef = useRef(catalog);\n catalogRef.current = catalog;\n\n useEffect(() => {\n searchRef.current?.focus();\n }, []);\n\n useEffect(() => {\n let active = true;\n ensureResolved(catalogRef.current.map(def => def.key)).finally(() => {\n if (active) setLoading(false);\n });\n return () => {\n active = false;\n };\n }, []);\n\n const options = useMemo(() => {\n const q = query.trim().toLowerCase();\n const matchesQuery = (def: VariableDef) =>\n def.label.toLowerCase().includes(q) || Boolean(def.fullLabel?.toLowerCase().includes(q));\n return catalog.filter(\n def => (!accept || accept.includes(def.type)) && (!model || def.model === model) && (!q || matchesQuery(def))\n );\n }, [catalog, accept, model, query]);\n\n return (\n <Panel>\n <Search ref={searchRef} placeholder=\"Inserir variável\" value={query} onChange={e => setQuery(e.target.value)} />\n {options.length === 0 && <Empty>Nenhuma variável</Empty>}\n {groupBy(options).map(([groupName, defs]) => (\n <div key={groupName}>\n <GroupLabel>{translator[groupName] ?? groupName}</GroupLabel>\n {defs.map(def => {\n const value = preview[def.key];\n return (\n <Option key={def.key} type=\"button\" onMouseDown={e => e.preventDefault()} onClick={() => onPick(def)}>\n <OptionLabel>{def.label}</OptionLabel>\n {value ? <OptionValue>{value}</OptionValue> : null}\n {!value && !loading ? <Missing>Dado não informado</Missing> : null}\n </Option>\n );\n })}\n </div>\n ))}\n </Panel>\n );\n}\n","import { extractBindingKeys } from './bindings';\nimport type { ResolvedVariables, UnresolvedDisplay, VariableDef } from './types';\n\nexport const NOT_INFORMED_LABEL = 'Não informado';\nexport const CHIP_CLASS = 'dg-var';\nexport const INVALID_CHIP_CLASS = 'dg-var--invalid';\nconst INVALID_ICON = '⚠ ';\n\nconst VAR_SPAN_REGEX = /<span([^>]*\\bdata-var-key=\"([^\"]+)\"[^>]*)>([\\s\\S]*?)<\\/span>/g;\n\n/** Markup canônico do chip de variável — editores de host inserem por aqui. */\nexport const buildVariableChipHtml = (def: { key: string; label?: string; fullLabel?: string }): string =>\n `<span class=\"${CHIP_CLASS}\" data-var-key=\"${def.key}\" contenteditable=\"false\">${\n def.fullLabel || def.label || def.key\n }</span>`;\n\ntype ResolveOptions = { keepChip?: boolean; catalog?: VariableDef[]; unresolved?: UnresolvedDisplay };\n\nconst stripAttr = (attrs: string, name: string): string => attrs.replace(new RegExp(`\\\\s*${name}=\"[^\"]*\"`, 'gi'), '');\n\nconst ensureClass = (attrs: string, className: string): string => {\n const current = attrs.match(/class=\"([^\"]*)\"/);\n if (!current) return `${attrs} class=\"${className}\"`;\n const classes = current[1].split(/\\s+/).filter(Boolean);\n if (classes.includes(className)) return attrs;\n return attrs.replace(/class=\"[^\"]*\"/, `class=\"${[...classes, className].join(' ')}\"`);\n};\n\n// Fallback sem DOMParser (fila de PDF) — deve espelhar o caminho DOM (docs/variables.md).\nconst resolveWithRegex = (\n html: string,\n resolved: ResolvedVariables,\n keepChip: boolean,\n knownKeys: Set<string> | null,\n knownDefs: Map<string, VariableDef> | null,\n unresolved: UnresolvedDisplay\n): string =>\n html.replace(VAR_SPAN_REGEX, (_match, attrs: string, key: string, label: string) => {\n const cleanAttrs = stripAttr(attrs, 'contenteditable');\n\n if (knownKeys && unresolved !== 'label' && !knownKeys.has(key)) {\n const text = label.startsWith(INVALID_ICON) ? label : `${INVALID_ICON}${label}`;\n return `<span${ensureClass(cleanAttrs, INVALID_CHIP_CLASS)}>${text}</span>`;\n }\n\n const raw = resolved[key];\n if (raw === undefined && unresolved === 'label')\n return `<span${ensureClass(cleanAttrs, CHIP_CLASS)}>${label}</span>`;\n\n const value = raw !== undefined ? String(raw) : NOT_INFORMED_LABEL;\n if (keepChip) return `<span${cleanAttrs}>${value}</span>`;\n const markerAttrs = stripAttr(cleanAttrs, 'class');\n const def = knownDefs?.get(key);\n const withType = def?.type ? `${markerAttrs} data-var-type=\"${def.type}\"` : markerAttrs;\n return `<span${withType}>${value}</span>`;\n });\n\nconst setChipText = (doc: Document, chip: Element, value: string): void => {\n const walker = doc.createTreeWalker(chip, NodeFilter.SHOW_TEXT);\n const nodes: Node[] = [];\n while (walker.nextNode()) nodes.push(walker.currentNode);\n if (!nodes.length) {\n chip.appendChild(doc.createTextNode(value));\n return;\n }\n nodes[0].nodeValue = value;\n nodes.slice(1).forEach(node => node.parentNode?.removeChild(node));\n};\n\nconst markInvalid = (doc: Document, chip: Element): void => {\n chip.classList.add(INVALID_CHIP_CLASS);\n if (!(chip.textContent ?? '').startsWith(INVALID_ICON)) {\n chip.insertBefore(doc.createTextNode(INVALID_ICON), chip.firstChild);\n }\n};\n\n/** Classifica os chips do documento em `unknown` (fora do catálogo) e `unresolved` (sem valor). */\nexport const collectVariableIssues = (\n data: unknown,\n catalog: VariableDef[] = [],\n resolved: ResolvedVariables = {}\n): { unknown: string[]; unresolved: string[]; hasIssues: boolean } => {\n const keys = extractBindingKeys(data);\n const byKey = new Map(catalog.map(item => [item.key, item]));\n const unknown: string[] = [];\n const unresolved: string[] = [];\n keys.forEach(key => {\n const item = byKey.get(key);\n if (!item) unknown.push(key);\n else if (resolved[key] === undefined) unresolved.push(item.label || key);\n });\n return { unknown, unresolved, hasIssues: unknown.length > 0 || unresolved.length > 0 };\n};\n\n/**\n * Resolve os chips de variável de um HTML: valor, \"Não informado\" ou inválido (⚠).\n * `keepChip: false` (render/PDF) mantém um span marcador (data-var-key/data-var-type, sem class).\n * `unresolved: 'label'` (contexto de template) preserva o chip (texto + class) e não marca chip fora do\n * catálogo como inválido — o template não está ligado a um documento, então \"key desconhecida\" ali é ruído.\n * Ver docs/variables.md.\n */\nexport const resolveVariableHtml = (\n html: string,\n resolved: ResolvedVariables = {},\n { keepChip = true, catalog, unresolved = 'placeholder' }: ResolveOptions = {}\n): string => {\n if (!html || html.indexOf('data-var-key') < 0) return html;\n const knownKeys = catalog ? new Set(catalog.map(item => item.key)) : null;\n const knownDefs = catalog ? new Map(catalog.map(item => [item.key, item])) : null;\n if (typeof DOMParser === 'undefined')\n return resolveWithRegex(html, resolved, keepChip, knownKeys, knownDefs, unresolved);\n\n const doc = new DOMParser().parseFromString(html, 'text/html');\n\n doc.body.querySelectorAll('[data-var-key]').forEach(chip => {\n const key = chip.getAttribute('data-var-key') ?? '';\n const value = resolved[key];\n const unknown = knownKeys && unresolved !== 'label' ? !knownKeys.has(key) : false;\n chip.removeAttribute('contenteditable');\n\n if (unknown) {\n markInvalid(doc, chip);\n return;\n }\n if (value === undefined && unresolved === 'label') {\n chip.classList.add(CHIP_CLASS);\n return;\n }\n setChipText(doc, chip, value !== undefined ? String(value) : NOT_INFORMED_LABEL);\n if (!keepChip) {\n chip.removeAttribute('class');\n const def = knownDefs?.get(key);\n if (def?.type) chip.setAttribute('data-var-type', def.type);\n }\n });\n return doc.body.innerHTML;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/schema/appearance.ts","../src/schema/puckData.ts","../src/schema/document.ts"],"names":["z","themeSchema","variableCatalogSchema","findInvalidBindings"],"mappings":"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","file":"index.cjs","sourcesContent":["import { z } from 'zod';\n\nconst hex = z.string().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/, 'cor hex inválida');\n\nexport type Appearance = {\n brand?: string;\n text?: string;\n background?: string;\n fontSize?: number;\n fontFamily?: string;\n fontWeight?: 'normal' | 'medium' | 'bold';\n textAlign?: 'left' | 'center' | 'right';\n [key: string]: unknown;\n};\n\nexport const appearanceSchema: z.ZodType<Appearance, z.ZodTypeDef, unknown> = z\n .object({\n brand: hex.optional(),\n text: hex.optional(),\n background: hex.optional(),\n fontSize: z.number().int().min(8).max(96).optional(),\n fontFamily: z.string().optional(),\n fontWeight: z.enum(['normal', 'medium', 'bold']).optional(),\n textAlign: z.enum(['left', 'center', 'right']).optional()\n })\n .passthrough();\n","import { z } from 'zod';\nimport type { ZodObject } from 'zod';\nimport type { Registry } from '../blocks/types';\nimport { appearanceSchema, type Appearance } from './appearance';\n\nexport type DocumentBlock = {\n type: string;\n props: { id: string; appearance?: Appearance } & Record<string, unknown>;\n readOnly?: Record<string, boolean>;\n};\n\nexport type PuckDocumentData = {\n content: DocumentBlock[];\n root: { props?: Record<string, unknown>; readOnly?: Record<string, boolean> };\n zones?: Record<string, DocumentBlock[]>;\n};\n\ntype Schema<T> = z.ZodType<T, z.ZodTypeDef, unknown>;\n\nconst idProps = z.object({ id: z.string().min(1) });\nconst readOnly = z.record(z.boolean()).optional();\n\nexport function buildBlockSchema(registry: Registry): Schema<DocumentBlock> {\n const entries = [...new Map(registry.map(entry => [entry.key, entry])).values()];\n const variants = entries.map(entry => {\n const props = entry.propsSchema\n ? (entry.propsSchema as ZodObject<z.ZodRawShape>).extend({\n id: z.string().min(1),\n appearance: appearanceSchema.optional()\n })\n : z.object({ id: z.string().min(1), appearance: appearanceSchema.optional() }).passthrough();\n return z.object({ type: z.literal(entry.key), props, readOnly });\n });\n\n if (variants.length === 0) {\n return z.object({ type: z.string(), props: idProps.passthrough(), readOnly }) as Schema<DocumentBlock>;\n }\n if (variants.length === 1) return variants[0] as Schema<DocumentBlock>;\n return z.discriminatedUnion(\n 'type',\n variants as [(typeof variants)[number], ...(typeof variants)[number][]]\n ) as Schema<DocumentBlock>;\n}\n\n/** Build the Puck `Data` envelope (`{ content, root, zones? }`) for a registry. */\nexport function buildPuckDataSchema(registry: Registry): Schema<PuckDocumentData> {\n const block = buildBlockSchema(registry);\n return z\n .object({\n content: z.array(block),\n root: z\n .object({\n props: z.record(z.unknown()).optional(),\n readOnly\n })\n .strict(),\n zones: z.record(z.array(block)).optional()\n })\n .strict();\n}\n","import { z } from 'zod';\nimport type { Registry } from '../blocks/types';\nimport { buildPuckDataSchema, type DocumentBlock, type PuckDocumentData } from './puckData';\nimport { themeSchema, type Theme } from './theme';\nimport { variableCatalogSchema } from '../variables/schema';\nimport { findInvalidBindings } from '../variables/bindings';\nimport type { VariableCatalog, VariableDef } from '../variables/types';\n\nexport type { DocumentBlock, PuckDocumentData };\n\nexport type DocumentSchemaOptions = {\n catalog?: VariableDef[];\n};\n\nexport type DocumentInput = {\n data: PuckDocumentData;\n theme?: Theme;\n variables?: VariableCatalog;\n};\n\nexport type Document = DocumentInput & { variables: VariableCatalog };\n\ntype Schema<T> = z.ZodType<T, z.ZodTypeDef, unknown>;\n\n/**\n * Validador do documento (data + theme + catálogo) — contrato central entre\n * back, fila e front. Envelope strict; `catalog` também valida bindings.\n */\nexport function buildDocumentSchema(registry: Registry, options: DocumentSchemaOptions = {}): Schema<Document> {\n const base = z\n .object({\n data: buildPuckDataSchema(registry),\n theme: themeSchema.optional(),\n variables: variableCatalogSchema.default({ catalog: [] })\n })\n .strict();\n\n const { catalog } = options;\n if (!catalog) return base;\n\n return base.superRefine((doc, ctx) => {\n findInvalidBindings(doc, catalog).forEach(key => {\n ctx.addIssue({ code: z.ZodIssueCode.custom, message: `Variável desconhecida: ${key}`, path: ['data'] });\n });\n });\n}\n\nexport function parseDocument(registry: Registry, input: unknown, options?: DocumentSchemaOptions): Document {\n return buildDocumentSchema(registry, options).parse(input);\n}\n\nexport function safeParseDocument(registry: Registry, input: unknown, options?: DocumentSchemaOptions) {\n return buildDocumentSchema(registry, options).safeParse(input);\n}\n"]}
|