@aquera/nile-elements 0.0.110 → 0.0.112
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 +11 -0
- package/demo/filenames.txt +1 -1
- package/demo/variables.css +2 -0
- package/dist/{angular-ts-7f0ea228.cjs.js → angular-ts-f3444056.cjs.js} +2 -2
- package/dist/{angular-ts-7f0ea228.cjs.js.map → angular-ts-f3444056.cjs.js.map} +1 -1
- package/dist/{github-dark-default-2257ba5e.cjs.js → github-dark-default-450c7c01.cjs.js} +2 -2
- package/dist/{github-dark-default-2257ba5e.cjs.js.map → github-dark-default-450c7c01.cjs.js.map} +1 -1
- package/dist/{github-dark-default-5814263b.esm.js → github-dark-default-c8549d91.esm.js} +1 -1
- package/dist/{github-dark-dimmed-b7e46b3b.esm.js → github-dark-dimmed-2d99017f.esm.js} +1 -1
- package/dist/{github-dark-dimmed-5703df55.cjs.js → github-dark-dimmed-ef1406bd.cjs.js} +2 -2
- package/dist/{github-dark-dimmed-5703df55.cjs.js.map → github-dark-dimmed-ef1406bd.cjs.js.map} +1 -1
- package/dist/{github-dark-high-contrast-af204903.cjs.js → github-dark-high-contrast-60f6edfa.cjs.js} +2 -2
- package/dist/{github-dark-high-contrast-af204903.cjs.js.map → github-dark-high-contrast-60f6edfa.cjs.js.map} +1 -1
- package/dist/{github-dark-high-contrast-917c210a.esm.js → github-dark-high-contrast-eb093cb4.esm.js} +1 -1
- package/dist/{github-light-default-a8b27e0c.esm.js → github-light-default-97194ef6.esm.js} +1 -1
- package/dist/{github-light-default-f34de887.cjs.js → github-light-default-cf60a983.cjs.js} +2 -2
- package/dist/{github-light-default-f34de887.cjs.js.map → github-light-default-cf60a983.cjs.js.map} +1 -1
- package/dist/{github-light-high-contrast-17c40b3b.esm.js → github-light-high-contrast-0ddc875a.esm.js} +1 -1
- package/dist/{github-light-high-contrast-ef2e56e6.cjs.js → github-light-high-contrast-ab424680.cjs.js} +2 -2
- package/dist/{github-light-high-contrast-ef2e56e6.cjs.js.map → github-light-high-contrast-ab424680.cjs.js.map} +1 -1
- package/dist/hy-431f15f8.cjs.js +2 -0
- package/dist/hy-431f15f8.cjs.js.map +1 -0
- package/dist/hy-5e43d6c1.esm.js +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/{mermaid-7f9972ac.cjs.js → mermaid-76489bb0.cjs.js} +2 -2
- package/dist/{mermaid-7f9972ac.cjs.js.map → mermaid-76489bb0.cjs.js.map} +1 -1
- package/dist/{mermaid-94e78bd4.esm.js → mermaid-ca28664b.esm.js} +1 -1
- package/dist/mipsasm-535432b4.cjs.js +2 -0
- package/dist/mipsasm-535432b4.cjs.js.map +1 -0
- package/dist/mipsasm-57581c0d.esm.js +1 -0
- package/dist/nile-accordion/nile-accordion.cjs.js +1 -1
- package/dist/nile-accordion/nile-accordion.cjs.js.map +1 -1
- package/dist/nile-accordion/nile-accordion.esm.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.esm.js +1 -1
- package/dist/nile-avatar/nile-avatar.cjs.js +1 -1
- package/dist/nile-avatar/nile-avatar.cjs.js.map +1 -1
- package/dist/nile-avatar/nile-avatar.esm.js +1 -1
- package/dist/nile-badge/index.cjs.js +1 -1
- package/dist/nile-badge/index.esm.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
- package/dist/nile-badge/nile-badge.esm.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
- package/dist/nile-badge/nile-badge.test.esm.js +1 -1
- package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js +1 -1
- package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js.map +1 -1
- package/dist/nile-breadcrumb/nile-breadcrumb.esm.js +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js.map +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.esm.js +2 -2
- package/dist/nile-button/index.cjs.js +1 -1
- package/dist/nile-button/index.esm.js +1 -1
- package/dist/nile-button/nile-button.cjs.js +1 -1
- package/dist/nile-button/nile-button.cjs.js.map +1 -1
- package/dist/nile-button/nile-button.esm.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
- package/dist/nile-button/nile-button.test.esm.js +1 -1
- package/dist/nile-button-toggle/nile-button-toggle.cjs.js +1 -1
- package/dist/nile-button-toggle/nile-button-toggle.cjs.js.map +1 -1
- package/dist/nile-button-toggle/nile-button-toggle.esm.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js.map +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.esm.js +1 -1
- package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.esm.js +7 -7
- package/dist/nile-card/nile-card.cjs.js +1 -1
- package/dist/nile-card/nile-card.cjs.js.map +1 -1
- package/dist/nile-card/nile-card.esm.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.cjs.js.map +1 -1
- package/dist/nile-checkbox/nile-checkbox.esm.js +3 -3
- package/dist/nile-chip/nile-chip.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.esm.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
- package/dist/nile-content-editor/nile-content-editor.cjs.js +1 -1
- package/dist/nile-content-editor/nile-content-editor.cjs.js.map +1 -1
- package/dist/nile-content-editor/nile-content-editor.esm.js +5 -5
- package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
- package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
- package/dist/nile-date-picker/nile-date-picker.esm.js +3 -5
- package/dist/nile-dialog/index.cjs.js +1 -1
- package/dist/nile-dialog/index.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.esm.js +8 -6
- package/dist/nile-drawer/index.cjs.js +1 -1
- package/dist/nile-drawer/index.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
- package/dist/nile-empty-state/nile-empty-state.esm.js +1 -1
- package/dist/nile-highlighter/index.cjs.js +1 -1
- package/dist/nile-highlighter/index.esm.js +1 -1
- package/dist/nile-highlighter/nile-highlighter.cjs.js +1 -1
- package/dist/nile-highlighter/nile-highlighter.cjs.js.map +1 -1
- package/dist/nile-highlighter/nile-highlighter.esm.js +2 -2
- package/dist/nile-highlighter/theme-list.cjs.js +1 -1
- package/dist/nile-highlighter/theme-list.cjs.js.map +1 -1
- package/dist/nile-highlighter/theme-list.esm.js +1 -1
- package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
- package/dist/nile-icon/icons/svg/index.esm.js +1 -1
- package/dist/nile-icon/icons/svg/insert-at-cursor.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/insert-at-cursor.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/insert-at-cursor.esm.js +1 -0
- package/dist/nile-icon/icons/svg/warning-01.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/warning-01.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/warning-01.esm.js +1 -0
- package/dist/nile-icon/index.cjs.js +1 -1
- package/dist/nile-icon/index.cjs.js.map +1 -1
- package/dist/nile-icon/index.esm.js +2 -2
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
- package/dist/nile-icon/nile-icon.test.esm.js +1 -1
- package/dist/nile-icon-button/index.cjs.js +1 -1
- package/dist/nile-icon-button/index.esm.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
- package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
- package/dist/nile-input/index.cjs.js +1 -1
- package/dist/nile-input/index.esm.js +1 -1
- package/dist/nile-input/nile-input.cjs.js +1 -1
- package/dist/nile-input/nile-input.cjs.js.map +1 -1
- package/dist/nile-input/nile-input.esm.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
- package/dist/nile-input/nile-input.test.esm.js +1 -1
- package/dist/nile-link/index.cjs.js +1 -1
- package/dist/nile-link/index.esm.js +1 -1
- package/dist/nile-link/nile-link.cjs.js +1 -1
- package/dist/nile-link/nile-link.cjs.js.map +1 -1
- package/dist/nile-link/nile-link.esm.js +4 -4
- package/dist/nile-link/nile-link.test.cjs.js +1 -1
- package/dist/nile-link/nile-link.test.cjs.js.map +1 -1
- package/dist/nile-link/nile-link.test.esm.js +1 -1
- package/dist/nile-list/nile-list.cjs.js +1 -1
- package/dist/nile-list/nile-list.cjs.js.map +1 -1
- package/dist/nile-list/nile-list.esm.js +1 -1
- package/dist/nile-list-item/nile-list-item.cjs.js +1 -1
- package/dist/nile-list-item/nile-list-item.cjs.js.map +1 -1
- package/dist/nile-list-item/nile-list-item.esm.js +1 -1
- package/dist/nile-menu/nile-menu.cjs.js +1 -1
- package/dist/nile-menu/nile-menu.cjs.js.map +1 -1
- package/dist/nile-menu/nile-menu.esm.js +1 -1
- package/dist/nile-menu-item/index.cjs.js +1 -1
- package/dist/nile-menu-item/index.esm.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
- package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
- package/dist/nile-option/index.cjs.js +1 -1
- package/dist/nile-option/index.esm.js +1 -1
- package/dist/nile-option/nile-option.cjs.js +1 -1
- package/dist/nile-option/nile-option.cjs.js.map +1 -1
- package/dist/nile-option/nile-option.esm.js +1 -1
- package/dist/nile-popover/nile-popover.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
- package/dist/nile-popover/nile-popover.esm.js +2 -2
- package/dist/nile-popup/nile-popup.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.cjs.js.map +1 -1
- package/dist/nile-popup/nile-popup.esm.js +1 -1
- package/dist/nile-radio/nile-radio.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.cjs.js.map +1 -1
- package/dist/nile-radio/nile-radio.esm.js +4 -4
- package/dist/nile-radio-group/nile-radio-group.cjs.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.cjs.js.map +1 -1
- package/dist/nile-radio-group/nile-radio-group.esm.js +1 -1
- package/dist/nile-select/index.cjs.js +1 -1
- package/dist/nile-select/index.esm.js +1 -1
- package/dist/nile-select/nile-select.cjs.js +1 -1
- package/dist/nile-select/nile-select.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.esm.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js.map +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.esm.js +1 -1
- package/dist/nile-split-panel/nile-split-panel.cjs.js +1 -1
- package/dist/nile-split-panel/nile-split-panel.cjs.js.map +1 -1
- package/dist/nile-split-panel/nile-split-panel.esm.js +1 -1
- package/dist/nile-stepper/nile-stepper.cjs.js +1 -1
- package/dist/nile-stepper/nile-stepper.cjs.js.map +1 -1
- package/dist/nile-stepper/nile-stepper.esm.js +1 -1
- package/dist/nile-tab/index.cjs.js +1 -1
- package/dist/nile-tab/index.esm.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
- package/dist/nile-tab/nile-tab.esm.js +1 -1
- package/dist/nile-tab-group/index.cjs.js +1 -1
- package/dist/nile-tab-group/index.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
- package/dist/nile-tab-group/nile-tab-group.esm.js +2 -2
- package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
- package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
- package/dist/nile-table-body/nile-table-body.esm.js +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.cjs.js +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.cjs.js.map +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.esm.js +1 -1
- package/dist/nile-tag/index.cjs.js +1 -1
- package/dist/nile-tag/index.esm.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
- package/dist/nile-tag/nile-tag.esm.js +1 -1
- package/dist/nile-textarea/nile-textarea.cjs.js +1 -1
- package/dist/nile-textarea/nile-textarea.cjs.js.map +1 -1
- package/dist/nile-textarea/nile-textarea.esm.js +1 -1
- package/dist/nile-toast/index.cjs.js +1 -1
- package/dist/nile-toast/index.esm.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
- package/dist/nile-toast/nile-toast.esm.js +1 -1
- package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
- package/dist/nile-tooltip/nile-tooltip.cjs.js.map +1 -1
- package/dist/nile-tooltip/nile-tooltip.esm.js +1 -1
- package/dist/nile-tree/index.cjs.js +1 -1
- package/dist/nile-tree/index.esm.js +1 -1
- package/dist/nile-tree/nile-tree.cjs.js +1 -1
- package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
- package/dist/nile-tree/nile-tree.esm.js +1 -1
- package/dist/nile-tree-item/index.cjs.js +1 -1
- package/dist/nile-tree-item/index.esm.js +1 -1
- package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
- package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
- package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
- package/dist/sass-16055185.esm.js +1 -0
- package/dist/sass-4bfa8a08.cjs.js +2 -0
- package/dist/sass-4bfa8a08.cjs.js.map +1 -0
- package/dist/{sparql-f0d04e05.cjs.js → sparql-ebe1ddf3.cjs.js} +2 -2
- package/dist/{sparql-f0d04e05.cjs.js.map → sparql-ebe1ddf3.cjs.js.map} +1 -1
- package/dist/src/nile-accordion/nile-accordion.d.ts +1 -0
- package/dist/src/nile-accordion/nile-accordion.js +1 -0
- package/dist/src/nile-accordion/nile-accordion.js.map +1 -1
- package/dist/src/nile-auto-complete/nile-auto-complete.d.ts +1 -0
- package/dist/src/nile-auto-complete/nile-auto-complete.js +1 -0
- package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
- package/dist/src/nile-avatar/nile-avatar.d.ts +1 -0
- package/dist/src/nile-avatar/nile-avatar.js +1 -0
- package/dist/src/nile-avatar/nile-avatar.js.map +1 -1
- package/dist/src/nile-badge/nile-badge.d.ts +1 -0
- package/dist/src/nile-badge/nile-badge.js +1 -0
- package/dist/src/nile-badge/nile-badge.js.map +1 -1
- package/dist/src/nile-breadcrumb/nile-breadcrumb.d.ts +1 -0
- package/dist/src/nile-breadcrumb/nile-breadcrumb.js +5 -0
- package/dist/src/nile-breadcrumb/nile-breadcrumb.js.map +1 -1
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.d.ts +1 -0
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.js +1 -0
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.js.map +1 -1
- package/dist/src/nile-button/nile-button.d.ts +1 -0
- package/dist/src/nile-button/nile-button.js +1 -0
- package/dist/src/nile-button/nile-button.js.map +1 -1
- package/dist/src/nile-button-toggle/nile-button-toggle.d.ts +1 -0
- package/dist/src/nile-button-toggle/nile-button-toggle.js +1 -0
- package/dist/src/nile-button-toggle/nile-button-toggle.js.map +1 -1
- package/dist/src/nile-button-toggle-group/nile-button-toggle-group.d.ts +1 -0
- package/dist/src/nile-button-toggle-group/nile-button-toggle-group.js +1 -0
- package/dist/src/nile-button-toggle-group/nile-button-toggle-group.js.map +1 -1
- package/dist/src/nile-calendar/nile-calendar.d.ts +5 -5
- package/dist/src/nile-calendar/nile-calendar.js +8 -17
- package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
- package/dist/src/nile-card/nile-card.d.ts +1 -0
- package/dist/src/nile-card/nile-card.js +1 -0
- package/dist/src/nile-card/nile-card.js.map +1 -1
- package/dist/src/nile-checkbox/nile-checkbox.d.ts +1 -0
- package/dist/src/nile-checkbox/nile-checkbox.js +3 -7
- package/dist/src/nile-checkbox/nile-checkbox.js.map +1 -1
- package/dist/src/nile-chip/nile-chip.d.ts +1 -0
- package/dist/src/nile-chip/nile-chip.js +1 -0
- package/dist/src/nile-chip/nile-chip.js.map +1 -1
- package/dist/src/nile-code-editor/nile-code-editor.d.ts +1 -0
- package/dist/src/nile-code-editor/nile-code-editor.js +1 -0
- package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
- package/dist/src/nile-content-editor/nile-content-editor.d.ts +1 -0
- package/dist/src/nile-content-editor/nile-content-editor.js +1 -0
- package/dist/src/nile-content-editor/nile-content-editor.js.map +1 -1
- package/dist/src/nile-date-picker/nile-date-picker.d.ts +1 -0
- package/dist/src/nile-date-picker/nile-date-picker.js +2 -4
- package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
- package/dist/src/nile-dialog/nile-dialog.d.ts +1 -0
- package/dist/src/nile-dialog/nile-dialog.js +10 -7
- package/dist/src/nile-dialog/nile-dialog.js.map +1 -1
- package/dist/src/nile-drawer/nile-drawer.d.ts +1 -0
- package/dist/src/nile-drawer/nile-drawer.js +1 -0
- package/dist/src/nile-drawer/nile-drawer.js.map +1 -1
- package/dist/src/nile-empty-state/nile-empty-state.d.ts +1 -0
- package/dist/src/nile-empty-state/nile-empty-state.js +1 -0
- package/dist/src/nile-empty-state/nile-empty-state.js.map +1 -1
- package/dist/src/nile-highlighter/nile-highlighter.d.ts +2 -1
- package/dist/src/nile-highlighter/nile-highlighter.js +16 -11
- package/dist/src/nile-highlighter/nile-highlighter.js.map +1 -1
- package/dist/src/nile-icon/icons/svg/index.d.ts +2 -0
- package/dist/src/nile-icon/icons/svg/index.js +2 -0
- package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
- package/dist/src/nile-icon/icons/svg/insert-at-cursor.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/insert-at-cursor.js +5 -0
- package/dist/src/nile-icon/icons/svg/insert-at-cursor.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/warning-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/warning-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/warning-01.js.map +1 -0
- package/dist/src/nile-icon-button/nile-icon-button.d.ts +1 -0
- package/dist/src/nile-icon-button/nile-icon-button.js +1 -0
- package/dist/src/nile-icon-button/nile-icon-button.js.map +1 -1
- package/dist/src/nile-input/nile-input.d.ts +1 -0
- package/dist/src/nile-input/nile-input.js +1 -0
- package/dist/src/nile-input/nile-input.js.map +1 -1
- package/dist/src/nile-link/nile-link.d.ts +1 -0
- package/dist/src/nile-link/nile-link.js +2 -2
- package/dist/src/nile-link/nile-link.js.map +1 -1
- package/dist/src/nile-list/nile-list.d.ts +1 -0
- package/dist/src/nile-list/nile-list.js +5 -0
- package/dist/src/nile-list/nile-list.js.map +1 -1
- package/dist/src/nile-list-item/nile-list-item.d.ts +1 -0
- package/dist/src/nile-list-item/nile-list-item.js +1 -0
- package/dist/src/nile-list-item/nile-list-item.js.map +1 -1
- package/dist/src/nile-menu/nile-menu.d.ts +1 -0
- package/dist/src/nile-menu/nile-menu.js +1 -0
- package/dist/src/nile-menu/nile-menu.js.map +1 -1
- package/dist/src/nile-menu-item/nile-menu-item.d.ts +2 -0
- package/dist/src/nile-menu-item/nile-menu-item.js +3 -5
- package/dist/src/nile-menu-item/nile-menu-item.js.map +1 -1
- package/dist/src/nile-option/nile-option.d.ts +2 -0
- package/dist/src/nile-option/nile-option.js +3 -5
- package/dist/src/nile-option/nile-option.js.map +1 -1
- package/dist/src/nile-popover/nile-popover.d.ts +1 -0
- package/dist/src/nile-popover/nile-popover.js +3 -2
- package/dist/src/nile-popover/nile-popover.js.map +1 -1
- package/dist/src/nile-popup/nile-popup.d.ts +2 -0
- package/dist/src/nile-popup/nile-popup.js +2 -0
- package/dist/src/nile-popup/nile-popup.js.map +1 -1
- package/dist/src/nile-radio/nile-radio.js +2 -8
- package/dist/src/nile-radio/nile-radio.js.map +1 -1
- package/dist/src/nile-radio-group/nile-radio-group.d.ts +1 -0
- package/dist/src/nile-radio-group/nile-radio-group.js +1 -0
- package/dist/src/nile-radio-group/nile-radio-group.js.map +1 -1
- package/dist/src/nile-select/nile-select.d.ts +1 -0
- package/dist/src/nile-select/nile-select.js +1 -0
- package/dist/src/nile-select/nile-select.js.map +1 -1
- package/dist/src/nile-slide-toggle/nile-slide-toggle.d.ts +1 -0
- package/dist/src/nile-slide-toggle/nile-slide-toggle.js +2 -0
- package/dist/src/nile-slide-toggle/nile-slide-toggle.js.map +1 -1
- package/dist/src/nile-split-panel/nile-split-panel.d.ts +1 -0
- package/dist/src/nile-split-panel/nile-split-panel.js +1 -0
- package/dist/src/nile-split-panel/nile-split-panel.js.map +1 -1
- package/dist/src/nile-stepper/nile-stepper.d.ts +1 -0
- package/dist/src/nile-stepper/nile-stepper.js +1 -0
- package/dist/src/nile-stepper/nile-stepper.js.map +1 -1
- package/dist/src/nile-tab/nile-tab.d.ts +1 -0
- package/dist/src/nile-tab/nile-tab.js +3 -2
- package/dist/src/nile-tab/nile-tab.js.map +1 -1
- package/dist/src/nile-tab-group/nile-tab-group.d.ts +1 -0
- package/dist/src/nile-tab-group/nile-tab-group.js +3 -2
- package/dist/src/nile-tab-group/nile-tab-group.js.map +1 -1
- package/dist/src/nile-table-body/nile-table-body.d.ts +1 -0
- package/dist/src/nile-table-body/nile-table-body.js +1 -0
- package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
- package/dist/src/nile-table-header-item/nile-table-header-item.d.ts +1 -0
- package/dist/src/nile-table-header-item/nile-table-header-item.js +1 -0
- package/dist/src/nile-table-header-item/nile-table-header-item.js.map +1 -1
- package/dist/src/nile-tag/nile-tag.d.ts +1 -0
- package/dist/src/nile-tag/nile-tag.js +1 -0
- package/dist/src/nile-tag/nile-tag.js.map +1 -1
- package/dist/src/nile-textarea/nile-textarea.d.ts +1 -0
- package/dist/src/nile-textarea/nile-textarea.js +1 -0
- package/dist/src/nile-textarea/nile-textarea.js.map +1 -1
- package/dist/src/nile-toast/nile-toast.d.ts +1 -0
- package/dist/src/nile-toast/nile-toast.js +1 -0
- package/dist/src/nile-toast/nile-toast.js.map +1 -1
- package/dist/src/nile-tooltip/nile-tooltip.d.ts +1 -0
- package/dist/src/nile-tooltip/nile-tooltip.js +1 -0
- package/dist/src/nile-tooltip/nile-tooltip.js.map +1 -1
- package/dist/src/nile-tree/nile-tree.d.ts +1 -0
- package/dist/src/nile-tree/nile-tree.js +1 -0
- package/dist/src/nile-tree/nile-tree.js.map +1 -1
- package/dist/src/nile-tree-item/nile-tree-item.d.ts +1 -0
- package/dist/src/nile-tree-item/nile-tree-item.js +1 -0
- package/dist/src/nile-tree-item/nile-tree-item.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/{twig-4e6df20b.cjs.js → twig-2431875e.cjs.js} +2 -2
- package/dist/{twig-4e6df20b.cjs.js.map → twig-2431875e.cjs.js.map} +1 -1
- package/dist/{vue-html-4845664e.cjs.js → vue-html-36dd3960.cjs.js} +2 -2
- package/dist/{vue-html-4845664e.cjs.js.map → vue-html-36dd3960.cjs.js.map} +1 -1
- package/package.json +1 -1
- package/src/nile-accordion/nile-accordion.ts +1 -0
- package/src/nile-auto-complete/nile-auto-complete.ts +3 -1
- package/src/nile-avatar/nile-avatar.ts +2 -0
- package/src/nile-badge/nile-badge.ts +2 -0
- package/src/nile-breadcrumb/nile-breadcrumb.ts +2 -0
- package/src/nile-breadcrumb-item/nile-breadcrumb-item.ts +2 -0
- package/src/nile-button/nile-button.ts +2 -0
- package/src/nile-button-toggle/nile-button-toggle.ts +2 -0
- package/src/nile-button-toggle-group/nile-button-toggle-group.ts +2 -0
- package/src/nile-calendar/nile-calendar.ts +11 -19
- package/src/nile-card/nile-card.ts +2 -0
- package/src/nile-checkbox/nile-checkbox.ts +4 -9
- package/src/nile-chip/nile-chip.ts +2 -0
- package/src/nile-code-editor/nile-code-editor.ts +2 -0
- package/src/nile-content-editor/nile-content-editor.ts +2 -0
- package/src/nile-date-picker/nile-date-picker.ts +3 -4
- package/src/nile-dialog/nile-dialog.ts +12 -8
- package/src/nile-drawer/nile-drawer.ts +2 -0
- package/src/nile-empty-state/nile-empty-state.ts +2 -0
- package/src/nile-highlighter/nile-highlighter.ts +20 -13
- package/src/nile-icon/icons/svg/index.ts +2 -0
- package/src/nile-icon/icons/svg/insert-at-cursor.ts +5 -0
- package/src/nile-icon/icons/svg/warning-01.ts +5 -0
- package/src/nile-icon-button/nile-icon-button.ts +2 -0
- package/src/nile-input/nile-input.ts +2 -0
- package/src/nile-link/nile-link.ts +3 -1
- package/src/nile-list/nile-list.ts +2 -0
- package/src/nile-list-item/nile-list-item.ts +2 -0
- package/src/nile-menu/nile-menu.ts +3 -0
- package/src/nile-menu-item/nile-menu-item.ts +4 -5
- package/src/nile-option/nile-option.ts +4 -5
- package/src/nile-popover/nile-popover.ts +4 -2
- package/src/nile-popup/nile-popup.ts +3 -0
- package/src/nile-radio/nile-radio.ts +2 -12
- package/src/nile-radio-group/nile-radio-group.ts +2 -0
- package/src/nile-select/nile-select.ts +2 -0
- package/src/nile-slide-toggle/nile-slide-toggle.ts +3 -0
- package/src/nile-split-panel/nile-split-panel.ts +2 -0
- package/src/nile-stepper/nile-stepper.ts +2 -0
- package/src/nile-tab/nile-tab.ts +4 -2
- package/src/nile-tab-group/nile-tab-group.ts +4 -2
- package/src/nile-table-body/nile-table-body.ts +2 -0
- package/src/nile-table-header-item/nile-table-header-item.ts +2 -0
- package/src/nile-tag/nile-tag.ts +2 -0
- package/src/nile-textarea/nile-textarea.ts +2 -0
- package/src/nile-toast/nile-toast.ts +2 -0
- package/src/nile-tooltip/nile-tooltip.ts +2 -0
- package/src/nile-tree/nile-tree.ts +2 -0
- package/src/nile-tree-item/nile-tree-item.ts +2 -0
- package/dist/hy-70a23b1a.cjs.js +0 -2
- package/dist/hy-70a23b1a.cjs.js.map +0 -1
- package/dist/hy-c5d98bdd.esm.js +0 -1
- package/dist/sass-07548677.esm.js +0 -1
- package/dist/sass-836693eb.cjs.js +0 -2
- package/dist/sass-836693eb.cjs.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-highlighter.cjs.js","sources":["../../../../node_modules/@shikijs/engine-oniguruma/dist/index.mjs","../../../../node_modules/@shikijs/vscode-textmate/dist/index.mjs","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/merge.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/normalize.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/types.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/defined-info.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/create.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/case-sensitive-transform.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/case-insensitive-transform.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/find.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/core.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/format-smart.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-hexadecimal.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-named.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-decimal.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/index.js","../../../../node_modules/@shikijs/core/node_modules/ccount/index.js","../../../../node_modules/@shikijs/core/node_modules/comma-separated-tokens/index.js","../../../../node_modules/@shikijs/core/node_modules/space-separated-tokens/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-whitespace/lib/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/util/siblings.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/omission.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/closing.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/element.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/text.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/index.js","../../../../node_modules/@shikijs/core/dist/index.mjs","../../../../node_modules/shiki/dist/bundle-full.mjs","../../../../node_modules/shiki/dist/langs.mjs","../../../../node_modules/shiki/dist/themes.mjs","../../../../node_modules/@shikijs/types/dist/index.mjs","../../../../node_modules/@shikijs/core/node_modules/html-void-elements/index.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/schema.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/info.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xlink.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xml.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xmlns.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/aria.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/html.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/svg.js","../../../../node_modules/@shikijs/core/node_modules/property-information/index.js","../../../../node_modules/@shikijs/core/node_modules/zwitch/index.js","../../../../node_modules/@shikijs/core/node_modules/character-entities-legacy/index.js","../../../../node_modules/@shikijs/core/node_modules/character-entities-html4/index.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/constant/dangerous.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/comment.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/opening.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/doctype.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/raw.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/root.js","../../../src/nile-highlighter/nile-highlighter.ts"],"sourcesContent":["class ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = 'ShikiError';\n }\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\nfunction _emscripten_get_now() {\n return typeof performance !== 'undefined' ? performance.now() : Date.now();\n}\nconst alignUp = (x, multiple) => x + ((multiple - (x % multiple)) % multiple);\nasync function main(init) {\n let wasmMemory;\n let buffer;\n const binding = {};\n function updateGlobalBufferAndViews(buf) {\n buffer = buf;\n binding.HEAPU8 = new Uint8Array(buf);\n binding.HEAPU32 = new Uint32Array(buf);\n }\n function _emscripten_memcpy_big(dest, src, num) {\n binding.HEAPU8.copyWithin(dest, src, src + num);\n }\n function emscripten_realloc_buffer(size) {\n try {\n wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16);\n updateGlobalBufferAndViews(wasmMemory.buffer);\n return 1;\n }\n catch { }\n }\n function _emscripten_resize_heap(requestedSize) {\n const oldSize = binding.HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n const maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize)\n return false;\n for (let cutDown = 1; cutDown <= 4; cutDown *= 2) {\n let overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n const newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n const replacement = emscripten_realloc_buffer(newSize);\n if (replacement)\n return true;\n }\n return false;\n }\n const UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined;\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead = 1024) {\n const endIdx = idx + maxBytesToRead;\n let endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx))\n ++endPtr;\n if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));\n }\n let str = '';\n while (idx < endPtr) {\n let u0 = heapOrArray[idx++];\n if (!(u0 & 128)) {\n str += String.fromCharCode(u0);\n continue;\n }\n const u1 = heapOrArray[idx++] & 63;\n if ((u0 & 224) === 192) {\n str += String.fromCharCode(((u0 & 31) << 6) | u1);\n continue;\n }\n const u2 = heapOrArray[idx++] & 63;\n if ((u0 & 240) === 224) {\n u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;\n }\n else {\n u0 = ((u0 & 7) << 18)\n | (u1 << 12)\n | (u2 << 6)\n | (heapOrArray[idx++] & 63);\n }\n if (u0 < 65536) {\n str += String.fromCharCode(u0);\n }\n else {\n const ch = u0 - 65536;\n str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023));\n }\n }\n return str;\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n return ptr ? UTF8ArrayToString(binding.HEAPU8, ptr, maxBytesToRead) : '';\n }\n const asmLibraryArg = {\n emscripten_get_now: _emscripten_get_now,\n emscripten_memcpy_big: _emscripten_memcpy_big,\n emscripten_resize_heap: _emscripten_resize_heap,\n fd_write: () => 0,\n };\n async function createWasm() {\n const info = {\n env: asmLibraryArg,\n wasi_snapshot_preview1: asmLibraryArg,\n };\n const exports = await init(info);\n wasmMemory = exports.memory;\n updateGlobalBufferAndViews(wasmMemory.buffer);\n Object.assign(binding, exports);\n binding.UTF8ToString = UTF8ToString;\n }\n await createWasm();\n return binding;\n}\n\n/* ---------------------------------------------------------\n * Copyright (C) Microsoft Corporation. All rights reserved.\n *-------------------------------------------------------- */\nlet onigBinding = null;\n// let defaultDebugCall = false\nfunction throwLastOnigError(onigBinding) {\n throw new ShikiError(onigBinding.UTF8ToString(onigBinding.getLastOnigError()));\n}\nclass UtfString {\n static _utf8ByteLength(str) {\n let result = 0;\n for (let i = 0, len = str.length; i < len; i++) {\n const charCode = str.charCodeAt(i);\n let codepoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n // Hit a high surrogate, try to look for a matching low surrogate\n if (i + 1 < len) {\n const nextCharCode = str.charCodeAt(i + 1);\n if (nextCharCode >= 0xDC00 && nextCharCode <= 0xDFFF) {\n // Found the matching low surrogate\n codepoint = (((charCode - 0xD800) << 10) + 0x10000) | (nextCharCode - 0xDC00);\n wasSurrogatePair = true;\n }\n }\n }\n if (codepoint <= 0x7F)\n result += 1;\n else if (codepoint <= 0x7FF)\n result += 2;\n else if (codepoint <= 0xFFFF)\n result += 3;\n else\n result += 4;\n if (wasSurrogatePair)\n i++;\n }\n return result;\n }\n utf16Length;\n utf8Length;\n utf16Value;\n utf8Value;\n utf16OffsetToUtf8;\n utf8OffsetToUtf16;\n constructor(str) {\n const utf16Length = str.length;\n const utf8Length = UtfString._utf8ByteLength(str);\n const computeIndicesMapping = (utf8Length !== utf16Length);\n const utf16OffsetToUtf8 = computeIndicesMapping ? new Uint32Array(utf16Length + 1) : null;\n if (computeIndicesMapping)\n utf16OffsetToUtf8[utf16Length] = utf8Length;\n const utf8OffsetToUtf16 = computeIndicesMapping ? new Uint32Array(utf8Length + 1) : null;\n if (computeIndicesMapping)\n utf8OffsetToUtf16[utf8Length] = utf16Length;\n const utf8Value = new Uint8Array(utf8Length);\n let i8 = 0;\n for (let i16 = 0; i16 < utf16Length; i16++) {\n const charCode = str.charCodeAt(i16);\n let codePoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n // Hit a high surrogate, try to look for a matching low surrogate\n if (i16 + 1 < utf16Length) {\n const nextCharCode = str.charCodeAt(i16 + 1);\n if (nextCharCode >= 0xDC00 && nextCharCode <= 0xDFFF) {\n // Found the matching low surrogate\n codePoint = (((charCode - 0xD800) << 10) + 0x10000) | (nextCharCode - 0xDC00);\n wasSurrogatePair = true;\n }\n }\n }\n if (computeIndicesMapping) {\n utf16OffsetToUtf8[i16] = i8;\n if (wasSurrogatePair)\n utf16OffsetToUtf8[i16 + 1] = i8;\n if (codePoint <= 0x7F) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n }\n else if (codePoint <= 0x7FF) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n }\n else if (codePoint <= 0xFFFF) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n }\n else {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n utf8OffsetToUtf16[i8 + 3] = i16;\n }\n }\n if (codePoint <= 0x7F) {\n utf8Value[i8++] = codePoint;\n }\n else if (codePoint <= 0x7FF) {\n utf8Value[i8++] = 0b11000000 | ((codePoint & 0b00000000000000000000011111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else if (codePoint <= 0xFFFF) {\n utf8Value[i8++] = 0b11100000 | ((codePoint & 0b00000000000000001111000000000000) >>> 12);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else {\n utf8Value[i8++] = 0b11110000 | ((codePoint & 0b00000000000111000000000000000000) >>> 18);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000111111000000000000) >>> 12);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n if (wasSurrogatePair)\n i16++;\n }\n this.utf16Length = utf16Length;\n this.utf8Length = utf8Length;\n this.utf16Value = str;\n this.utf8Value = utf8Value;\n this.utf16OffsetToUtf8 = utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utf8OffsetToUtf16;\n }\n createString(onigBinding) {\n const result = onigBinding.omalloc(this.utf8Length);\n onigBinding.HEAPU8.set(this.utf8Value, result);\n return result;\n }\n}\nclass OnigString {\n static LAST_ID = 0;\n static _sharedPtr = 0; // a pointer to a string of 10000 bytes\n static _sharedPtrInUse = false;\n id = (++OnigString.LAST_ID);\n _onigBinding;\n content;\n utf16Length;\n utf8Length;\n utf16OffsetToUtf8;\n utf8OffsetToUtf16;\n ptr;\n constructor(str) {\n if (!onigBinding)\n throw new ShikiError('Must invoke loadWasm first.');\n this._onigBinding = onigBinding;\n this.content = str;\n const utfString = new UtfString(str);\n this.utf16Length = utfString.utf16Length;\n this.utf8Length = utfString.utf8Length;\n this.utf16OffsetToUtf8 = utfString.utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utfString.utf8OffsetToUtf16;\n if (this.utf8Length < 10000 && !OnigString._sharedPtrInUse) {\n if (!OnigString._sharedPtr)\n OnigString._sharedPtr = onigBinding.omalloc(10000);\n OnigString._sharedPtrInUse = true;\n onigBinding.HEAPU8.set(utfString.utf8Value, OnigString._sharedPtr);\n this.ptr = OnigString._sharedPtr;\n }\n else {\n this.ptr = utfString.createString(onigBinding);\n }\n }\n convertUtf8OffsetToUtf16(utf8Offset) {\n if (this.utf8OffsetToUtf16) {\n if (utf8Offset < 0)\n return 0;\n if (utf8Offset > this.utf8Length)\n return this.utf16Length;\n return this.utf8OffsetToUtf16[utf8Offset];\n }\n return utf8Offset;\n }\n convertUtf16OffsetToUtf8(utf16Offset) {\n if (this.utf16OffsetToUtf8) {\n if (utf16Offset < 0)\n return 0;\n if (utf16Offset > this.utf16Length)\n return this.utf8Length;\n return this.utf16OffsetToUtf8[utf16Offset];\n }\n return utf16Offset;\n }\n dispose() {\n if (this.ptr === OnigString._sharedPtr)\n OnigString._sharedPtrInUse = false;\n else\n this._onigBinding.ofree(this.ptr);\n }\n}\nclass OnigScanner {\n _onigBinding;\n _ptr;\n constructor(patterns) {\n if (!onigBinding)\n throw new ShikiError('Must invoke loadWasm first.');\n const strPtrsArr = [];\n const strLenArr = [];\n for (let i = 0, len = patterns.length; i < len; i++) {\n const utfString = new UtfString(patterns[i]);\n strPtrsArr[i] = utfString.createString(onigBinding);\n strLenArr[i] = utfString.utf8Length;\n }\n const strPtrsPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strPtrsArr, strPtrsPtr / 4);\n const strLenPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strLenArr, strLenPtr / 4);\n const scannerPtr = onigBinding.createOnigScanner(strPtrsPtr, strLenPtr, patterns.length);\n for (let i = 0, len = patterns.length; i < len; i++)\n onigBinding.ofree(strPtrsArr[i]);\n onigBinding.ofree(strLenPtr);\n onigBinding.ofree(strPtrsPtr);\n if (scannerPtr === 0)\n throwLastOnigError(onigBinding);\n this._onigBinding = onigBinding;\n this._ptr = scannerPtr;\n }\n dispose() {\n this._onigBinding.freeOnigScanner(this._ptr);\n }\n findNextMatchSync(string, startPosition, arg) {\n // let debugCall = defaultDebugCall\n let options = 0 /* FindOption.None */;\n if (typeof arg === 'number') {\n // if (arg & FindOption.DebugCall)\n // debugCall = true\n options = arg;\n }\n if (typeof string === 'string') {\n string = new OnigString(string);\n const result = this._findNextMatchSync(string, startPosition, false, options);\n string.dispose();\n return result;\n }\n return this._findNextMatchSync(string, startPosition, false, options);\n }\n _findNextMatchSync(string, startPosition, debugCall, options) {\n const onigBinding = this._onigBinding;\n // let resultPtr: Pointer\n // if (debugCall)\n // resultPtr = onigBinding.findNextOnigScannerMatchDbg(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options)\n // else\n const resultPtr = onigBinding.findNextOnigScannerMatch(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options);\n if (resultPtr === 0) {\n // no match\n return null;\n }\n const HEAPU32 = onigBinding.HEAPU32;\n let offset = resultPtr / 4; // byte offset -> uint32 offset\n const index = HEAPU32[offset++];\n const count = HEAPU32[offset++];\n const captureIndices = [];\n for (let i = 0; i < count; i++) {\n const beg = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n const end = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n captureIndices[i] = {\n start: beg,\n end,\n length: end - beg,\n };\n }\n return {\n index,\n captureIndices,\n };\n }\n}\nfunction isInstantiatorOptionsObject(dataOrOptions) {\n return (typeof dataOrOptions.instantiator === 'function');\n}\nfunction isInstantiatorModule(dataOrOptions) {\n return (typeof dataOrOptions.default === 'function');\n}\nfunction isDataOptionsObject(dataOrOptions) {\n return (typeof dataOrOptions.data !== 'undefined');\n}\nfunction isResponse(dataOrOptions) {\n return (typeof Response !== 'undefined' && dataOrOptions instanceof Response);\n}\nfunction isArrayBuffer(data) {\n return (typeof ArrayBuffer !== 'undefined' && (data instanceof ArrayBuffer || ArrayBuffer.isView(data)))\n // eslint-disable-next-line node/prefer-global/buffer\n || (typeof Buffer !== 'undefined' && Buffer.isBuffer?.(data))\n || (typeof SharedArrayBuffer !== 'undefined' && data instanceof SharedArrayBuffer)\n || (typeof Uint32Array !== 'undefined' && data instanceof Uint32Array);\n}\nlet initPromise;\nfunction loadWasm(options) {\n if (initPromise)\n return initPromise;\n async function _load() {\n onigBinding = await main(async (info) => {\n let instance = options;\n instance = await instance;\n if (typeof instance === 'function')\n instance = await instance(info);\n if (typeof instance === 'function')\n instance = await instance(info);\n if (isInstantiatorOptionsObject(instance)) {\n instance = await instance.instantiator(info);\n }\n else if (isInstantiatorModule(instance)) {\n instance = await instance.default(info);\n }\n else {\n if (isDataOptionsObject(instance))\n instance = instance.data;\n if (isResponse(instance)) {\n if (typeof WebAssembly.instantiateStreaming === 'function')\n instance = await _makeResponseStreamingLoader(instance)(info);\n else\n instance = await _makeResponseNonStreamingLoader(instance)(info);\n }\n else if (isArrayBuffer(instance)) {\n instance = await _makeArrayBufferLoader(instance)(info);\n }\n // import(\"shiki/onig.wasm\") returns `{ default: WebAssembly.Module }` on cloudflare workers\n // https://developers.cloudflare.com/workers/wrangler/bundling/\n else if (instance instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance)(info);\n }\n else if ('default' in instance && instance.default instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance.default)(info);\n }\n }\n if ('instance' in instance)\n instance = instance.instance;\n if ('exports' in instance)\n instance = instance.exports;\n return instance;\n });\n }\n initPromise = _load();\n return initPromise;\n}\nfunction _makeArrayBufferLoader(data) {\n return importObject => WebAssembly.instantiate(data, importObject);\n}\nfunction _makeResponseStreamingLoader(data) {\n return importObject => WebAssembly.instantiateStreaming(data, importObject);\n}\nfunction _makeResponseNonStreamingLoader(data) {\n return async (importObject) => {\n const arrayBuffer = await data.arrayBuffer();\n return WebAssembly.instantiate(arrayBuffer, importObject);\n };\n}\n// export function createOnigString(str: string) {\n// return new OnigString(str)\n// }\n// export function createOnigScanner(patterns: string[]) {\n// return new OnigScanner(patterns)\n// }\n// export function setDefaultDebugCall(_defaultDebugCall: boolean): void {\n// defaultDebugCall = _defaultDebugCall\n// }\n\nlet _defaultWasmLoader;\n/**\n * Set the default wasm loader for `loadWasm`.\n * @internal\n */\nfunction setDefaultWasmLoader(_loader) {\n _defaultWasmLoader = _loader;\n}\n/**\n * @internal\n */\nfunction getDefaultWasmLoader() {\n return _defaultWasmLoader;\n}\nasync function createOnigurumaEngine(options) {\n if (options)\n await loadWasm(options);\n return {\n createScanner(patterns) {\n return new OnigScanner(patterns);\n },\n createString(s) {\n return new OnigString(s);\n },\n };\n}\n/**\n * Deprecated. Use `createOnigurumaEngine` instead.\n */\nasync function createWasmOnigEngine(options) {\n return createOnigurumaEngine(options);\n}\n\nexport { createOnigurumaEngine, createWasmOnigEngine, getDefaultWasmLoader, loadWasm, setDefaultWasmLoader };\n","// src/utils.ts\nfunction clone(something) {\n return doClone(something);\n}\nfunction doClone(something) {\n if (Array.isArray(something)) {\n return cloneArray(something);\n }\n if (typeof something === \"object\") {\n return cloneObj(something);\n }\n return something;\n}\nfunction cloneArray(arr) {\n let r = [];\n for (let i = 0, len = arr.length; i < len; i++) {\n r[i] = doClone(arr[i]);\n }\n return r;\n}\nfunction cloneObj(obj) {\n let r = {};\n for (let key in obj) {\n r[key] = doClone(obj[key]);\n }\n return r;\n}\nfunction mergeObjects(target, ...sources) {\n sources.forEach((source) => {\n for (let key in source) {\n target[key] = source[key];\n }\n });\n return target;\n}\nfunction basename(path) {\n const idx = ~path.lastIndexOf(\"/\") || ~path.lastIndexOf(\"\\\\\");\n if (idx === 0) {\n return path;\n } else if (~idx === path.length - 1) {\n return basename(path.substring(0, path.length - 1));\n } else {\n return path.substr(~idx + 1);\n }\n}\nvar CAPTURING_REGEX_SOURCE = /\\$(\\d+)|\\${(\\d+):\\/(downcase|upcase)}/g;\nvar RegexSource = class {\n static hasCaptures(regexSource) {\n if (regexSource === null) {\n return false;\n }\n CAPTURING_REGEX_SOURCE.lastIndex = 0;\n return CAPTURING_REGEX_SOURCE.test(regexSource);\n }\n static replaceCaptures(regexSource, captureSource, captureIndices) {\n return regexSource.replace(CAPTURING_REGEX_SOURCE, (match, index, commandIndex, command) => {\n let capture = captureIndices[parseInt(index || commandIndex, 10)];\n if (capture) {\n let result = captureSource.substring(capture.start, capture.end);\n while (result[0] === \".\") {\n result = result.substring(1);\n }\n switch (command) {\n case \"downcase\":\n return result.toLowerCase();\n case \"upcase\":\n return result.toUpperCase();\n default:\n return result;\n }\n } else {\n return match;\n }\n });\n }\n};\nfunction strcmp(a, b) {\n if (a < b) {\n return -1;\n }\n if (a > b) {\n return 1;\n }\n return 0;\n}\nfunction strArrCmp(a, b) {\n if (a === null && b === null) {\n return 0;\n }\n if (!a) {\n return -1;\n }\n if (!b) {\n return 1;\n }\n let len1 = a.length;\n let len2 = b.length;\n if (len1 === len2) {\n for (let i = 0; i < len1; i++) {\n let res = strcmp(a[i], b[i]);\n if (res !== 0) {\n return res;\n }\n }\n return 0;\n }\n return len1 - len2;\n}\nfunction isValidHexColor(hex) {\n if (/^#[0-9a-f]{6}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{8}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{3}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{4}$/i.test(hex)) {\n return true;\n }\n return false;\n}\nfunction escapeRegExpCharacters(value) {\n return value.replace(/[\\-\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g, \"\\\\$&\");\n}\nvar CachedFn = class {\n constructor(fn) {\n this.fn = fn;\n this.cache = /* @__PURE__ */ new Map();\n }\n get(key) {\n if (this.cache.has(key)) {\n return this.cache.get(key);\n }\n const value = this.fn(key);\n this.cache.set(key, value);\n return value;\n }\n};\n\n// src/theme.ts\nvar Theme = class {\n constructor(_colorMap, _defaults, _root) {\n this._colorMap = _colorMap;\n this._defaults = _defaults;\n this._root = _root;\n this._cachedMatchRoot = new CachedFn(\n (scopeName) => this._root.match(scopeName)\n );\n }\n static createFromRawTheme(source, colorMap) {\n return this.createFromParsedTheme(parseTheme(source), colorMap);\n }\n static createFromParsedTheme(source, colorMap) {\n return resolveParsedThemeRules(source, colorMap);\n }\n getColorMap() {\n return this._colorMap.getColorMap();\n }\n getDefaults() {\n return this._defaults;\n }\n match(scopePath) {\n if (scopePath === null) {\n return this._defaults;\n }\n const scopeName = scopePath.scopeName;\n const matchingTrieElements = this._cachedMatchRoot.get(scopeName);\n const effectiveRule = matchingTrieElements.find(\n (v) => _scopePathMatchesParentScopes(scopePath.parent, v.parentScopes)\n );\n if (!effectiveRule) {\n return null;\n }\n return new StyleAttributes(\n effectiveRule.fontStyle,\n effectiveRule.foreground,\n effectiveRule.background\n );\n }\n};\nvar ScopeStack = class _ScopeStack {\n constructor(parent, scopeName) {\n this.parent = parent;\n this.scopeName = scopeName;\n }\n static push(path, scopeNames) {\n for (const name of scopeNames) {\n path = new _ScopeStack(path, name);\n }\n return path;\n }\n static from(...segments) {\n let result = null;\n for (let i = 0; i < segments.length; i++) {\n result = new _ScopeStack(result, segments[i]);\n }\n return result;\n }\n push(scopeName) {\n return new _ScopeStack(this, scopeName);\n }\n getSegments() {\n let item = this;\n const result = [];\n while (item) {\n result.push(item.scopeName);\n item = item.parent;\n }\n result.reverse();\n return result;\n }\n toString() {\n return this.getSegments().join(\" \");\n }\n extends(other) {\n if (this === other) {\n return true;\n }\n if (this.parent === null) {\n return false;\n }\n return this.parent.extends(other);\n }\n getExtensionIfDefined(base) {\n const result = [];\n let item = this;\n while (item && item !== base) {\n result.push(item.scopeName);\n item = item.parent;\n }\n return item === base ? result.reverse() : void 0;\n }\n};\nfunction _scopePathMatchesParentScopes(scopePath, parentScopes) {\n if (parentScopes.length === 0) {\n return true;\n }\n for (let index = 0; index < parentScopes.length; index++) {\n let scopePattern = parentScopes[index];\n let scopeMustMatch = false;\n if (scopePattern === \">\") {\n if (index === parentScopes.length - 1) {\n return false;\n }\n scopePattern = parentScopes[++index];\n scopeMustMatch = true;\n }\n while (scopePath) {\n if (_matchesScope(scopePath.scopeName, scopePattern)) {\n break;\n }\n if (scopeMustMatch) {\n return false;\n }\n scopePath = scopePath.parent;\n }\n if (!scopePath) {\n return false;\n }\n scopePath = scopePath.parent;\n }\n return true;\n}\nfunction _matchesScope(scopeName, scopePattern) {\n return scopePattern === scopeName || scopeName.startsWith(scopePattern) && scopeName[scopePattern.length] === \".\";\n}\nvar StyleAttributes = class {\n constructor(fontStyle, foregroundId, backgroundId) {\n this.fontStyle = fontStyle;\n this.foregroundId = foregroundId;\n this.backgroundId = backgroundId;\n }\n};\nfunction parseTheme(source) {\n if (!source) {\n return [];\n }\n if (!source.settings || !Array.isArray(source.settings)) {\n return [];\n }\n let settings = source.settings;\n let result = [], resultLen = 0;\n for (let i = 0, len = settings.length; i < len; i++) {\n let entry = settings[i];\n if (!entry.settings) {\n continue;\n }\n let scopes;\n if (typeof entry.scope === \"string\") {\n let _scope = entry.scope;\n _scope = _scope.replace(/^[,]+/, \"\");\n _scope = _scope.replace(/[,]+$/, \"\");\n scopes = _scope.split(\",\");\n } else if (Array.isArray(entry.scope)) {\n scopes = entry.scope;\n } else {\n scopes = [\"\"];\n }\n let fontStyle = -1 /* NotSet */;\n if (typeof entry.settings.fontStyle === \"string\") {\n fontStyle = 0 /* None */;\n let segments = entry.settings.fontStyle.split(\" \");\n for (let j = 0, lenJ = segments.length; j < lenJ; j++) {\n let segment = segments[j];\n switch (segment) {\n case \"italic\":\n fontStyle = fontStyle | 1 /* Italic */;\n break;\n case \"bold\":\n fontStyle = fontStyle | 2 /* Bold */;\n break;\n case \"underline\":\n fontStyle = fontStyle | 4 /* Underline */;\n break;\n case \"strikethrough\":\n fontStyle = fontStyle | 8 /* Strikethrough */;\n break;\n }\n }\n }\n let foreground = null;\n if (typeof entry.settings.foreground === \"string\" && isValidHexColor(entry.settings.foreground)) {\n foreground = entry.settings.foreground;\n }\n let background = null;\n if (typeof entry.settings.background === \"string\" && isValidHexColor(entry.settings.background)) {\n background = entry.settings.background;\n }\n for (let j = 0, lenJ = scopes.length; j < lenJ; j++) {\n let _scope = scopes[j].trim();\n let segments = _scope.split(\" \");\n let scope = segments[segments.length - 1];\n let parentScopes = null;\n if (segments.length > 1) {\n parentScopes = segments.slice(0, segments.length - 1);\n parentScopes.reverse();\n }\n result[resultLen++] = new ParsedThemeRule(\n scope,\n parentScopes,\n i,\n fontStyle,\n foreground,\n background\n );\n }\n }\n return result;\n}\nvar ParsedThemeRule = class {\n constructor(scope, parentScopes, index, fontStyle, foreground, background) {\n this.scope = scope;\n this.parentScopes = parentScopes;\n this.index = index;\n this.fontStyle = fontStyle;\n this.foreground = foreground;\n this.background = background;\n }\n};\nvar FontStyle = /* @__PURE__ */ ((FontStyle2) => {\n FontStyle2[FontStyle2[\"NotSet\"] = -1] = \"NotSet\";\n FontStyle2[FontStyle2[\"None\"] = 0] = \"None\";\n FontStyle2[FontStyle2[\"Italic\"] = 1] = \"Italic\";\n FontStyle2[FontStyle2[\"Bold\"] = 2] = \"Bold\";\n FontStyle2[FontStyle2[\"Underline\"] = 4] = \"Underline\";\n FontStyle2[FontStyle2[\"Strikethrough\"] = 8] = \"Strikethrough\";\n return FontStyle2;\n})(FontStyle || {});\nfunction resolveParsedThemeRules(parsedThemeRules, _colorMap) {\n parsedThemeRules.sort((a, b) => {\n let r = strcmp(a.scope, b.scope);\n if (r !== 0) {\n return r;\n }\n r = strArrCmp(a.parentScopes, b.parentScopes);\n if (r !== 0) {\n return r;\n }\n return a.index - b.index;\n });\n let defaultFontStyle = 0 /* None */;\n let defaultForeground = \"#000000\";\n let defaultBackground = \"#ffffff\";\n while (parsedThemeRules.length >= 1 && parsedThemeRules[0].scope === \"\") {\n let incomingDefaults = parsedThemeRules.shift();\n if (incomingDefaults.fontStyle !== -1 /* NotSet */) {\n defaultFontStyle = incomingDefaults.fontStyle;\n }\n if (incomingDefaults.foreground !== null) {\n defaultForeground = incomingDefaults.foreground;\n }\n if (incomingDefaults.background !== null) {\n defaultBackground = incomingDefaults.background;\n }\n }\n let colorMap = new ColorMap(_colorMap);\n let defaults = new StyleAttributes(defaultFontStyle, colorMap.getId(defaultForeground), colorMap.getId(defaultBackground));\n let root = new ThemeTrieElement(new ThemeTrieElementRule(0, null, -1 /* NotSet */, 0, 0), []);\n for (let i = 0, len = parsedThemeRules.length; i < len; i++) {\n let rule = parsedThemeRules[i];\n root.insert(0, rule.scope, rule.parentScopes, rule.fontStyle, colorMap.getId(rule.foreground), colorMap.getId(rule.background));\n }\n return new Theme(colorMap, defaults, root);\n}\nvar ColorMap = class {\n constructor(_colorMap) {\n this._lastColorId = 0;\n this._id2color = [];\n this._color2id = /* @__PURE__ */ Object.create(null);\n if (Array.isArray(_colorMap)) {\n this._isFrozen = true;\n for (let i = 0, len = _colorMap.length; i < len; i++) {\n this._color2id[_colorMap[i]] = i;\n this._id2color[i] = _colorMap[i];\n }\n } else {\n this._isFrozen = false;\n }\n }\n getId(color) {\n if (color === null) {\n return 0;\n }\n color = color.toUpperCase();\n let value = this._color2id[color];\n if (value) {\n return value;\n }\n if (this._isFrozen) {\n throw new Error(`Missing color in color map - ${color}`);\n }\n value = ++this._lastColorId;\n this._color2id[color] = value;\n this._id2color[value] = color;\n return value;\n }\n getColorMap() {\n return this._id2color.slice(0);\n }\n};\nvar emptyParentScopes = Object.freeze([]);\nvar ThemeTrieElementRule = class _ThemeTrieElementRule {\n constructor(scopeDepth, parentScopes, fontStyle, foreground, background) {\n this.scopeDepth = scopeDepth;\n this.parentScopes = parentScopes || emptyParentScopes;\n this.fontStyle = fontStyle;\n this.foreground = foreground;\n this.background = background;\n }\n clone() {\n return new _ThemeTrieElementRule(this.scopeDepth, this.parentScopes, this.fontStyle, this.foreground, this.background);\n }\n static cloneArr(arr) {\n let r = [];\n for (let i = 0, len = arr.length; i < len; i++) {\n r[i] = arr[i].clone();\n }\n return r;\n }\n acceptOverwrite(scopeDepth, fontStyle, foreground, background) {\n if (this.scopeDepth > scopeDepth) {\n console.log(\"how did this happen?\");\n } else {\n this.scopeDepth = scopeDepth;\n }\n if (fontStyle !== -1 /* NotSet */) {\n this.fontStyle = fontStyle;\n }\n if (foreground !== 0) {\n this.foreground = foreground;\n }\n if (background !== 0) {\n this.background = background;\n }\n }\n};\nvar ThemeTrieElement = class _ThemeTrieElement {\n constructor(_mainRule, rulesWithParentScopes = [], _children = {}) {\n this._mainRule = _mainRule;\n this._children = _children;\n this._rulesWithParentScopes = rulesWithParentScopes;\n }\n static _cmpBySpecificity(a, b) {\n if (a.scopeDepth !== b.scopeDepth) {\n return b.scopeDepth - a.scopeDepth;\n }\n let aParentIndex = 0;\n let bParentIndex = 0;\n while (true) {\n if (a.parentScopes[aParentIndex] === \">\") {\n aParentIndex++;\n }\n if (b.parentScopes[bParentIndex] === \">\") {\n bParentIndex++;\n }\n if (aParentIndex >= a.parentScopes.length || bParentIndex >= b.parentScopes.length) {\n break;\n }\n const parentScopeLengthDiff = b.parentScopes[bParentIndex].length - a.parentScopes[aParentIndex].length;\n if (parentScopeLengthDiff !== 0) {\n return parentScopeLengthDiff;\n }\n aParentIndex++;\n bParentIndex++;\n }\n return b.parentScopes.length - a.parentScopes.length;\n }\n match(scope) {\n if (scope !== \"\") {\n let dotIndex = scope.indexOf(\".\");\n let head;\n let tail;\n if (dotIndex === -1) {\n head = scope;\n tail = \"\";\n } else {\n head = scope.substring(0, dotIndex);\n tail = scope.substring(dotIndex + 1);\n }\n if (this._children.hasOwnProperty(head)) {\n return this._children[head].match(tail);\n }\n }\n const rules = this._rulesWithParentScopes.concat(this._mainRule);\n rules.sort(_ThemeTrieElement._cmpBySpecificity);\n return rules;\n }\n insert(scopeDepth, scope, parentScopes, fontStyle, foreground, background) {\n if (scope === \"\") {\n this._doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background);\n return;\n }\n let dotIndex = scope.indexOf(\".\");\n let head;\n let tail;\n if (dotIndex === -1) {\n head = scope;\n tail = \"\";\n } else {\n head = scope.substring(0, dotIndex);\n tail = scope.substring(dotIndex + 1);\n }\n let child;\n if (this._children.hasOwnProperty(head)) {\n child = this._children[head];\n } else {\n child = new _ThemeTrieElement(this._mainRule.clone(), ThemeTrieElementRule.cloneArr(this._rulesWithParentScopes));\n this._children[head] = child;\n }\n child.insert(scopeDepth + 1, tail, parentScopes, fontStyle, foreground, background);\n }\n _doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background) {\n if (parentScopes === null) {\n this._mainRule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n return;\n }\n for (let i = 0, len = this._rulesWithParentScopes.length; i < len; i++) {\n let rule = this._rulesWithParentScopes[i];\n if (strArrCmp(rule.parentScopes, parentScopes) === 0) {\n rule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n return;\n }\n }\n if (fontStyle === -1 /* NotSet */) {\n fontStyle = this._mainRule.fontStyle;\n }\n if (foreground === 0) {\n foreground = this._mainRule.foreground;\n }\n if (background === 0) {\n background = this._mainRule.background;\n }\n this._rulesWithParentScopes.push(new ThemeTrieElementRule(scopeDepth, parentScopes, fontStyle, foreground, background));\n }\n};\n\n// src/encodedTokenAttributes.ts\nvar EncodedTokenMetadata = class _EncodedTokenMetadata {\n static toBinaryStr(encodedTokenAttributes) {\n return encodedTokenAttributes.toString(2).padStart(32, \"0\");\n }\n static print(encodedTokenAttributes) {\n const languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n const tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n const fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n const foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n const background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n console.log({\n languageId,\n tokenType,\n fontStyle,\n foreground,\n background\n });\n }\n static getLanguageId(encodedTokenAttributes) {\n return (encodedTokenAttributes & 255 /* LANGUAGEID_MASK */) >>> 0 /* LANGUAGEID_OFFSET */;\n }\n static getTokenType(encodedTokenAttributes) {\n return (encodedTokenAttributes & 768 /* TOKEN_TYPE_MASK */) >>> 8 /* TOKEN_TYPE_OFFSET */;\n }\n static containsBalancedBrackets(encodedTokenAttributes) {\n return (encodedTokenAttributes & 1024 /* BALANCED_BRACKETS_MASK */) !== 0;\n }\n static getFontStyle(encodedTokenAttributes) {\n return (encodedTokenAttributes & 30720 /* FONT_STYLE_MASK */) >>> 11 /* FONT_STYLE_OFFSET */;\n }\n static getForeground(encodedTokenAttributes) {\n return (encodedTokenAttributes & 16744448 /* FOREGROUND_MASK */) >>> 15 /* FOREGROUND_OFFSET */;\n }\n static getBackground(encodedTokenAttributes) {\n return (encodedTokenAttributes & 4278190080 /* BACKGROUND_MASK */) >>> 24 /* BACKGROUND_OFFSET */;\n }\n /**\n * Updates the fields in `metadata`.\n * A value of `0`, `NotSet` or `null` indicates that the corresponding field should be left as is.\n */\n static set(encodedTokenAttributes, languageId, tokenType, containsBalancedBrackets, fontStyle, foreground, background) {\n let _languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n let _tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n let _containsBalancedBracketsBit = _EncodedTokenMetadata.containsBalancedBrackets(encodedTokenAttributes) ? 1 : 0;\n let _fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n let _foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n let _background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n if (languageId !== 0) {\n _languageId = languageId;\n }\n if (tokenType !== 8 /* NotSet */) {\n _tokenType = fromOptionalTokenType(tokenType);\n }\n if (containsBalancedBrackets !== null) {\n _containsBalancedBracketsBit = containsBalancedBrackets ? 1 : 0;\n }\n if (fontStyle !== -1 /* NotSet */) {\n _fontStyle = fontStyle;\n }\n if (foreground !== 0) {\n _foreground = foreground;\n }\n if (background !== 0) {\n _background = background;\n }\n return (_languageId << 0 /* LANGUAGEID_OFFSET */ | _tokenType << 8 /* TOKEN_TYPE_OFFSET */ | _containsBalancedBracketsBit << 10 /* BALANCED_BRACKETS_OFFSET */ | _fontStyle << 11 /* FONT_STYLE_OFFSET */ | _foreground << 15 /* FOREGROUND_OFFSET */ | _background << 24 /* BACKGROUND_OFFSET */) >>> 0;\n }\n};\nfunction toOptionalTokenType(standardType) {\n return standardType;\n}\nfunction fromOptionalTokenType(standardType) {\n return standardType;\n}\n\n// src/matcher.ts\nfunction createMatchers(selector, matchesName) {\n const results = [];\n const tokenizer = newTokenizer(selector);\n let token = tokenizer.next();\n while (token !== null) {\n let priority = 0;\n if (token.length === 2 && token.charAt(1) === \":\") {\n switch (token.charAt(0)) {\n case \"R\":\n priority = 1;\n break;\n case \"L\":\n priority = -1;\n break;\n default:\n console.log(`Unknown priority ${token} in scope selector`);\n }\n token = tokenizer.next();\n }\n let matcher = parseConjunction();\n results.push({ matcher, priority });\n if (token !== \",\") {\n break;\n }\n token = tokenizer.next();\n }\n return results;\n function parseOperand() {\n if (token === \"-\") {\n token = tokenizer.next();\n const expressionToNegate = parseOperand();\n return (matcherInput) => !!expressionToNegate && !expressionToNegate(matcherInput);\n }\n if (token === \"(\") {\n token = tokenizer.next();\n const expressionInParents = parseInnerExpression();\n if (token === \")\") {\n token = tokenizer.next();\n }\n return expressionInParents;\n }\n if (isIdentifier(token)) {\n const identifiers = [];\n do {\n identifiers.push(token);\n token = tokenizer.next();\n } while (isIdentifier(token));\n return (matcherInput) => matchesName(identifiers, matcherInput);\n }\n return null;\n }\n function parseConjunction() {\n const matchers = [];\n let matcher = parseOperand();\n while (matcher) {\n matchers.push(matcher);\n matcher = parseOperand();\n }\n return (matcherInput) => matchers.every((matcher2) => matcher2(matcherInput));\n }\n function parseInnerExpression() {\n const matchers = [];\n let matcher = parseConjunction();\n while (matcher) {\n matchers.push(matcher);\n if (token === \"|\" || token === \",\") {\n do {\n token = tokenizer.next();\n } while (token === \"|\" || token === \",\");\n } else {\n break;\n }\n matcher = parseConjunction();\n }\n return (matcherInput) => matchers.some((matcher2) => matcher2(matcherInput));\n }\n}\nfunction isIdentifier(token) {\n return !!token && !!token.match(/[\\w\\.:]+/);\n}\nfunction newTokenizer(input) {\n let regex = /([LR]:|[\\w\\.:][\\w\\.:\\-]*|[\\,\\|\\-\\(\\)])/g;\n let match = regex.exec(input);\n return {\n next: () => {\n if (!match) {\n return null;\n }\n const res = match[0];\n match = regex.exec(input);\n return res;\n }\n };\n}\n\n// src/onigLib.ts\nvar FindOption = /* @__PURE__ */ ((FindOption2) => {\n FindOption2[FindOption2[\"None\"] = 0] = \"None\";\n FindOption2[FindOption2[\"NotBeginString\"] = 1] = \"NotBeginString\";\n FindOption2[FindOption2[\"NotEndString\"] = 2] = \"NotEndString\";\n FindOption2[FindOption2[\"NotBeginPosition\"] = 4] = \"NotBeginPosition\";\n FindOption2[FindOption2[\"DebugCall\"] = 8] = \"DebugCall\";\n return FindOption2;\n})(FindOption || {});\nfunction disposeOnigString(str) {\n if (typeof str.dispose === \"function\") {\n str.dispose();\n }\n}\n\n// src/grammar/grammarDependencies.ts\nvar TopLevelRuleReference = class {\n constructor(scopeName) {\n this.scopeName = scopeName;\n }\n toKey() {\n return this.scopeName;\n }\n};\nvar TopLevelRepositoryRuleReference = class {\n constructor(scopeName, ruleName) {\n this.scopeName = scopeName;\n this.ruleName = ruleName;\n }\n toKey() {\n return `${this.scopeName}#${this.ruleName}`;\n }\n};\nvar ExternalReferenceCollector = class {\n constructor() {\n this._references = [];\n this._seenReferenceKeys = /* @__PURE__ */ new Set();\n this.visitedRule = /* @__PURE__ */ new Set();\n }\n get references() {\n return this._references;\n }\n add(reference) {\n const key = reference.toKey();\n if (this._seenReferenceKeys.has(key)) {\n return;\n }\n this._seenReferenceKeys.add(key);\n this._references.push(reference);\n }\n};\nvar ScopeDependencyProcessor = class {\n constructor(repo, initialScopeName) {\n this.repo = repo;\n this.initialScopeName = initialScopeName;\n this.seenFullScopeRequests = /* @__PURE__ */ new Set();\n this.seenPartialScopeRequests = /* @__PURE__ */ new Set();\n this.seenFullScopeRequests.add(this.initialScopeName);\n this.Q = [new TopLevelRuleReference(this.initialScopeName)];\n }\n processQueue() {\n const q = this.Q;\n this.Q = [];\n const deps = new ExternalReferenceCollector();\n for (const dep of q) {\n collectReferencesOfReference(dep, this.initialScopeName, this.repo, deps);\n }\n for (const dep of deps.references) {\n if (dep instanceof TopLevelRuleReference) {\n if (this.seenFullScopeRequests.has(dep.scopeName)) {\n continue;\n }\n this.seenFullScopeRequests.add(dep.scopeName);\n this.Q.push(dep);\n } else {\n if (this.seenFullScopeRequests.has(dep.scopeName)) {\n continue;\n }\n if (this.seenPartialScopeRequests.has(dep.toKey())) {\n continue;\n }\n this.seenPartialScopeRequests.add(dep.toKey());\n this.Q.push(dep);\n }\n }\n }\n};\nfunction collectReferencesOfReference(reference, baseGrammarScopeName, repo, result) {\n const selfGrammar = repo.lookup(reference.scopeName);\n if (!selfGrammar) {\n if (reference.scopeName === baseGrammarScopeName) {\n throw new Error(`No grammar provided for <${baseGrammarScopeName}>`);\n }\n return;\n }\n const baseGrammar = repo.lookup(baseGrammarScopeName);\n if (reference instanceof TopLevelRuleReference) {\n collectExternalReferencesInTopLevelRule({ baseGrammar, selfGrammar }, result);\n } else {\n collectExternalReferencesInTopLevelRepositoryRule(\n reference.ruleName,\n { baseGrammar, selfGrammar, repository: selfGrammar.repository },\n result\n );\n }\n const injections = repo.injections(reference.scopeName);\n if (injections) {\n for (const injection of injections) {\n result.add(new TopLevelRuleReference(injection));\n }\n }\n}\nfunction collectExternalReferencesInTopLevelRepositoryRule(ruleName, context, result) {\n if (context.repository && context.repository[ruleName]) {\n const rule = context.repository[ruleName];\n collectExternalReferencesInRules([rule], context, result);\n }\n}\nfunction collectExternalReferencesInTopLevelRule(context, result) {\n if (context.selfGrammar.patterns && Array.isArray(context.selfGrammar.patterns)) {\n collectExternalReferencesInRules(\n context.selfGrammar.patterns,\n { ...context, repository: context.selfGrammar.repository },\n result\n );\n }\n if (context.selfGrammar.injections) {\n collectExternalReferencesInRules(\n Object.values(context.selfGrammar.injections),\n { ...context, repository: context.selfGrammar.repository },\n result\n );\n }\n}\nfunction collectExternalReferencesInRules(rules, context, result) {\n for (const rule of rules) {\n if (result.visitedRule.has(rule)) {\n continue;\n }\n result.visitedRule.add(rule);\n const patternRepository = rule.repository ? mergeObjects({}, context.repository, rule.repository) : context.repository;\n if (Array.isArray(rule.patterns)) {\n collectExternalReferencesInRules(rule.patterns, { ...context, repository: patternRepository }, result);\n }\n const include = rule.include;\n if (!include) {\n continue;\n }\n const reference = parseInclude(include);\n switch (reference.kind) {\n case 0 /* Base */:\n collectExternalReferencesInTopLevelRule({ ...context, selfGrammar: context.baseGrammar }, result);\n break;\n case 1 /* Self */:\n collectExternalReferencesInTopLevelRule(context, result);\n break;\n case 2 /* RelativeReference */:\n collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, { ...context, repository: patternRepository }, result);\n break;\n case 3 /* TopLevelReference */:\n case 4 /* TopLevelRepositoryReference */:\n const selfGrammar = reference.scopeName === context.selfGrammar.scopeName ? context.selfGrammar : reference.scopeName === context.baseGrammar.scopeName ? context.baseGrammar : void 0;\n if (selfGrammar) {\n const newContext = { baseGrammar: context.baseGrammar, selfGrammar, repository: patternRepository };\n if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, newContext, result);\n } else {\n collectExternalReferencesInTopLevelRule(newContext, result);\n }\n } else {\n if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n result.add(new TopLevelRepositoryRuleReference(reference.scopeName, reference.ruleName));\n } else {\n result.add(new TopLevelRuleReference(reference.scopeName));\n }\n }\n break;\n }\n }\n}\nvar BaseReference = class {\n constructor() {\n this.kind = 0 /* Base */;\n }\n};\nvar SelfReference = class {\n constructor() {\n this.kind = 1 /* Self */;\n }\n};\nvar RelativeReference = class {\n constructor(ruleName) {\n this.ruleName = ruleName;\n this.kind = 2 /* RelativeReference */;\n }\n};\nvar TopLevelReference = class {\n constructor(scopeName) {\n this.scopeName = scopeName;\n this.kind = 3 /* TopLevelReference */;\n }\n};\nvar TopLevelRepositoryReference = class {\n constructor(scopeName, ruleName) {\n this.scopeName = scopeName;\n this.ruleName = ruleName;\n this.kind = 4 /* TopLevelRepositoryReference */;\n }\n};\nfunction parseInclude(include) {\n if (include === \"$base\") {\n return new BaseReference();\n } else if (include === \"$self\") {\n return new SelfReference();\n }\n const indexOfSharp = include.indexOf(\"#\");\n if (indexOfSharp === -1) {\n return new TopLevelReference(include);\n } else if (indexOfSharp === 0) {\n return new RelativeReference(include.substring(1));\n } else {\n const scopeName = include.substring(0, indexOfSharp);\n const ruleName = include.substring(indexOfSharp + 1);\n return new TopLevelRepositoryReference(scopeName, ruleName);\n }\n}\n\n// src/rule.ts\nvar HAS_BACK_REFERENCES = /\\\\(\\d+)/;\nvar BACK_REFERENCING_END = /\\\\(\\d+)/g;\nvar ruleIdSymbol = Symbol(\"RuleId\");\nvar endRuleId = -1;\nvar whileRuleId = -2;\nfunction ruleIdFromNumber(id) {\n return id;\n}\nfunction ruleIdToNumber(id) {\n return id;\n}\nvar Rule = class {\n constructor($location, id, name, contentName) {\n this.$location = $location;\n this.id = id;\n this._name = name || null;\n this._nameIsCapturing = RegexSource.hasCaptures(this._name);\n this._contentName = contentName || null;\n this._contentNameIsCapturing = RegexSource.hasCaptures(this._contentName);\n }\n get debugName() {\n const location = this.$location ? `${basename(this.$location.filename)}:${this.$location.line}` : \"unknown\";\n return `${this.constructor.name}#${this.id} @ ${location}`;\n }\n getName(lineText, captureIndices) {\n if (!this._nameIsCapturing || this._name === null || lineText === null || captureIndices === null) {\n return this._name;\n }\n return RegexSource.replaceCaptures(this._name, lineText, captureIndices);\n }\n getContentName(lineText, captureIndices) {\n if (!this._contentNameIsCapturing || this._contentName === null) {\n return this._contentName;\n }\n return RegexSource.replaceCaptures(this._contentName, lineText, captureIndices);\n }\n};\nvar CaptureRule = class extends Rule {\n constructor($location, id, name, contentName, retokenizeCapturedWithRuleId) {\n super($location, id, name, contentName);\n this.retokenizeCapturedWithRuleId = retokenizeCapturedWithRuleId;\n }\n dispose() {\n }\n collectPatterns(grammar, out) {\n throw new Error(\"Not supported!\");\n }\n compile(grammar, endRegexSource) {\n throw new Error(\"Not supported!\");\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n throw new Error(\"Not supported!\");\n }\n};\nvar MatchRule = class extends Rule {\n constructor($location, id, name, match, captures) {\n super($location, id, name, null);\n this._match = new RegExpSource(match, this.id);\n this.captures = captures;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n get debugMatchRegExp() {\n return `${this._match.source}`;\n }\n collectPatterns(grammar, out) {\n out.push(this._match);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n this.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar IncludeOnlyRule = class extends Rule {\n constructor($location, id, name, contentName, patterns) {\n super($location, id, name, contentName);\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n collectPatterns(grammar, out) {\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, out);\n }\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n this.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar BeginEndRule = class extends Rule {\n constructor($location, id, name, contentName, begin, beginCaptures, end, endCaptures, applyEndPatternLast, patterns) {\n super($location, id, name, contentName);\n this._begin = new RegExpSource(begin, this.id);\n this.beginCaptures = beginCaptures;\n this._end = new RegExpSource(end ? end : \"\\uFFFF\", -1);\n this.endHasBackReferences = this._end.hasBackReferences;\n this.endCaptures = endCaptures;\n this.applyEndPatternLast = applyEndPatternLast || false;\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n get debugBeginRegExp() {\n return `${this._begin.source}`;\n }\n get debugEndRegExp() {\n return `${this._end.source}`;\n }\n getEndWithResolvedBackReferences(lineText, captureIndices) {\n return this._end.resolveBackReferences(lineText, captureIndices);\n }\n collectPatterns(grammar, out) {\n out.push(this._begin);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar, endRegexSource).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar, endRegexSource) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n if (this.applyEndPatternLast) {\n this._cachedCompiledPatterns.push(this._end.hasBackReferences ? this._end.clone() : this._end);\n } else {\n this._cachedCompiledPatterns.unshift(this._end.hasBackReferences ? this._end.clone() : this._end);\n }\n }\n if (this._end.hasBackReferences) {\n if (this.applyEndPatternLast) {\n this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length() - 1, endRegexSource);\n } else {\n this._cachedCompiledPatterns.setSource(0, endRegexSource);\n }\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar BeginWhileRule = class extends Rule {\n constructor($location, id, name, contentName, begin, beginCaptures, _while, whileCaptures, patterns) {\n super($location, id, name, contentName);\n this._begin = new RegExpSource(begin, this.id);\n this.beginCaptures = beginCaptures;\n this.whileCaptures = whileCaptures;\n this._while = new RegExpSource(_while, whileRuleId);\n this.whileHasBackReferences = this._while.hasBackReferences;\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n this._cachedCompiledWhilePatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n if (this._cachedCompiledWhilePatterns) {\n this._cachedCompiledWhilePatterns.dispose();\n this._cachedCompiledWhilePatterns = null;\n }\n }\n get debugBeginRegExp() {\n return `${this._begin.source}`;\n }\n get debugWhileRegExp() {\n return `${this._while.source}`;\n }\n getWhileWithResolvedBackReferences(lineText, captureIndices) {\n return this._while.resolveBackReferences(lineText, captureIndices);\n }\n collectPatterns(grammar, out) {\n out.push(this._begin);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n }\n return this._cachedCompiledPatterns;\n }\n compileWhile(grammar, endRegexSource) {\n return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compile(grammar);\n }\n compileWhileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledWhilePatterns(grammar, endRegexSource) {\n if (!this._cachedCompiledWhilePatterns) {\n this._cachedCompiledWhilePatterns = new RegExpSourceList();\n this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences ? this._while.clone() : this._while);\n }\n if (this._while.hasBackReferences) {\n this._cachedCompiledWhilePatterns.setSource(0, endRegexSource ? endRegexSource : \"\\uFFFF\");\n }\n return this._cachedCompiledWhilePatterns;\n }\n};\nvar RuleFactory = class _RuleFactory {\n static createCaptureRule(helper, $location, name, contentName, retokenizeCapturedWithRuleId) {\n return helper.registerRule((id) => {\n return new CaptureRule($location, id, name, contentName, retokenizeCapturedWithRuleId);\n });\n }\n static getCompiledRuleId(desc, helper, repository) {\n if (!desc.id) {\n helper.registerRule((id) => {\n desc.id = id;\n if (desc.match) {\n return new MatchRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.match,\n _RuleFactory._compileCaptures(desc.captures, helper, repository)\n );\n }\n if (typeof desc.begin === \"undefined\") {\n if (desc.repository) {\n repository = mergeObjects({}, repository, desc.repository);\n }\n let patterns = desc.patterns;\n if (typeof patterns === \"undefined\" && desc.include) {\n patterns = [{ include: desc.include }];\n }\n return new IncludeOnlyRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n _RuleFactory._compilePatterns(patterns, helper, repository)\n );\n }\n if (desc.while) {\n return new BeginWhileRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n desc.begin,\n _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n desc.while,\n _RuleFactory._compileCaptures(desc.whileCaptures || desc.captures, helper, repository),\n _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n );\n }\n return new BeginEndRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n desc.begin,\n _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n desc.end,\n _RuleFactory._compileCaptures(desc.endCaptures || desc.captures, helper, repository),\n desc.applyEndPatternLast,\n _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n );\n });\n }\n return desc.id;\n }\n static _compileCaptures(captures, helper, repository) {\n let r = [];\n if (captures) {\n let maximumCaptureId = 0;\n for (const captureId in captures) {\n if (captureId === \"$vscodeTextmateLocation\") {\n continue;\n }\n const numericCaptureId = parseInt(captureId, 10);\n if (numericCaptureId > maximumCaptureId) {\n maximumCaptureId = numericCaptureId;\n }\n }\n for (let i = 0; i <= maximumCaptureId; i++) {\n r[i] = null;\n }\n for (const captureId in captures) {\n if (captureId === \"$vscodeTextmateLocation\") {\n continue;\n }\n const numericCaptureId = parseInt(captureId, 10);\n let retokenizeCapturedWithRuleId = 0;\n if (captures[captureId].patterns) {\n retokenizeCapturedWithRuleId = _RuleFactory.getCompiledRuleId(captures[captureId], helper, repository);\n }\n r[numericCaptureId] = _RuleFactory.createCaptureRule(helper, captures[captureId].$vscodeTextmateLocation, captures[captureId].name, captures[captureId].contentName, retokenizeCapturedWithRuleId);\n }\n }\n return r;\n }\n static _compilePatterns(patterns, helper, repository) {\n let r = [];\n if (patterns) {\n for (let i = 0, len = patterns.length; i < len; i++) {\n const pattern = patterns[i];\n let ruleId = -1;\n if (pattern.include) {\n const reference = parseInclude(pattern.include);\n switch (reference.kind) {\n case 0 /* Base */:\n case 1 /* Self */:\n ruleId = _RuleFactory.getCompiledRuleId(repository[pattern.include], helper, repository);\n break;\n case 2 /* RelativeReference */:\n let localIncludedRule = repository[reference.ruleName];\n if (localIncludedRule) {\n ruleId = _RuleFactory.getCompiledRuleId(localIncludedRule, helper, repository);\n } else {\n }\n break;\n case 3 /* TopLevelReference */:\n case 4 /* TopLevelRepositoryReference */:\n const externalGrammarName = reference.scopeName;\n const externalGrammarInclude = reference.kind === 4 /* TopLevelRepositoryReference */ ? reference.ruleName : null;\n const externalGrammar = helper.getExternalGrammar(externalGrammarName, repository);\n if (externalGrammar) {\n if (externalGrammarInclude) {\n let externalIncludedRule = externalGrammar.repository[externalGrammarInclude];\n if (externalIncludedRule) {\n ruleId = _RuleFactory.getCompiledRuleId(externalIncludedRule, helper, externalGrammar.repository);\n } else {\n }\n } else {\n ruleId = _RuleFactory.getCompiledRuleId(externalGrammar.repository.$self, helper, externalGrammar.repository);\n }\n } else {\n }\n break;\n }\n } else {\n ruleId = _RuleFactory.getCompiledRuleId(pattern, helper, repository);\n }\n if (ruleId !== -1) {\n const rule = helper.getRule(ruleId);\n let skipRule = false;\n if (rule instanceof IncludeOnlyRule || rule instanceof BeginEndRule || rule instanceof BeginWhileRule) {\n if (rule.hasMissingPatterns && rule.patterns.length === 0) {\n skipRule = true;\n }\n }\n if (skipRule) {\n continue;\n }\n r.push(ruleId);\n }\n }\n }\n return {\n patterns: r,\n hasMissingPatterns: (patterns ? patterns.length : 0) !== r.length\n };\n }\n};\nvar RegExpSource = class _RegExpSource {\n constructor(regExpSource, ruleId) {\n if (regExpSource) {\n const len = regExpSource.length;\n let lastPushedPos = 0;\n let output = [];\n let hasAnchor = false;\n for (let pos = 0; pos < len; pos++) {\n const ch = regExpSource.charAt(pos);\n if (ch === \"\\\\\") {\n if (pos + 1 < len) {\n const nextCh = regExpSource.charAt(pos + 1);\n if (nextCh === \"z\") {\n output.push(regExpSource.substring(lastPushedPos, pos));\n output.push(\"$(?!\\\\n)(?<!\\\\n)\");\n lastPushedPos = pos + 2;\n } else if (nextCh === \"A\" || nextCh === \"G\") {\n hasAnchor = true;\n }\n pos++;\n }\n }\n }\n this.hasAnchor = hasAnchor;\n if (lastPushedPos === 0) {\n this.source = regExpSource;\n } else {\n output.push(regExpSource.substring(lastPushedPos, len));\n this.source = output.join(\"\");\n }\n } else {\n this.hasAnchor = false;\n this.source = regExpSource;\n }\n if (this.hasAnchor) {\n this._anchorCache = this._buildAnchorCache();\n } else {\n this._anchorCache = null;\n }\n this.ruleId = ruleId;\n this.hasBackReferences = HAS_BACK_REFERENCES.test(this.source);\n }\n clone() {\n return new _RegExpSource(this.source, this.ruleId);\n }\n setSource(newSource) {\n if (this.source === newSource) {\n return;\n }\n this.source = newSource;\n if (this.hasAnchor) {\n this._anchorCache = this._buildAnchorCache();\n }\n }\n resolveBackReferences(lineText, captureIndices) {\n let capturedValues = captureIndices.map((capture) => {\n return lineText.substring(capture.start, capture.end);\n });\n BACK_REFERENCING_END.lastIndex = 0;\n return this.source.replace(BACK_REFERENCING_END, (match, g1) => {\n return escapeRegExpCharacters(capturedValues[parseInt(g1, 10)] || \"\");\n });\n }\n _buildAnchorCache() {\n let A0_G0_result = [];\n let A0_G1_result = [];\n let A1_G0_result = [];\n let A1_G1_result = [];\n let pos, len, ch, nextCh;\n for (pos = 0, len = this.source.length; pos < len; pos++) {\n ch = this.source.charAt(pos);\n A0_G0_result[pos] = ch;\n A0_G1_result[pos] = ch;\n A1_G0_result[pos] = ch;\n A1_G1_result[pos] = ch;\n if (ch === \"\\\\\") {\n if (pos + 1 < len) {\n nextCh = this.source.charAt(pos + 1);\n if (nextCh === \"A\") {\n A0_G0_result[pos + 1] = \"\\uFFFF\";\n A0_G1_result[pos + 1] = \"\\uFFFF\";\n A1_G0_result[pos + 1] = \"A\";\n A1_G1_result[pos + 1] = \"A\";\n } else if (nextCh === \"G\") {\n A0_G0_result[pos + 1] = \"\\uFFFF\";\n A0_G1_result[pos + 1] = \"G\";\n A1_G0_result[pos + 1] = \"\\uFFFF\";\n A1_G1_result[pos + 1] = \"G\";\n } else {\n A0_G0_result[pos + 1] = nextCh;\n A0_G1_result[pos + 1] = nextCh;\n A1_G0_result[pos + 1] = nextCh;\n A1_G1_result[pos + 1] = nextCh;\n }\n pos++;\n }\n }\n }\n return {\n A0_G0: A0_G0_result.join(\"\"),\n A0_G1: A0_G1_result.join(\"\"),\n A1_G0: A1_G0_result.join(\"\"),\n A1_G1: A1_G1_result.join(\"\")\n };\n }\n resolveAnchors(allowA, allowG) {\n if (!this.hasAnchor || !this._anchorCache) {\n return this.source;\n }\n if (allowA) {\n if (allowG) {\n return this._anchorCache.A1_G1;\n } else {\n return this._anchorCache.A1_G0;\n }\n } else {\n if (allowG) {\n return this._anchorCache.A0_G1;\n } else {\n return this._anchorCache.A0_G0;\n }\n }\n }\n};\nvar RegExpSourceList = class {\n constructor() {\n this._items = [];\n this._hasAnchors = false;\n this._cached = null;\n this._anchorCache = {\n A0_G0: null,\n A0_G1: null,\n A1_G0: null,\n A1_G1: null\n };\n }\n dispose() {\n this._disposeCaches();\n }\n _disposeCaches() {\n if (this._cached) {\n this._cached.dispose();\n this._cached = null;\n }\n if (this._anchorCache.A0_G0) {\n this._anchorCache.A0_G0.dispose();\n this._anchorCache.A0_G0 = null;\n }\n if (this._anchorCache.A0_G1) {\n this._anchorCache.A0_G1.dispose();\n this._anchorCache.A0_G1 = null;\n }\n if (this._anchorCache.A1_G0) {\n this._anchorCache.A1_G0.dispose();\n this._anchorCache.A1_G0 = null;\n }\n if (this._anchorCache.A1_G1) {\n this._anchorCache.A1_G1.dispose();\n this._anchorCache.A1_G1 = null;\n }\n }\n push(item) {\n this._items.push(item);\n this._hasAnchors = this._hasAnchors || item.hasAnchor;\n }\n unshift(item) {\n this._items.unshift(item);\n this._hasAnchors = this._hasAnchors || item.hasAnchor;\n }\n length() {\n return this._items.length;\n }\n setSource(index, newSource) {\n if (this._items[index].source !== newSource) {\n this._disposeCaches();\n this._items[index].setSource(newSource);\n }\n }\n compile(onigLib) {\n if (!this._cached) {\n let regExps = this._items.map((e) => e.source);\n this._cached = new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n }\n return this._cached;\n }\n compileAG(onigLib, allowA, allowG) {\n if (!this._hasAnchors) {\n return this.compile(onigLib);\n } else {\n if (allowA) {\n if (allowG) {\n if (!this._anchorCache.A1_G1) {\n this._anchorCache.A1_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A1_G1;\n } else {\n if (!this._anchorCache.A1_G0) {\n this._anchorCache.A1_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A1_G0;\n }\n } else {\n if (allowG) {\n if (!this._anchorCache.A0_G1) {\n this._anchorCache.A0_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A0_G1;\n } else {\n if (!this._anchorCache.A0_G0) {\n this._anchorCache.A0_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A0_G0;\n }\n }\n }\n }\n _resolveAnchors(onigLib, allowA, allowG) {\n let regExps = this._items.map((e) => e.resolveAnchors(allowA, allowG));\n return new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n }\n};\nvar CompiledRule = class {\n constructor(onigLib, regExps, rules) {\n this.regExps = regExps;\n this.rules = rules;\n this.scanner = onigLib.createOnigScanner(regExps);\n }\n dispose() {\n if (typeof this.scanner.dispose === \"function\") {\n this.scanner.dispose();\n }\n }\n toString() {\n const r = [];\n for (let i = 0, len = this.rules.length; i < len; i++) {\n r.push(\" - \" + this.rules[i] + \": \" + this.regExps[i]);\n }\n return r.join(\"\\n\");\n }\n findNextMatchSync(string, startPosition, options) {\n const result = this.scanner.findNextMatchSync(string, startPosition, options);\n if (!result) {\n return null;\n }\n return {\n ruleId: this.rules[result.index],\n captureIndices: result.captureIndices\n };\n }\n};\n\n// src/grammar/basicScopesAttributeProvider.ts\nvar BasicScopeAttributes = class {\n constructor(languageId, tokenType) {\n this.languageId = languageId;\n this.tokenType = tokenType;\n }\n};\nvar _BasicScopeAttributesProvider = class _BasicScopeAttributesProvider {\n constructor(initialLanguageId, embeddedLanguages) {\n this._getBasicScopeAttributes = new CachedFn((scopeName) => {\n const languageId = this._scopeToLanguage(scopeName);\n const standardTokenType = this._toStandardTokenType(scopeName);\n return new BasicScopeAttributes(languageId, standardTokenType);\n });\n this._defaultAttributes = new BasicScopeAttributes(initialLanguageId, 8 /* NotSet */);\n this._embeddedLanguagesMatcher = new ScopeMatcher(Object.entries(embeddedLanguages || {}));\n }\n getDefaultAttributes() {\n return this._defaultAttributes;\n }\n getBasicScopeAttributes(scopeName) {\n if (scopeName === null) {\n return _BasicScopeAttributesProvider._NULL_SCOPE_METADATA;\n }\n return this._getBasicScopeAttributes.get(scopeName);\n }\n /**\n * Given a produced TM scope, return the language that token describes or null if unknown.\n * e.g. source.html => html, source.css.embedded.html => css, punctuation.definition.tag.html => null\n */\n _scopeToLanguage(scope) {\n return this._embeddedLanguagesMatcher.match(scope) || 0;\n }\n _toStandardTokenType(scopeName) {\n const m = scopeName.match(_BasicScopeAttributesProvider.STANDARD_TOKEN_TYPE_REGEXP);\n if (!m) {\n return 8 /* NotSet */;\n }\n switch (m[1]) {\n case \"comment\":\n return 1 /* Comment */;\n case \"string\":\n return 2 /* String */;\n case \"regex\":\n return 3 /* RegEx */;\n case \"meta.embedded\":\n return 0 /* Other */;\n }\n throw new Error(\"Unexpected match for standard token type!\");\n }\n};\n_BasicScopeAttributesProvider._NULL_SCOPE_METADATA = new BasicScopeAttributes(0, 0);\n_BasicScopeAttributesProvider.STANDARD_TOKEN_TYPE_REGEXP = /\\b(comment|string|regex|meta\\.embedded)\\b/;\nvar BasicScopeAttributesProvider = _BasicScopeAttributesProvider;\nvar ScopeMatcher = class {\n constructor(values) {\n if (values.length === 0) {\n this.values = null;\n this.scopesRegExp = null;\n } else {\n this.values = new Map(values);\n const escapedScopes = values.map(\n ([scopeName, value]) => escapeRegExpCharacters(scopeName)\n );\n escapedScopes.sort();\n escapedScopes.reverse();\n this.scopesRegExp = new RegExp(\n `^((${escapedScopes.join(\")|(\")}))($|\\\\.)`,\n \"\"\n );\n }\n }\n match(scope) {\n if (!this.scopesRegExp) {\n return void 0;\n }\n const m = scope.match(this.scopesRegExp);\n if (!m) {\n return void 0;\n }\n return this.values.get(m[1]);\n }\n};\n\n// src/debug.ts\nvar DebugFlags = {\n InDebugMode: typeof process !== \"undefined\" && !!process.env[\"VSCODE_TEXTMATE_DEBUG\"]\n};\nvar UseOnigurumaFindOptions = false;\n\n// src/grammar/tokenizeString.ts\nvar TokenizeStringResult = class {\n constructor(stack, stoppedEarly) {\n this.stack = stack;\n this.stoppedEarly = stoppedEarly;\n }\n};\nfunction _tokenizeString(grammar, lineText, isFirstLine, linePos, stack, lineTokens, checkWhileConditions, timeLimit) {\n const lineLength = lineText.content.length;\n let STOP = false;\n let anchorPosition = -1;\n if (checkWhileConditions) {\n const whileCheckResult = _checkWhileConditions(\n grammar,\n lineText,\n isFirstLine,\n linePos,\n stack,\n lineTokens\n );\n stack = whileCheckResult.stack;\n linePos = whileCheckResult.linePos;\n isFirstLine = whileCheckResult.isFirstLine;\n anchorPosition = whileCheckResult.anchorPosition;\n }\n const startTime = Date.now();\n while (!STOP) {\n if (timeLimit !== 0) {\n const elapsedTime = Date.now() - startTime;\n if (elapsedTime > timeLimit) {\n return new TokenizeStringResult(stack, true);\n }\n }\n scanNext();\n }\n return new TokenizeStringResult(stack, false);\n function scanNext() {\n if (false) {\n console.log(\"\");\n console.log(\n `@@scanNext ${linePos}: |${lineText.content.substr(linePos).replace(/\\n$/, \"\\\\n\")}|`\n );\n }\n const r = matchRuleOrInjections(\n grammar,\n lineText,\n isFirstLine,\n linePos,\n stack,\n anchorPosition\n );\n if (!r) {\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n const captureIndices = r.captureIndices;\n const matchedRuleId = r.matchedRuleId;\n const hasAdvanced = captureIndices && captureIndices.length > 0 ? captureIndices[0].end > linePos : false;\n if (matchedRuleId === endRuleId) {\n const poppedRule = stack.getRule(grammar);\n if (false) {\n console.log(\n \" popping \" + poppedRule.debugName + \" - \" + poppedRule.debugEndRegExp\n );\n }\n lineTokens.produce(stack, captureIndices[0].start);\n stack = stack.withContentNameScopesList(stack.nameScopesList);\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n poppedRule.endCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n const popped = stack;\n stack = stack.parent;\n anchorPosition = popped.getAnchorPos();\n if (!hasAdvanced && popped.getEnterPos() === linePos) {\n if (false) {\n console.error(\n \"[1] - Grammar is in an endless loop - Grammar pushed & popped a rule without advancing\"\n );\n }\n stack = popped;\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else {\n const _rule = grammar.getRule(matchedRuleId);\n lineTokens.produce(stack, captureIndices[0].start);\n const beforePush = stack;\n const scopeName = _rule.getName(lineText.content, captureIndices);\n const nameScopesList = stack.contentNameScopesList.pushAttributed(\n scopeName,\n grammar\n );\n stack = stack.push(\n matchedRuleId,\n linePos,\n anchorPosition,\n captureIndices[0].end === lineLength,\n null,\n nameScopesList,\n nameScopesList\n );\n if (_rule instanceof BeginEndRule) {\n const pushedRule = _rule;\n if (false) {\n console.log(\n \" pushing \" + pushedRule.debugName + \" - \" + pushedRule.debugBeginRegExp\n );\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n pushedRule.beginCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n anchorPosition = captureIndices[0].end;\n const contentName = pushedRule.getContentName(\n lineText.content,\n captureIndices\n );\n const contentNameScopesList = nameScopesList.pushAttributed(\n contentName,\n grammar\n );\n stack = stack.withContentNameScopesList(contentNameScopesList);\n if (pushedRule.endHasBackReferences) {\n stack = stack.withEndRule(\n pushedRule.getEndWithResolvedBackReferences(\n lineText.content,\n captureIndices\n )\n );\n }\n if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n if (false) {\n console.error(\n \"[2] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n );\n }\n stack = stack.pop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else if (_rule instanceof BeginWhileRule) {\n const pushedRule = _rule;\n if (false) {\n console.log(\" pushing \" + pushedRule.debugName);\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n pushedRule.beginCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n anchorPosition = captureIndices[0].end;\n const contentName = pushedRule.getContentName(\n lineText.content,\n captureIndices\n );\n const contentNameScopesList = nameScopesList.pushAttributed(\n contentName,\n grammar\n );\n stack = stack.withContentNameScopesList(contentNameScopesList);\n if (pushedRule.whileHasBackReferences) {\n stack = stack.withEndRule(\n pushedRule.getWhileWithResolvedBackReferences(\n lineText.content,\n captureIndices\n )\n );\n }\n if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n if (false) {\n console.error(\n \"[3] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n );\n }\n stack = stack.pop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else {\n const matchingRule = _rule;\n if (false) {\n console.log(\n \" matched \" + matchingRule.debugName + \" - \" + matchingRule.debugMatchRegExp\n );\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n matchingRule.captures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n stack = stack.pop();\n if (!hasAdvanced) {\n if (false) {\n console.error(\n \"[4] - Grammar is in an endless loop - Grammar is not advancing, nor is it pushing/popping\"\n );\n }\n stack = stack.safePop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n }\n }\n if (captureIndices[0].end > linePos) {\n linePos = captureIndices[0].end;\n isFirstLine = false;\n }\n }\n}\nfunction _checkWhileConditions(grammar, lineText, isFirstLine, linePos, stack, lineTokens) {\n let anchorPosition = stack.beginRuleCapturedEOL ? 0 : -1;\n const whileRules = [];\n for (let node = stack; node; node = node.pop()) {\n const nodeRule = node.getRule(grammar);\n if (nodeRule instanceof BeginWhileRule) {\n whileRules.push({\n rule: nodeRule,\n stack: node\n });\n }\n }\n for (let whileRule = whileRules.pop(); whileRule; whileRule = whileRules.pop()) {\n const { ruleScanner, findOptions } = prepareRuleWhileSearch(whileRule.rule, grammar, whileRule.stack.endRule, isFirstLine, linePos === anchorPosition);\n const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (false) {\n console.log(\" scanning for while rule\");\n console.log(ruleScanner.toString());\n }\n if (r) {\n const matchedRuleId = r.ruleId;\n if (matchedRuleId !== whileRuleId) {\n stack = whileRule.stack.pop();\n break;\n }\n if (r.captureIndices && r.captureIndices.length) {\n lineTokens.produce(whileRule.stack, r.captureIndices[0].start);\n handleCaptures(grammar, lineText, isFirstLine, whileRule.stack, lineTokens, whileRule.rule.whileCaptures, r.captureIndices);\n lineTokens.produce(whileRule.stack, r.captureIndices[0].end);\n anchorPosition = r.captureIndices[0].end;\n if (r.captureIndices[0].end > linePos) {\n linePos = r.captureIndices[0].end;\n isFirstLine = false;\n }\n }\n } else {\n if (false) {\n console.log(\" popping \" + whileRule.rule.debugName + \" - \" + whileRule.rule.debugWhileRegExp);\n }\n stack = whileRule.stack.pop();\n break;\n }\n }\n return { stack, linePos, anchorPosition, isFirstLine };\n}\nfunction matchRuleOrInjections(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n const matchResult = matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n const injections = grammar.getInjections();\n if (injections.length === 0) {\n return matchResult;\n }\n const injectionResult = matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n if (!injectionResult) {\n return matchResult;\n }\n if (!matchResult) {\n return injectionResult;\n }\n const matchResultScore = matchResult.captureIndices[0].start;\n const injectionResultScore = injectionResult.captureIndices[0].start;\n if (injectionResultScore < matchResultScore || injectionResult.priorityMatch && injectionResultScore === matchResultScore) {\n return injectionResult;\n }\n return matchResult;\n}\nfunction matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n const rule = stack.getRule(grammar);\n const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, stack.endRule, isFirstLine, linePos === anchorPosition);\n const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (r) {\n return {\n captureIndices: r.captureIndices,\n matchedRuleId: r.ruleId\n };\n }\n return null;\n}\nfunction matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n let bestMatchRating = Number.MAX_VALUE;\n let bestMatchCaptureIndices = null;\n let bestMatchRuleId;\n let bestMatchResultPriority = 0;\n const scopes = stack.contentNameScopesList.getScopeNames();\n for (let i = 0, len = injections.length; i < len; i++) {\n const injection = injections[i];\n if (!injection.matcher(scopes)) {\n continue;\n }\n const rule = grammar.getRule(injection.ruleId);\n const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, null, isFirstLine, linePos === anchorPosition);\n const matchResult = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (!matchResult) {\n continue;\n }\n if (false) {\n console.log(` matched injection: ${injection.debugSelector}`);\n console.log(ruleScanner.toString());\n }\n const matchRating = matchResult.captureIndices[0].start;\n if (matchRating >= bestMatchRating) {\n continue;\n }\n bestMatchRating = matchRating;\n bestMatchCaptureIndices = matchResult.captureIndices;\n bestMatchRuleId = matchResult.ruleId;\n bestMatchResultPriority = injection.priority;\n if (bestMatchRating === linePos) {\n break;\n }\n }\n if (bestMatchCaptureIndices) {\n return {\n priorityMatch: bestMatchResultPriority === -1,\n captureIndices: bestMatchCaptureIndices,\n matchedRuleId: bestMatchRuleId\n };\n }\n return null;\n}\nfunction prepareRuleSearch(rule, grammar, endRegexSource, allowA, allowG) {\n if (UseOnigurumaFindOptions) {\n const ruleScanner2 = rule.compile(grammar, endRegexSource);\n const findOptions = getFindOptions(allowA, allowG);\n return { ruleScanner: ruleScanner2, findOptions };\n }\n const ruleScanner = rule.compileAG(grammar, endRegexSource, allowA, allowG);\n return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction prepareRuleWhileSearch(rule, grammar, endRegexSource, allowA, allowG) {\n if (UseOnigurumaFindOptions) {\n const ruleScanner2 = rule.compileWhile(grammar, endRegexSource);\n const findOptions = getFindOptions(allowA, allowG);\n return { ruleScanner: ruleScanner2, findOptions };\n }\n const ruleScanner = rule.compileWhileAG(grammar, endRegexSource, allowA, allowG);\n return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction getFindOptions(allowA, allowG) {\n let options = 0 /* None */;\n if (!allowA) {\n options |= 1 /* NotBeginString */;\n }\n if (!allowG) {\n options |= 4 /* NotBeginPosition */;\n }\n return options;\n}\nfunction handleCaptures(grammar, lineText, isFirstLine, stack, lineTokens, captures, captureIndices) {\n if (captures.length === 0) {\n return;\n }\n const lineTextContent = lineText.content;\n const len = Math.min(captures.length, captureIndices.length);\n const localStack = [];\n const maxEnd = captureIndices[0].end;\n for (let i = 0; i < len; i++) {\n const captureRule = captures[i];\n if (captureRule === null) {\n continue;\n }\n const captureIndex = captureIndices[i];\n if (captureIndex.length === 0) {\n continue;\n }\n if (captureIndex.start > maxEnd) {\n break;\n }\n while (localStack.length > 0 && localStack[localStack.length - 1].endPos <= captureIndex.start) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n localStack.pop();\n }\n if (localStack.length > 0) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, captureIndex.start);\n } else {\n lineTokens.produce(stack, captureIndex.start);\n }\n if (captureRule.retokenizeCapturedWithRuleId) {\n const scopeName = captureRule.getName(lineTextContent, captureIndices);\n const nameScopesList = stack.contentNameScopesList.pushAttributed(scopeName, grammar);\n const contentName = captureRule.getContentName(lineTextContent, captureIndices);\n const contentNameScopesList = nameScopesList.pushAttributed(contentName, grammar);\n const stackClone = stack.push(captureRule.retokenizeCapturedWithRuleId, captureIndex.start, -1, false, null, nameScopesList, contentNameScopesList);\n const onigSubStr = grammar.createOnigString(lineTextContent.substring(0, captureIndex.end));\n _tokenizeString(\n grammar,\n onigSubStr,\n isFirstLine && captureIndex.start === 0,\n captureIndex.start,\n stackClone,\n lineTokens,\n false,\n /* no time limit */\n 0\n );\n disposeOnigString(onigSubStr);\n continue;\n }\n const captureRuleScopeName = captureRule.getName(lineTextContent, captureIndices);\n if (captureRuleScopeName !== null) {\n const base = localStack.length > 0 ? localStack[localStack.length - 1].scopes : stack.contentNameScopesList;\n const captureRuleScopesList = base.pushAttributed(captureRuleScopeName, grammar);\n localStack.push(new LocalStackElement(captureRuleScopesList, captureIndex.end));\n }\n }\n while (localStack.length > 0) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n localStack.pop();\n }\n}\nvar LocalStackElement = class {\n constructor(scopes, endPos) {\n this.scopes = scopes;\n this.endPos = endPos;\n }\n};\n\n// src/grammar/grammar.ts\nfunction createGrammar(scopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, onigLib) {\n return new Grammar(\n scopeName,\n grammar,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors,\n grammarRepository,\n onigLib\n );\n}\nfunction collectInjections(result, selector, rule, ruleFactoryHelper, grammar) {\n const matchers = createMatchers(selector, nameMatcher);\n const ruleId = RuleFactory.getCompiledRuleId(rule, ruleFactoryHelper, grammar.repository);\n for (const matcher of matchers) {\n result.push({\n debugSelector: selector,\n matcher: matcher.matcher,\n ruleId,\n grammar,\n priority: matcher.priority\n });\n }\n}\nfunction nameMatcher(identifers, scopes) {\n if (scopes.length < identifers.length) {\n return false;\n }\n let lastIndex = 0;\n return identifers.every((identifier) => {\n for (let i = lastIndex; i < scopes.length; i++) {\n if (scopesAreMatching(scopes[i], identifier)) {\n lastIndex = i + 1;\n return true;\n }\n }\n return false;\n });\n}\nfunction scopesAreMatching(thisScopeName, scopeName) {\n if (!thisScopeName) {\n return false;\n }\n if (thisScopeName === scopeName) {\n return true;\n }\n const len = scopeName.length;\n return thisScopeName.length > len && thisScopeName.substr(0, len) === scopeName && thisScopeName[len] === \".\";\n}\nvar Grammar = class {\n constructor(_rootScopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, _onigLib) {\n this._rootScopeName = _rootScopeName;\n this.balancedBracketSelectors = balancedBracketSelectors;\n this._onigLib = _onigLib;\n this._basicScopeAttributesProvider = new BasicScopeAttributesProvider(\n initialLanguage,\n embeddedLanguages\n );\n this._rootId = -1;\n this._lastRuleId = 0;\n this._ruleId2desc = [null];\n this._includedGrammars = {};\n this._grammarRepository = grammarRepository;\n this._grammar = initGrammar(grammar, null);\n this._injections = null;\n this._tokenTypeMatchers = [];\n if (tokenTypes) {\n for (const selector of Object.keys(tokenTypes)) {\n const matchers = createMatchers(selector, nameMatcher);\n for (const matcher of matchers) {\n this._tokenTypeMatchers.push({\n matcher: matcher.matcher,\n type: tokenTypes[selector]\n });\n }\n }\n }\n }\n get themeProvider() {\n return this._grammarRepository;\n }\n dispose() {\n for (const rule of this._ruleId2desc) {\n if (rule) {\n rule.dispose();\n }\n }\n }\n createOnigScanner(sources) {\n return this._onigLib.createOnigScanner(sources);\n }\n createOnigString(sources) {\n return this._onigLib.createOnigString(sources);\n }\n getMetadataForScope(scope) {\n return this._basicScopeAttributesProvider.getBasicScopeAttributes(scope);\n }\n _collectInjections() {\n const grammarRepository = {\n lookup: (scopeName2) => {\n if (scopeName2 === this._rootScopeName) {\n return this._grammar;\n }\n return this.getExternalGrammar(scopeName2);\n },\n injections: (scopeName2) => {\n return this._grammarRepository.injections(scopeName2);\n }\n };\n const result = [];\n const scopeName = this._rootScopeName;\n const grammar = grammarRepository.lookup(scopeName);\n if (grammar) {\n const rawInjections = grammar.injections;\n if (rawInjections) {\n for (let expression in rawInjections) {\n collectInjections(\n result,\n expression,\n rawInjections[expression],\n this,\n grammar\n );\n }\n }\n const injectionScopeNames = this._grammarRepository.injections(scopeName);\n if (injectionScopeNames) {\n injectionScopeNames.forEach((injectionScopeName) => {\n const injectionGrammar = this.getExternalGrammar(injectionScopeName);\n if (injectionGrammar) {\n const selector = injectionGrammar.injectionSelector;\n if (selector) {\n collectInjections(\n result,\n selector,\n injectionGrammar,\n this,\n injectionGrammar\n );\n }\n }\n });\n }\n }\n result.sort((i1, i2) => i1.priority - i2.priority);\n return result;\n }\n getInjections() {\n if (this._injections === null) {\n this._injections = this._collectInjections();\n }\n return this._injections;\n }\n registerRule(factory) {\n const id = ++this._lastRuleId;\n const result = factory(ruleIdFromNumber(id));\n this._ruleId2desc[id] = result;\n return result;\n }\n getRule(ruleId) {\n return this._ruleId2desc[ruleIdToNumber(ruleId)];\n }\n getExternalGrammar(scopeName, repository) {\n if (this._includedGrammars[scopeName]) {\n return this._includedGrammars[scopeName];\n } else if (this._grammarRepository) {\n const rawIncludedGrammar = this._grammarRepository.lookup(scopeName);\n if (rawIncludedGrammar) {\n this._includedGrammars[scopeName] = initGrammar(\n rawIncludedGrammar,\n repository && repository.$base\n );\n return this._includedGrammars[scopeName];\n }\n }\n return void 0;\n }\n tokenizeLine(lineText, prevState, timeLimit = 0) {\n const r = this._tokenize(lineText, prevState, false, timeLimit);\n return {\n tokens: r.lineTokens.getResult(r.ruleStack, r.lineLength),\n ruleStack: r.ruleStack,\n stoppedEarly: r.stoppedEarly\n };\n }\n tokenizeLine2(lineText, prevState, timeLimit = 0) {\n const r = this._tokenize(lineText, prevState, true, timeLimit);\n return {\n tokens: r.lineTokens.getBinaryResult(r.ruleStack, r.lineLength),\n ruleStack: r.ruleStack,\n stoppedEarly: r.stoppedEarly\n };\n }\n _tokenize(lineText, prevState, emitBinaryTokens, timeLimit) {\n if (this._rootId === -1) {\n this._rootId = RuleFactory.getCompiledRuleId(\n this._grammar.repository.$self,\n this,\n this._grammar.repository\n );\n this.getInjections();\n }\n let isFirstLine;\n if (!prevState || prevState === StateStackImpl.NULL) {\n isFirstLine = true;\n const rawDefaultMetadata = this._basicScopeAttributesProvider.getDefaultAttributes();\n const defaultStyle = this.themeProvider.getDefaults();\n const defaultMetadata = EncodedTokenMetadata.set(\n 0,\n rawDefaultMetadata.languageId,\n rawDefaultMetadata.tokenType,\n null,\n defaultStyle.fontStyle,\n defaultStyle.foregroundId,\n defaultStyle.backgroundId\n );\n const rootScopeName = this.getRule(this._rootId).getName(\n null,\n null\n );\n let scopeList;\n if (rootScopeName) {\n scopeList = AttributedScopeStack.createRootAndLookUpScopeName(\n rootScopeName,\n defaultMetadata,\n this\n );\n } else {\n scopeList = AttributedScopeStack.createRoot(\n \"unknown\",\n defaultMetadata\n );\n }\n prevState = new StateStackImpl(\n null,\n this._rootId,\n -1,\n -1,\n false,\n null,\n scopeList,\n scopeList\n );\n } else {\n isFirstLine = false;\n prevState.reset();\n }\n lineText = lineText + \"\\n\";\n const onigLineText = this.createOnigString(lineText);\n const lineLength = onigLineText.content.length;\n const lineTokens = new LineTokens(\n emitBinaryTokens,\n lineText,\n this._tokenTypeMatchers,\n this.balancedBracketSelectors\n );\n const r = _tokenizeString(\n this,\n onigLineText,\n isFirstLine,\n 0,\n prevState,\n lineTokens,\n true,\n timeLimit\n );\n disposeOnigString(onigLineText);\n return {\n lineLength,\n lineTokens,\n ruleStack: r.stack,\n stoppedEarly: r.stoppedEarly\n };\n }\n};\nfunction initGrammar(grammar, base) {\n grammar = clone(grammar);\n grammar.repository = grammar.repository || {};\n grammar.repository.$self = {\n $vscodeTextmateLocation: grammar.$vscodeTextmateLocation,\n patterns: grammar.patterns,\n name: grammar.scopeName\n };\n grammar.repository.$base = base || grammar.repository.$self;\n return grammar;\n}\nvar AttributedScopeStack = class _AttributedScopeStack {\n /**\n * Invariant:\n * ```\n * if (parent && !scopePath.extends(parent.scopePath)) {\n * \tthrow new Error();\n * }\n * ```\n */\n constructor(parent, scopePath, tokenAttributes) {\n this.parent = parent;\n this.scopePath = scopePath;\n this.tokenAttributes = tokenAttributes;\n }\n static fromExtension(namesScopeList, contentNameScopesList) {\n let current = namesScopeList;\n let scopeNames = namesScopeList?.scopePath ?? null;\n for (const frame of contentNameScopesList) {\n scopeNames = ScopeStack.push(scopeNames, frame.scopeNames);\n current = new _AttributedScopeStack(current, scopeNames, frame.encodedTokenAttributes);\n }\n return current;\n }\n static createRoot(scopeName, tokenAttributes) {\n return new _AttributedScopeStack(null, new ScopeStack(null, scopeName), tokenAttributes);\n }\n static createRootAndLookUpScopeName(scopeName, tokenAttributes, grammar) {\n const rawRootMetadata = grammar.getMetadataForScope(scopeName);\n const scopePath = new ScopeStack(null, scopeName);\n const rootStyle = grammar.themeProvider.themeMatch(scopePath);\n const resolvedTokenAttributes = _AttributedScopeStack.mergeAttributes(\n tokenAttributes,\n rawRootMetadata,\n rootStyle\n );\n return new _AttributedScopeStack(null, scopePath, resolvedTokenAttributes);\n }\n get scopeName() {\n return this.scopePath.scopeName;\n }\n toString() {\n return this.getScopeNames().join(\" \");\n }\n equals(other) {\n return _AttributedScopeStack.equals(this, other);\n }\n static equals(a, b) {\n do {\n if (a === b) {\n return true;\n }\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.scopeName !== b.scopeName || a.tokenAttributes !== b.tokenAttributes) {\n return false;\n }\n a = a.parent;\n b = b.parent;\n } while (true);\n }\n static mergeAttributes(existingTokenAttributes, basicScopeAttributes, styleAttributes) {\n let fontStyle = -1 /* NotSet */;\n let foreground = 0;\n let background = 0;\n if (styleAttributes !== null) {\n fontStyle = styleAttributes.fontStyle;\n foreground = styleAttributes.foregroundId;\n background = styleAttributes.backgroundId;\n }\n return EncodedTokenMetadata.set(\n existingTokenAttributes,\n basicScopeAttributes.languageId,\n basicScopeAttributes.tokenType,\n null,\n fontStyle,\n foreground,\n background\n );\n }\n pushAttributed(scopePath, grammar) {\n if (scopePath === null) {\n return this;\n }\n if (scopePath.indexOf(\" \") === -1) {\n return _AttributedScopeStack._pushAttributed(this, scopePath, grammar);\n }\n const scopes = scopePath.split(/ /g);\n let result = this;\n for (const scope of scopes) {\n result = _AttributedScopeStack._pushAttributed(result, scope, grammar);\n }\n return result;\n }\n static _pushAttributed(target, scopeName, grammar) {\n const rawMetadata = grammar.getMetadataForScope(scopeName);\n const newPath = target.scopePath.push(scopeName);\n const scopeThemeMatchResult = grammar.themeProvider.themeMatch(newPath);\n const metadata = _AttributedScopeStack.mergeAttributes(\n target.tokenAttributes,\n rawMetadata,\n scopeThemeMatchResult\n );\n return new _AttributedScopeStack(target, newPath, metadata);\n }\n getScopeNames() {\n return this.scopePath.getSegments();\n }\n getExtensionIfDefined(base) {\n const result = [];\n let self = this;\n while (self && self !== base) {\n result.push({\n encodedTokenAttributes: self.tokenAttributes,\n scopeNames: self.scopePath.getExtensionIfDefined(self.parent?.scopePath ?? null)\n });\n self = self.parent;\n }\n return self === base ? result.reverse() : void 0;\n }\n};\nvar _StateStackImpl = class _StateStackImpl {\n /**\n * Invariant:\n * ```\n * if (contentNameScopesList !== nameScopesList && contentNameScopesList?.parent !== nameScopesList) {\n * \tthrow new Error();\n * }\n * if (this.parent && !nameScopesList.extends(this.parent.contentNameScopesList)) {\n * \tthrow new Error();\n * }\n * ```\n */\n constructor(parent, ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n this.parent = parent;\n this.ruleId = ruleId;\n this.beginRuleCapturedEOL = beginRuleCapturedEOL;\n this.endRule = endRule;\n this.nameScopesList = nameScopesList;\n this.contentNameScopesList = contentNameScopesList;\n this._stackElementBrand = void 0;\n this.depth = this.parent ? this.parent.depth + 1 : 1;\n this._enterPos = enterPos;\n this._anchorPos = anchorPos;\n }\n equals(other) {\n if (other === null) {\n return false;\n }\n return _StateStackImpl._equals(this, other);\n }\n static _equals(a, b) {\n if (a === b) {\n return true;\n }\n if (!this._structuralEquals(a, b)) {\n return false;\n }\n return AttributedScopeStack.equals(a.contentNameScopesList, b.contentNameScopesList);\n }\n /**\n * A structural equals check. Does not take into account `scopes`.\n */\n static _structuralEquals(a, b) {\n do {\n if (a === b) {\n return true;\n }\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.depth !== b.depth || a.ruleId !== b.ruleId || a.endRule !== b.endRule) {\n return false;\n }\n a = a.parent;\n b = b.parent;\n } while (true);\n }\n clone() {\n return this;\n }\n static _reset(el) {\n while (el) {\n el._enterPos = -1;\n el._anchorPos = -1;\n el = el.parent;\n }\n }\n reset() {\n _StateStackImpl._reset(this);\n }\n pop() {\n return this.parent;\n }\n safePop() {\n if (this.parent) {\n return this.parent;\n }\n return this;\n }\n push(ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n return new _StateStackImpl(\n this,\n ruleId,\n enterPos,\n anchorPos,\n beginRuleCapturedEOL,\n endRule,\n nameScopesList,\n contentNameScopesList\n );\n }\n getEnterPos() {\n return this._enterPos;\n }\n getAnchorPos() {\n return this._anchorPos;\n }\n getRule(grammar) {\n return grammar.getRule(this.ruleId);\n }\n toString() {\n const r = [];\n this._writeString(r, 0);\n return \"[\" + r.join(\",\") + \"]\";\n }\n _writeString(res, outIndex) {\n if (this.parent) {\n outIndex = this.parent._writeString(res, outIndex);\n }\n res[outIndex++] = `(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`;\n return outIndex;\n }\n withContentNameScopesList(contentNameScopeStack) {\n if (this.contentNameScopesList === contentNameScopeStack) {\n return this;\n }\n return this.parent.push(\n this.ruleId,\n this._enterPos,\n this._anchorPos,\n this.beginRuleCapturedEOL,\n this.endRule,\n this.nameScopesList,\n contentNameScopeStack\n );\n }\n withEndRule(endRule) {\n if (this.endRule === endRule) {\n return this;\n }\n return new _StateStackImpl(\n this.parent,\n this.ruleId,\n this._enterPos,\n this._anchorPos,\n this.beginRuleCapturedEOL,\n endRule,\n this.nameScopesList,\n this.contentNameScopesList\n );\n }\n // Used to warn of endless loops\n hasSameRuleAs(other) {\n let el = this;\n while (el && el._enterPos === other._enterPos) {\n if (el.ruleId === other.ruleId) {\n return true;\n }\n el = el.parent;\n }\n return false;\n }\n toStateStackFrame() {\n return {\n ruleId: ruleIdToNumber(this.ruleId),\n beginRuleCapturedEOL: this.beginRuleCapturedEOL,\n endRule: this.endRule,\n nameScopesList: this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList ?? null) ?? [],\n contentNameScopesList: this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList) ?? []\n };\n }\n static pushFrame(self, frame) {\n const namesScopeList = AttributedScopeStack.fromExtension(self?.nameScopesList ?? null, frame.nameScopesList);\n return new _StateStackImpl(\n self,\n ruleIdFromNumber(frame.ruleId),\n frame.enterPos ?? -1,\n frame.anchorPos ?? -1,\n frame.beginRuleCapturedEOL,\n frame.endRule,\n namesScopeList,\n AttributedScopeStack.fromExtension(namesScopeList, frame.contentNameScopesList)\n );\n }\n};\n// TODO remove me\n_StateStackImpl.NULL = new _StateStackImpl(\n null,\n 0,\n 0,\n 0,\n false,\n null,\n null,\n null\n);\nvar StateStackImpl = _StateStackImpl;\nvar BalancedBracketSelectors = class {\n constructor(balancedBracketScopes, unbalancedBracketScopes) {\n this.allowAny = false;\n this.balancedBracketScopes = balancedBracketScopes.flatMap(\n (selector) => {\n if (selector === \"*\") {\n this.allowAny = true;\n return [];\n }\n return createMatchers(selector, nameMatcher).map((m) => m.matcher);\n }\n );\n this.unbalancedBracketScopes = unbalancedBracketScopes.flatMap(\n (selector) => createMatchers(selector, nameMatcher).map((m) => m.matcher)\n );\n }\n get matchesAlways() {\n return this.allowAny && this.unbalancedBracketScopes.length === 0;\n }\n get matchesNever() {\n return this.balancedBracketScopes.length === 0 && !this.allowAny;\n }\n match(scopes) {\n for (const excluder of this.unbalancedBracketScopes) {\n if (excluder(scopes)) {\n return false;\n }\n }\n for (const includer of this.balancedBracketScopes) {\n if (includer(scopes)) {\n return true;\n }\n }\n return this.allowAny;\n }\n};\nvar LineTokens = class {\n constructor(emitBinaryTokens, lineText, tokenTypeOverrides, balancedBracketSelectors) {\n this.balancedBracketSelectors = balancedBracketSelectors;\n this._emitBinaryTokens = emitBinaryTokens;\n this._tokenTypeOverrides = tokenTypeOverrides;\n if (false) {\n this._lineText = lineText;\n } else {\n this._lineText = null;\n }\n this._tokens = [];\n this._binaryTokens = [];\n this._lastTokenEndIndex = 0;\n }\n produce(stack, endIndex) {\n this.produceFromScopes(stack.contentNameScopesList, endIndex);\n }\n produceFromScopes(scopesList, endIndex) {\n if (this._lastTokenEndIndex >= endIndex) {\n return;\n }\n if (this._emitBinaryTokens) {\n let metadata = scopesList?.tokenAttributes ?? 0;\n let containsBalancedBrackets = false;\n if (this.balancedBracketSelectors?.matchesAlways) {\n containsBalancedBrackets = true;\n }\n if (this._tokenTypeOverrides.length > 0 || this.balancedBracketSelectors && !this.balancedBracketSelectors.matchesAlways && !this.balancedBracketSelectors.matchesNever) {\n const scopes2 = scopesList?.getScopeNames() ?? [];\n for (const tokenType of this._tokenTypeOverrides) {\n if (tokenType.matcher(scopes2)) {\n metadata = EncodedTokenMetadata.set(\n metadata,\n 0,\n toOptionalTokenType(tokenType.type),\n null,\n -1 /* NotSet */,\n 0,\n 0\n );\n }\n }\n if (this.balancedBracketSelectors) {\n containsBalancedBrackets = this.balancedBracketSelectors.match(scopes2);\n }\n }\n if (containsBalancedBrackets) {\n metadata = EncodedTokenMetadata.set(\n metadata,\n 0,\n 8 /* NotSet */,\n containsBalancedBrackets,\n -1 /* NotSet */,\n 0,\n 0\n );\n }\n if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 1] === metadata) {\n this._lastTokenEndIndex = endIndex;\n return;\n }\n this._binaryTokens.push(this._lastTokenEndIndex);\n this._binaryTokens.push(metadata);\n this._lastTokenEndIndex = endIndex;\n return;\n }\n const scopes = scopesList?.getScopeNames() ?? [];\n this._tokens.push({\n startIndex: this._lastTokenEndIndex,\n endIndex,\n // value: lineText.substring(lastTokenEndIndex, endIndex),\n scopes\n });\n this._lastTokenEndIndex = endIndex;\n }\n getResult(stack, lineLength) {\n if (this._tokens.length > 0 && this._tokens[this._tokens.length - 1].startIndex === lineLength - 1) {\n this._tokens.pop();\n }\n if (this._tokens.length === 0) {\n this._lastTokenEndIndex = -1;\n this.produce(stack, lineLength);\n this._tokens[this._tokens.length - 1].startIndex = 0;\n }\n return this._tokens;\n }\n getBinaryResult(stack, lineLength) {\n if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 2] === lineLength - 1) {\n this._binaryTokens.pop();\n this._binaryTokens.pop();\n }\n if (this._binaryTokens.length === 0) {\n this._lastTokenEndIndex = -1;\n this.produce(stack, lineLength);\n this._binaryTokens[this._binaryTokens.length - 2] = 0;\n }\n const result = new Uint32Array(this._binaryTokens.length);\n for (let i = 0, len = this._binaryTokens.length; i < len; i++) {\n result[i] = this._binaryTokens[i];\n }\n return result;\n }\n};\n\n// src/registry.ts\nvar SyncRegistry = class {\n constructor(theme, _onigLib) {\n this._onigLib = _onigLib;\n this._grammars = /* @__PURE__ */ new Map();\n this._rawGrammars = /* @__PURE__ */ new Map();\n this._injectionGrammars = /* @__PURE__ */ new Map();\n this._theme = theme;\n }\n dispose() {\n for (const grammar of this._grammars.values()) {\n grammar.dispose();\n }\n }\n setTheme(theme) {\n this._theme = theme;\n }\n getColorMap() {\n return this._theme.getColorMap();\n }\n /**\n * Add `grammar` to registry and return a list of referenced scope names\n */\n addGrammar(grammar, injectionScopeNames) {\n this._rawGrammars.set(grammar.scopeName, grammar);\n if (injectionScopeNames) {\n this._injectionGrammars.set(grammar.scopeName, injectionScopeNames);\n }\n }\n /**\n * Lookup a raw grammar.\n */\n lookup(scopeName) {\n return this._rawGrammars.get(scopeName);\n }\n /**\n * Returns the injections for the given grammar\n */\n injections(targetScope) {\n return this._injectionGrammars.get(targetScope);\n }\n /**\n * Get the default theme settings\n */\n getDefaults() {\n return this._theme.getDefaults();\n }\n /**\n * Match a scope in the theme.\n */\n themeMatch(scopePath) {\n return this._theme.match(scopePath);\n }\n /**\n * Lookup a grammar.\n */\n grammarForScopeName(scopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n if (!this._grammars.has(scopeName)) {\n let rawGrammar = this._rawGrammars.get(scopeName);\n if (!rawGrammar) {\n return null;\n }\n this._grammars.set(scopeName, createGrammar(\n scopeName,\n rawGrammar,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors,\n this,\n this._onigLib\n ));\n }\n return this._grammars.get(scopeName);\n }\n};\n\n// src/index.ts\nvar Registry = class {\n constructor(options) {\n this._options = options;\n this._syncRegistry = new SyncRegistry(\n Theme.createFromRawTheme(options.theme, options.colorMap),\n options.onigLib\n );\n this._ensureGrammarCache = /* @__PURE__ */ new Map();\n }\n dispose() {\n this._syncRegistry.dispose();\n }\n /**\n * Change the theme. Once called, no previous `ruleStack` should be used anymore.\n */\n setTheme(theme, colorMap) {\n this._syncRegistry.setTheme(Theme.createFromRawTheme(theme, colorMap));\n }\n /**\n * Returns a lookup array for color ids.\n */\n getColorMap() {\n return this._syncRegistry.getColorMap();\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n * Please do not use language id 0.\n */\n loadGrammarWithEmbeddedLanguages(initialScopeName, initialLanguage, embeddedLanguages) {\n return this.loadGrammarWithConfiguration(initialScopeName, initialLanguage, { embeddedLanguages });\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n * Please do not use language id 0.\n */\n loadGrammarWithConfiguration(initialScopeName, initialLanguage, configuration) {\n return this._loadGrammar(\n initialScopeName,\n initialLanguage,\n configuration.embeddedLanguages,\n configuration.tokenTypes,\n new BalancedBracketSelectors(\n configuration.balancedBracketSelectors || [],\n configuration.unbalancedBracketSelectors || []\n )\n );\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n */\n loadGrammar(initialScopeName) {\n return this._loadGrammar(initialScopeName, 0, null, null, null);\n }\n _loadGrammar(initialScopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n const dependencyProcessor = new ScopeDependencyProcessor(this._syncRegistry, initialScopeName);\n while (dependencyProcessor.Q.length > 0) {\n dependencyProcessor.Q.map((request) => this._loadSingleGrammar(request.scopeName));\n dependencyProcessor.processQueue();\n }\n return this._grammarForScopeName(\n initialScopeName,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors\n );\n }\n _loadSingleGrammar(scopeName) {\n if (!this._ensureGrammarCache.has(scopeName)) {\n this._doLoadSingleGrammar(scopeName);\n this._ensureGrammarCache.set(scopeName, true);\n }\n }\n _doLoadSingleGrammar(scopeName) {\n const grammar = this._options.loadGrammar(scopeName);\n if (grammar) {\n const injections = typeof this._options.getInjections === \"function\" ? this._options.getInjections(scopeName) : void 0;\n this._syncRegistry.addGrammar(grammar, injections);\n }\n }\n /**\n * Adds a rawGrammar.\n */\n addGrammar(rawGrammar, injections = [], initialLanguage = 0, embeddedLanguages = null) {\n this._syncRegistry.addGrammar(rawGrammar, injections);\n return this._grammarForScopeName(rawGrammar.scopeName, initialLanguage, embeddedLanguages);\n }\n /**\n * Get the grammar for `scopeName`. The grammar must first be created via `loadGrammar` or `addGrammar`.\n */\n _grammarForScopeName(scopeName, initialLanguage = 0, embeddedLanguages = null, tokenTypes = null, balancedBracketSelectors = null) {\n return this._syncRegistry.grammarForScopeName(\n scopeName,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors\n );\n }\n};\nvar INITIAL = StateStackImpl.NULL;\nexport {\n EncodedTokenMetadata,\n FindOption,\n FontStyle,\n INITIAL,\n Registry,\n Theme,\n disposeOnigString\n};\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let prop = value\n let Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n // Turn it into a property.\n const rest = value.slice(5).replace(dash, camelcase)\n prop = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n } else {\n // Turn it into an attribute.\n const rest = value.slice(4)\n\n if (!dash.test(rest)) {\n let dashes = rest.replace(cap, kebab)\n\n if (dashes.charAt(0) !== '-') {\n dashes = '-' + dashes\n }\n\n value = 'data' + dashes\n }\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","/**\n * @typedef CoreOptions\n * @property {ReadonlyArray<string>} [subset=[]]\n * Whether to only escape the given subset of characters.\n * @property {boolean} [escapeOnly=false]\n * Whether to only escape possibly dangerous characters.\n * Those characters are `\"`, `&`, `'`, `<`, `>`, and `` ` ``.\n *\n * @typedef FormatOptions\n * @property {(code: number, next: number, options: CoreWithFormatOptions) => string} format\n * Format strategy.\n *\n * @typedef {CoreOptions & FormatOptions & import('./util/format-smart.js').FormatSmartOptions} CoreWithFormatOptions\n */\n\nconst defaultSubsetRegex = /[\"&'<>`]/g\nconst surrogatePairsRegex = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g\nconst controlCharactersRegex =\n // eslint-disable-next-line no-control-regex, unicorn/no-hex-escape\n /[\\x01-\\t\\v\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g\nconst regexEscapeRegex = /[|\\\\{}()[\\]^$+*?.]/g\n\n/** @type {WeakMap<ReadonlyArray<string>, RegExp>} */\nconst subsetToRegexCache = new WeakMap()\n\n/**\n * Encode certain characters in `value`.\n *\n * @param {string} value\n * @param {CoreWithFormatOptions} options\n * @returns {string}\n */\nexport function core(value, options) {\n value = value.replace(\n options.subset\n ? charactersToExpressionCached(options.subset)\n : defaultSubsetRegex,\n basic\n )\n\n if (options.subset || options.escapeOnly) {\n return value\n }\n\n return (\n value\n // Surrogate pairs.\n .replace(surrogatePairsRegex, surrogate)\n // BMP control characters (C0 except for LF, CR, SP; DEL; and some more\n // non-ASCII ones).\n .replace(controlCharactersRegex, basic)\n )\n\n /**\n * @param {string} pair\n * @param {number} index\n * @param {string} all\n */\n function surrogate(pair, index, all) {\n return options.format(\n (pair.charCodeAt(0) - 0xd800) * 0x400 +\n pair.charCodeAt(1) -\n 0xdc00 +\n 0x10000,\n all.charCodeAt(index + 2),\n options\n )\n }\n\n /**\n * @param {string} character\n * @param {number} index\n * @param {string} all\n */\n function basic(character, index, all) {\n return options.format(\n character.charCodeAt(0),\n all.charCodeAt(index + 1),\n options\n )\n }\n}\n\n/**\n * A wrapper function that caches the result of `charactersToExpression` with a WeakMap.\n * This can improve performance when tooling calls `charactersToExpression` repeatedly\n * with the same subset.\n *\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpressionCached(subset) {\n let cached = subsetToRegexCache.get(subset)\n\n if (!cached) {\n cached = charactersToExpression(subset)\n subsetToRegexCache.set(subset, cached)\n }\n\n return cached\n}\n\n/**\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpression(subset) {\n /** @type {Array<string>} */\n const groups = []\n let index = -1\n\n while (++index < subset.length) {\n groups.push(subset[index].replace(regexEscapeRegex, '\\\\$&'))\n }\n\n return new RegExp('(?:' + groups.join('|') + ')', 'g')\n}\n","/**\n * @typedef FormatSmartOptions\n * @property {boolean} [useNamedReferences=false]\n * Prefer named character references (`&`) where possible.\n * @property {boolean} [useShortestReferences=false]\n * Prefer the shortest possible reference, if that results in less bytes.\n * **Note**: `useNamedReferences` can be omitted when using `useShortestReferences`.\n * @property {boolean} [omitOptionalSemicolons=false]\n * Whether to omit semicolons when possible.\n * **Note**: This creates what HTML calls “parse errors” but is otherwise still valid HTML — don’t use this except when building a minifier.\n * Omitting semicolons is possible for certain named and numeric references in some cases.\n * @property {boolean} [attribute=false]\n * Create character references which don’t fail in attributes.\n * **Note**: `attribute` only applies when operating dangerously with\n * `omitOptionalSemicolons: true`.\n */\n\nimport {toHexadecimal} from './to-hexadecimal.js'\nimport {toDecimal} from './to-decimal.js'\nimport {toNamed} from './to-named.js'\n\n/**\n * Configurable ways to encode a character yielding pretty or small results.\n *\n * @param {number} code\n * @param {number} next\n * @param {FormatSmartOptions} options\n * @returns {string}\n */\nexport function formatSmart(code, next, options) {\n let numeric = toHexadecimal(code, next, options.omitOptionalSemicolons)\n /** @type {string|undefined} */\n let named\n\n if (options.useNamedReferences || options.useShortestReferences) {\n named = toNamed(\n code,\n next,\n options.omitOptionalSemicolons,\n options.attribute\n )\n }\n\n // Use the shortest numeric reference when requested.\n // A simple algorithm would use decimal for all code points under 100, as\n // those are shorter than hexadecimal:\n //\n // * `c` vs `c` (decimal shorter)\n // * `d` vs `d` (equal)\n //\n // However, because we take `next` into consideration when `omit` is used,\n // And it would be possible that decimals are shorter on bigger values as\n // well if `next` is hexadecimal but not decimal, we instead compare both.\n if (\n (options.useShortestReferences || !named) &&\n options.useShortestReferences\n ) {\n const decimal = toDecimal(code, next, options.omitOptionalSemicolons)\n\n if (decimal.length < numeric.length) {\n numeric = decimal\n }\n }\n\n return named &&\n (!options.useShortestReferences || named.length < numeric.length)\n ? named\n : numeric\n}\n","const hexadecimalRegex = /[\\dA-Fa-f]/\n\n/**\n * Configurable ways to encode characters as hexadecimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toHexadecimal(code, next, omit) {\n const value = '&#x' + code.toString(16).toUpperCase()\n return omit && next && !hexadecimalRegex.test(String.fromCharCode(next))\n ? value\n : value + ';'\n}\n","import {characterEntitiesLegacy} from 'character-entities-legacy'\nimport {characterEntitiesHtml4} from 'character-entities-html4'\nimport {dangerous} from '../constant/dangerous.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * `characterEntitiesHtml4` but inverted.\n *\n * @type {Record<string, string>}\n */\nconst characters = {}\n\n/** @type {string} */\nlet key\n\nfor (key in characterEntitiesHtml4) {\n if (own.call(characterEntitiesHtml4, key)) {\n characters[characterEntitiesHtml4[key]] = key\n }\n}\n\nconst notAlphanumericRegex = /[^\\dA-Za-z]/\n\n/**\n * Configurable ways to encode characters as named references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @param {boolean|undefined} attribute\n * @returns {string}\n */\nexport function toNamed(code, next, omit, attribute) {\n const character = String.fromCharCode(code)\n\n if (own.call(characters, character)) {\n const name = characters[character]\n const value = '&' + name\n\n if (\n omit &&\n characterEntitiesLegacy.includes(name) &&\n !dangerous.includes(name) &&\n (!attribute ||\n (next &&\n next !== 61 /* `=` */ &&\n notAlphanumericRegex.test(String.fromCharCode(next))))\n ) {\n return value\n }\n\n return value + ';'\n }\n\n return ''\n}\n","const decimalRegex = /\\d/\n\n/**\n * Configurable ways to encode characters as decimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toDecimal(code, next, omit) {\n const value = '&#' + String(code)\n return omit && next && !decimalRegex.test(String.fromCharCode(next))\n ? value\n : value + ';'\n}\n","/**\n * @typedef {import('./core.js').CoreOptions & import('./util/format-smart.js').FormatSmartOptions} Options\n * @typedef {import('./core.js').CoreOptions} LightOptions\n */\n\nimport {core} from './core.js'\nimport {formatSmart} from './util/format-smart.js'\nimport {formatBasic} from './util/format-basic.js'\n\n/**\n * Encode special characters in `value`.\n *\n * @param {string} value\n * Value to encode.\n * @param {Options} [options]\n * Configuration.\n * @returns {string}\n * Encoded value.\n */\nexport function stringifyEntities(value, options) {\n return core(value, Object.assign({format: formatSmart}, options))\n}\n\n/**\n * Encode special characters in `value` as hexadecimals.\n *\n * @param {string} value\n * Value to encode.\n * @param {LightOptions} [options]\n * Configuration.\n * @returns {string}\n * Encoded value.\n */\nexport function stringifyEntitiesLight(value, options) {\n return core(value, Object.assign({format: formatBasic}, options))\n}\n","/**\n * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n * Value to search in.\n * @param {string} character\n * Character (or substring) to look for.\n * @return {number}\n * Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n const source = String(value)\n\n if (typeof character !== 'string') {\n throw new TypeError('Expected character')\n }\n\n let count = 0\n let index = source.indexOf(character)\n\n while (index !== -1) {\n count++\n index = source.indexOf(character, index + character.length)\n }\n\n return count\n}\n","/**\n * @typedef Options\n * Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n * Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n * Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n * Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n * Comma-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n /** @type {Array<string>} */\n const tokens = []\n const input = String(value || '')\n let index = input.indexOf(',')\n let start = 0\n /** @type {boolean} */\n let end = false\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n const token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @param {Options} [options]\n * Configuration for `stringify` (optional).\n * @returns {string}\n * Comma-separated tokens.\n */\nexport function stringify(values, options) {\n const settings = options || {}\n\n // Ensure the last empty entry is seen.\n const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n return input\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n * Space-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @returns {string}\n * Space-separated tokens.\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n","/**\n * @typedef {import('hast').Nodes} Nodes\n */\n\n// HTML whitespace expression.\n// See <https://infra.spec.whatwg.org/#ascii-whitespace>.\nconst re = /[ \\t\\n\\f\\r]/g\n\n/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {Nodes | string} thing\n * Thing to check (`Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`); if a node is passed it must be a `Text` node,\n * whose `value` field is checked.\n */\nexport function whitespace(thing) {\n return typeof thing === 'object'\n ? thing.type === 'text'\n ? empty(thing.value)\n : false\n : empty(thing)\n}\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction empty(value) {\n return value.replace(re, '') === ''\n}\n","/**\n * @import {Parents, RootContent} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\n\nexport const siblingAfter = siblings(1)\nexport const siblingBefore = siblings(-1)\n\n/** @type {Array<RootContent>} */\nconst emptyChildren = []\n\n/**\n * Factory to check siblings in a direction.\n *\n * @param {number} increment\n */\nfunction siblings(increment) {\n return sibling\n\n /**\n * Find applicable siblings in a direction.\n *\n * @template {Parents} Parent\n * Parent type.\n * @param {Parent | undefined} parent\n * Parent.\n * @param {number | undefined} index\n * Index of child in `parent`.\n * @param {boolean | undefined} [includeWhitespace=false]\n * Whether to include whitespace (default: `false`).\n * @returns {Parent extends {children: Array<infer Child>} ? Child | undefined : never}\n * Child of parent.\n */\n function sibling(parent, index, includeWhitespace) {\n const siblings = parent ? parent.children : emptyChildren\n let offset = (index || 0) + increment\n let next = siblings[offset]\n\n if (!includeWhitespace) {\n while (next && whitespace(next)) {\n offset += increment\n next = siblings[offset]\n }\n }\n\n // @ts-expect-error: it’s a correct child.\n return next\n }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\n/**\n * @callback OmitHandle\n * Check if a tag can be omitted.\n * @param {Element} element\n * Element to check.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether to omit a tag.\n *\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Factory to check if a given node can have a tag omitted.\n *\n * @param {Record<string, OmitHandle>} handlers\n * Omission handlers, where each key is a tag name, and each value is the\n * corresponding handler.\n * @returns {OmitHandle}\n * Whether to omit a tag of an element.\n */\nexport function omission(handlers) {\n return omit\n\n /**\n * Check if a given node can have a tag omitted.\n *\n * @type {OmitHandle}\n */\n function omit(node, index, parent) {\n return (\n own.call(handlers, node.tagName) &&\n handlers[node.tagName](node, index, parent)\n )\n }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter} from './util/siblings.js'\nimport {omission} from './omission.js'\n\nexport const closing = omission({\n body,\n caption: headOrColgroupOrCaption,\n colgroup: headOrColgroupOrCaption,\n dd,\n dt,\n head: headOrColgroupOrCaption,\n html,\n li,\n optgroup,\n option,\n p,\n rp: rubyElement,\n rt: rubyElement,\n tbody,\n td: cells,\n tfoot,\n th: cells,\n thead,\n tr\n})\n\n/**\n * Macro for `</head>`, `</colgroup>`, and `</caption>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction headOrColgroupOrCaption(_, index, parent) {\n const next = siblingAfter(parent, index, true)\n return (\n !next ||\n (next.type !== 'comment' &&\n !(next.type === 'text' && whitespace(next.value.charAt(0))))\n )\n}\n\n/**\n * Whether to omit `</html>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction html(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</body>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction body(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</p>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction p(_, index, parent) {\n const next = siblingAfter(parent, index)\n return next\n ? next.type === 'element' &&\n (next.tagName === 'address' ||\n next.tagName === 'article' ||\n next.tagName === 'aside' ||\n next.tagName === 'blockquote' ||\n next.tagName === 'details' ||\n next.tagName === 'div' ||\n next.tagName === 'dl' ||\n next.tagName === 'fieldset' ||\n next.tagName === 'figcaption' ||\n next.tagName === 'figure' ||\n next.tagName === 'footer' ||\n next.tagName === 'form' ||\n next.tagName === 'h1' ||\n next.tagName === 'h2' ||\n next.tagName === 'h3' ||\n next.tagName === 'h4' ||\n next.tagName === 'h5' ||\n next.tagName === 'h6' ||\n next.tagName === 'header' ||\n next.tagName === 'hgroup' ||\n next.tagName === 'hr' ||\n next.tagName === 'main' ||\n next.tagName === 'menu' ||\n next.tagName === 'nav' ||\n next.tagName === 'ol' ||\n next.tagName === 'p' ||\n next.tagName === 'pre' ||\n next.tagName === 'section' ||\n next.tagName === 'table' ||\n next.tagName === 'ul')\n : !parent ||\n // Confusing parent.\n !(\n parent.type === 'element' &&\n (parent.tagName === 'a' ||\n parent.tagName === 'audio' ||\n parent.tagName === 'del' ||\n parent.tagName === 'ins' ||\n parent.tagName === 'map' ||\n parent.tagName === 'noscript' ||\n parent.tagName === 'video')\n )\n}\n\n/**\n * Whether to omit `</li>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction li(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'li')\n}\n\n/**\n * Whether to omit `</dt>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction dt(_, index, parent) {\n const next = siblingAfter(parent, index)\n return Boolean(\n next &&\n next.type === 'element' &&\n (next.tagName === 'dt' || next.tagName === 'dd')\n )\n}\n\n/**\n * Whether to omit `</dd>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction dd(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'dt' || next.tagName === 'dd'))\n )\n}\n\n/**\n * Whether to omit `</rt>` or `</rp>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction rubyElement(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'rp' || next.tagName === 'rt'))\n )\n}\n\n/**\n * Whether to omit `</optgroup>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction optgroup(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'optgroup')\n}\n\n/**\n * Whether to omit `</option>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction option(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'option' || next.tagName === 'optgroup'))\n )\n}\n\n/**\n * Whether to omit `</thead>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction thead(_, index, parent) {\n const next = siblingAfter(parent, index)\n return Boolean(\n next &&\n next.type === 'element' &&\n (next.tagName === 'tbody' || next.tagName === 'tfoot')\n )\n}\n\n/**\n * Whether to omit `</tbody>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tbody(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'tbody' || next.tagName === 'tfoot'))\n )\n}\n\n/**\n * Whether to omit `</tfoot>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tfoot(_, index, parent) {\n return !siblingAfter(parent, index)\n}\n\n/**\n * Whether to omit `</tr>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tr(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'tr')\n}\n\n/**\n * Whether to omit `</td>` or `</th>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction cells(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'td' || next.tagName === 'th'))\n )\n}\n","/**\n * @import {Element, Parents, Properties} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {ccount} from 'ccount'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {find, svg} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringifyEntities} from 'stringify-entities'\nimport {closing} from '../omission/closing.js'\nimport {opening} from '../omission/opening.js'\n\n/**\n * Maps of subsets.\n *\n * Each value is a matrix of tuples.\n * The value at `0` causes parse errors, the value at `1` is valid.\n * Of both, the value at `0` is unsafe, and the value at `1` is safe.\n *\n * @type {Record<'double' | 'name' | 'single' | 'unquoted', Array<[Array<string>, Array<string>]>>}\n */\nconst constants = {\n // See: <https://html.spec.whatwg.org/#attribute-name-state>.\n name: [\n ['\\t\\n\\f\\r &/=>'.split(''), '\\t\\n\\f\\r \"&\\'/=>`'.split('')],\n ['\\0\\t\\n\\f\\r \"&\\'/<=>'.split(''), '\\0\\t\\n\\f\\r \"&\\'/<=>`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(unquoted)-state>.\n unquoted: [\n ['\\t\\n\\f\\r &>'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')],\n ['\\0\\t\\n\\f\\r \"&\\'<=>`'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(single-quoted)-state>.\n single: [\n [\"&'\".split(''), '\"&\\'`'.split('')],\n [\"\\0&'\".split(''), '\\0\"&\\'`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(double-quoted)-state>.\n double: [\n ['\"&'.split(''), '\"&\\'`'.split('')],\n ['\\0\"&'.split(''), '\\0\"&\\'`'.split('')]\n ]\n}\n\n/**\n * Serialize an element node.\n *\n * @param {Element} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function element(node, index, parent, state) {\n const schema = state.schema\n const omit = schema.space === 'svg' ? false : state.settings.omitOptionalTags\n let selfClosing =\n schema.space === 'svg'\n ? state.settings.closeEmptyElements\n : state.settings.voids.includes(node.tagName.toLowerCase())\n /** @type {Array<string>} */\n const parts = []\n /** @type {string} */\n let last\n\n if (schema.space === 'html' && node.tagName === 'svg') {\n state.schema = svg\n }\n\n const attributes = serializeAttributes(state, node.properties)\n\n const content = state.all(\n schema.space === 'html' && node.tagName === 'template' ? node.content : node\n )\n\n state.schema = schema\n\n // If the node is categorised as void, but it has children, remove the\n // categorisation.\n // This enables for example `menuitem`s, which are void in W3C HTML but not\n // void in WHATWG HTML, to be stringified properly.\n // Note: `menuitem` has since been removed from the HTML spec, and so is no\n // longer void.\n if (content) selfClosing = false\n\n if (attributes || !omit || !opening(node, index, parent)) {\n parts.push('<', node.tagName, attributes ? ' ' + attributes : '')\n\n if (\n selfClosing &&\n (schema.space === 'svg' || state.settings.closeSelfClosing)\n ) {\n last = attributes.charAt(attributes.length - 1)\n if (\n !state.settings.tightSelfClosing ||\n last === '/' ||\n (last && last !== '\"' && last !== \"'\")\n ) {\n parts.push(' ')\n }\n\n parts.push('/')\n }\n\n parts.push('>')\n }\n\n parts.push(content)\n\n if (!selfClosing && (!omit || !closing(node, index, parent))) {\n parts.push('</' + node.tagName + '>')\n }\n\n return parts.join('')\n}\n\n/**\n * @param {State} state\n * @param {Properties | null | undefined} properties\n * @returns {string}\n */\nfunction serializeAttributes(state, properties) {\n /** @type {Array<string>} */\n const values = []\n let index = -1\n /** @type {string} */\n let key\n\n if (properties) {\n for (key in properties) {\n if (properties[key] !== null && properties[key] !== undefined) {\n const value = serializeAttribute(state, key, properties[key])\n if (value) values.push(value)\n }\n }\n }\n\n while (++index < values.length) {\n const last = state.settings.tightAttributes\n ? values[index].charAt(values[index].length - 1)\n : undefined\n\n // In tight mode, don’t add a space after quoted attributes.\n if (index !== values.length - 1 && last !== '\"' && last !== \"'\") {\n values[index] += ' '\n }\n }\n\n return values.join('')\n}\n\n/**\n * @param {State} state\n * @param {string} key\n * @param {Properties[keyof Properties]} value\n * @returns {string}\n */\nfunction serializeAttribute(state, key, value) {\n const info = find(state.schema, key)\n const x =\n state.settings.allowParseErrors && state.schema.space === 'html' ? 0 : 1\n const y = state.settings.allowDangerousCharacters ? 0 : 1\n let quote = state.quote\n /** @type {string | undefined} */\n let result\n\n if (info.overloadedBoolean && (value === info.attribute || value === '')) {\n value = true\n } else if (\n info.boolean ||\n (info.overloadedBoolean && typeof value !== 'string')\n ) {\n value = Boolean(value)\n }\n\n if (\n value === null ||\n value === undefined ||\n value === false ||\n (typeof value === 'number' && Number.isNaN(value))\n ) {\n return ''\n }\n\n const name = stringifyEntities(\n info.attribute,\n Object.assign({}, state.settings.characterReferences, {\n // Always encode without parse errors in non-HTML.\n subset: constants.name[x][y]\n })\n )\n\n // No value.\n // There is currently only one boolean property in SVG: `[download]` on\n // `<a>`.\n // This property does not seem to work in browsers (Firefox, Safari, Chrome),\n // so I can’t test if dropping the value works.\n // But I assume that it should:\n //\n // ```html\n // <!doctype html>\n // <svg viewBox=\"0 0 100 100\">\n // <a href=https://example.com download>\n // <circle cx=50 cy=40 r=35 />\n // </a>\n // </svg>\n // ```\n //\n // See: <https://github.com/wooorm/property-information/blob/main/lib/svg.js>\n if (value === true) return name\n\n // `spaces` doesn’t accept a second argument, but it’s given here just to\n // keep the code cleaner.\n value = Array.isArray(value)\n ? (info.commaSeparated ? commas : spaces)(value, {\n padLeft: !state.settings.tightCommaSeparatedLists\n })\n : String(value)\n\n if (state.settings.collapseEmptyAttributes && !value) return name\n\n // Check unquoted value.\n if (state.settings.preferUnquoted) {\n result = stringifyEntities(\n value,\n Object.assign({}, state.settings.characterReferences, {\n attribute: true,\n subset: constants.unquoted[x][y]\n })\n )\n }\n\n // If we don’t want unquoted, or if `value` contains character references when\n // unquoted…\n if (result !== value) {\n // If the alternative is less common than `quote`, switch.\n if (\n state.settings.quoteSmart &&\n ccount(value, quote) > ccount(value, state.alternative)\n ) {\n quote = state.alternative\n }\n\n result =\n quote +\n stringifyEntities(\n value,\n Object.assign({}, state.settings.characterReferences, {\n // Always encode without parse errors in non-HTML.\n subset: (quote === \"'\" ? constants.single : constants.double)[x][y],\n attribute: true\n })\n ) +\n quote\n }\n\n // Don’t add a `=` for unquoted empties.\n return name + (result ? '=' + result : result)\n}\n","/**\n * @import {Parents, Text} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\n// Declare array as variable so it can be cached by `stringifyEntities`\nconst textEntitySubset = ['<', '&']\n\n/**\n * Serialize a text node.\n *\n * @param {Raw | Text} node\n * Node to handle.\n * @param {number | undefined} _\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function text(node, _, parent, state) {\n // Check if content of `node` should be escaped.\n return parent &&\n parent.type === 'element' &&\n (parent.tagName === 'script' || parent.tagName === 'style')\n ? node.value\n : stringifyEntities(\n node.value,\n Object.assign({}, state.settings.characterReferences, {\n subset: textEntitySubset\n })\n )\n}\n","/**\n * @import {Nodes, Parents, RootContent} from 'hast'\n * @import {Schema} from 'property-information'\n * @import {Options as StringifyEntitiesOptions} from 'stringify-entities'\n */\n\n/**\n * @typedef {Omit<StringifyEntitiesOptions, 'attribute' | 'escapeOnly' | 'subset'>} CharacterReferences\n *\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [allowDangerousCharacters=false]\n * Do not encode some characters which cause XSS vulnerabilities in older\n * browsers (default: `false`).\n *\n * > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n * Allow `raw` nodes and insert them as raw HTML (default: `false`).\n *\n * When `false`, `Raw` nodes are encoded.\n *\n * > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowParseErrors=false]\n * Do not encode characters which cause parse errors (even though they work),\n * to save bytes (default: `false`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [bogusComments=false]\n * Use “bogus comments” instead of comments to save byes: `<?charlie>`\n * instead of `<!--charlie-->` (default: `false`).\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {CharacterReferences | null | undefined} [characterReferences]\n * Configure how to serialize character references (optional).\n * @property {boolean | null | undefined} [closeEmptyElements=false]\n * Close SVG elements without any content with slash (`/`) on the opening tag\n * instead of an end tag: `<circle />` instead of `<circle></circle>`\n * (default: `false`).\n *\n * See `tightSelfClosing` to control whether a space is used before the\n * slash.\n *\n * Not used in the HTML space.\n * @property {boolean | null | undefined} [closeSelfClosing=false]\n * Close self-closing nodes with an extra slash (`/`): `<img />` instead of\n * `<img>` (default: `false`).\n *\n * See `tightSelfClosing` to control whether a space is used before the\n * slash.\n *\n * Not used in the SVG space.\n * @property {boolean | null | undefined} [collapseEmptyAttributes=false]\n * Collapse empty attributes: get `class` instead of `class=\"\"` (default:\n * `false`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: boolean attributes (such as `hidden`) are always collapsed.\n * @property {boolean | null | undefined} [omitOptionalTags=false]\n * Omit optional opening and closing tags (default: `false`).\n *\n * For example, in `<ol><li>one</li><li>two</li></ol>`, both `</li>` closing\n * tags can be omitted.\n * The first because it’s followed by another `li`, the last because it’s\n * followed by nothing.\n *\n * Not used in the SVG space.\n * @property {boolean | null | undefined} [preferUnquoted=false]\n * Leave attributes unquoted if that results in less bytes (default: `false`).\n *\n * Not used in the SVG space.\n * @property {boolean | null | undefined} [quoteSmart=false]\n * Use the other quote if that results in less bytes (default: `false`).\n * @property {Quote | null | undefined} [quote='\"']\n * Preferred quote to use (default: `'\"'`).\n * @property {Space | null | undefined} [space='html']\n * When an `<svg>` element is found in the HTML space, this package already\n * automatically switches to and from the SVG space when entering and exiting\n * it (default: `'html'`).\n *\n * > 👉 **Note**: hast is not XML.\n * > It supports SVG as embedded in HTML.\n * > It does not support the features available in XML.\n * > Passing SVG might break but fragments of modern SVG should be fine.\n * > Use [`xast`][xast] if you need to support SVG as XML.\n * @property {boolean | null | undefined} [tightAttributes=false]\n * Join attributes together, without whitespace, if possible: get\n * `class=\"a b\"title=\"c d\"` instead of `class=\"a b\" title=\"c d\"` to save\n * bytes (default: `false`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightCommaSeparatedLists=false]\n * Join known comma-separated attribute values with just a comma (`,`),\n * instead of padding them on the right as well (`,␠`, where `␠` represents a\n * space) (default: `false`).\n * @property {boolean | null | undefined} [tightDoctype=false]\n * Drop unneeded spaces in doctypes: `<!doctypehtml>` instead of\n * `<!doctype html>` to save bytes (default: `false`).\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightSelfClosing=false]\n * Do not use an extra space when closing self-closing elements: `<img/>`\n * instead of `<img />` (default: `false`).\n *\n * > 👉 **Note**: only used if `closeSelfClosing: true` or\n * > `closeEmptyElements: true`.\n * @property {boolean | null | undefined} [upperDoctype=false]\n * Use a `<!DOCTYPE…` instead of `<!doctype…` (default: `false`).\n *\n * Useless except for XHTML.\n * @property {ReadonlyArray<string> | null | undefined} [voids]\n * Tag names of elements to serialize without closing tag (default: `html-void-elements`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: It’s highly unlikely that you want to pass this, because\n * > hast is not for XML, and HTML will not add more void elements.\n *\n * @typedef {'\"' | \"'\"} Quote\n * HTML quotes for attribute values.\n *\n * @typedef {Omit<Required<{[key in keyof Options]: Exclude<Options[key], null | undefined>}>, 'space' | 'quote'>} Settings\n *\n * @typedef {'html' | 'svg'} Space\n * Namespace.\n *\n * @typedef State\n * Info passed around about the current state.\n * @property {(node: Parents | undefined) => string} all\n * Serialize the children of a parent node.\n * @property {Quote} alternative\n * Alternative quote.\n * @property {(node: Nodes, index: number | undefined, parent: Parents | undefined) => string} one\n * Serialize one node.\n * @property {Quote} quote\n * Preferred quote.\n * @property {Schema} schema\n * Current schema.\n * @property {Settings} settings\n * User configuration.\n */\n\nimport {htmlVoidElements} from 'html-void-elements'\nimport {html, svg} from 'property-information'\nimport {handle} from './handle/index.js'\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/** @type {CharacterReferences} */\nconst emptyCharacterReferences = {}\n\n/** @type {Array<never>} */\nconst emptyChildren = []\n\n/**\n * Serialize hast as HTML.\n *\n * @param {Array<RootContent> | Nodes} tree\n * Tree to serialize.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized HTML.\n */\nexport function toHtml(tree, options) {\n const options_ = options || emptyOptions\n const quote = options_.quote || '\"'\n const alternative = quote === '\"' ? \"'\" : '\"'\n\n if (quote !== '\"' && quote !== \"'\") {\n throw new Error('Invalid quote `' + quote + '`, expected `\\'` or `\"`')\n }\n\n /** @type {State} */\n const state = {\n one,\n all,\n settings: {\n omitOptionalTags: options_.omitOptionalTags || false,\n allowParseErrors: options_.allowParseErrors || false,\n allowDangerousCharacters: options_.allowDangerousCharacters || false,\n quoteSmart: options_.quoteSmart || false,\n preferUnquoted: options_.preferUnquoted || false,\n tightAttributes: options_.tightAttributes || false,\n upperDoctype: options_.upperDoctype || false,\n tightDoctype: options_.tightDoctype || false,\n bogusComments: options_.bogusComments || false,\n tightCommaSeparatedLists: options_.tightCommaSeparatedLists || false,\n tightSelfClosing: options_.tightSelfClosing || false,\n collapseEmptyAttributes: options_.collapseEmptyAttributes || false,\n allowDangerousHtml: options_.allowDangerousHtml || false,\n voids: options_.voids || htmlVoidElements,\n characterReferences:\n options_.characterReferences || emptyCharacterReferences,\n closeSelfClosing: options_.closeSelfClosing || false,\n closeEmptyElements: options_.closeEmptyElements || false\n },\n schema: options_.space === 'svg' ? svg : html,\n quote,\n alternative\n }\n\n return state.one(\n Array.isArray(tree) ? {type: 'root', children: tree} : tree,\n undefined,\n undefined\n )\n}\n\n/**\n * Serialize a node.\n *\n * @this {State}\n * Info passed around about the current state.\n * @param {Nodes} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @returns {string}\n * Serialized node.\n */\nfunction one(node, index, parent) {\n return handle(node, index, parent, this)\n}\n\n/**\n * Serialize all children of `parent`.\n *\n * @this {State}\n * Info passed around about the current state.\n * @param {Parents | undefined} parent\n * Parent whose children to serialize.\n * @returns {string}\n */\nexport function all(parent) {\n /** @type {Array<string>} */\n const results = []\n const children = (parent && parent.children) || emptyChildren\n let index = -1\n\n while (++index < children.length) {\n results[index] = this.one(children[index], index, parent)\n }\n\n return results.join('')\n}\n","import { ShikiError as ShikiError$1 } from '@shikijs/types';\nexport * from '@shikijs/types';\nimport { createOnigurumaEngine as createOnigurumaEngine$1, loadWasm as loadWasm$1, getDefaultWasmLoader } from '@shikijs/engine-oniguruma';\nimport { w as warnDeprecated } from './shared/core.afb6276c.mjs';\nexport { e as enableDeprecationWarnings } from './shared/core.afb6276c.mjs';\nimport { FontStyle, INITIAL, EncodedTokenMetadata, Registry as Registry$1, Theme } from '@shikijs/vscode-textmate';\nexport { FontStyle, EncodedTokenMetadata as StackElementMetadata } from '@shikijs/vscode-textmate';\nimport { toHtml } from 'hast-util-to-html';\nexport { toHtml as hastToHtml } from 'hast-util-to-html';\nimport { createJavaScriptRegexEngine as createJavaScriptRegexEngine$1, defaultJavaScriptRegexConstructor as defaultJavaScriptRegexConstructor$1 } from '@shikijs/engine-javascript';\n\nfunction createOnigurumaEngine(options) {\n warnDeprecated(\"import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n return createOnigurumaEngine$1(options);\n}\nfunction createWasmOnigEngine(options) {\n warnDeprecated(\"import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n return createOnigurumaEngine$1(options);\n}\nfunction loadWasm(options) {\n warnDeprecated(\"import `loadWasm` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n return loadWasm$1(options);\n}\n\nfunction toArray(x) {\n return Array.isArray(x) ? x : [x];\n}\nfunction splitLines(code, preserveEnding = false) {\n const parts = code.split(/(\\r?\\n)/g);\n let index = 0;\n const lines = [];\n for (let i = 0; i < parts.length; i += 2) {\n const line = preserveEnding ? parts[i] + (parts[i + 1] || \"\") : parts[i];\n lines.push([line, index]);\n index += parts[i].length;\n index += parts[i + 1]?.length || 0;\n }\n return lines;\n}\nfunction isPlainLang(lang) {\n return !lang || [\"plaintext\", \"txt\", \"text\", \"plain\"].includes(lang);\n}\nfunction isSpecialLang(lang) {\n return lang === \"ansi\" || isPlainLang(lang);\n}\nfunction isNoneTheme(theme) {\n return theme === \"none\";\n}\nfunction isSpecialTheme(theme) {\n return isNoneTheme(theme);\n}\nfunction addClassToHast(node, className) {\n var _a;\n if (!className)\n return node;\n node.properties || (node.properties = {});\n (_a = node.properties).class || (_a.class = []);\n if (typeof node.properties.class === \"string\")\n node.properties.class = node.properties.class.split(/\\s+/g);\n if (!Array.isArray(node.properties.class))\n node.properties.class = [];\n const targets = Array.isArray(className) ? className : className.split(/\\s+/g);\n for (const c of targets) {\n if (c && !node.properties.class.includes(c))\n node.properties.class.push(c);\n }\n return node;\n}\nfunction splitToken(token, offsets) {\n let lastOffset = 0;\n const tokens = [];\n for (const offset of offsets) {\n if (offset > lastOffset) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset, offset),\n offset: token.offset + lastOffset\n });\n }\n lastOffset = offset;\n }\n if (lastOffset < token.content.length) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset),\n offset: token.offset + lastOffset\n });\n }\n return tokens;\n}\nfunction splitTokens(tokens, breakpoints) {\n const sorted = Array.from(breakpoints instanceof Set ? breakpoints : new Set(breakpoints)).sort((a, b) => a - b);\n if (!sorted.length)\n return tokens;\n return tokens.map((line) => {\n return line.flatMap((token) => {\n const breakpointsInToken = sorted.filter((i) => token.offset < i && i < token.offset + token.content.length).map((i) => i - token.offset).sort((a, b) => a - b);\n if (!breakpointsInToken.length)\n return token;\n return splitToken(token, breakpointsInToken);\n });\n });\n}\nasync function normalizeGetter(p) {\n return Promise.resolve(typeof p === \"function\" ? p() : p).then((r) => r.default || r);\n}\nfunction resolveColorReplacements(theme, options) {\n const replacements = typeof theme === \"string\" ? {} : { ...theme.colorReplacements };\n const themeName = typeof theme === \"string\" ? theme : theme.name;\n for (const [key, value] of Object.entries(options?.colorReplacements || {})) {\n if (typeof value === \"string\")\n replacements[key] = value;\n else if (key === themeName)\n Object.assign(replacements, value);\n }\n return replacements;\n}\nfunction applyColorReplacements(color, replacements) {\n if (!color)\n return color;\n return replacements?.[color?.toLowerCase()] || color;\n}\nfunction getTokenStyleObject(token) {\n const styles = {};\n if (token.color)\n styles.color = token.color;\n if (token.bgColor)\n styles[\"background-color\"] = token.bgColor;\n if (token.fontStyle) {\n if (token.fontStyle & FontStyle.Italic)\n styles[\"font-style\"] = \"italic\";\n if (token.fontStyle & FontStyle.Bold)\n styles[\"font-weight\"] = \"bold\";\n if (token.fontStyle & FontStyle.Underline)\n styles[\"text-decoration\"] = \"underline\";\n }\n return styles;\n}\nfunction stringifyTokenStyle(token) {\n if (typeof token === \"string\")\n return token;\n return Object.entries(token).map(([key, value]) => `${key}:${value}`).join(\";\");\n}\nfunction createPositionConverter(code) {\n const lines = splitLines(code, true).map(([line]) => line);\n function indexToPos(index) {\n if (index === code.length) {\n return {\n line: lines.length - 1,\n character: lines[lines.length - 1].length\n };\n }\n let character = index;\n let line = 0;\n for (const lineText of lines) {\n if (character < lineText.length)\n break;\n character -= lineText.length;\n line++;\n }\n return { line, character };\n }\n function posToIndex(line, character) {\n let index = 0;\n for (let i = 0; i < line; i++)\n index += lines[i].length;\n index += character;\n return index;\n }\n return {\n lines,\n indexToPos,\n posToIndex\n };\n}\n\nclass ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nfunction transformerDecorations() {\n const map = /* @__PURE__ */ new WeakMap();\n function getContext(shiki) {\n if (!map.has(shiki.meta)) {\n let normalizePosition = function(p) {\n if (typeof p === \"number\") {\n if (p < 0 || p > shiki.source.length)\n throw new ShikiError(`Invalid decoration offset: ${p}. Code length: ${shiki.source.length}`);\n return {\n ...converter.indexToPos(p),\n offset: p\n };\n } else {\n const line = converter.lines[p.line];\n if (line === void 0)\n throw new ShikiError(`Invalid decoration position ${JSON.stringify(p)}. Lines length: ${converter.lines.length}`);\n if (p.character < 0 || p.character > line.length)\n throw new ShikiError(`Invalid decoration position ${JSON.stringify(p)}. Line ${p.line} length: ${line.length}`);\n return {\n ...p,\n offset: converter.posToIndex(p.line, p.character)\n };\n }\n };\n const converter = createPositionConverter(shiki.source);\n const decorations = (shiki.options.decorations || []).map((d) => ({\n ...d,\n start: normalizePosition(d.start),\n end: normalizePosition(d.end)\n }));\n verifyIntersections(decorations);\n map.set(shiki.meta, {\n decorations,\n converter,\n source: shiki.source\n });\n }\n return map.get(shiki.meta);\n }\n return {\n name: \"shiki:decorations\",\n tokens(tokens) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const breakpoints = ctx.decorations.flatMap((d) => [d.start.offset, d.end.offset]);\n const splitted = splitTokens(tokens, breakpoints);\n return splitted;\n },\n code(codeEl) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const lines = Array.from(codeEl.children).filter((i) => i.type === \"element\" && i.tagName === \"span\");\n if (lines.length !== ctx.converter.lines.length)\n throw new ShikiError(`Number of lines in code element (${lines.length}) does not match the number of lines in the source (${ctx.converter.lines.length}). Failed to apply decorations.`);\n function applyLineSection(line, start, end, decoration) {\n const lineEl = lines[line];\n let text = \"\";\n let startIndex = -1;\n let endIndex = -1;\n if (start === 0)\n startIndex = 0;\n if (end === 0)\n endIndex = 0;\n if (end === Number.POSITIVE_INFINITY)\n endIndex = lineEl.children.length;\n if (startIndex === -1 || endIndex === -1) {\n for (let i = 0; i < lineEl.children.length; i++) {\n text += stringify(lineEl.children[i]);\n if (startIndex === -1 && text.length === start)\n startIndex = i + 1;\n if (endIndex === -1 && text.length === end)\n endIndex = i + 1;\n }\n }\n if (startIndex === -1)\n throw new ShikiError(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);\n if (endIndex === -1)\n throw new ShikiError(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);\n const children = lineEl.children.slice(startIndex, endIndex);\n if (!decoration.alwaysWrap && children.length === lineEl.children.length) {\n applyDecoration(lineEl, decoration, \"line\");\n } else if (!decoration.alwaysWrap && children.length === 1 && children[0].type === \"element\") {\n applyDecoration(children[0], decoration, \"token\");\n } else {\n const wrapper = {\n type: \"element\",\n tagName: \"span\",\n properties: {},\n children\n };\n applyDecoration(wrapper, decoration, \"wrapper\");\n lineEl.children.splice(startIndex, children.length, wrapper);\n }\n }\n function applyLine(line, decoration) {\n lines[line] = applyDecoration(lines[line], decoration, \"line\");\n }\n function applyDecoration(el, decoration, type) {\n const properties = decoration.properties || {};\n const transform = decoration.transform || ((i) => i);\n el.tagName = decoration.tagName || \"span\";\n el.properties = {\n ...el.properties,\n ...properties,\n class: el.properties.class\n };\n if (decoration.properties?.class)\n addClassToHast(el, decoration.properties.class);\n el = transform(el, type) || el;\n return el;\n }\n const lineApplies = [];\n const sorted = ctx.decorations.sort((a, b) => b.start.offset - a.start.offset);\n for (const decoration of sorted) {\n const { start, end } = decoration;\n if (start.line === end.line) {\n applyLineSection(start.line, start.character, end.character, decoration);\n } else if (start.line < end.line) {\n applyLineSection(start.line, start.character, Number.POSITIVE_INFINITY, decoration);\n for (let i = start.line + 1; i < end.line; i++)\n lineApplies.unshift(() => applyLine(i, decoration));\n applyLineSection(end.line, 0, end.character, decoration);\n }\n }\n lineApplies.forEach((i) => i());\n }\n };\n}\nfunction verifyIntersections(items) {\n for (let i = 0; i < items.length; i++) {\n const foo = items[i];\n if (foo.start.offset > foo.end.offset)\n throw new ShikiError(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);\n for (let j = i + 1; j < items.length; j++) {\n const bar = items[j];\n const isFooHasBarStart = foo.start.offset < bar.start.offset && bar.start.offset < foo.end.offset;\n const isFooHasBarEnd = foo.start.offset < bar.end.offset && bar.end.offset < foo.end.offset;\n const isBarHasFooStart = bar.start.offset < foo.start.offset && foo.start.offset < bar.end.offset;\n const isBarHasFooEnd = bar.start.offset < foo.end.offset && foo.end.offset < bar.end.offset;\n if (isFooHasBarStart || isFooHasBarEnd || isBarHasFooStart || isBarHasFooEnd) {\n if (isFooHasBarEnd && isFooHasBarEnd)\n continue;\n if (isBarHasFooStart && isBarHasFooEnd)\n continue;\n throw new ShikiError(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);\n }\n }\n }\n}\nfunction stringify(el) {\n if (el.type === \"text\")\n return el.value;\n if (el.type === \"element\")\n return el.children.map(stringify).join(\"\");\n return \"\";\n}\n\nconst builtInTransformers = [\n /* @__PURE__ */ transformerDecorations()\n];\nfunction getTransformers(options) {\n return [\n ...options.transformers || [],\n ...builtInTransformers\n ];\n}\n\nclass GrammarState {\n constructor(_stack, lang, theme) {\n this._stack = _stack;\n this.lang = lang;\n this.theme = theme;\n }\n /**\n * Static method to create a initial grammar state.\n */\n static initial(lang, theme) {\n return new GrammarState(INITIAL, lang, theme);\n }\n get scopes() {\n return getScopes(this._stack);\n }\n toJSON() {\n return {\n lang: this.lang,\n theme: this.theme,\n scopes: this.scopes\n };\n }\n}\nfunction getScopes(stack) {\n const scopes = [];\n const visited = /* @__PURE__ */ new Set();\n function pushScope(stack2) {\n if (visited.has(stack2))\n return;\n visited.add(stack2);\n const name = stack2?.nameScopesList?.scopeName;\n if (name)\n scopes.push(name);\n if (stack2.parent)\n pushScope(stack2.parent);\n }\n pushScope(stack);\n return scopes;\n}\nfunction getGrammarStack(state) {\n if (!(state instanceof GrammarState))\n throw new ShikiError(\"Invalid grammar state\");\n return state._stack;\n}\n\n// src/colors.ts\nvar namedColors = [\n \"black\",\n \"red\",\n \"green\",\n \"yellow\",\n \"blue\",\n \"magenta\",\n \"cyan\",\n \"white\",\n \"brightBlack\",\n \"brightRed\",\n \"brightGreen\",\n \"brightYellow\",\n \"brightBlue\",\n \"brightMagenta\",\n \"brightCyan\",\n \"brightWhite\"\n];\n\n// src/decorations.ts\nvar decorations = {\n 1: \"bold\",\n 2: \"dim\",\n 3: \"italic\",\n 4: \"underline\",\n 7: \"reverse\",\n 9: \"strikethrough\"\n};\n\n// src/parser.ts\nfunction findSequence(value, position) {\n const nextEscape = value.indexOf(\"\\x1B[\", position);\n if (nextEscape !== -1) {\n const nextClose = value.indexOf(\"m\", nextEscape);\n return {\n sequence: value.substring(nextEscape + 2, nextClose).split(\";\"),\n startPosition: nextEscape,\n position: nextClose + 1\n };\n }\n return {\n position: value.length\n };\n}\nfunction parseColor(sequence, index) {\n let offset = 1;\n const colorMode = sequence[index + offset++];\n let color;\n if (colorMode === \"2\") {\n const rgb = [\n sequence[index + offset++],\n sequence[index + offset++],\n sequence[index + offset]\n ].map((x) => Number.parseInt(x));\n if (rgb.length === 3 && !rgb.some((x) => Number.isNaN(x))) {\n color = {\n type: \"rgb\",\n rgb\n };\n }\n } else if (colorMode === \"5\") {\n const colorIndex = Number.parseInt(sequence[index + offset]);\n if (!Number.isNaN(colorIndex)) {\n color = { type: \"table\", index: Number(colorIndex) };\n }\n }\n return [offset, color];\n}\nfunction parseSequence(sequence) {\n const commands = [];\n for (let i = 0; i < sequence.length; i++) {\n const code = sequence[i];\n const codeInt = Number.parseInt(code);\n if (Number.isNaN(codeInt))\n continue;\n if (codeInt === 0) {\n commands.push({ type: \"resetAll\" });\n } else if (codeInt <= 9) {\n const decoration = decorations[codeInt];\n if (decoration) {\n commands.push({\n type: \"setDecoration\",\n value: decorations[codeInt]\n });\n }\n } else if (codeInt <= 29) {\n const decoration = decorations[codeInt - 20];\n if (decoration) {\n commands.push({\n type: \"resetDecoration\",\n value: decoration\n });\n }\n } else if (codeInt <= 37) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 30] }\n });\n } else if (codeInt === 38) {\n const [offset, color] = parseColor(sequence, i);\n if (color) {\n commands.push({\n type: \"setForegroundColor\",\n value: color\n });\n }\n i += offset;\n } else if (codeInt === 39) {\n commands.push({\n type: \"resetForegroundColor\"\n });\n } else if (codeInt <= 47) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 40] }\n });\n } else if (codeInt === 48) {\n const [offset, color] = parseColor(sequence, i);\n if (color) {\n commands.push({\n type: \"setBackgroundColor\",\n value: color\n });\n }\n i += offset;\n } else if (codeInt === 49) {\n commands.push({\n type: \"resetBackgroundColor\"\n });\n } else if (codeInt >= 90 && codeInt <= 97) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 90 + 8] }\n });\n } else if (codeInt >= 100 && codeInt <= 107) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 100 + 8] }\n });\n }\n }\n return commands;\n}\nfunction createAnsiSequenceParser() {\n let foreground = null;\n let background = null;\n let decorations2 = /* @__PURE__ */ new Set();\n return {\n parse(value) {\n const tokens = [];\n let position = 0;\n do {\n const findResult = findSequence(value, position);\n const text = findResult.sequence ? value.substring(position, findResult.startPosition) : value.substring(position);\n if (text.length > 0) {\n tokens.push({\n value: text,\n foreground,\n background,\n decorations: new Set(decorations2)\n });\n }\n if (findResult.sequence) {\n const commands = parseSequence(findResult.sequence);\n for (const styleToken of commands) {\n if (styleToken.type === \"resetAll\") {\n foreground = null;\n background = null;\n decorations2.clear();\n } else if (styleToken.type === \"resetForegroundColor\") {\n foreground = null;\n } else if (styleToken.type === \"resetBackgroundColor\") {\n background = null;\n } else if (styleToken.type === \"resetDecoration\") {\n decorations2.delete(styleToken.value);\n }\n }\n for (const styleToken of commands) {\n if (styleToken.type === \"setForegroundColor\") {\n foreground = styleToken.value;\n } else if (styleToken.type === \"setBackgroundColor\") {\n background = styleToken.value;\n } else if (styleToken.type === \"setDecoration\") {\n decorations2.add(styleToken.value);\n }\n }\n }\n position = findResult.position;\n } while (position < value.length);\n return tokens;\n }\n };\n}\n\n// src/palette.ts\nvar defaultNamedColorsMap = {\n black: \"#000000\",\n red: \"#bb0000\",\n green: \"#00bb00\",\n yellow: \"#bbbb00\",\n blue: \"#0000bb\",\n magenta: \"#ff00ff\",\n cyan: \"#00bbbb\",\n white: \"#eeeeee\",\n brightBlack: \"#555555\",\n brightRed: \"#ff5555\",\n brightGreen: \"#00ff00\",\n brightYellow: \"#ffff55\",\n brightBlue: \"#5555ff\",\n brightMagenta: \"#ff55ff\",\n brightCyan: \"#55ffff\",\n brightWhite: \"#ffffff\"\n};\nfunction createColorPalette(namedColorsMap = defaultNamedColorsMap) {\n function namedColor(name) {\n return namedColorsMap[name];\n }\n function rgbColor(rgb) {\n return `#${rgb.map((x) => Math.max(0, Math.min(x, 255)).toString(16).padStart(2, \"0\")).join(\"\")}`;\n }\n let colorTable;\n function getColorTable() {\n if (colorTable) {\n return colorTable;\n }\n colorTable = [];\n for (let i = 0; i < namedColors.length; i++) {\n colorTable.push(namedColor(namedColors[i]));\n }\n let levels = [0, 95, 135, 175, 215, 255];\n for (let r = 0; r < 6; r++) {\n for (let g = 0; g < 6; g++) {\n for (let b = 0; b < 6; b++) {\n colorTable.push(rgbColor([levels[r], levels[g], levels[b]]));\n }\n }\n }\n let level = 8;\n for (let i = 0; i < 24; i++, level += 10) {\n colorTable.push(rgbColor([level, level, level]));\n }\n return colorTable;\n }\n function tableColor(index) {\n return getColorTable()[index];\n }\n function value(color) {\n switch (color.type) {\n case \"named\":\n return namedColor(color.name);\n case \"rgb\":\n return rgbColor(color.rgb);\n case \"table\":\n return tableColor(color.index);\n }\n }\n return {\n value\n };\n}\n\nfunction tokenizeAnsiWithTheme(theme, fileContents, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const lines = splitLines(fileContents);\n const colorPalette = createColorPalette(\n Object.fromEntries(\n namedColors.map((name) => [\n name,\n theme.colors?.[`terminal.ansi${name[0].toUpperCase()}${name.substring(1)}`]\n ])\n )\n );\n const parser = createAnsiSequenceParser();\n return lines.map(\n (line) => parser.parse(line[0]).map((token) => {\n let color;\n let bgColor;\n if (token.decorations.has(\"reverse\")) {\n color = token.background ? colorPalette.value(token.background) : theme.bg;\n bgColor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n } else {\n color = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n bgColor = token.background ? colorPalette.value(token.background) : void 0;\n }\n color = applyColorReplacements(color, colorReplacements);\n bgColor = applyColorReplacements(bgColor, colorReplacements);\n if (token.decorations.has(\"dim\"))\n color = dimColor(color);\n let fontStyle = FontStyle.None;\n if (token.decorations.has(\"bold\"))\n fontStyle |= FontStyle.Bold;\n if (token.decorations.has(\"italic\"))\n fontStyle |= FontStyle.Italic;\n if (token.decorations.has(\"underline\"))\n fontStyle |= FontStyle.Underline;\n return {\n content: token.value,\n offset: line[1],\n // TODO: more accurate offset? might need to fork ansi-sequence-parser\n color,\n bgColor,\n fontStyle\n };\n })\n );\n}\nfunction dimColor(color) {\n const hexMatch = color.match(/#([0-9a-f]{3})([0-9a-f]{3})?([0-9a-f]{2})?/);\n if (hexMatch) {\n if (hexMatch[3]) {\n const alpha = Math.round(Number.parseInt(hexMatch[3], 16) / 2).toString(16).padStart(2, \"0\");\n return `#${hexMatch[1]}${hexMatch[2]}${alpha}`;\n } else if (hexMatch[2]) {\n return `#${hexMatch[1]}${hexMatch[2]}80`;\n } else {\n return `#${Array.from(hexMatch[1]).map((x) => `${x}${x}`).join(\"\")}80`;\n }\n }\n const cssVarMatch = color.match(/var\\((--[\\w-]+-ansi-[\\w-]+)\\)/);\n if (cssVarMatch)\n return `var(${cssVarMatch[1]}-dim)`;\n return color;\n}\n\nfunction codeToTokensBase(internal, code, options = {}) {\n const {\n lang = \"text\",\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n if (isPlainLang(lang) || isNoneTheme(themeName))\n return splitLines(code).map((line) => [{ content: line[0], offset: line[1] }]);\n const { theme, colorMap } = internal.setTheme(themeName);\n if (lang === \"ansi\")\n return tokenizeAnsiWithTheme(theme, code, options);\n const _grammar = internal.getLanguage(lang);\n if (options.grammarState) {\n if (options.grammarState.lang !== _grammar.name) {\n throw new ShikiError$1(`Grammar state language \"${options.grammarState.lang}\" does not match highlight language \"${_grammar.name}\"`);\n }\n if (options.grammarState.theme !== themeName) {\n throw new ShikiError$1(`Grammar state theme \"${options.grammarState.theme}\" does not match highlight theme \"${themeName}\"`);\n }\n }\n return tokenizeWithTheme(code, _grammar, theme, colorMap, options);\n}\nfunction getLastGrammarState(internal, code, options = {}) {\n const {\n lang = \"text\",\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n if (isPlainLang(lang) || isNoneTheme(themeName))\n throw new ShikiError$1(\"Plain language does not have grammar state\");\n if (lang === \"ansi\")\n throw new ShikiError$1(\"ANSI language does not have grammar state\");\n const { theme, colorMap } = internal.setTheme(themeName);\n const _grammar = internal.getLanguage(lang);\n return new GrammarState(\n _tokenizeWithTheme(code, _grammar, theme, colorMap, options).stateStack,\n _grammar.name,\n theme.name\n );\n}\nfunction tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n return _tokenizeWithTheme(code, grammar, theme, colorMap, options).tokens;\n}\nfunction _tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const {\n tokenizeMaxLineLength = 0,\n tokenizeTimeLimit = 500\n } = options;\n const lines = splitLines(code);\n let stateStack = options.grammarState ? getGrammarStack(options.grammarState) : options.grammarContextCode != null ? _tokenizeWithTheme(\n options.grammarContextCode,\n grammar,\n theme,\n colorMap,\n {\n ...options,\n grammarState: void 0,\n grammarContextCode: void 0\n }\n ).stateStack : INITIAL;\n let actual = [];\n const final = [];\n for (let i = 0, len = lines.length; i < len; i++) {\n const [line, lineOffset] = lines[i];\n if (line === \"\") {\n actual = [];\n final.push([]);\n continue;\n }\n if (tokenizeMaxLineLength > 0 && line.length >= tokenizeMaxLineLength) {\n actual = [];\n final.push([{\n content: line,\n offset: lineOffset,\n color: \"\",\n fontStyle: 0\n }]);\n continue;\n }\n let resultWithScopes;\n let tokensWithScopes;\n let tokensWithScopesIndex;\n if (options.includeExplanation) {\n resultWithScopes = grammar.tokenizeLine(line, stateStack);\n tokensWithScopes = resultWithScopes.tokens;\n tokensWithScopesIndex = 0;\n }\n const result = grammar.tokenizeLine2(line, stateStack, tokenizeTimeLimit);\n const tokensLength = result.tokens.length / 2;\n for (let j = 0; j < tokensLength; j++) {\n const startIndex = result.tokens[2 * j];\n const nextStartIndex = j + 1 < tokensLength ? result.tokens[2 * j + 2] : line.length;\n if (startIndex === nextStartIndex)\n continue;\n const metadata = result.tokens[2 * j + 1];\n const color = applyColorReplacements(\n colorMap[EncodedTokenMetadata.getForeground(metadata)],\n colorReplacements\n );\n const fontStyle = EncodedTokenMetadata.getFontStyle(metadata);\n const token = {\n content: line.substring(startIndex, nextStartIndex),\n offset: lineOffset + startIndex,\n color,\n fontStyle\n };\n if (options.includeExplanation) {\n const themeSettingsSelectors = [];\n if (options.includeExplanation !== \"scopeName\") {\n for (const setting of theme.settings) {\n let selectors;\n switch (typeof setting.scope) {\n case \"string\":\n selectors = setting.scope.split(/,/).map((scope) => scope.trim());\n break;\n case \"object\":\n selectors = setting.scope;\n break;\n default:\n continue;\n }\n themeSettingsSelectors.push({\n settings: setting,\n selectors: selectors.map((selector) => selector.split(/ /))\n });\n }\n }\n token.explanation = [];\n let offset = 0;\n while (startIndex + offset < nextStartIndex) {\n const tokenWithScopes = tokensWithScopes[tokensWithScopesIndex];\n const tokenWithScopesText = line.substring(\n tokenWithScopes.startIndex,\n tokenWithScopes.endIndex\n );\n offset += tokenWithScopesText.length;\n token.explanation.push({\n content: tokenWithScopesText,\n scopes: options.includeExplanation === \"scopeName\" ? explainThemeScopesNameOnly(\n tokenWithScopes.scopes\n ) : explainThemeScopesFull(\n themeSettingsSelectors,\n tokenWithScopes.scopes\n )\n });\n tokensWithScopesIndex += 1;\n }\n }\n actual.push(token);\n }\n final.push(actual);\n actual = [];\n stateStack = result.ruleStack;\n }\n return {\n tokens: final,\n stateStack\n };\n}\nfunction explainThemeScopesNameOnly(scopes) {\n return scopes.map((scope) => ({ scopeName: scope }));\n}\nfunction explainThemeScopesFull(themeSelectors, scopes) {\n const result = [];\n for (let i = 0, len = scopes.length; i < len; i++) {\n const scope = scopes[i];\n result[i] = {\n scopeName: scope,\n themeMatches: explainThemeScope(themeSelectors, scope, scopes.slice(0, i))\n };\n }\n return result;\n}\nfunction matchesOne(selector, scope) {\n return selector === scope || scope.substring(0, selector.length) === selector && scope[selector.length] === \".\";\n}\nfunction matches(selectors, scope, parentScopes) {\n if (!matchesOne(selectors[selectors.length - 1], scope))\n return false;\n let selectorParentIndex = selectors.length - 2;\n let parentIndex = parentScopes.length - 1;\n while (selectorParentIndex >= 0 && parentIndex >= 0) {\n if (matchesOne(selectors[selectorParentIndex], parentScopes[parentIndex]))\n selectorParentIndex -= 1;\n parentIndex -= 1;\n }\n if (selectorParentIndex === -1)\n return true;\n return false;\n}\nfunction explainThemeScope(themeSettingsSelectors, scope, parentScopes) {\n const result = [];\n for (const { selectors, settings } of themeSettingsSelectors) {\n for (const selectorPieces of selectors) {\n if (matches(selectorPieces, scope, parentScopes)) {\n result.push(settings);\n break;\n }\n }\n }\n return result;\n}\n\nfunction codeToTokensWithThemes(internal, code, options) {\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] }));\n const tokens = syncThemesTokenization(\n ...themes.map((t) => codeToTokensBase(internal, code, {\n ...options,\n theme: t.theme\n }))\n );\n const mergedTokens = tokens[0].map(\n (line, lineIdx) => line.map((_token, tokenIdx) => {\n const mergedToken = {\n content: _token.content,\n variants: {},\n offset: _token.offset\n };\n if (\"includeExplanation\" in options && options.includeExplanation) {\n mergedToken.explanation = _token.explanation;\n }\n tokens.forEach((t, themeIdx) => {\n const {\n content: _,\n explanation: __,\n offset: ___,\n ...styles\n } = t[lineIdx][tokenIdx];\n mergedToken.variants[themes[themeIdx].color] = styles;\n });\n return mergedToken;\n })\n );\n return mergedTokens;\n}\nfunction syncThemesTokenization(...themes) {\n const outThemes = themes.map(() => []);\n const count = themes.length;\n for (let i = 0; i < themes[0].length; i++) {\n const lines = themes.map((t) => t[i]);\n const outLines = outThemes.map(() => []);\n outThemes.forEach((t, i2) => t.push(outLines[i2]));\n const indexes = lines.map(() => 0);\n const current = lines.map((l) => l[0]);\n while (current.every((t) => t)) {\n const minLength = Math.min(...current.map((t) => t.content.length));\n for (let n = 0; n < count; n++) {\n const token = current[n];\n if (token.content.length === minLength) {\n outLines[n].push(token);\n indexes[n] += 1;\n current[n] = lines[n][indexes[n]];\n } else {\n outLines[n].push({\n ...token,\n content: token.content.slice(0, minLength)\n });\n current[n] = {\n ...token,\n content: token.content.slice(minLength),\n offset: token.offset + minLength\n };\n }\n }\n }\n }\n return outThemes;\n}\n\nfunction codeToTokens(internal, code, options) {\n let bg;\n let fg;\n let tokens;\n let themeName;\n let rootStyle;\n if (\"themes\" in options) {\n const {\n defaultColor = \"light\",\n cssVariablePrefix = \"--shiki-\"\n } = options;\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] })).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);\n if (themes.length === 0)\n throw new ShikiError(\"`themes` option must not be empty\");\n const themeTokens = codeToTokensWithThemes(\n internal,\n code,\n options\n );\n if (defaultColor && !themes.find((t) => t.color === defaultColor))\n throw new ShikiError(`\\`themes\\` option must contain the defaultColor key \\`${defaultColor}\\``);\n const themeRegs = themes.map((t) => internal.getTheme(t.theme));\n const themesOrder = themes.map((t) => t.color);\n tokens = themeTokens.map((line) => line.map((token) => mergeToken(token, themesOrder, cssVariablePrefix, defaultColor)));\n const themeColorReplacements = themes.map((t) => resolveColorReplacements(t.theme, options));\n fg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}:`) + (applyColorReplacements(themeRegs[idx].fg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n bg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}-bg:`) + (applyColorReplacements(themeRegs[idx].bg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n themeName = `shiki-themes ${themeRegs.map((t) => t.name).join(\" \")}`;\n rootStyle = defaultColor ? void 0 : [fg, bg].join(\";\");\n } else if (\"theme\" in options) {\n const colorReplacements = resolveColorReplacements(options.theme, options);\n tokens = codeToTokensBase(\n internal,\n code,\n options\n );\n const _theme = internal.getTheme(options.theme);\n bg = applyColorReplacements(_theme.bg, colorReplacements);\n fg = applyColorReplacements(_theme.fg, colorReplacements);\n themeName = _theme.name;\n } else {\n throw new ShikiError(\"Invalid options, either `theme` or `themes` must be provided\");\n }\n return {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle\n };\n}\nfunction mergeToken(merged, variantsOrder, cssVariablePrefix, defaultColor) {\n const token = {\n content: merged.content,\n explanation: merged.explanation,\n offset: merged.offset\n };\n const styles = variantsOrder.map((t) => getTokenStyleObject(merged.variants[t]));\n const styleKeys = new Set(styles.flatMap((t) => Object.keys(t)));\n const mergedStyles = {};\n styles.forEach((cur, idx) => {\n for (const key of styleKeys) {\n const value = cur[key] || \"inherit\";\n if (idx === 0 && defaultColor) {\n mergedStyles[key] = value;\n } else {\n const keyName = key === \"color\" ? \"\" : key === \"background-color\" ? \"-bg\" : `-${key}`;\n const varKey = cssVariablePrefix + variantsOrder[idx] + (key === \"color\" ? \"\" : keyName);\n mergedStyles[varKey] = value;\n }\n }\n });\n token.htmlStyle = mergedStyles;\n return token;\n}\n\nfunction codeToHast(internal, code, options, transformerContext = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n}) {\n let input = code;\n for (const transformer of getTransformers(options))\n input = transformer.preprocess?.call(transformerContext, input, options) || input;\n let {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle\n } = codeToTokens(internal, input, options);\n const {\n mergeWhitespaces = true\n } = options;\n if (mergeWhitespaces === true)\n tokens = mergeWhitespaceTokens(tokens);\n else if (mergeWhitespaces === \"never\")\n tokens = splitWhitespaceTokens(tokens);\n const contextSource = {\n ...transformerContext,\n get source() {\n return input;\n }\n };\n for (const transformer of getTransformers(options))\n tokens = transformer.tokens?.call(contextSource, tokens) || tokens;\n return tokensToHast(\n tokens,\n {\n ...options,\n fg,\n bg,\n themeName,\n rootStyle\n },\n contextSource\n );\n}\nfunction tokensToHast(tokens, options, transformerContext) {\n const transformers = getTransformers(options);\n const lines = [];\n const root = {\n type: \"root\",\n children: []\n };\n const {\n structure = \"classic\",\n tabindex = \"0\"\n } = options;\n let preNode = {\n type: \"element\",\n tagName: \"pre\",\n properties: {\n class: `shiki ${options.themeName || \"\"}`,\n style: options.rootStyle || `background-color:${options.bg};color:${options.fg}`,\n ...tabindex !== false && tabindex != null ? {\n tabindex: tabindex.toString()\n } : {},\n ...Object.fromEntries(\n Array.from(\n Object.entries(options.meta || {})\n ).filter(([key]) => !key.startsWith(\"_\"))\n )\n },\n children: []\n };\n let codeNode = {\n type: \"element\",\n tagName: \"code\",\n properties: {},\n children: lines\n };\n const lineNodes = [];\n const context = {\n ...transformerContext,\n structure,\n addClassToHast,\n get source() {\n return transformerContext.source;\n },\n get tokens() {\n return tokens;\n },\n get options() {\n return options;\n },\n get root() {\n return root;\n },\n get pre() {\n return preNode;\n },\n get code() {\n return codeNode;\n },\n get lines() {\n return lineNodes;\n }\n };\n tokens.forEach((line, idx) => {\n if (idx) {\n if (structure === \"inline\")\n root.children.push({ type: \"element\", tagName: \"br\", properties: {}, children: [] });\n else if (structure === \"classic\")\n lines.push({ type: \"text\", value: \"\\n\" });\n }\n let lineNode = {\n type: \"element\",\n tagName: \"span\",\n properties: { class: \"line\" },\n children: []\n };\n let col = 0;\n for (const token of line) {\n let tokenNode = {\n type: \"element\",\n tagName: \"span\",\n properties: {\n ...token.htmlAttrs\n },\n children: [{ type: \"text\", value: token.content }]\n };\n if (typeof token.htmlStyle === \"string\")\n warnDeprecated(\"`htmlStyle` as a string is deprecated. Use an object instead.\");\n const style = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n if (style)\n tokenNode.properties.style = style;\n for (const transformer of transformers)\n tokenNode = transformer?.span?.call(context, tokenNode, idx + 1, col, lineNode, token) || tokenNode;\n if (structure === \"inline\")\n root.children.push(tokenNode);\n else if (structure === \"classic\")\n lineNode.children.push(tokenNode);\n col += token.content.length;\n }\n if (structure === \"classic\") {\n for (const transformer of transformers)\n lineNode = transformer?.line?.call(context, lineNode, idx + 1) || lineNode;\n lineNodes.push(lineNode);\n lines.push(lineNode);\n }\n });\n if (structure === \"classic\") {\n for (const transformer of transformers)\n codeNode = transformer?.code?.call(context, codeNode) || codeNode;\n preNode.children.push(codeNode);\n for (const transformer of transformers)\n preNode = transformer?.pre?.call(context, preNode) || preNode;\n root.children.push(preNode);\n }\n let result = root;\n for (const transformer of transformers)\n result = transformer?.root?.call(context, result) || result;\n return result;\n}\nfunction mergeWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n const newLine = [];\n let carryOnContent = \"\";\n let firstOffset = 0;\n line.forEach((token, idx) => {\n const isUnderline = token.fontStyle && token.fontStyle & FontStyle.Underline;\n const couldMerge = !isUnderline;\n if (couldMerge && token.content.match(/^\\s+$/) && line[idx + 1]) {\n if (!firstOffset)\n firstOffset = token.offset;\n carryOnContent += token.content;\n } else {\n if (carryOnContent) {\n if (couldMerge) {\n newLine.push({\n ...token,\n offset: firstOffset,\n content: carryOnContent + token.content\n });\n } else {\n newLine.push(\n {\n content: carryOnContent,\n offset: firstOffset\n },\n token\n );\n }\n firstOffset = 0;\n carryOnContent = \"\";\n } else {\n newLine.push(token);\n }\n }\n });\n return newLine;\n });\n}\nfunction splitWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n return line.flatMap((token) => {\n if (token.content.match(/^\\s+$/))\n return token;\n const match = token.content.match(/^(\\s*)(.*?)(\\s*)$/);\n if (!match)\n return token;\n const [, leading, content, trailing] = match;\n if (!leading && !trailing)\n return token;\n const expanded = [{\n ...token,\n offset: token.offset + leading.length,\n content\n }];\n if (leading) {\n expanded.unshift({\n content: leading,\n offset: token.offset\n });\n }\n if (trailing) {\n expanded.push({\n content: trailing,\n offset: token.offset + leading.length + content.length\n });\n }\n return expanded;\n });\n });\n}\n\nfunction codeToHtml(internal, code, options) {\n const context = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n };\n let result = toHtml(codeToHast(internal, code, options, context));\n for (const transformer of getTransformers(options))\n result = transformer.postprocess?.call(context, result, options) || result;\n return result;\n}\n\nconst VSCODE_FALLBACK_EDITOR_FG = { light: \"#333333\", dark: \"#bbbbbb\" };\nconst VSCODE_FALLBACK_EDITOR_BG = { light: \"#fffffe\", dark: \"#1e1e1e\" };\nconst RESOLVED_KEY = \"__shiki_resolved\";\nfunction normalizeTheme(rawTheme) {\n if (rawTheme?.[RESOLVED_KEY])\n return rawTheme;\n const theme = {\n ...rawTheme\n };\n if (theme.tokenColors && !theme.settings) {\n theme.settings = theme.tokenColors;\n delete theme.tokenColors;\n }\n theme.type || (theme.type = \"dark\");\n theme.colorReplacements = { ...theme.colorReplacements };\n theme.settings || (theme.settings = []);\n let { bg, fg } = theme;\n if (!bg || !fg) {\n const globalSetting = theme.settings ? theme.settings.find((s) => !s.name && !s.scope) : void 0;\n if (globalSetting?.settings?.foreground)\n fg = globalSetting.settings.foreground;\n if (globalSetting?.settings?.background)\n bg = globalSetting.settings.background;\n if (!fg && theme?.colors?.[\"editor.foreground\"])\n fg = theme.colors[\"editor.foreground\"];\n if (!bg && theme?.colors?.[\"editor.background\"])\n bg = theme.colors[\"editor.background\"];\n if (!fg)\n fg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_FG.light : VSCODE_FALLBACK_EDITOR_FG.dark;\n if (!bg)\n bg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_BG.light : VSCODE_FALLBACK_EDITOR_BG.dark;\n theme.fg = fg;\n theme.bg = bg;\n }\n if (!(theme.settings[0] && theme.settings[0].settings && !theme.settings[0].scope)) {\n theme.settings.unshift({\n settings: {\n foreground: theme.fg,\n background: theme.bg\n }\n });\n }\n let replacementCount = 0;\n const replacementMap = /* @__PURE__ */ new Map();\n function getReplacementColor(value) {\n if (replacementMap.has(value))\n return replacementMap.get(value);\n replacementCount += 1;\n const hex = `#${replacementCount.toString(16).padStart(8, \"0\").toLowerCase()}`;\n if (theme.colorReplacements?.[`#${hex}`])\n return getReplacementColor(value);\n replacementMap.set(value, hex);\n return hex;\n }\n theme.settings = theme.settings.map((setting) => {\n const replaceFg = setting.settings?.foreground && !setting.settings.foreground.startsWith(\"#\");\n const replaceBg = setting.settings?.background && !setting.settings.background.startsWith(\"#\");\n if (!replaceFg && !replaceBg)\n return setting;\n const clone = {\n ...setting,\n settings: {\n ...setting.settings\n }\n };\n if (replaceFg) {\n const replacement = getReplacementColor(setting.settings.foreground);\n theme.colorReplacements[replacement] = setting.settings.foreground;\n clone.settings.foreground = replacement;\n }\n if (replaceBg) {\n const replacement = getReplacementColor(setting.settings.background);\n theme.colorReplacements[replacement] = setting.settings.background;\n clone.settings.background = replacement;\n }\n return clone;\n });\n for (const key of Object.keys(theme.colors || {})) {\n if (key === \"editor.foreground\" || key === \"editor.background\" || key.startsWith(\"terminal.ansi\")) {\n if (!theme.colors[key]?.startsWith(\"#\")) {\n const replacement = getReplacementColor(theme.colors[key]);\n theme.colorReplacements[replacement] = theme.colors[key];\n theme.colors[key] = replacement;\n }\n }\n }\n Object.defineProperty(theme, RESOLVED_KEY, {\n enumerable: false,\n writable: false,\n value: true\n });\n return theme;\n}\n\nasync function resolveLangs(langs) {\n return Array.from(new Set((await Promise.all(\n langs.filter((l) => !isSpecialLang(l)).map(async (lang) => await normalizeGetter(lang).then((r) => Array.isArray(r) ? r : [r]))\n )).flat()));\n}\nasync function resolveThemes(themes) {\n const resolved = await Promise.all(\n themes.map(\n async (theme) => isSpecialTheme(theme) ? null : normalizeTheme(await normalizeGetter(theme))\n )\n );\n return resolved.filter((i) => !!i);\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass Registry extends Registry$1 {\n constructor(_resolver, _themes, _langs, _alias = {}) {\n super(_resolver);\n this._resolver = _resolver;\n this._themes = _themes;\n this._langs = _langs;\n this._alias = _alias;\n __publicField$1(this, \"_resolvedThemes\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_resolvedGrammars\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_langMap\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_langGraph\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_textmateThemeCache\", /* @__PURE__ */ new WeakMap());\n __publicField$1(this, \"_loadedThemesCache\", null);\n __publicField$1(this, \"_loadedLanguagesCache\", null);\n this._themes.map((t) => this.loadTheme(t));\n this.loadLanguages(this._langs);\n }\n getTheme(theme) {\n if (typeof theme === \"string\")\n return this._resolvedThemes.get(theme);\n else\n return this.loadTheme(theme);\n }\n loadTheme(theme) {\n const _theme = normalizeTheme(theme);\n if (_theme.name) {\n this._resolvedThemes.set(_theme.name, _theme);\n this._loadedThemesCache = null;\n }\n return _theme;\n }\n getLoadedThemes() {\n if (!this._loadedThemesCache)\n this._loadedThemesCache = [...this._resolvedThemes.keys()];\n return this._loadedThemesCache;\n }\n // Override and re-implement this method to cache the textmate themes as `TextMateTheme.createFromRawTheme`\n // is expensive. Themes can switch often especially for dual-theme support.\n //\n // The parent class also accepts `colorMap` as the second parameter, but since we don't use that,\n // we omit here so it's easier to cache the themes.\n setTheme(theme) {\n let textmateTheme = this._textmateThemeCache.get(theme);\n if (!textmateTheme) {\n textmateTheme = Theme.createFromRawTheme(theme);\n this._textmateThemeCache.set(theme, textmateTheme);\n }\n this._syncRegistry.setTheme(textmateTheme);\n }\n getGrammar(name) {\n if (this._alias[name]) {\n const resolved = /* @__PURE__ */ new Set([name]);\n while (this._alias[name]) {\n name = this._alias[name];\n if (resolved.has(name))\n throw new ShikiError(`Circular alias \\`${Array.from(resolved).join(\" -> \")} -> ${name}\\``);\n resolved.add(name);\n }\n }\n return this._resolvedGrammars.get(name);\n }\n loadLanguage(lang) {\n if (this.getGrammar(lang.name))\n return;\n const embeddedLazilyBy = new Set(\n [...this._langMap.values()].filter((i) => i.embeddedLangsLazy?.includes(lang.name))\n );\n this._resolver.addLanguage(lang);\n const grammarConfig = {\n balancedBracketSelectors: lang.balancedBracketSelectors || [\"*\"],\n unbalancedBracketSelectors: lang.unbalancedBracketSelectors || []\n };\n this._syncRegistry._rawGrammars.set(lang.scopeName, lang);\n const g = this.loadGrammarWithConfiguration(lang.scopeName, 1, grammarConfig);\n g.name = lang.name;\n this._resolvedGrammars.set(lang.name, g);\n if (lang.aliases) {\n lang.aliases.forEach((alias) => {\n this._alias[alias] = lang.name;\n });\n }\n this._loadedLanguagesCache = null;\n if (embeddedLazilyBy.size) {\n for (const e of embeddedLazilyBy) {\n this._resolvedGrammars.delete(e.name);\n this._loadedLanguagesCache = null;\n this._syncRegistry?._injectionGrammars?.delete(e.scopeName);\n this._syncRegistry?._grammars?.delete(e.scopeName);\n this.loadLanguage(this._langMap.get(e.name));\n }\n }\n }\n dispose() {\n super.dispose();\n this._resolvedThemes.clear();\n this._resolvedGrammars.clear();\n this._langMap.clear();\n this._langGraph.clear();\n this._loadedThemesCache = null;\n }\n loadLanguages(langs) {\n for (const lang of langs)\n this.resolveEmbeddedLanguages(lang);\n const langsGraphArray = Array.from(this._langGraph.entries());\n const missingLangs = langsGraphArray.filter(([_, lang]) => !lang);\n if (missingLangs.length) {\n const dependents = langsGraphArray.filter(([_, lang]) => lang && lang.embeddedLangs?.some((l) => missingLangs.map(([name]) => name).includes(l))).filter((lang) => !missingLangs.includes(lang));\n throw new ShikiError(`Missing languages ${missingLangs.map(([name]) => `\\`${name}\\``).join(\", \")}, required by ${dependents.map(([name]) => `\\`${name}\\``).join(\", \")}`);\n }\n for (const [_, lang] of langsGraphArray)\n this._resolver.addLanguage(lang);\n for (const [_, lang] of langsGraphArray)\n this.loadLanguage(lang);\n }\n getLoadedLanguages() {\n if (!this._loadedLanguagesCache) {\n this._loadedLanguagesCache = [\n .../* @__PURE__ */ new Set([...this._resolvedGrammars.keys(), ...Object.keys(this._alias)])\n ];\n }\n return this._loadedLanguagesCache;\n }\n resolveEmbeddedLanguages(lang) {\n this._langMap.set(lang.name, lang);\n this._langGraph.set(lang.name, lang);\n if (lang.embeddedLangs) {\n for (const embeddedLang of lang.embeddedLangs)\n this._langGraph.set(embeddedLang, this._langMap.get(embeddedLang));\n }\n }\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass Resolver {\n constructor(engine, langs) {\n __publicField(this, \"_langs\", /* @__PURE__ */ new Map());\n __publicField(this, \"_scopeToLang\", /* @__PURE__ */ new Map());\n __publicField(this, \"_injections\", /* @__PURE__ */ new Map());\n __publicField(this, \"_onigLib\");\n this._onigLib = {\n createOnigScanner: (patterns) => engine.createScanner(patterns),\n createOnigString: (s) => engine.createString(s)\n };\n langs.forEach((i) => this.addLanguage(i));\n }\n get onigLib() {\n return this._onigLib;\n }\n getLangRegistration(langIdOrAlias) {\n return this._langs.get(langIdOrAlias);\n }\n loadGrammar(scopeName) {\n return this._scopeToLang.get(scopeName);\n }\n addLanguage(l) {\n this._langs.set(l.name, l);\n if (l.aliases) {\n l.aliases.forEach((a) => {\n this._langs.set(a, l);\n });\n }\n this._scopeToLang.set(l.scopeName, l);\n if (l.injectTo) {\n l.injectTo.forEach((i) => {\n if (!this._injections.get(i))\n this._injections.set(i, []);\n this._injections.get(i).push(l.scopeName);\n });\n }\n }\n getInjections(scopeName) {\n const scopeParts = scopeName.split(\".\");\n let injections = [];\n for (let i = 1; i <= scopeParts.length; i++) {\n const subScopeName = scopeParts.slice(0, i).join(\".\");\n injections = [...injections, ...this._injections.get(subScopeName) || []];\n }\n return injections;\n }\n}\n\nlet instancesCount = 0;\nfunction createShikiInternalSync(options) {\n instancesCount += 1;\n if (options.warnings !== false && instancesCount >= 10 && instancesCount % 10 === 0)\n console.warn(`[Shiki] ${instancesCount} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \\`highlighter.dispose()\\` to release unused instances.`);\n let isDisposed = false;\n if (!options.engine)\n throw new ShikiError(\"`engine` option is required for synchronous mode\");\n const langs = (options.langs || []).flat(1);\n const themes = (options.themes || []).flat(1).map(normalizeTheme);\n const resolver = new Resolver(options.engine, langs);\n const _registry = new Registry(resolver, themes, langs, options.langAlias);\n let _lastTheme;\n function getLanguage(name) {\n ensureNotDisposed();\n const _lang = _registry.getGrammar(typeof name === \"string\" ? name : name.name);\n if (!_lang)\n throw new ShikiError(`Language \\`${name}\\` not found, you may need to load it first`);\n return _lang;\n }\n function getTheme(name) {\n if (name === \"none\")\n return { bg: \"\", fg: \"\", name: \"none\", settings: [], type: \"dark\" };\n ensureNotDisposed();\n const _theme = _registry.getTheme(name);\n if (!_theme)\n throw new ShikiError(`Theme \\`${name}\\` not found, you may need to load it first`);\n return _theme;\n }\n function setTheme(name) {\n ensureNotDisposed();\n const theme = getTheme(name);\n if (_lastTheme !== name) {\n _registry.setTheme(theme);\n _lastTheme = name;\n }\n const colorMap = _registry.getColorMap();\n return {\n theme,\n colorMap\n };\n }\n function getLoadedThemes() {\n ensureNotDisposed();\n return _registry.getLoadedThemes();\n }\n function getLoadedLanguages() {\n ensureNotDisposed();\n return _registry.getLoadedLanguages();\n }\n function loadLanguageSync(...langs2) {\n ensureNotDisposed();\n _registry.loadLanguages(langs2.flat(1));\n }\n async function loadLanguage(...langs2) {\n return loadLanguageSync(await resolveLangs(langs2));\n }\n function loadThemeSync(...themes2) {\n ensureNotDisposed();\n for (const theme of themes2.flat(1)) {\n _registry.loadTheme(theme);\n }\n }\n async function loadTheme(...themes2) {\n ensureNotDisposed();\n return loadThemeSync(await resolveThemes(themes2));\n }\n function ensureNotDisposed() {\n if (isDisposed)\n throw new ShikiError(\"Shiki instance has been disposed\");\n }\n function dispose() {\n if (isDisposed)\n return;\n isDisposed = true;\n _registry.dispose();\n instancesCount -= 1;\n }\n return {\n setTheme,\n getTheme,\n getLanguage,\n getLoadedThemes,\n getLoadedLanguages,\n loadLanguage,\n loadLanguageSync,\n loadTheme,\n loadThemeSync,\n dispose,\n [Symbol.dispose]: dispose\n };\n}\n\nasync function createShikiInternal(options = {}) {\n if (options.loadWasm) {\n warnDeprecated(\"`loadWasm` option is deprecated. Use `engine: createOnigurumaEngine(loadWasm)` instead.\");\n }\n const [\n themes,\n langs,\n engine\n ] = await Promise.all([\n resolveThemes(options.themes || []),\n resolveLangs(options.langs || []),\n options.engine || createOnigurumaEngine$1(options.loadWasm || getDefaultWasmLoader())\n ]);\n return createShikiInternalSync({\n ...options,\n loadWasm: void 0,\n themes,\n langs,\n engine\n });\n}\nfunction getShikiInternal(options = {}) {\n warnDeprecated(\"`getShikiInternal` is deprecated. Use `createShikiInternal` instead.\");\n return createShikiInternal(options);\n}\n\nasync function createHighlighterCore(options = {}) {\n const internal = await createShikiInternal(options);\n return {\n getLastGrammarState: (code, options2) => getLastGrammarState(internal, code, options2),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction createHighlighterCoreSync(options = {}) {\n const internal = createShikiInternalSync(options);\n return {\n getLastGrammarState: (code, options2) => getLastGrammarState(internal, code, options2),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction makeSingletonHighlighterCore(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighterCore2(options = {}) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: options.themes || [],\n langs: options.langs || []\n });\n return _shiki;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighterCore2;\n}\nconst getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);\nfunction getHighlighterCore(options = {}) {\n warnDeprecated(\"`getHighlighterCore` is deprecated. Use `createHighlighterCore` or `getSingletonHighlighterCore` instead.\");\n return createHighlighterCore(options);\n}\n\nfunction createdBundledHighlighter(arg1, arg2, arg3) {\n let bundledLanguages;\n let bundledThemes;\n let engine;\n if (arg2) {\n warnDeprecated(\"`createdBundledHighlighter` signature with `bundledLanguages` and `bundledThemes` is deprecated. Use the options object signature instead.\");\n bundledLanguages = arg1;\n bundledThemes = arg2;\n engine = () => createOnigurumaEngine(arg3);\n } else {\n const options = arg1;\n bundledLanguages = options.langs;\n bundledThemes = options.themes;\n engine = options.engine;\n }\n async function createHighlighter(options) {\n function resolveLang(lang) {\n if (typeof lang === \"string\") {\n if (isSpecialLang(lang))\n return [];\n const bundle = bundledLanguages[lang];\n if (!bundle)\n throw new ShikiError$1(`Language \\`${lang}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return lang;\n }\n function resolveTheme(theme) {\n if (isSpecialTheme(theme))\n return \"none\";\n if (typeof theme === \"string\") {\n const bundle = bundledThemes[theme];\n if (!bundle)\n throw new ShikiError$1(`Theme \\`${theme}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return theme;\n }\n const _themes = (options.themes ?? []).map((i) => resolveTheme(i));\n const langs = (options.langs ?? []).map((i) => resolveLang(i));\n const core = await createHighlighterCore({\n engine: engine(),\n ...options,\n themes: _themes,\n langs\n });\n return {\n ...core,\n loadLanguage(...langs2) {\n return core.loadLanguage(...langs2.map(resolveLang));\n },\n loadTheme(...themes) {\n return core.loadTheme(...themes.map(resolveTheme));\n }\n };\n }\n return createHighlighter;\n}\nfunction makeSingletonHighlighter(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighter(options = {}) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: options.themes || [],\n langs: options.langs || []\n });\n return _shiki;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighter;\n}\nfunction createSingletonShorthands(createHighlighter) {\n const getSingletonHighlighter = makeSingletonHighlighter(createHighlighter);\n return {\n getSingletonHighlighter(options) {\n return getSingletonHighlighter(options);\n },\n async codeToHtml(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToHtml(code, options);\n },\n async codeToHast(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToHast(code, options);\n },\n async codeToTokens(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToTokens(code, options);\n },\n async codeToTokensBase(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: [options.theme]\n });\n return shiki.codeToTokensBase(code, options);\n },\n async codeToTokensWithThemes(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: Object.values(options.themes).filter(Boolean)\n });\n return shiki.codeToTokensWithThemes(code, options);\n },\n async getLastGrammarState(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: [options.theme]\n });\n return shiki.getLastGrammarState(code, options);\n }\n };\n}\n\nfunction createJavaScriptRegexEngine(options) {\n warnDeprecated(\"import `createJavaScriptRegexEngine` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead\");\n return createJavaScriptRegexEngine$1(options);\n}\nfunction defaultJavaScriptRegexConstructor(pattern) {\n warnDeprecated(\"import `defaultJavaScriptRegexConstructor` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead\");\n return defaultJavaScriptRegexConstructor$1(pattern);\n}\n\nfunction createCssVariablesTheme(options = {}) {\n const {\n name = \"css-variables\",\n variablePrefix = \"--shiki-\",\n fontStyle = true\n } = options;\n const variable = (name2) => {\n if (options.variableDefaults?.[name2])\n return `var(${variablePrefix}${name2}, ${options.variableDefaults[name2]})`;\n return `var(${variablePrefix}${name2})`;\n };\n const theme = {\n name,\n type: \"dark\",\n colors: {\n \"editor.foreground\": variable(\"foreground\"),\n \"editor.background\": variable(\"background\"),\n \"terminal.ansiBlack\": variable(\"ansi-black\"),\n \"terminal.ansiRed\": variable(\"ansi-red\"),\n \"terminal.ansiGreen\": variable(\"ansi-green\"),\n \"terminal.ansiYellow\": variable(\"ansi-yellow\"),\n \"terminal.ansiBlue\": variable(\"ansi-blue\"),\n \"terminal.ansiMagenta\": variable(\"ansi-magenta\"),\n \"terminal.ansiCyan\": variable(\"ansi-cyan\"),\n \"terminal.ansiWhite\": variable(\"ansi-white\"),\n \"terminal.ansiBrightBlack\": variable(\"ansi-bright-black\"),\n \"terminal.ansiBrightRed\": variable(\"ansi-bright-red\"),\n \"terminal.ansiBrightGreen\": variable(\"ansi-bright-green\"),\n \"terminal.ansiBrightYellow\": variable(\"ansi-bright-yellow\"),\n \"terminal.ansiBrightBlue\": variable(\"ansi-bright-blue\"),\n \"terminal.ansiBrightMagenta\": variable(\"ansi-bright-magenta\"),\n \"terminal.ansiBrightCyan\": variable(\"ansi-bright-cyan\"),\n \"terminal.ansiBrightWhite\": variable(\"ansi-bright-white\")\n },\n tokenColors: [\n {\n scope: [\n \"keyword.operator.accessor\",\n \"meta.group.braces.round.function.arguments\",\n \"meta.template.expression\",\n \"markup.fenced_code meta.embedded.block\"\n ],\n settings: {\n foreground: variable(\"foreground\")\n }\n },\n {\n scope: \"emphasis\",\n settings: {\n fontStyle: \"italic\"\n }\n },\n {\n scope: [\"strong\", \"markup.heading.markdown\", \"markup.bold.markdown\"],\n settings: {\n fontStyle: \"bold\"\n }\n },\n {\n scope: [\"markup.italic.markdown\"],\n settings: {\n fontStyle: \"italic\"\n }\n },\n {\n scope: \"meta.link.inline.markdown\",\n settings: {\n fontStyle: \"underline\",\n foreground: variable(\"token-link\")\n }\n },\n {\n scope: [\"string\", \"markup.fenced_code\", \"markup.inline\"],\n settings: {\n foreground: variable(\"token-string\")\n }\n },\n {\n scope: [\"comment\", \"string.quoted.docstring.multi\"],\n settings: {\n foreground: variable(\"token-comment\")\n }\n },\n {\n scope: [\n \"constant.numeric\",\n \"constant.language\",\n \"constant.other.placeholder\",\n \"constant.character.format.placeholder\",\n \"variable.language.this\",\n \"variable.other.object\",\n \"variable.other.class\",\n \"variable.other.constant\",\n \"meta.property-name\",\n \"meta.property-value\",\n \"support\"\n ],\n settings: {\n foreground: variable(\"token-constant\")\n }\n },\n {\n scope: [\n \"keyword\",\n \"storage.modifier\",\n \"storage.type\",\n \"storage.control.clojure\",\n \"entity.name.function.clojure\",\n \"entity.name.tag.yaml\",\n \"support.function.node\",\n \"support.type.property-name.json\",\n \"punctuation.separator.key-value\",\n \"punctuation.definition.template-expression\"\n ],\n settings: {\n foreground: variable(\"token-keyword\")\n }\n },\n {\n scope: \"variable.parameter.function\",\n settings: {\n foreground: variable(\"token-parameter\")\n }\n },\n {\n scope: [\n \"support.function\",\n \"entity.name.type\",\n \"entity.other.inherited-class\",\n \"meta.function-call\",\n \"meta.instance.constructor\",\n \"entity.other.attribute-name\",\n \"entity.name.function\",\n \"constant.keyword.clojure\"\n ],\n settings: {\n foreground: variable(\"token-function\")\n }\n },\n {\n scope: [\n \"entity.name.tag\",\n \"string.quoted\",\n \"string.regexp\",\n \"string.interpolated\",\n \"string.template\",\n \"string.unquoted.plain.out.yaml\",\n \"keyword.other.template\"\n ],\n settings: {\n foreground: variable(\"token-string-expression\")\n }\n },\n {\n scope: [\n \"punctuation.definition.arguments\",\n \"punctuation.definition.dict\",\n \"punctuation.separator\",\n \"meta.function-call.arguments\"\n ],\n settings: {\n foreground: variable(\"token-punctuation\")\n }\n },\n {\n // [Custom] Markdown links\n scope: [\n \"markup.underline.link\",\n \"punctuation.definition.metadata.markdown\"\n ],\n settings: {\n foreground: variable(\"token-link\")\n }\n },\n {\n // [Custom] Markdown list\n scope: [\"beginning.punctuation.definition.list.markdown\"],\n settings: {\n foreground: variable(\"token-string\")\n }\n },\n {\n // [Custom] Markdown punctuation definition brackets\n scope: [\n \"punctuation.definition.string.begin.markdown\",\n \"punctuation.definition.string.end.markdown\",\n \"string.other.link.title.markdown\",\n \"string.other.link.description.markdown\"\n ],\n settings: {\n foreground: variable(\"token-keyword\")\n }\n },\n {\n // [Custom] Diff\n scope: [\n \"markup.inserted\",\n \"meta.diff.header.to-file\",\n \"punctuation.definition.inserted\"\n ],\n settings: {\n foreground: variable(\"token-inserted\")\n }\n },\n {\n scope: [\n \"markup.deleted\",\n \"meta.diff.header.from-file\",\n \"punctuation.definition.deleted\"\n ],\n settings: {\n foreground: variable(\"token-deleted\")\n }\n },\n {\n scope: [\n \"markup.changed\",\n \"punctuation.definition.changed\"\n ],\n settings: {\n foreground: variable(\"token-changed\")\n }\n }\n ]\n };\n if (!fontStyle) {\n theme.tokenColors = theme.tokenColors?.map((tokenColor) => {\n if (tokenColor.settings?.fontStyle)\n delete tokenColor.settings.fontStyle;\n return tokenColor;\n });\n }\n return theme;\n}\n\nexport { addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createCssVariablesTheme, createHighlighterCore, createHighlighterCoreSync, createJavaScriptRegexEngine, createOnigurumaEngine, createPositionConverter, createShikiInternal, createShikiInternalSync, createSingletonShorthands, createWasmOnigEngine, createdBundledHighlighter, defaultJavaScriptRegexConstructor, getHighlighterCore, getShikiInternal, getSingletonHighlighterCore, getTokenStyleObject, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, loadWasm, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations, warnDeprecated };\n","import { bundledLanguages } from './langs.mjs';\nexport { bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo } from './langs.mjs';\nimport { bundledThemes } from './themes.mjs';\nexport { bundledThemesInfo } from './themes.mjs';\nexport { g as getWasmInlined } from './wasm-dynamic-K7LwWlz7.js';\nimport { createdBundledHighlighter, createSingletonShorthands, warnDeprecated } from '@shikijs/core';\nexport * from '@shikijs/core';\nimport { createOnigurumaEngine } from '@shikijs/engine-oniguruma';\n\nconst createHighlighter = /* @__PURE__ */ createdBundledHighlighter({\n langs: bundledLanguages,\n themes: bundledThemes,\n engine: () => createOnigurumaEngine(import('shiki/wasm'))\n});\nconst {\n codeToHtml,\n codeToHast,\n codeToTokens,\n codeToTokensBase,\n codeToTokensWithThemes,\n getSingletonHighlighter,\n getLastGrammarState\n} = /* @__PURE__ */ createSingletonShorthands(\n createHighlighter\n);\nconst getHighlighter = (options) => {\n warnDeprecated(\"`getHighlighter` is deprecated. Use `createHighlighter` or `getSingletonHighlighter` instead.\");\n return createHighlighter(options);\n};\n\nexport { bundledLanguages, bundledThemes, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createHighlighter, getHighlighter, getLastGrammarState, getSingletonHighlighter };\n","const bundledLanguagesInfo = [\n {\n \"id\": \"abap\",\n \"name\": \"ABAP\",\n \"import\": () => import('./langs/abap.mjs')\n },\n {\n \"id\": \"actionscript-3\",\n \"name\": \"ActionScript\",\n \"import\": () => import('./langs/actionscript-3.mjs')\n },\n {\n \"id\": \"ada\",\n \"name\": \"Ada\",\n \"import\": () => import('./langs/ada.mjs')\n },\n {\n \"id\": \"angular-html\",\n \"name\": \"Angular HTML\",\n \"import\": () => import('./langs/angular-html.mjs')\n },\n {\n \"id\": \"angular-ts\",\n \"name\": \"Angular TypeScript\",\n \"import\": () => import('./langs/angular-ts.mjs')\n },\n {\n \"id\": \"apache\",\n \"name\": \"Apache Conf\",\n \"import\": () => import('./langs/apache.mjs')\n },\n {\n \"id\": \"apex\",\n \"name\": \"Apex\",\n \"import\": () => import('./langs/apex.mjs')\n },\n {\n \"id\": \"apl\",\n \"name\": \"APL\",\n \"import\": () => import('./langs/apl.mjs')\n },\n {\n \"id\": \"applescript\",\n \"name\": \"AppleScript\",\n \"import\": () => import('./langs/applescript.mjs')\n },\n {\n \"id\": \"ara\",\n \"name\": \"Ara\",\n \"import\": () => import('./langs/ara.mjs')\n },\n {\n \"id\": \"asciidoc\",\n \"name\": \"AsciiDoc\",\n \"aliases\": [\n \"adoc\"\n ],\n \"import\": () => import('./langs/asciidoc.mjs')\n },\n {\n \"id\": \"asm\",\n \"name\": \"Assembly\",\n \"import\": () => import('./langs/asm.mjs')\n },\n {\n \"id\": \"astro\",\n \"name\": \"Astro\",\n \"import\": () => import('./langs/astro.mjs')\n },\n {\n \"id\": \"awk\",\n \"name\": \"AWK\",\n \"import\": () => import('./langs/awk.mjs')\n },\n {\n \"id\": \"ballerina\",\n \"name\": \"Ballerina\",\n \"import\": () => import('./langs/ballerina.mjs')\n },\n {\n \"id\": \"bat\",\n \"name\": \"Batch File\",\n \"aliases\": [\n \"batch\"\n ],\n \"import\": () => import('./langs/bat.mjs')\n },\n {\n \"id\": \"beancount\",\n \"name\": \"Beancount\",\n \"import\": () => import('./langs/beancount.mjs')\n },\n {\n \"id\": \"berry\",\n \"name\": \"Berry\",\n \"aliases\": [\n \"be\"\n ],\n \"import\": () => import('./langs/berry.mjs')\n },\n {\n \"id\": \"bibtex\",\n \"name\": \"BibTeX\",\n \"import\": () => import('./langs/bibtex.mjs')\n },\n {\n \"id\": \"bicep\",\n \"name\": \"Bicep\",\n \"import\": () => import('./langs/bicep.mjs')\n },\n {\n \"id\": \"blade\",\n \"name\": \"Blade\",\n \"import\": () => import('./langs/blade.mjs')\n },\n {\n \"id\": \"c\",\n \"name\": \"C\",\n \"import\": () => import('./langs/c.mjs')\n },\n {\n \"id\": \"cadence\",\n \"name\": \"Cadence\",\n \"aliases\": [\n \"cdc\"\n ],\n \"import\": () => import('./langs/cadence.mjs')\n },\n {\n \"id\": \"clarity\",\n \"name\": \"Clarity\",\n \"import\": () => import('./langs/clarity.mjs')\n },\n {\n \"id\": \"clojure\",\n \"name\": \"Clojure\",\n \"aliases\": [\n \"clj\"\n ],\n \"import\": () => import('./langs/clojure.mjs')\n },\n {\n \"id\": \"cmake\",\n \"name\": \"CMake\",\n \"import\": () => import('./langs/cmake.mjs')\n },\n {\n \"id\": \"cobol\",\n \"name\": \"COBOL\",\n \"import\": () => import('./langs/cobol.mjs')\n },\n {\n \"id\": \"codeowners\",\n \"name\": \"CODEOWNERS\",\n \"import\": () => import('./langs/codeowners.mjs')\n },\n {\n \"id\": \"codeql\",\n \"name\": \"CodeQL\",\n \"aliases\": [\n \"ql\"\n ],\n \"import\": () => import('./langs/codeql.mjs')\n },\n {\n \"id\": \"coffee\",\n \"name\": \"CoffeeScript\",\n \"aliases\": [\n \"coffeescript\"\n ],\n \"import\": () => import('./langs/coffee.mjs')\n },\n {\n \"id\": \"common-lisp\",\n \"name\": \"Common Lisp\",\n \"aliases\": [\n \"lisp\"\n ],\n \"import\": () => import('./langs/common-lisp.mjs')\n },\n {\n \"id\": \"coq\",\n \"name\": \"Coq\",\n \"import\": () => import('./langs/coq.mjs')\n },\n {\n \"id\": \"cpp\",\n \"name\": \"C++\",\n \"aliases\": [\n \"c++\"\n ],\n \"import\": () => import('./langs/cpp.mjs')\n },\n {\n \"id\": \"crystal\",\n \"name\": \"Crystal\",\n \"import\": () => import('./langs/crystal.mjs')\n },\n {\n \"id\": \"csharp\",\n \"name\": \"C#\",\n \"aliases\": [\n \"c#\",\n \"cs\"\n ],\n \"import\": () => import('./langs/csharp.mjs')\n },\n {\n \"id\": \"css\",\n \"name\": \"CSS\",\n \"import\": () => import('./langs/css.mjs')\n },\n {\n \"id\": \"csv\",\n \"name\": \"CSV\",\n \"import\": () => import('./langs/csv.mjs')\n },\n {\n \"id\": \"cue\",\n \"name\": \"CUE\",\n \"import\": () => import('./langs/cue.mjs')\n },\n {\n \"id\": \"cypher\",\n \"name\": \"Cypher\",\n \"aliases\": [\n \"cql\"\n ],\n \"import\": () => import('./langs/cypher.mjs')\n },\n {\n \"id\": \"d\",\n \"name\": \"D\",\n \"import\": () => import('./langs/d.mjs')\n },\n {\n \"id\": \"dart\",\n \"name\": \"Dart\",\n \"import\": () => import('./langs/dart.mjs')\n },\n {\n \"id\": \"dax\",\n \"name\": \"DAX\",\n \"import\": () => import('./langs/dax.mjs')\n },\n {\n \"id\": \"desktop\",\n \"name\": \"Desktop\",\n \"import\": () => import('./langs/desktop.mjs')\n },\n {\n \"id\": \"diff\",\n \"name\": \"Diff\",\n \"import\": () => import('./langs/diff.mjs')\n },\n {\n \"id\": \"docker\",\n \"name\": \"Dockerfile\",\n \"aliases\": [\n \"dockerfile\"\n ],\n \"import\": () => import('./langs/docker.mjs')\n },\n {\n \"id\": \"dotenv\",\n \"name\": \"dotEnv\",\n \"import\": () => import('./langs/dotenv.mjs')\n },\n {\n \"id\": \"dream-maker\",\n \"name\": \"Dream Maker\",\n \"import\": () => import('./langs/dream-maker.mjs')\n },\n {\n \"id\": \"edge\",\n \"name\": \"Edge\",\n \"import\": () => import('./langs/edge.mjs')\n },\n {\n \"id\": \"elixir\",\n \"name\": \"Elixir\",\n \"import\": () => import('./langs/elixir.mjs')\n },\n {\n \"id\": \"elm\",\n \"name\": \"Elm\",\n \"import\": () => import('./langs/elm.mjs')\n },\n {\n \"id\": \"emacs-lisp\",\n \"name\": \"Emacs Lisp\",\n \"aliases\": [\n \"elisp\"\n ],\n \"import\": () => import('./langs/emacs-lisp.mjs')\n },\n {\n \"id\": \"erb\",\n \"name\": \"ERB\",\n \"import\": () => import('./langs/erb.mjs')\n },\n {\n \"id\": \"erlang\",\n \"name\": \"Erlang\",\n \"aliases\": [\n \"erl\"\n ],\n \"import\": () => import('./langs/erlang.mjs')\n },\n {\n \"id\": \"fennel\",\n \"name\": \"Fennel\",\n \"import\": () => import('./langs/fennel.mjs')\n },\n {\n \"id\": \"fish\",\n \"name\": \"Fish\",\n \"import\": () => import('./langs/fish.mjs')\n },\n {\n \"id\": \"fluent\",\n \"name\": \"Fluent\",\n \"aliases\": [\n \"ftl\"\n ],\n \"import\": () => import('./langs/fluent.mjs')\n },\n {\n \"id\": \"fortran-fixed-form\",\n \"name\": \"Fortran (Fixed Form)\",\n \"aliases\": [\n \"f\",\n \"for\",\n \"f77\"\n ],\n \"import\": () => import('./langs/fortran-fixed-form.mjs')\n },\n {\n \"id\": \"fortran-free-form\",\n \"name\": \"Fortran (Free Form)\",\n \"aliases\": [\n \"f90\",\n \"f95\",\n \"f03\",\n \"f08\",\n \"f18\"\n ],\n \"import\": () => import('./langs/fortran-free-form.mjs')\n },\n {\n \"id\": \"fsharp\",\n \"name\": \"F#\",\n \"aliases\": [\n \"f#\",\n \"fs\"\n ],\n \"import\": () => import('./langs/fsharp.mjs')\n },\n {\n \"id\": \"gdresource\",\n \"name\": \"GDResource\",\n \"import\": () => import('./langs/gdresource.mjs')\n },\n {\n \"id\": \"gdscript\",\n \"name\": \"GDScript\",\n \"import\": () => import('./langs/gdscript.mjs')\n },\n {\n \"id\": \"gdshader\",\n \"name\": \"GDShader\",\n \"import\": () => import('./langs/gdshader.mjs')\n },\n {\n \"id\": \"genie\",\n \"name\": \"Genie\",\n \"import\": () => import('./langs/genie.mjs')\n },\n {\n \"id\": \"gherkin\",\n \"name\": \"Gherkin\",\n \"import\": () => import('./langs/gherkin.mjs')\n },\n {\n \"id\": \"git-commit\",\n \"name\": \"Git Commit Message\",\n \"import\": () => import('./langs/git-commit.mjs')\n },\n {\n \"id\": \"git-rebase\",\n \"name\": \"Git Rebase Message\",\n \"import\": () => import('./langs/git-rebase.mjs')\n },\n {\n \"id\": \"gleam\",\n \"name\": \"Gleam\",\n \"import\": () => import('./langs/gleam.mjs')\n },\n {\n \"id\": \"glimmer-js\",\n \"name\": \"Glimmer JS\",\n \"aliases\": [\n \"gjs\"\n ],\n \"import\": () => import('./langs/glimmer-js.mjs')\n },\n {\n \"id\": \"glimmer-ts\",\n \"name\": \"Glimmer TS\",\n \"aliases\": [\n \"gts\"\n ],\n \"import\": () => import('./langs/glimmer-ts.mjs')\n },\n {\n \"id\": \"glsl\",\n \"name\": \"GLSL\",\n \"import\": () => import('./langs/glsl.mjs')\n },\n {\n \"id\": \"gnuplot\",\n \"name\": \"Gnuplot\",\n \"import\": () => import('./langs/gnuplot.mjs')\n },\n {\n \"id\": \"go\",\n \"name\": \"Go\",\n \"import\": () => import('./langs/go.mjs')\n },\n {\n \"id\": \"graphql\",\n \"name\": \"GraphQL\",\n \"aliases\": [\n \"gql\"\n ],\n \"import\": () => import('./langs/graphql.mjs')\n },\n {\n \"id\": \"groovy\",\n \"name\": \"Groovy\",\n \"import\": () => import('./langs/groovy.mjs')\n },\n {\n \"id\": \"hack\",\n \"name\": \"Hack\",\n \"import\": () => import('./langs/hack.mjs')\n },\n {\n \"id\": \"haml\",\n \"name\": \"Ruby Haml\",\n \"import\": () => import('./langs/haml.mjs')\n },\n {\n \"id\": \"handlebars\",\n \"name\": \"Handlebars\",\n \"aliases\": [\n \"hbs\"\n ],\n \"import\": () => import('./langs/handlebars.mjs')\n },\n {\n \"id\": \"haskell\",\n \"name\": \"Haskell\",\n \"aliases\": [\n \"hs\"\n ],\n \"import\": () => import('./langs/haskell.mjs')\n },\n {\n \"id\": \"haxe\",\n \"name\": \"Haxe\",\n \"import\": () => import('./langs/haxe.mjs')\n },\n {\n \"id\": \"hcl\",\n \"name\": \"HashiCorp HCL\",\n \"import\": () => import('./langs/hcl.mjs')\n },\n {\n \"id\": \"hjson\",\n \"name\": \"Hjson\",\n \"import\": () => import('./langs/hjson.mjs')\n },\n {\n \"id\": \"hlsl\",\n \"name\": \"HLSL\",\n \"import\": () => import('./langs/hlsl.mjs')\n },\n {\n \"id\": \"html\",\n \"name\": \"HTML\",\n \"import\": () => import('./langs/html.mjs')\n },\n {\n \"id\": \"html-derivative\",\n \"name\": \"HTML (Derivative)\",\n \"import\": () => import('./langs/html-derivative.mjs')\n },\n {\n \"id\": \"http\",\n \"name\": \"HTTP\",\n \"import\": () => import('./langs/http.mjs')\n },\n {\n \"id\": \"hxml\",\n \"name\": \"HXML\",\n \"import\": () => import('./langs/hxml.mjs')\n },\n {\n \"id\": \"hy\",\n \"name\": \"Hy\",\n \"import\": () => import('./langs/hy.mjs')\n },\n {\n \"id\": \"imba\",\n \"name\": \"Imba\",\n \"import\": () => import('./langs/imba.mjs')\n },\n {\n \"id\": \"ini\",\n \"name\": \"INI\",\n \"aliases\": [\n \"properties\"\n ],\n \"import\": () => import('./langs/ini.mjs')\n },\n {\n \"id\": \"java\",\n \"name\": \"Java\",\n \"import\": () => import('./langs/java.mjs')\n },\n {\n \"id\": \"javascript\",\n \"name\": \"JavaScript\",\n \"aliases\": [\n \"js\"\n ],\n \"import\": () => import('./langs/javascript.mjs')\n },\n {\n \"id\": \"jinja\",\n \"name\": \"Jinja\",\n \"import\": () => import('./langs/jinja.mjs')\n },\n {\n \"id\": \"jison\",\n \"name\": \"Jison\",\n \"import\": () => import('./langs/jison.mjs')\n },\n {\n \"id\": \"json\",\n \"name\": \"JSON\",\n \"import\": () => import('./langs/json.mjs')\n },\n {\n \"id\": \"json5\",\n \"name\": \"JSON5\",\n \"import\": () => import('./langs/json5.mjs')\n },\n {\n \"id\": \"jsonc\",\n \"name\": \"JSON with Comments\",\n \"import\": () => import('./langs/jsonc.mjs')\n },\n {\n \"id\": \"jsonl\",\n \"name\": \"JSON Lines\",\n \"import\": () => import('./langs/jsonl.mjs')\n },\n {\n \"id\": \"jsonnet\",\n \"name\": \"Jsonnet\",\n \"import\": () => import('./langs/jsonnet.mjs')\n },\n {\n \"id\": \"jssm\",\n \"name\": \"JSSM\",\n \"aliases\": [\n \"fsl\"\n ],\n \"import\": () => import('./langs/jssm.mjs')\n },\n {\n \"id\": \"jsx\",\n \"name\": \"JSX\",\n \"import\": () => import('./langs/jsx.mjs')\n },\n {\n \"id\": \"julia\",\n \"name\": \"Julia\",\n \"aliases\": [\n \"jl\"\n ],\n \"import\": () => import('./langs/julia.mjs')\n },\n {\n \"id\": \"kotlin\",\n \"name\": \"Kotlin\",\n \"aliases\": [\n \"kt\",\n \"kts\"\n ],\n \"import\": () => import('./langs/kotlin.mjs')\n },\n {\n \"id\": \"kusto\",\n \"name\": \"Kusto\",\n \"aliases\": [\n \"kql\"\n ],\n \"import\": () => import('./langs/kusto.mjs')\n },\n {\n \"id\": \"latex\",\n \"name\": \"LaTeX\",\n \"import\": () => import('./langs/latex.mjs')\n },\n {\n \"id\": \"lean\",\n \"name\": \"Lean 4\",\n \"aliases\": [\n \"lean4\"\n ],\n \"import\": () => import('./langs/lean.mjs')\n },\n {\n \"id\": \"less\",\n \"name\": \"Less\",\n \"import\": () => import('./langs/less.mjs')\n },\n {\n \"id\": \"liquid\",\n \"name\": \"Liquid\",\n \"import\": () => import('./langs/liquid.mjs')\n },\n {\n \"id\": \"log\",\n \"name\": \"Log file\",\n \"import\": () => import('./langs/log.mjs')\n },\n {\n \"id\": \"logo\",\n \"name\": \"Logo\",\n \"import\": () => import('./langs/logo.mjs')\n },\n {\n \"id\": \"lua\",\n \"name\": \"Lua\",\n \"import\": () => import('./langs/lua.mjs')\n },\n {\n \"id\": \"luau\",\n \"name\": \"Luau\",\n \"import\": () => import('./langs/luau.mjs')\n },\n {\n \"id\": \"make\",\n \"name\": \"Makefile\",\n \"aliases\": [\n \"makefile\"\n ],\n \"import\": () => import('./langs/make.mjs')\n },\n {\n \"id\": \"markdown\",\n \"name\": \"Markdown\",\n \"aliases\": [\n \"md\"\n ],\n \"import\": () => import('./langs/markdown.mjs')\n },\n {\n \"id\": \"marko\",\n \"name\": \"Marko\",\n \"import\": () => import('./langs/marko.mjs')\n },\n {\n \"id\": \"matlab\",\n \"name\": \"MATLAB\",\n \"import\": () => import('./langs/matlab.mjs')\n },\n {\n \"id\": \"mdc\",\n \"name\": \"MDC\",\n \"import\": () => import('./langs/mdc.mjs')\n },\n {\n \"id\": \"mdx\",\n \"name\": \"MDX\",\n \"import\": () => import('./langs/mdx.mjs')\n },\n {\n \"id\": \"mermaid\",\n \"name\": \"Mermaid\",\n \"import\": () => import('./langs/mermaid.mjs')\n },\n {\n \"id\": \"mojo\",\n \"name\": \"Mojo\",\n \"import\": () => import('./langs/mojo.mjs')\n },\n {\n \"id\": \"move\",\n \"name\": \"Move\",\n \"import\": () => import('./langs/move.mjs')\n },\n {\n \"id\": \"narrat\",\n \"name\": \"Narrat Language\",\n \"aliases\": [\n \"nar\"\n ],\n \"import\": () => import('./langs/narrat.mjs')\n },\n {\n \"id\": \"nextflow\",\n \"name\": \"Nextflow\",\n \"aliases\": [\n \"nf\"\n ],\n \"import\": () => import('./langs/nextflow.mjs')\n },\n {\n \"id\": \"nginx\",\n \"name\": \"Nginx\",\n \"import\": () => import('./langs/nginx.mjs')\n },\n {\n \"id\": \"nim\",\n \"name\": \"Nim\",\n \"import\": () => import('./langs/nim.mjs')\n },\n {\n \"id\": \"nix\",\n \"name\": \"Nix\",\n \"import\": () => import('./langs/nix.mjs')\n },\n {\n \"id\": \"nushell\",\n \"name\": \"nushell\",\n \"aliases\": [\n \"nu\"\n ],\n \"import\": () => import('./langs/nushell.mjs')\n },\n {\n \"id\": \"objective-c\",\n \"name\": \"Objective-C\",\n \"aliases\": [\n \"objc\"\n ],\n \"import\": () => import('./langs/objective-c.mjs')\n },\n {\n \"id\": \"objective-cpp\",\n \"name\": \"Objective-C++\",\n \"import\": () => import('./langs/objective-cpp.mjs')\n },\n {\n \"id\": \"ocaml\",\n \"name\": \"OCaml\",\n \"import\": () => import('./langs/ocaml.mjs')\n },\n {\n \"id\": \"pascal\",\n \"name\": \"Pascal\",\n \"import\": () => import('./langs/pascal.mjs')\n },\n {\n \"id\": \"perl\",\n \"name\": \"Perl\",\n \"import\": () => import('./langs/perl.mjs')\n },\n {\n \"id\": \"php\",\n \"name\": \"PHP\",\n \"import\": () => import('./langs/php.mjs')\n },\n {\n \"id\": \"plsql\",\n \"name\": \"PL/SQL\",\n \"import\": () => import('./langs/plsql.mjs')\n },\n {\n \"id\": \"po\",\n \"name\": \"Gettext PO\",\n \"aliases\": [\n \"pot\",\n \"potx\"\n ],\n \"import\": () => import('./langs/po.mjs')\n },\n {\n \"id\": \"postcss\",\n \"name\": \"PostCSS\",\n \"import\": () => import('./langs/postcss.mjs')\n },\n {\n \"id\": \"powerquery\",\n \"name\": \"PowerQuery\",\n \"import\": () => import('./langs/powerquery.mjs')\n },\n {\n \"id\": \"powershell\",\n \"name\": \"PowerShell\",\n \"aliases\": [\n \"ps\",\n \"ps1\"\n ],\n \"import\": () => import('./langs/powershell.mjs')\n },\n {\n \"id\": \"prisma\",\n \"name\": \"Prisma\",\n \"import\": () => import('./langs/prisma.mjs')\n },\n {\n \"id\": \"prolog\",\n \"name\": \"Prolog\",\n \"import\": () => import('./langs/prolog.mjs')\n },\n {\n \"id\": \"proto\",\n \"name\": \"Protocol Buffer 3\",\n \"aliases\": [\n \"protobuf\"\n ],\n \"import\": () => import('./langs/proto.mjs')\n },\n {\n \"id\": \"pug\",\n \"name\": \"Pug\",\n \"aliases\": [\n \"jade\"\n ],\n \"import\": () => import('./langs/pug.mjs')\n },\n {\n \"id\": \"puppet\",\n \"name\": \"Puppet\",\n \"import\": () => import('./langs/puppet.mjs')\n },\n {\n \"id\": \"purescript\",\n \"name\": \"PureScript\",\n \"import\": () => import('./langs/purescript.mjs')\n },\n {\n \"id\": \"python\",\n \"name\": \"Python\",\n \"aliases\": [\n \"py\"\n ],\n \"import\": () => import('./langs/python.mjs')\n },\n {\n \"id\": \"qml\",\n \"name\": \"QML\",\n \"import\": () => import('./langs/qml.mjs')\n },\n {\n \"id\": \"qmldir\",\n \"name\": \"QML Directory\",\n \"import\": () => import('./langs/qmldir.mjs')\n },\n {\n \"id\": \"qss\",\n \"name\": \"Qt Style Sheets\",\n \"import\": () => import('./langs/qss.mjs')\n },\n {\n \"id\": \"r\",\n \"name\": \"R\",\n \"import\": () => import('./langs/r.mjs')\n },\n {\n \"id\": \"racket\",\n \"name\": \"Racket\",\n \"import\": () => import('./langs/racket.mjs')\n },\n {\n \"id\": \"raku\",\n \"name\": \"Raku\",\n \"aliases\": [\n \"perl6\"\n ],\n \"import\": () => import('./langs/raku.mjs')\n },\n {\n \"id\": \"razor\",\n \"name\": \"ASP.NET Razor\",\n \"import\": () => import('./langs/razor.mjs')\n },\n {\n \"id\": \"reg\",\n \"name\": \"Windows Registry Script\",\n \"import\": () => import('./langs/reg.mjs')\n },\n {\n \"id\": \"regexp\",\n \"name\": \"RegExp\",\n \"aliases\": [\n \"regex\"\n ],\n \"import\": () => import('./langs/regexp.mjs')\n },\n {\n \"id\": \"rel\",\n \"name\": \"Rel\",\n \"import\": () => import('./langs/rel.mjs')\n },\n {\n \"id\": \"riscv\",\n \"name\": \"RISC-V\",\n \"import\": () => import('./langs/riscv.mjs')\n },\n {\n \"id\": \"rst\",\n \"name\": \"reStructuredText\",\n \"import\": () => import('./langs/rst.mjs')\n },\n {\n \"id\": \"ruby\",\n \"name\": \"Ruby\",\n \"aliases\": [\n \"rb\"\n ],\n \"import\": () => import('./langs/ruby.mjs')\n },\n {\n \"id\": \"rust\",\n \"name\": \"Rust\",\n \"aliases\": [\n \"rs\"\n ],\n \"import\": () => import('./langs/rust.mjs')\n },\n {\n \"id\": \"sas\",\n \"name\": \"SAS\",\n \"import\": () => import('./langs/sas.mjs')\n },\n {\n \"id\": \"sass\",\n \"name\": \"Sass\",\n \"import\": () => import('./langs/sass.mjs')\n },\n {\n \"id\": \"scala\",\n \"name\": \"Scala\",\n \"import\": () => import('./langs/scala.mjs')\n },\n {\n \"id\": \"scheme\",\n \"name\": \"Scheme\",\n \"import\": () => import('./langs/scheme.mjs')\n },\n {\n \"id\": \"scss\",\n \"name\": \"SCSS\",\n \"import\": () => import('./langs/scss.mjs')\n },\n {\n \"id\": \"shaderlab\",\n \"name\": \"ShaderLab\",\n \"aliases\": [\n \"shader\"\n ],\n \"import\": () => import('./langs/shaderlab.mjs')\n },\n {\n \"id\": \"shellscript\",\n \"name\": \"Shell\",\n \"aliases\": [\n \"bash\",\n \"sh\",\n \"shell\",\n \"zsh\"\n ],\n \"import\": () => import('./langs/shellscript.mjs')\n },\n {\n \"id\": \"shellsession\",\n \"name\": \"Shell Session\",\n \"aliases\": [\n \"console\"\n ],\n \"import\": () => import('./langs/shellsession.mjs')\n },\n {\n \"id\": \"smalltalk\",\n \"name\": \"Smalltalk\",\n \"import\": () => import('./langs/smalltalk.mjs')\n },\n {\n \"id\": \"solidity\",\n \"name\": \"Solidity\",\n \"import\": () => import('./langs/solidity.mjs')\n },\n {\n \"id\": \"soy\",\n \"name\": \"Closure Templates\",\n \"aliases\": [\n \"closure-templates\"\n ],\n \"import\": () => import('./langs/soy.mjs')\n },\n {\n \"id\": \"sparql\",\n \"name\": \"SPARQL\",\n \"import\": () => import('./langs/sparql.mjs')\n },\n {\n \"id\": \"splunk\",\n \"name\": \"Splunk Query Language\",\n \"aliases\": [\n \"spl\"\n ],\n \"import\": () => import('./langs/splunk.mjs')\n },\n {\n \"id\": \"sql\",\n \"name\": \"SQL\",\n \"import\": () => import('./langs/sql.mjs')\n },\n {\n \"id\": \"ssh-config\",\n \"name\": \"SSH Config\",\n \"import\": () => import('./langs/ssh-config.mjs')\n },\n {\n \"id\": \"stata\",\n \"name\": \"Stata\",\n \"import\": () => import('./langs/stata.mjs')\n },\n {\n \"id\": \"stylus\",\n \"name\": \"Stylus\",\n \"aliases\": [\n \"styl\"\n ],\n \"import\": () => import('./langs/stylus.mjs')\n },\n {\n \"id\": \"svelte\",\n \"name\": \"Svelte\",\n \"import\": () => import('./langs/svelte.mjs')\n },\n {\n \"id\": \"swift\",\n \"name\": \"Swift\",\n \"import\": () => import('./langs/swift.mjs')\n },\n {\n \"id\": \"system-verilog\",\n \"name\": \"SystemVerilog\",\n \"import\": () => import('./langs/system-verilog.mjs')\n },\n {\n \"id\": \"systemd\",\n \"name\": \"Systemd Units\",\n \"import\": () => import('./langs/systemd.mjs')\n },\n {\n \"id\": \"tasl\",\n \"name\": \"Tasl\",\n \"import\": () => import('./langs/tasl.mjs')\n },\n {\n \"id\": \"tcl\",\n \"name\": \"Tcl\",\n \"import\": () => import('./langs/tcl.mjs')\n },\n {\n \"id\": \"templ\",\n \"name\": \"Templ\",\n \"import\": () => import('./langs/templ.mjs')\n },\n {\n \"id\": \"terraform\",\n \"name\": \"Terraform\",\n \"aliases\": [\n \"tf\",\n \"tfvars\"\n ],\n \"import\": () => import('./langs/terraform.mjs')\n },\n {\n \"id\": \"tex\",\n \"name\": \"TeX\",\n \"import\": () => import('./langs/tex.mjs')\n },\n {\n \"id\": \"toml\",\n \"name\": \"TOML\",\n \"import\": () => import('./langs/toml.mjs')\n },\n {\n \"id\": \"ts-tags\",\n \"name\": \"TypeScript with Tags\",\n \"aliases\": [\n \"lit\"\n ],\n \"import\": () => import('./langs/ts-tags.mjs')\n },\n {\n \"id\": \"tsv\",\n \"name\": \"TSV\",\n \"import\": () => import('./langs/tsv.mjs')\n },\n {\n \"id\": \"tsx\",\n \"name\": \"TSX\",\n \"import\": () => import('./langs/tsx.mjs')\n },\n {\n \"id\": \"turtle\",\n \"name\": \"Turtle\",\n \"import\": () => import('./langs/turtle.mjs')\n },\n {\n \"id\": \"twig\",\n \"name\": \"Twig\",\n \"import\": () => import('./langs/twig.mjs')\n },\n {\n \"id\": \"typescript\",\n \"name\": \"TypeScript\",\n \"aliases\": [\n \"ts\"\n ],\n \"import\": () => import('./langs/typescript.mjs')\n },\n {\n \"id\": \"typespec\",\n \"name\": \"TypeSpec\",\n \"aliases\": [\n \"tsp\"\n ],\n \"import\": () => import('./langs/typespec.mjs')\n },\n {\n \"id\": \"typst\",\n \"name\": \"Typst\",\n \"aliases\": [\n \"typ\"\n ],\n \"import\": () => import('./langs/typst.mjs')\n },\n {\n \"id\": \"v\",\n \"name\": \"V\",\n \"import\": () => import('./langs/v.mjs')\n },\n {\n \"id\": \"vala\",\n \"name\": \"Vala\",\n \"import\": () => import('./langs/vala.mjs')\n },\n {\n \"id\": \"vb\",\n \"name\": \"Visual Basic\",\n \"aliases\": [\n \"cmd\"\n ],\n \"import\": () => import('./langs/vb.mjs')\n },\n {\n \"id\": \"verilog\",\n \"name\": \"Verilog\",\n \"import\": () => import('./langs/verilog.mjs')\n },\n {\n \"id\": \"vhdl\",\n \"name\": \"VHDL\",\n \"import\": () => import('./langs/vhdl.mjs')\n },\n {\n \"id\": \"viml\",\n \"name\": \"Vim Script\",\n \"aliases\": [\n \"vim\",\n \"vimscript\"\n ],\n \"import\": () => import('./langs/viml.mjs')\n },\n {\n \"id\": \"vue\",\n \"name\": \"Vue\",\n \"import\": () => import('./langs/vue.mjs')\n },\n {\n \"id\": \"vue-html\",\n \"name\": \"Vue HTML\",\n \"import\": () => import('./langs/vue-html.mjs')\n },\n {\n \"id\": \"vyper\",\n \"name\": \"Vyper\",\n \"aliases\": [\n \"vy\"\n ],\n \"import\": () => import('./langs/vyper.mjs')\n },\n {\n \"id\": \"wasm\",\n \"name\": \"WebAssembly\",\n \"import\": () => import('./langs/wasm.mjs')\n },\n {\n \"id\": \"wenyan\",\n \"name\": \"Wenyan\",\n \"aliases\": [\n \"\\u6587\\u8A00\"\n ],\n \"import\": () => import('./langs/wenyan.mjs')\n },\n {\n \"id\": \"wgsl\",\n \"name\": \"WGSL\",\n \"import\": () => import('./langs/wgsl.mjs')\n },\n {\n \"id\": \"wikitext\",\n \"name\": \"Wikitext\",\n \"aliases\": [\n \"mediawiki\",\n \"wiki\"\n ],\n \"import\": () => import('./langs/wikitext.mjs')\n },\n {\n \"id\": \"wolfram\",\n \"name\": \"Wolfram\",\n \"aliases\": [\n \"wl\"\n ],\n \"import\": () => import('./langs/wolfram.mjs')\n },\n {\n \"id\": \"xml\",\n \"name\": \"XML\",\n \"import\": () => import('./langs/xml.mjs')\n },\n {\n \"id\": \"xsl\",\n \"name\": \"XSL\",\n \"import\": () => import('./langs/xsl.mjs')\n },\n {\n \"id\": \"yaml\",\n \"name\": \"YAML\",\n \"aliases\": [\n \"yml\"\n ],\n \"import\": () => import('./langs/yaml.mjs')\n },\n {\n \"id\": \"zenscript\",\n \"name\": \"ZenScript\",\n \"import\": () => import('./langs/zenscript.mjs')\n },\n {\n \"id\": \"zig\",\n \"name\": \"Zig\",\n \"import\": () => import('./langs/zig.mjs')\n }\n];\nconst bundledLanguagesBase = Object.fromEntries(bundledLanguagesInfo.map((i) => [i.id, i.import]));\nconst bundledLanguagesAlias = Object.fromEntries(bundledLanguagesInfo.flatMap((i) => i.aliases?.map((a) => [a, i.import]) || []));\nconst bundledLanguages = {\n ...bundledLanguagesBase,\n ...bundledLanguagesAlias\n};\n\nexport { bundledLanguages, bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo };\n","const bundledThemesInfo = [\n {\n \"id\": \"andromeeda\",\n \"displayName\": \"Andromeeda\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/andromeeda.mjs')\n },\n {\n \"id\": \"aurora-x\",\n \"displayName\": \"Aurora X\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/aurora-x.mjs')\n },\n {\n \"id\": \"ayu-dark\",\n \"displayName\": \"Ayu Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/ayu-dark.mjs')\n },\n {\n \"id\": \"catppuccin-frappe\",\n \"displayName\": \"Catppuccin Frapp\\xE9\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-frappe.mjs')\n },\n {\n \"id\": \"catppuccin-latte\",\n \"displayName\": \"Catppuccin Latte\",\n \"type\": \"light\",\n \"import\": () => import('./themes/catppuccin-latte.mjs')\n },\n {\n \"id\": \"catppuccin-macchiato\",\n \"displayName\": \"Catppuccin Macchiato\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-macchiato.mjs')\n },\n {\n \"id\": \"catppuccin-mocha\",\n \"displayName\": \"Catppuccin Mocha\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-mocha.mjs')\n },\n {\n \"id\": \"dark-plus\",\n \"displayName\": \"Dark Plus\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dark-plus.mjs')\n },\n {\n \"id\": \"dracula\",\n \"displayName\": \"Dracula Theme\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dracula.mjs')\n },\n {\n \"id\": \"dracula-soft\",\n \"displayName\": \"Dracula Theme Soft\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dracula-soft.mjs')\n },\n {\n \"id\": \"everforest-dark\",\n \"displayName\": \"Everforest Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/everforest-dark.mjs')\n },\n {\n \"id\": \"everforest-light\",\n \"displayName\": \"Everforest Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/everforest-light.mjs')\n },\n {\n \"id\": \"github-dark\",\n \"displayName\": \"GitHub Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark.mjs')\n },\n {\n \"id\": \"github-dark-default\",\n \"displayName\": \"GitHub Dark Default\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-default.mjs')\n },\n {\n \"id\": \"github-dark-dimmed\",\n \"displayName\": \"GitHub Dark Dimmed\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-dimmed.mjs')\n },\n {\n \"id\": \"github-dark-high-contrast\",\n \"displayName\": \"GitHub Dark High Contrast\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-high-contrast.mjs')\n },\n {\n \"id\": \"github-light\",\n \"displayName\": \"GitHub Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light.mjs')\n },\n {\n \"id\": \"github-light-default\",\n \"displayName\": \"GitHub Light Default\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light-default.mjs')\n },\n {\n \"id\": \"github-light-high-contrast\",\n \"displayName\": \"GitHub Light High Contrast\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light-high-contrast.mjs')\n },\n {\n \"id\": \"houston\",\n \"displayName\": \"Houston\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/houston.mjs')\n },\n {\n \"id\": \"laserwave\",\n \"displayName\": \"LaserWave\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/laserwave.mjs')\n },\n {\n \"id\": \"light-plus\",\n \"displayName\": \"Light Plus\",\n \"type\": \"light\",\n \"import\": () => import('./themes/light-plus.mjs')\n },\n {\n \"id\": \"material-theme\",\n \"displayName\": \"Material Theme\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme.mjs')\n },\n {\n \"id\": \"material-theme-darker\",\n \"displayName\": \"Material Theme Darker\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-darker.mjs')\n },\n {\n \"id\": \"material-theme-lighter\",\n \"displayName\": \"Material Theme Lighter\",\n \"type\": \"light\",\n \"import\": () => import('./themes/material-theme-lighter.mjs')\n },\n {\n \"id\": \"material-theme-ocean\",\n \"displayName\": \"Material Theme Ocean\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-ocean.mjs')\n },\n {\n \"id\": \"material-theme-palenight\",\n \"displayName\": \"Material Theme Palenight\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-palenight.mjs')\n },\n {\n \"id\": \"min-dark\",\n \"displayName\": \"Min Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/min-dark.mjs')\n },\n {\n \"id\": \"min-light\",\n \"displayName\": \"Min Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/min-light.mjs')\n },\n {\n \"id\": \"monokai\",\n \"displayName\": \"Monokai\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/monokai.mjs')\n },\n {\n \"id\": \"night-owl\",\n \"displayName\": \"Night Owl\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/night-owl.mjs')\n },\n {\n \"id\": \"nord\",\n \"displayName\": \"Nord\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/nord.mjs')\n },\n {\n \"id\": \"one-dark-pro\",\n \"displayName\": \"One Dark Pro\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/one-dark-pro.mjs')\n },\n {\n \"id\": \"one-light\",\n \"displayName\": \"One Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/one-light.mjs')\n },\n {\n \"id\": \"plastic\",\n \"displayName\": \"Plastic\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/plastic.mjs')\n },\n {\n \"id\": \"poimandres\",\n \"displayName\": \"Poimandres\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/poimandres.mjs')\n },\n {\n \"id\": \"red\",\n \"displayName\": \"Red\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/red.mjs')\n },\n {\n \"id\": \"rose-pine\",\n \"displayName\": \"Ros\\xE9 Pine\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/rose-pine.mjs')\n },\n {\n \"id\": \"rose-pine-dawn\",\n \"displayName\": \"Ros\\xE9 Pine Dawn\",\n \"type\": \"light\",\n \"import\": () => import('./themes/rose-pine-dawn.mjs')\n },\n {\n \"id\": \"rose-pine-moon\",\n \"displayName\": \"Ros\\xE9 Pine Moon\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/rose-pine-moon.mjs')\n },\n {\n \"id\": \"slack-dark\",\n \"displayName\": \"Slack Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/slack-dark.mjs')\n },\n {\n \"id\": \"slack-ochin\",\n \"displayName\": \"Slack Ochin\",\n \"type\": \"light\",\n \"import\": () => import('./themes/slack-ochin.mjs')\n },\n {\n \"id\": \"snazzy-light\",\n \"displayName\": \"Snazzy Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/snazzy-light.mjs')\n },\n {\n \"id\": \"solarized-dark\",\n \"displayName\": \"Solarized Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/solarized-dark.mjs')\n },\n {\n \"id\": \"solarized-light\",\n \"displayName\": \"Solarized Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/solarized-light.mjs')\n },\n {\n \"id\": \"synthwave-84\",\n \"displayName\": \"Synthwave '84\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/synthwave-84.mjs')\n },\n {\n \"id\": \"tokyo-night\",\n \"displayName\": \"Tokyo Night\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/tokyo-night.mjs')\n },\n {\n \"id\": \"vesper\",\n \"displayName\": \"Vesper\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vesper.mjs')\n },\n {\n \"id\": \"vitesse-black\",\n \"displayName\": \"Vitesse Black\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vitesse-black.mjs')\n },\n {\n \"id\": \"vitesse-dark\",\n \"displayName\": \"Vitesse Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vitesse-dark.mjs')\n },\n {\n \"id\": \"vitesse-light\",\n \"displayName\": \"Vitesse Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/vitesse-light.mjs')\n }\n];\nconst bundledThemes = Object.fromEntries(bundledThemesInfo.map((i) => [i.id, i.import]));\n\nexport { bundledThemes, bundledThemesInfo };\n","class ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nexport { ShikiError };\n","/**\n * List of HTML void tag names.\n *\n * @type {Array<string>}\n */\nexport const htmlVoidElements = [\n 'area',\n 'base',\n 'basefont',\n 'bgsound',\n 'br',\n 'col',\n 'command',\n 'embed',\n 'frame',\n 'hr',\n 'image',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr'\n]\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n blocking: spaceSeparated,\n capture: null,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n fetchPriority: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inert: boolean,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforeMatch: null,\n onBeforePrint: null,\n onBeforeToggle: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onScrollEnd: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n popover: null,\n popoverTarget: null,\n popoverTargetAction: null,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shadowRootClonable: boolean,\n shadowRootDelegatesFocus: boolean,\n shadowRootMode: null,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n writingSuggestions: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n})\n","import {\n boolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n space: 'svg',\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n transformOrigin: 'transform-origin',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null, // SEMI_COLON_SEPARATED\n keySplines: null, // SEMI_COLON_SEPARATED\n keyTimes: null, // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n transformOrigin: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n})\n","/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], 'svg')\n","/**\n * @callback Handler\n * Handle a value, with a certain ID field set to a certain value.\n * The ID field is passed to `zwitch`, and it’s value is this function’s\n * place on the `handlers` record.\n * @param {...any} parameters\n * Arbitrary parameters passed to the zwitch.\n * The first will be an object with a certain ID field set to a certain value.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback UnknownHandler\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @param {unknown} value\n * An object with a certain ID field set to an unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback InvalidHandler\n * Handle values that do not have a certain ID field.\n * @param {unknown} value\n * Any unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {void|null|undefined|never}\n * This should crash or return nothing.\n */\n\n/**\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @typedef Options\n * Configuration (required).\n * @property {Invalid} [invalid]\n * Handler to use for invalid values.\n * @property {Unknown} [unknown]\n * Handler to use for unknown values.\n * @property {Handlers} [handlers]\n * Handlers to use.\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Handle values based on a field.\n *\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @param {string} key\n * Field to switch on.\n * @param {Options<Invalid, Unknown, Handlers>} [options]\n * Configuration (required).\n * @returns {{unknown: Unknown, invalid: Invalid, handlers: Handlers, (...parameters: Parameters<Handlers[keyof Handlers]>): ReturnType<Handlers[keyof Handlers]>, (...parameters: Parameters<Unknown>): ReturnType<Unknown>}}\n */\nexport function zwitch(key, options) {\n const settings = options || {}\n\n /**\n * Handle one value.\n *\n * Based on the bound `key`, a respective handler will be called.\n * If `value` is not an object, or doesn’t have a `key` property, the special\n * “invalid” handler will be called.\n * If `value` has an unknown `key`, the special “unknown” handler will be\n * called.\n *\n * All arguments, and the context object, are passed through to the handler,\n * and it’s result is returned.\n *\n * @this {unknown}\n * Any context object.\n * @param {unknown} [value]\n * Any value.\n * @param {...unknown} parameters\n * Arbitrary parameters passed to the zwitch.\n * @property {Handler} invalid\n * Handle for values that do not have a certain ID field.\n * @property {Handler} unknown\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @property {Handlers} handlers\n * Record of handlers.\n * @returns {unknown}\n * Anything.\n */\n function one(value, ...parameters) {\n /** @type {Handler|undefined} */\n let fn = one.invalid\n const handlers = one.handlers\n\n if (value && own.call(value, key)) {\n // @ts-expect-error Indexable.\n const id = String(value[key])\n // @ts-expect-error Indexable.\n fn = own.call(handlers, id) ? handlers[id] : one.unknown\n }\n\n if (fn) {\n return fn.call(this, value, ...parameters)\n }\n }\n\n one.handlers = settings.handlers || {}\n one.invalid = settings.invalid\n one.unknown = settings.unknown\n\n // @ts-expect-error: matches!\n return one\n}\n","/**\n * List of legacy HTML named character references that don’t need a trailing semicolon.\n *\n * @type {Array<string>}\n */\nexport const characterEntitiesLegacy = [\n 'AElig',\n 'AMP',\n 'Aacute',\n 'Acirc',\n 'Agrave',\n 'Aring',\n 'Atilde',\n 'Auml',\n 'COPY',\n 'Ccedil',\n 'ETH',\n 'Eacute',\n 'Ecirc',\n 'Egrave',\n 'Euml',\n 'GT',\n 'Iacute',\n 'Icirc',\n 'Igrave',\n 'Iuml',\n 'LT',\n 'Ntilde',\n 'Oacute',\n 'Ocirc',\n 'Ograve',\n 'Oslash',\n 'Otilde',\n 'Ouml',\n 'QUOT',\n 'REG',\n 'THORN',\n 'Uacute',\n 'Ucirc',\n 'Ugrave',\n 'Uuml',\n 'Yacute',\n 'aacute',\n 'acirc',\n 'acute',\n 'aelig',\n 'agrave',\n 'amp',\n 'aring',\n 'atilde',\n 'auml',\n 'brvbar',\n 'ccedil',\n 'cedil',\n 'cent',\n 'copy',\n 'curren',\n 'deg',\n 'divide',\n 'eacute',\n 'ecirc',\n 'egrave',\n 'eth',\n 'euml',\n 'frac12',\n 'frac14',\n 'frac34',\n 'gt',\n 'iacute',\n 'icirc',\n 'iexcl',\n 'igrave',\n 'iquest',\n 'iuml',\n 'laquo',\n 'lt',\n 'macr',\n 'micro',\n 'middot',\n 'nbsp',\n 'not',\n 'ntilde',\n 'oacute',\n 'ocirc',\n 'ograve',\n 'ordf',\n 'ordm',\n 'oslash',\n 'otilde',\n 'ouml',\n 'para',\n 'plusmn',\n 'pound',\n 'quot',\n 'raquo',\n 'reg',\n 'sect',\n 'shy',\n 'sup1',\n 'sup2',\n 'sup3',\n 'szlig',\n 'thorn',\n 'times',\n 'uacute',\n 'ucirc',\n 'ugrave',\n 'uml',\n 'uuml',\n 'yacute',\n 'yen',\n 'yuml'\n]\n","/**\n * Map of named character references from HTML 4.\n *\n * @type {Record<string, string>}\n */\nexport const characterEntitiesHtml4 = {\n nbsp: ' ',\n iexcl: '¡',\n cent: '¢',\n pound: '£',\n curren: '¤',\n yen: '¥',\n brvbar: '¦',\n sect: '§',\n uml: '¨',\n copy: '©',\n ordf: 'ª',\n laquo: '«',\n not: '¬',\n shy: '',\n reg: '®',\n macr: '¯',\n deg: '°',\n plusmn: '±',\n sup2: '²',\n sup3: '³',\n acute: '´',\n micro: 'µ',\n para: '¶',\n middot: '·',\n cedil: '¸',\n sup1: '¹',\n ordm: 'º',\n raquo: '»',\n frac14: '¼',\n frac12: '½',\n frac34: '¾',\n iquest: '¿',\n Agrave: 'À',\n Aacute: 'Á',\n Acirc: 'Â',\n Atilde: 'Ã',\n Auml: 'Ä',\n Aring: 'Å',\n AElig: 'Æ',\n Ccedil: 'Ç',\n Egrave: 'È',\n Eacute: 'É',\n Ecirc: 'Ê',\n Euml: 'Ë',\n Igrave: 'Ì',\n Iacute: 'Í',\n Icirc: 'Î',\n Iuml: 'Ï',\n ETH: 'Ð',\n Ntilde: 'Ñ',\n Ograve: 'Ò',\n Oacute: 'Ó',\n Ocirc: 'Ô',\n Otilde: 'Õ',\n Ouml: 'Ö',\n times: '×',\n Oslash: 'Ø',\n Ugrave: 'Ù',\n Uacute: 'Ú',\n Ucirc: 'Û',\n Uuml: 'Ü',\n Yacute: 'Ý',\n THORN: 'Þ',\n szlig: 'ß',\n agrave: 'à',\n aacute: 'á',\n acirc: 'â',\n atilde: 'ã',\n auml: 'ä',\n aring: 'å',\n aelig: 'æ',\n ccedil: 'ç',\n egrave: 'è',\n eacute: 'é',\n ecirc: 'ê',\n euml: 'ë',\n igrave: 'ì',\n iacute: 'í',\n icirc: 'î',\n iuml: 'ï',\n eth: 'ð',\n ntilde: 'ñ',\n ograve: 'ò',\n oacute: 'ó',\n ocirc: 'ô',\n otilde: 'õ',\n ouml: 'ö',\n divide: '÷',\n oslash: 'ø',\n ugrave: 'ù',\n uacute: 'ú',\n ucirc: 'û',\n uuml: 'ü',\n yacute: 'ý',\n thorn: 'þ',\n yuml: 'ÿ',\n fnof: 'ƒ',\n Alpha: 'Α',\n Beta: 'Β',\n Gamma: 'Γ',\n Delta: 'Δ',\n Epsilon: 'Ε',\n Zeta: 'Ζ',\n Eta: 'Η',\n Theta: 'Θ',\n Iota: 'Ι',\n Kappa: 'Κ',\n Lambda: 'Λ',\n Mu: 'Μ',\n Nu: 'Ν',\n Xi: 'Ξ',\n Omicron: 'Ο',\n Pi: 'Π',\n Rho: 'Ρ',\n Sigma: 'Σ',\n Tau: 'Τ',\n Upsilon: 'Υ',\n Phi: 'Φ',\n Chi: 'Χ',\n Psi: 'Ψ',\n Omega: 'Ω',\n alpha: 'α',\n beta: 'β',\n gamma: 'γ',\n delta: 'δ',\n epsilon: 'ε',\n zeta: 'ζ',\n eta: 'η',\n theta: 'θ',\n iota: 'ι',\n kappa: 'κ',\n lambda: 'λ',\n mu: 'μ',\n nu: 'ν',\n xi: 'ξ',\n omicron: 'ο',\n pi: 'π',\n rho: 'ρ',\n sigmaf: 'ς',\n sigma: 'σ',\n tau: 'τ',\n upsilon: 'υ',\n phi: 'φ',\n chi: 'χ',\n psi: 'ψ',\n omega: 'ω',\n thetasym: 'ϑ',\n upsih: 'ϒ',\n piv: 'ϖ',\n bull: '•',\n hellip: '…',\n prime: '′',\n Prime: '″',\n oline: '‾',\n frasl: '⁄',\n weierp: '℘',\n image: 'ℑ',\n real: 'ℜ',\n trade: '™',\n alefsym: 'ℵ',\n larr: '←',\n uarr: '↑',\n rarr: '→',\n darr: '↓',\n harr: '↔',\n crarr: '↵',\n lArr: '⇐',\n uArr: '⇑',\n rArr: '⇒',\n dArr: '⇓',\n hArr: '⇔',\n forall: '∀',\n part: '∂',\n exist: '∃',\n empty: '∅',\n nabla: '∇',\n isin: '∈',\n notin: '∉',\n ni: '∋',\n prod: '∏',\n sum: '∑',\n minus: '−',\n lowast: '∗',\n radic: '√',\n prop: '∝',\n infin: '∞',\n ang: '∠',\n and: '∧',\n or: '∨',\n cap: '∩',\n cup: '∪',\n int: '∫',\n there4: '∴',\n sim: '∼',\n cong: '≅',\n asymp: '≈',\n ne: '≠',\n equiv: '≡',\n le: '≤',\n ge: '≥',\n sub: '⊂',\n sup: '⊃',\n nsub: '⊄',\n sube: '⊆',\n supe: '⊇',\n oplus: '⊕',\n otimes: '⊗',\n perp: '⊥',\n sdot: '⋅',\n lceil: '⌈',\n rceil: '⌉',\n lfloor: '⌊',\n rfloor: '⌋',\n lang: '〈',\n rang: '〉',\n loz: '◊',\n spades: '♠',\n clubs: '♣',\n hearts: '♥',\n diams: '♦',\n quot: '\"',\n amp: '&',\n lt: '<',\n gt: '>',\n OElig: 'Œ',\n oelig: 'œ',\n Scaron: 'Š',\n scaron: 'š',\n Yuml: 'Ÿ',\n circ: 'ˆ',\n tilde: '˜',\n ensp: ' ',\n emsp: ' ',\n thinsp: ' ',\n zwnj: '',\n zwj: '',\n lrm: '',\n rlm: '',\n ndash: '–',\n mdash: '—',\n lsquo: '‘',\n rsquo: '’',\n sbquo: '‚',\n ldquo: '“',\n rdquo: '”',\n bdquo: '„',\n dagger: '†',\n Dagger: '‡',\n permil: '‰',\n lsaquo: '‹',\n rsaquo: '›',\n euro: '€'\n}\n","/**\n * List of legacy (that don’t need a trailing `;`) named references which could,\n * depending on what follows them, turn into a different meaning\n *\n * @type {Array<string>}\n */\nexport const dangerous = [\n 'cent',\n 'copy',\n 'divide',\n 'gt',\n 'lt',\n 'not',\n 'para',\n 'times'\n]\n","/**\n * @import {Comment, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\nconst htmlCommentRegex = /^>|^->|<!--|-->|--!>|<!-$/g\n\n// Declare arrays as variables so it can be cached by `stringifyEntities`\nconst bogusCommentEntitySubset = ['>']\nconst commentEntitySubset = ['<', '>']\n\n/**\n * Serialize a comment.\n *\n * @param {Comment} node\n * Node to handle.\n * @param {number | undefined} _1\n * Index of `node` in `parent.\n * @param {Parents | undefined} _2\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function comment(node, _1, _2, state) {\n // See: <https://html.spec.whatwg.org/multipage/syntax.html#comments>\n return state.settings.bogusComments\n ? '<?' +\n stringifyEntities(\n node.value,\n Object.assign({}, state.settings.characterReferences, {\n subset: bogusCommentEntitySubset\n })\n ) +\n '>'\n : '<!--' + node.value.replace(htmlCommentRegex, encode) + '-->'\n\n /**\n * @param {string} $0\n */\n function encode($0) {\n return stringifyEntities(\n $0,\n Object.assign({}, state.settings.characterReferences, {\n subset: commentEntitySubset\n })\n )\n }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter, siblingBefore} from './util/siblings.js'\nimport {closing} from './closing.js'\nimport {omission} from './omission.js'\n\nexport const opening = omission({\n body,\n colgroup,\n head,\n html,\n tbody\n})\n\n/**\n * Whether to omit `<html>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction html(node) {\n const head = siblingAfter(node, -1)\n return !head || head.type !== 'comment'\n}\n\n/**\n * Whether to omit `<head>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction head(node) {\n /** @type {Set<string>} */\n const seen = new Set()\n\n // Whether `srcdoc` or not,\n // make sure the content model at least doesn’t have too many `base`s/`title`s.\n for (const child of node.children) {\n if (\n child.type === 'element' &&\n (child.tagName === 'base' || child.tagName === 'title')\n ) {\n if (seen.has(child.tagName)) return false\n seen.add(child.tagName)\n }\n }\n\n // “May be omitted if the element is empty,\n // or if the first thing inside the head element is an element.”\n const child = node.children[0]\n return !child || child.type === 'element'\n}\n\n/**\n * Whether to omit `<body>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction body(node) {\n const head = siblingAfter(node, -1, true)\n\n return (\n !head ||\n (head.type !== 'comment' &&\n !(head.type === 'text' && whitespace(head.value.charAt(0))) &&\n !(\n head.type === 'element' &&\n (head.tagName === 'meta' ||\n head.tagName === 'link' ||\n head.tagName === 'script' ||\n head.tagName === 'style' ||\n head.tagName === 'template')\n ))\n )\n}\n\n/**\n * Whether to omit `<colgroup>`.\n * The spec describes some logic for the opening tag, but it’s easier to\n * implement in the closing tag, to the same effect, so we handle it there\n * instead.\n *\n * @param {Element} node\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction colgroup(node, index, parent) {\n const previous = siblingBefore(parent, index)\n const head = siblingAfter(node, -1, true)\n\n // Previous colgroup was already omitted.\n if (\n parent &&\n previous &&\n previous.type === 'element' &&\n previous.tagName === 'colgroup' &&\n closing(previous, parent.children.indexOf(previous), parent)\n ) {\n return false\n }\n\n return Boolean(head && head.type === 'element' && head.tagName === 'col')\n}\n\n/**\n * Whether to omit `<tbody>`.\n *\n * @param {Element} node\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction tbody(node, index, parent) {\n const previous = siblingBefore(parent, index)\n const head = siblingAfter(node, -1)\n\n // Previous table section was already omitted.\n if (\n parent &&\n previous &&\n previous.type === 'element' &&\n (previous.tagName === 'thead' || previous.tagName === 'tbody') &&\n closing(previous, parent.children.indexOf(previous), parent)\n ) {\n return false\n }\n\n return Boolean(head && head.type === 'element' && head.tagName === 'tr')\n}\n","/**\n * @import {Nodes, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {zwitch} from 'zwitch'\nimport {comment} from './comment.js'\nimport {doctype} from './doctype.js'\nimport {element} from './element.js'\nimport {raw} from './raw.js'\nimport {root} from './root.js'\nimport {text} from './text.js'\n\n/**\n * @type {(node: Nodes, index: number | undefined, parent: Parents | undefined, state: State) => string}\n */\nexport const handle = zwitch('type', {\n invalid,\n unknown,\n handlers: {comment, doctype, element, raw, root, text}\n})\n\n/**\n * Fail when a non-node is found in the tree.\n *\n * @param {unknown} node\n * Unknown value.\n * @returns {never}\n * Never.\n */\nfunction invalid(node) {\n throw new Error('Expected node, not `' + node + '`')\n}\n\n/**\n * Fail when a node with an unknown type is found in the tree.\n *\n * @param {unknown} node_\n * Unknown node.\n * @returns {never}\n * Never.\n */\nfunction unknown(node_) {\n // `type` is guaranteed by runtime JS.\n const node = /** @type {Nodes} */ (node_)\n throw new Error('Cannot compile unknown node `' + node.type + '`')\n}\n","/**\n * @import {Doctype, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a doctype.\n *\n * @param {Doctype} _1\n * Node to handle.\n * @param {number | undefined} _2\n * Index of `node` in `parent.\n * @param {Parents | undefined} _3\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function doctype(_1, _2, _3, state) {\n return (\n '<!' +\n (state.settings.upperDoctype ? 'DOCTYPE' : 'doctype') +\n (state.settings.tightDoctype ? '' : ' ') +\n 'html>'\n )\n}\n","/**\n * @import {Parents} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {text} from './text.js'\n\n/**\n * Serialize a raw node.\n *\n * @param {Raw} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function raw(node, index, parent, state) {\n return state.settings.allowDangerousHtml\n ? node.value\n : text(node, index, parent, state)\n}\n","/**\n * @import {Parents, Root} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a root.\n *\n * @param {Root} node\n * Node to handle.\n * @param {number | undefined} _1\n * Index of `node` in `parent.\n * @param {Parents | undefined} _2\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function root(node, _1, _2, state) {\n return state.all(node)\n}\n","/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html, property, CSSResultArray, TemplateResult, PropertyValueMap } from 'lit-element';\nimport { customElement, state } from 'lit/decorators.js';\nimport { styles } from './nile-highlighter.css';\nimport NileElement from '../internal/nile-element';\n\nimport { createHighlighter } from 'shiki'\nimport { ShikiTheme, ShikiLanguage, themes, languages } from './theme-list';\n\n\n/**\n * Nile highlighter component.\n *\n * @tag nile-highlighter\n *\n */\n@customElement('nile-highlighter')\nexport class NileHighlighter extends NileElement {\n\n\t@property({ type: String}) code = ``;\n\t\n\t@property({ type: String, reflect:true }) language : ShikiLanguage = 'javascript';\n\n\t@property({ type: String, reflect:true }) theme: ShikiTheme = 'min-light';\n\n\t@state() highlightedCode = '';\n\n\tprivate highlighter:any;\n\t\n\t/**\n\t * The styles for nile-highlighter\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\n\t/* #endregion */\n\n\tasync connectedCallback(): Promise<void> {\n\t\tthis.highlighter = await createHighlighter({\n\t\t\tthemes: [...themes],\n\t\t\tlangs: [...languages],\n\t\t})\n\t}\n\n\tprotected async updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>) {\n\t\tif (changedProperties.has('code') || changedProperties.has('language') || changedProperties.has('theme')) {\n\t\t\tthis.highlightedCode = await this.highlighter.codeToHtml(this.code, {\n\t\t\t\tlang: this.language,\n\t\t\t\ttheme: this.theme\n\t\t\t})\n\t\t}\n\t}\n\t/* #region Methods */\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\t\treturn html`\n\t\t\t\t<div class=\"code-container\" .innerHTML=${this.highlightedCode}></div>\n\t\t\t`;\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileHighlighter;\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'nile-highlighter': NileHighlighter;\n\t}\n}"],"names":["_emscripten_get_now","performance","now","Date","main","async","init","e","n","i","updateGlobalBufferAndViews","emscripten_realloc_buffer","UTF8ToString","ptr","maxBytesToRead","heapOrArray","idx","endIdx","endPtr","buffer","UTF8Decoder","decode","subarray","str","u0","String","fromCharCode","u1","u2","ch","UTF8ArrayToString","binding","HEAPU8","size","wasmMemory","grow","byteLength","_unused","buf","Uint8Array","HEAPU32","Uint32Array","TextDecoder","undefined","asmLibraryArg","emscripten_get_now","emscripten_memcpy_big","dest","src","num","copyWithin","emscripten_resize_heap","requestedSize","oldSize","length","maxHeapSize","cutDown","overGrownHeapSize","Math","min","alignUp","max","fd_write","_context9","next","info","env","wasi_snapshot_preview1","exports","memory","Object","assign","_context8","stop","_callee7","createWasm","_callee8","_j","apply","arguments","loadWasm","options","initPromise","_regeneratorRuntime","wrap","_callee2$","_context3","prev","instance","instantiator","dataOrOptions","isInstantiatorModule","data","isDataOptionsObject","Response","isResponse","ArrayBuffer","isView","Buffer","isBuffer","SharedArrayBuffer","isArrayBuffer","WebAssembly","Module","_makeArrayBufferLoader","default","instantiateStreaming","importObject","_ref3","_asyncToGenerator","mark","arrayBuffer","instantiate","_context2","_callee","_x3","_makeResponseNonStreamingLoader","_callee2","onigBinding","_load","createOnigurumaEngine","createScanner","patterns","OnigScanner","createString","s","OnigString","_context10","_callee9","_L","doClone","something","Array","isArray","arr","r","len","cloneArray","obj","key","cloneObj","mergeObjects","target","sources","forEach","source","basename","path","lastIndexOf","substring","substr","strcmp","a","b","strArrCmp","len1","len2","res","isValidHexColor","hex","test","escapeRegExpCharacters","value","replace","_matchesScope","scopeName","scopePattern","startsWith","createMatchers","selector","matchesName","results","tokenizer","input","regex","match","exec","newTokenizer","token","priority","charAt","console","log","concat","matcher","parseConjunction","push","parseOperand","expressionToNegate","matcherInput","expressionInParents","matchers","some","matcher2","parseInnerExpression","isIdentifier","identifiers","every","disposeOnigString","dispose","collectReferencesOfReference","reference","baseGrammarScopeName","repo","result","selfGrammar","lookup","Error","baseGrammar","TopLevelRuleReference","collectExternalReferencesInTopLevelRule","collectExternalReferencesInTopLevelRepositoryRule","ruleName","repository","injections","_iterator4","_createForOfIteratorHelper","_step4","done","injection","add","err","f","context","collectExternalReferencesInRules","values","_objectSpread","rules","_iterator5","_step5","rule","visitedRule","has","patternRepository","include","parseInclude","kind","newContext","TopLevelRepositoryRuleReference","BaseReference","SelfReference","indexOfSharp","indexOf","TopLevelReference","RelativeReference","TopLevelRepositoryReference","_tokenizeString","grammar","lineText","isFirstLine","linePos","stack","lineTokens","checkWhileConditions","timeLimit","lineLength","content","STOP","anchorPosition","whileCheckResult","beginRuleCapturedEOL","whileRules","node","pop","nodeRule","getRule","BeginWhileRule","whileRule","_Pt","prepareRuleWhileSearch","endRule","ruleScanner","findOptions","findNextMatchSync","ruleId","whileRuleId","captureIndices","produce","start","handleCaptures","whileCaptures","end","_checkWhileConditions","startTime","TokenizeStringResult","scanNext","p","matchResult","prepareRuleSearch","matchedRuleId","matchRule","getInjections","injectionResult","bestMatchRuleId","bestMatchRating","Number","MAX_VALUE","bestMatchCaptureIndices","bestMatchResultPriority","scopes","contentNameScopesList","getScopeNames","matchRating","priorityMatch","matchInjections","matchResultScore","injectionResultScore","matchRuleOrInjections","hasAdvanced","endRuleId","poppedRule","withContentNameScopesList","nameScopesList","endCaptures","popped","parent","getAnchorPos","getEnterPos","_rule","beforePush","getName","pushAttributed","BeginEndRule","pushedRule","beginCaptures","contentName","getContentName","endHasBackReferences","withEndRule","getEndWithResolvedBackReferences","hasSameRuleAs","whileHasBackReferences","getWhileWithResolvedBackReferences","captures","safePop","endRegexSource","allowA","allowG","compileAG","compileWhileAG","lineTextContent","localStack","maxEnd","captureRule","captureIndex","endPos","produceFromScopes","retokenizeCapturedWithRuleId","stackClone","onigSubStr","createOnigString","captureRuleScopeName","captureRuleScopesList","LocalStackElement","collectInjections","ruleFactoryHelper","nameMatcher","RuleFactory","getCompiledRuleId","_iterator9","_step9","debugSelector","identifers","lastIndex","identifier","scopesAreMatching","thisScopeName","initGrammar","base","$self","$vscodeTextmateLocation","name","$base","merge","definitions","space","property","normal","index","Schema","normalize","toLowerCase","increment","le","pow","powers","create","definition","prop","properties","own","call","DefinedInfo","transform","attributes","mustUseProperty","includes","attribute","caseSensitiveTransform","caseInsensitiveTransform","kebab","$0","camelcase","toUpperCase","core","subset","cached","subsetToRegexCache","get","groups","regexEscapeRegex","RegExp","join","charactersToExpression","set","charactersToExpressionCached","defaultSubsetRegex","basic","escapeOnly","surrogatePairsRegex","pair","all","format","charCodeAt","controlCharactersRegex","character","formatSmart","code","named","numeric","omit","toString","hexadecimalRegex","toHexadecimal","omitOptionalSemicolons","useNamedReferences","useShortestReferences","characters","characterEntitiesLegacy","dangerous","notAlphanumericRegex","toNamed","decimal","decimalRegex","toDecimal","stringifyEntities","ccount","TypeError","count","stringify","settings","_toConsumableArray","padRight","padLeft","trim","whitespace","thing","_typeof","type","empty","re","siblings","includeWhitespace","children","emptyChildren","offset","omission","handlers","tagName","headOrColgroupOrCaption","_","siblingAfter","rubyElement","cells","serializeAttribute","state","schema","Type","Info","slice","valid","rest","dash","dashes","cap","find","x","allowParseErrors","y","allowDangerousCharacters","quote","overloadedBoolean","Boolean","isNaN","characterReferences","constants","commaSeparated","commas","spaces","tightCommaSeparatedLists","collapseEmptyAttributes","preferUnquoted","unquoted","quoteSmart","alternative","single","text","textEntitySubset","one","handle","this","splitLines","preserveEnding","parts","split","lines","_n34","line","isPlainLang","lang","isSpecialLang","isNoneTheme","theme","isSpecialTheme","addClassToHast","className","_a","class","targets","_iterator19","_step19","c","normalizeGetter","Promise","resolve","then","_context11","_callee10","_Tn","resolveColorReplacements","replacements","colorReplacements","themeName","_i12","_Object$entries","entries","_Object$entries$_i","_slicedToArray","applyColorReplacements","color","getTokenStyleObject","styles","bgColor","fontStyle","FontStyle","Italic","Bold","Underline","stringifyTokenStyle","map","_ref6","_ref7","transformerDecorations","WeakMap","getContext","shiki","meta","normalizePosition","ShikiError","converter","indexToPos","JSON","posToIndex","_ref8","_ref9","_iterator20","_step20","createPositionConverter","decorations","d","items","foo","j","bar","isFooHasBarStart","isFooHasBarEnd","isBarHasFooStart","isBarHasFooEnd","verifyIntersections","tokens","_this$options$decorat","splitted","breakpoints","sorted","from","Set","sort","flatMap","breakpointsInToken","filter","offsets","lastOffset","_iterator21","_step21","splitToken","splitTokens","codeEl","_this$options$decorat2","ctx","applyLineSection","decoration","lineEl","startIndex","endIndex","POSITIVE_INFINITY","alwaysWrap","wrapper","applyDecoration","splice","applyLine","el","_e$properties","lineApplies","_iterator22","_loop2","_i14","unshift","_step22","_loop","getTransformers","transformers","builtInTransformers","findSequence","position","nextEscape","nextClose","sequence","startPosition","parseColor","colorMode","rgb","parseInt","colorIndex","parseSequence","commands","codeInt","namedColors","_Un","_Un3","createColorPalette","defaultNamedColorsMap","namedColorsMap","namedColor","rgbColor","padStart","colorTable","tableColor","levels","g","level","getColorTable","tokenizeAnsiWithTheme","fileContents","colorPalette","fromEntries","_t$colors","colors","parser","foreground","background","decorations2","parse","findResult","_iterator23","_step23","styleToken","clear","delete","_iterator24","_step24","createAnsiSequenceParser","bg","fg","hexMatch","alpha","round","cssVarMatch","dimColor","None","codeToTokensBase","internal","_n$lang","getLoadedThemes","_t$setTheme","setTheme","colorMap","_grammar","getLanguage","grammarState","ShikiError$1","_tokenizeWithTheme","tokenizeWithTheme","tokenizeMaxLineLength","tokenizeTimeLimit","stateStack","GrammarState","_stack","getGrammarStack","grammarContextCode","INITIAL","actual","final","_a$_t","lineOffset","resultWithScopes","tokensWithScopes","tokensWithScopesIndex","includeExplanation","tokenizeLine","tokenizeLine2","tokensLength","nextStartIndex","metadata","EncodedTokenMetadata","getForeground","getFontStyle","themeSettingsSelectors","_iterator25","_step25","setting","selectors","scope","explanation","tokenWithScopes","tokenWithScopesText","explainThemeScopesFull","ruleStack","themeSelectors","themeMatches","explainThemeScope","matchesOne","matches","parentScopes","selectorParentIndex","parentIndex","_iterator26","_step26","_step26$value","_step27","_iterator27","selectorPieces","codeToTokensWithThemes","themes","_len3","_key3","outThemes","_loop3","_i21","t","outLines","i2","indexes","current","l","minLength","syncThemesTokenization","mergedTokens","lineIdx","_token","tokenIdx","mergedToken","variants","themeIdx","_t$e$o","__","___","codeToTokens","rootStyle","_n$defaultColor","defaultColor","cssVariablePrefix","themeTokens","themeRegs","getTheme","themesOrder","merged","variantsOrder","styleKeys","keys","mergedStyles","cur","_step28","_iterator28","keyName","varKey","htmlStyle","mergeToken","themeColorReplacements","_theme","codeToHast","_options","transformerContext","_code","_iterator29","_step29","transformer","preprocess","_ni","_n$mergeWhitespaces","mergeWhitespaces","newLine","carryOnContent","firstOffset","couldMerge","mergeWhitespaceTokens","_e44","leading","trailing","expanded","splitWhitespaceTokens","contextSource","_iterator30","_step30","root","structure","tabindex","preNode","style","_ref10","_ref11","codeNode","lineNodes","pre","lineNode","col","_iterator31","_step31","tokenNode","htmlAttrs","_iterator33","_step33","span","_iterator32","_step32","_iterator34","_step34","_iterator35","_step35","_iterator36","_step36","tokensToHast","codeToHtml","tree","options_","emptyOptions","omitOptionalTags","tightAttributes","upperDoctype","tightDoctype","bogusComments","tightSelfClosing","allowDangerousHtml","voids","htmlVoidElements","emptyCharacterReferences","closeSelfClosing","closeEmptyElements","svg","html","toHtml","_iterator37","_step37","postprocess","normalizeTheme","rawTheme","RESOLVED_KEY","tokenColors","_t96$settings","_t96$settings2","_e$colors","_e$colors2","globalSetting","VSCODE_FALLBACK_EDITOR_FG","light","dark","VSCODE_FALLBACK_EDITOR_BG","replacementCount","replacementMap","Map","getReplacementColor","_e$colorReplacements","_t$settings","_t$settings2","replaceFg","replaceBg","clone","replacement","_i23","_Object$keys2","_e$colors$_t","defineProperty","enumerable","writable","resolveLangs","langs","flat","resolveThemes","_context15","_callee14","_ui","createShikiInternal","_context18","engine","createOnigurumaEngine$1","_defaultWasmLoader","_yield$Promise$all","sent","_yield$Promise$all2","instancesCount","warnings","warn","isDisposed","resolver","Resolver","_registry","Registry","langAlias","_lastTheme","ensureNotDisposed","loadLanguageSync","langs2","loadLanguages","loadThemeSync","themes2","_len7","_iterator41","_step41","loadTheme","u","_defineProperty","getColorMap","_lang","getGrammar","getLoadedLanguages","loadLanguage","_len8","_key8","_args15","_context16","t0","_context17","t1","abrupt","_callee16","_loadTheme","m","Symbol","createShikiInternalSync","_callee17","createHighlighterCore","getLastGrammarState","options2","_n$lang2","_n$theme2","_t$setTheme2","getInternalContext","_context19","_callee18","_bi","createdBundledHighlighter","arg1","arg2","arg3","bundledLanguages","bundledThemes","o","_ref22","resolveLang","resolveTheme","bundle","_themes","_t$themes","_t$langs","_len4","_len5","_context5","_callee4","_x8","setters","_tslib","bundledLanguagesInfo","id","import","_import","_context","aliases","bundledThemesInfo","displayName","h","message","super","_this","_inherits","_Error","_createClass","_wrapNativeSuper","_this2","multiple","UtfString","v","utf16Length","utf8Length","_utf8ByteLength","computeIndicesMapping","utf16OffsetToUtf8","utf8OffsetToUtf16","utf8Value","i8","i16","charCode","codePoint","wasSurrogatePair","nextCharCode","utf16Value","omalloc","codepoint","k","LAST_ID","_onigBinding","utfString","_sharedPtrInUse","_sharedPtr","convertUtf8OffsetToUtf16","utf8Offset","convertUtf16OffsetToUtf8","utf16Offset","ofree","static","S","_classCallCheck","strPtrsArr","strLenArr","strPtrsPtr","strLenPtr","scannerPtr","createOnigScanner","getLastOnigError","throwLastOnigError","_ptr","freeOnigScanner","string","arg","_findNextMatchSync","debugCall","resultPtr","findNextOnigScannerMatch","beg","CAPTURING_REGEX_SOURCE","RegexSource","hasCaptures","regexSource","replaceCaptures","captureSource","commandIndex","command","capture","CachedFn","$","fn","cache","Theme","B","_colorMap","_defaults","_root","_cachedMatchRoot","getDefaults","scopePath","effectiveRule","scopeMustMatch","_scopePathMatchesParentScopes","StyleAttributes","ScopeStack","createFromRawTheme","createFromParsedTheme","resultLen","entry","_scope","segments","lenJ","reverse","ParsedThemeRule","parseTheme","parsedThemeRules","defaultFontStyle","defaultForeground","defaultBackground","incomingDefaults","shift","ColorMap","defaults","getId","ThemeTrieElement","ThemeTrieElementRule","insert","resolveParsedThemeRules","_ScopeStack","getSegments","item","_extends","other","getExtensionIfDefined","scopeNames","_iterator","_step","q","foregroundId","backgroundId","FontStyle2","NotSet","Strikethrough","F","_lastColorId","_id2color","_color2id","_isFrozen","emptyParentScopes","freeze","scopeDepth","_ThemeTrieElementRule","acceptOverwrite","cloneArr","_mainRule","rulesWithParentScopes","_children","_rulesWithParentScopes","head","tail","dotIndex","hasOwnProperty","_ThemeTrieElement","_cmpBySpecificity","_doInsertHere","child","aParentIndex","bParentIndex","parentScopeLengthDiff","toBinaryStr","encodedTokenAttributes","print","languageId","_EncodedTokenMetadata","getLanguageId","tokenType","getTokenType","getBackground","containsBalancedBrackets","_languageId","_tokenType","_containsBalancedBracketsBit","_fontStyle","_foreground","_background","K","toKey","Q","ExternalReferenceCollector","Z","_references","_seenReferenceKeys","ScopeDependencyProcessor","tt","initialScopeName","seenFullScopeRequests","seenPartialScopeRequests","processQueue","deps","_iterator2","_step2","dep","_iterator3","references","_step3","ot","st","lt","at","ct","HAS_BACK_REFERENCES","BACK_REFERENCING_END","Rule","ft","$location","_name","_nameIsCapturing","_contentName","_contentNameIsCapturing","location","filename","constructor","CaptureRule","_ft","gt","_this4","collectPatterns","out","compile","MatchRule","jt","_match","RegExpSource","_cachedCompiledPatterns","_this5","_ft2","debugMatchRegExp","_getCachedCompiledPatterns","RegExpSourceList","IncludeOnlyRule","yt","hasMissingPatterns","_this6","_ft3","_step6","_iterator6","pattern","bt","begin","applyEndPatternLast","_begin","_end","hasBackReferences","_this7","_ft4","debugBeginRegExp","resolveBackReferences","_iterator7","_step7","setSource","_ft5","wt","_while","_cachedCompiledWhilePatterns","_this8","_iterator8","_step8","compileWhile","_getCachedCompiledWhilePatterns","createCaptureRule","helper","registerRule","desc","_RuleFactory","_compileCaptures","_compilePatterns","while","maximumCaptureId","captureId","numericCaptureId","localIncludedRule","externalGrammarName","externalGrammarInclude","externalGrammar","getExternalGrammar","externalIncludedRule","skipRule","regExpSource","lastPushedPos","output","hasAnchor","pos","nextCh","_anchorCache","_buildAnchorCache","_RegExpSource","newSource","capturedValues","g1","A0_G0_result","A0_G1_result","A1_G0_result","A1_G1_result","A0_G0","A0_G1","A1_G0","A1_G1","resolveAnchors","St","_items","_hasAnchors","_cached","_disposeCaches","onigLib","regExps","CompiledRule","_resolveAnchors","xt","scanner","BasicScopeAttributes","Ct","_BasicScopeAttributesProvider","initialLanguageId","embeddedLanguages","_getBasicScopeAttributes","_scopeToLanguage","standardTokenType","_toStandardTokenType","_defaultAttributes","_embeddedLanguagesMatcher","ScopeMatcher","getDefaultAttributes","getBasicScopeAttributes","_NULL_SCOPE_METADATA","STANDARD_TOKEN_TYPE_REGEXP","BasicScopeAttributesProvider","Ot","scopesRegExp","escapedScopes","_ref4","_ref5","process","VSCODE_TEXTMATE_DEBUG","Mt","stoppedEarly","Et","Grammar","It","_rootScopeName","initialLanguage","tokenTypes","balancedBracketSelectors","grammarRepository","_onigLib","_basicScopeAttributesProvider","_rootId","_lastRuleId","_ruleId2desc","_includedGrammars","_grammarRepository","_injections","_tokenTypeMatchers","_i9","_Object$keys","_iterator10","_step10","_iterator11","_step11","getMetadataForScope","_collectInjections","scopeName2","rawInjections","expression","injectionScopeNames","injectionScopeName","injectionGrammar","injectionSelector","i1","factory","rawIncludedGrammar","prevState","_tokenize","getResult","getBinaryResult","emitBinaryTokens","StateStackImpl","NULL","reset","rawDefaultMetadata","defaultStyle","themeProvider","defaultMetadata","rootScopeName","scopeList","AttributedScopeStack","createRootAndLookUpScopeName","createRoot","onigLineText","LineTokens","tokenAttributes","equals","_AttributedScopeStack","_pushAttributed","_iterator12","_step12","self","_n$parent$scopePath","_StateStackImpl","fromExtension","namesScopeList","_e$scopePath","_iterator13","_step13","frame","rawRootMetadata","themeMatch","resolvedTokenAttributes","mergeAttributes","existingTokenAttributes","basicScopeAttributes","styleAttributes","rawMetadata","newPath","scopeThemeMatchResult","enterPos","anchorPos","_stackElementBrand","depth","_enterPos","_anchorPos","_equals","_reset","_writeString","outIndex","contentNameScopeStack","toStateStackFrame","_this$nameScopesList$","_this$nameScopesList2","_this$parent$nameScop","_this$parent","_this$contentNameScop2","_this$contentNameScop3","_structuralEquals","pushFrame","BalancedBracketSelectors","Ft","balancedBracketScopes","unbalancedBracketScopes","allowAny","matchesNever","_iterator14","_step14","excluder","_iterator15","_step15","includer","Ut","tokenTypeOverrides","_emitBinaryTokens","_tokenTypeOverrides","_lineText","_tokens","_binaryTokens","_lastTokenEndIndex","scopesList","_t$tokenAttributes","_this$balancedBracket","matchesAlways","_t$getScopeNames","scopes2","_iterator16","_step16","SyncRegistry","Ht","_grammars","_rawGrammars","_injectionGrammars","_iterator17","_step17","addGrammar","targetScope","grammarForScopeName","rawGrammar","createGrammar","Wt","_syncRegistry","_ensureGrammarCache","loadGrammarWithEmbeddedLanguages","loadGrammarWithConfiguration","configuration","_loadGrammar","unbalancedBracketSelectors","loadGrammar","_this12","dependencyProcessor","request","_loadSingleGrammar","_grammarForScopeName","_doLoadSingleGrammar","Xt","prototype","Qt","booleanish","number","spaceSeparated","commaOrSpaceSeparated","defined","boolean","checks","types","ue","mask","_this13","check","_assertThisInitialized","_Qt","xlink","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xml","xmlLang","xmlBase","xmlSpace","xmlns","xmlnsxlink","xmlnsXLink","aria","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","role","acceptcharset","classname","htmlfor","httpequiv","abbr","accept","acceptCharset","accessKey","action","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","alt","as","autoCapitalize","autoComplete","autoFocus","autoPlay","blocking","charSet","checked","cite","cols","colSpan","contentEditable","controls","controlsList","coords","crossOrigin","dateTime","decoding","defer","dir","dirName","disabled","download","draggable","encType","enterKeyHint","fetchPriority","form","formAction","formEncType","formMethod","formNoValidate","formTarget","headers","height","hidden","high","href","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inert","inputMode","integrity","is","isMap","itemId","itemProp","itemRef","itemScope","itemType","label","language","list","loading","loop","low","manifest","maxLength","media","method","muted","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforeMatch","onBeforePrint","onBeforeToggle","onBeforeUnload","onBlur","onCancel","onCanPlay","onCanPlayThrough","onChange","onClick","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFocus","onFormData","onHashChange","onInput","onInvalid","onKeyDown","onKeyPress","onKeyUp","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPaste","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onScrollEnd","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSubmit","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","open","optimum","ping","placeholder","playsInline","popover","popoverTarget","popoverTargetAction","poster","preload","readOnly","referrerPolicy","rel","required","reversed","rows","rowSpan","sandbox","scoped","seamless","selected","shadowRootClonable","shadowRootDelegatesFocus","shadowRootMode","shape","sizes","slot","spellCheck","srcDoc","srcLang","srcSet","step","tabIndex","title","translate","typeMustMatch","useMap","width","writingSuggestions","align","aLink","archive","axis","border","borderColor","bottomMargin","cellPadding","cellSpacing","char","charOff","classId","codeBase","codeType","compact","declare","event","face","frameBorder","hSpace","leftMargin","link","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","object","profile","prompt","rev","rightMargin","scheme","scrolling","standby","summary","topMargin","valueType","version","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","prefix","security","unselectable","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillOpacity","fillRule","floodColor","floodOpacity","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeOpacity","strokeWidth","textAnchor","textDecoration","textRendering","transformOrigin","typeOf","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeName","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","cursor","cx","cy","defaultAction","descent","diffuseConstant","direction","display","dur","divisor","dx","dy","edgeMode","editable","elevation","exponent","externalResourcesRequired","fill","filterRes","filterUnits","focusable","focusHighlight","fr","fx","fy","g2","glyphRef","gradientTransform","gradientUnits","handler","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","mode","numOctaves","observer","opacity","operator","order","orient","orientation","origin","overflow","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","resource","restart","rotate","rx","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","startOffset","stdDeviation","stemh","stemv","stitchTiles","stroke","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","targetY","textLength","transformBehavior","to","unicode","viewBox","viewTarget","visibility","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","z","zoomAndPan","htmlBase","svgBase","characterEntitiesHtml4","nbsp","iexcl","cent","pound","curren","yen","brvbar","sect","uml","copy","ordf","laquo","not","shy","reg","macr","deg","plusmn","sup2","sup3","acute","micro","para","middot","cedil","sup1","ordm","raquo","frac14","frac12","frac34","iquest","Agrave","Aacute","Acirc","Atilde","Auml","Aring","AElig","Ccedil","Egrave","Eacute","Ecirc","Euml","Igrave","Iacute","Icirc","Iuml","ETH","Ntilde","Ograve","Oacute","Ocirc","Otilde","Ouml","times","Oslash","Ugrave","Uacute","Ucirc","Uuml","Yacute","THORN","szlig","agrave","aacute","acirc","atilde","auml","aring","aelig","ccedil","egrave","eacute","ecirc","euml","igrave","iacute","icirc","iuml","eth","ntilde","ograve","oacute","ocirc","otilde","ouml","divide","oslash","ugrave","uacute","ucirc","uuml","yacute","thorn","yuml","fnof","Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega","beta","gamma","delta","epsilon","zeta","eta","theta","iota","kappa","lambda","mu","nu","xi","omicron","pi","rho","sigmaf","sigma","tau","upsilon","phi","chi","psi","omega","thetasym","upsih","piv","bull","hellip","prime","Prime","oline","frasl","weierp","image","real","trade","alefsym","larr","uarr","rarr","darr","harr","crarr","lArr","uArr","rArr","dArr","hArr","forall","part","exist","nabla","isin","notin","ni","prod","sum","minus","lowast","radic","infin","ang","and","or","cup","int","there4","sim","cong","asymp","ne","equiv","ge","sub","sup","nsub","sube","supe","oplus","otimes","perp","sdot","lceil","rceil","lfloor","rfloor","rang","loz","spades","clubs","hearts","diams","quot","amp","OElig","oelig","Scaron","scaron","Yuml","circ","tilde","ensp","emsp","thinsp","zwnj","zwj","lrm","rlm","ndash","mdash","lsquo","rsquo","sbquo","ldquo","rdquo","bdquo","dagger","Dagger","permil","lsaquo","rsaquo","euro","htmlCommentRegex","bogusCommentEntitySubset","commentEntitySubset","siblingBefore","closing","body","caption","colgroup","dd","dt","li","optgroup","option","rp","rt","tbody","td","tfoot","th","thead","tr","opening","previous","seen","_iterator18","_step18","double","invalid","unknown","_len2","parameters","zwitch","node_","comment","_1","_2","doctype","_3","element","selfClosing","last","serializeAttributes","raw","jn","Rn","_this14","_Error3","qn","visited","pushScope","stack2","_t$nameScopesList","getScopes","toJSON","initial","black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite","__defProp$1","__publicField$1","configurable","hi","_resolver","_langs","_alias","_this15","_Wt","_resolvedThemes","_loadedThemesCache","textmateTheme","_textmateThemeCache","resolved","_resolvedGrammars","embeddedLazilyBy","_langMap","embeddedLangsLazy","addLanguage","grammarConfig","alias","_loadedLanguagesCache","_iterator38","_step38","_this$_syncRegistry","_langGraph","_iterator39","_step39","resolveEmbeddedLanguages","langsGraphArray","missingLangs","_ref12","_ref13","dependents","_ref14","_e$embeddedLangs","_ref15","embeddedLangs","_ref16","_ref17","_ref18","_ref19","_ref20","_ref21","_i24","_e46","_e46$_i","_i25","_e47","_e47$_i","_iterator40","_step40","embeddedLang","Registry$1","__defProp","__publicField","fi","__defNormalProp","gi","getLangRegistration","langIdOrAlias","_scopeToLang","injectTo","scopeParts","subScopeName","createHighlighter","_export","NileHighlighter","_o24","ki","highlightedCode","_this19","_connectedCallback","_callee5","_callee5$","_context6","languages","highlighter","connectedCallback","_updated","_callee6","changedProperties","_context7","updated","_x9","render","_templateObject","_taggedTemplateLiteral","__decorate","NileElement","reflect","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50]}
|
1
|
+
{"version":3,"file":"nile-highlighter.cjs.js","sources":["../../../../node_modules/@shikijs/engine-oniguruma/dist/index.mjs","../../../../node_modules/@shikijs/vscode-textmate/dist/index.mjs","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/merge.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/normalize.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/types.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/defined-info.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/create.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/case-sensitive-transform.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/case-insensitive-transform.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/find.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/core.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/format-smart.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-hexadecimal.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-named.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-decimal.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/index.js","../../../../node_modules/@shikijs/core/node_modules/ccount/index.js","../../../../node_modules/@shikijs/core/node_modules/comma-separated-tokens/index.js","../../../../node_modules/@shikijs/core/node_modules/space-separated-tokens/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-whitespace/lib/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/util/siblings.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/omission.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/closing.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/element.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/text.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/index.js","../../../../node_modules/@shikijs/core/dist/index.mjs","../../../../node_modules/shiki/dist/bundle-full.mjs","../../../../node_modules/shiki/dist/langs.mjs","../../../../node_modules/shiki/dist/themes.mjs","../../../../node_modules/@shikijs/types/dist/index.mjs","../../../../node_modules/@shikijs/core/node_modules/html-void-elements/index.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/schema.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/info.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xlink.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xml.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xmlns.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/aria.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/html.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/svg.js","../../../../node_modules/@shikijs/core/node_modules/property-information/index.js","../../../../node_modules/@shikijs/core/node_modules/zwitch/index.js","../../../../node_modules/@shikijs/core/node_modules/character-entities-legacy/index.js","../../../../node_modules/@shikijs/core/node_modules/character-entities-html4/index.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/constant/dangerous.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/comment.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/opening.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/doctype.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/raw.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/root.js","../../../src/nile-highlighter/nile-highlighter.ts"],"sourcesContent":["class ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = 'ShikiError';\n }\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\nfunction _emscripten_get_now() {\n return typeof performance !== 'undefined' ? performance.now() : Date.now();\n}\nconst alignUp = (x, multiple) => x + ((multiple - (x % multiple)) % multiple);\nasync function main(init) {\n let wasmMemory;\n let buffer;\n const binding = {};\n function updateGlobalBufferAndViews(buf) {\n buffer = buf;\n binding.HEAPU8 = new Uint8Array(buf);\n binding.HEAPU32 = new Uint32Array(buf);\n }\n function _emscripten_memcpy_big(dest, src, num) {\n binding.HEAPU8.copyWithin(dest, src, src + num);\n }\n function emscripten_realloc_buffer(size) {\n try {\n wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16);\n updateGlobalBufferAndViews(wasmMemory.buffer);\n return 1;\n }\n catch { }\n }\n function _emscripten_resize_heap(requestedSize) {\n const oldSize = binding.HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n const maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize)\n return false;\n for (let cutDown = 1; cutDown <= 4; cutDown *= 2) {\n let overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n const newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n const replacement = emscripten_realloc_buffer(newSize);\n if (replacement)\n return true;\n }\n return false;\n }\n const UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined;\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead = 1024) {\n const endIdx = idx + maxBytesToRead;\n let endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx))\n ++endPtr;\n if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));\n }\n let str = '';\n while (idx < endPtr) {\n let u0 = heapOrArray[idx++];\n if (!(u0 & 128)) {\n str += String.fromCharCode(u0);\n continue;\n }\n const u1 = heapOrArray[idx++] & 63;\n if ((u0 & 224) === 192) {\n str += String.fromCharCode(((u0 & 31) << 6) | u1);\n continue;\n }\n const u2 = heapOrArray[idx++] & 63;\n if ((u0 & 240) === 224) {\n u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;\n }\n else {\n u0 = ((u0 & 7) << 18)\n | (u1 << 12)\n | (u2 << 6)\n | (heapOrArray[idx++] & 63);\n }\n if (u0 < 65536) {\n str += String.fromCharCode(u0);\n }\n else {\n const ch = u0 - 65536;\n str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023));\n }\n }\n return str;\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n return ptr ? UTF8ArrayToString(binding.HEAPU8, ptr, maxBytesToRead) : '';\n }\n const asmLibraryArg = {\n emscripten_get_now: _emscripten_get_now,\n emscripten_memcpy_big: _emscripten_memcpy_big,\n emscripten_resize_heap: _emscripten_resize_heap,\n fd_write: () => 0,\n };\n async function createWasm() {\n const info = {\n env: asmLibraryArg,\n wasi_snapshot_preview1: asmLibraryArg,\n };\n const exports = await init(info);\n wasmMemory = exports.memory;\n updateGlobalBufferAndViews(wasmMemory.buffer);\n Object.assign(binding, exports);\n binding.UTF8ToString = UTF8ToString;\n }\n await createWasm();\n return binding;\n}\n\n/* ---------------------------------------------------------\n * Copyright (C) Microsoft Corporation. All rights reserved.\n *-------------------------------------------------------- */\nlet onigBinding = null;\n// let defaultDebugCall = false\nfunction throwLastOnigError(onigBinding) {\n throw new ShikiError(onigBinding.UTF8ToString(onigBinding.getLastOnigError()));\n}\nclass UtfString {\n static _utf8ByteLength(str) {\n let result = 0;\n for (let i = 0, len = str.length; i < len; i++) {\n const charCode = str.charCodeAt(i);\n let codepoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n // Hit a high surrogate, try to look for a matching low surrogate\n if (i + 1 < len) {\n const nextCharCode = str.charCodeAt(i + 1);\n if (nextCharCode >= 0xDC00 && nextCharCode <= 0xDFFF) {\n // Found the matching low surrogate\n codepoint = (((charCode - 0xD800) << 10) + 0x10000) | (nextCharCode - 0xDC00);\n wasSurrogatePair = true;\n }\n }\n }\n if (codepoint <= 0x7F)\n result += 1;\n else if (codepoint <= 0x7FF)\n result += 2;\n else if (codepoint <= 0xFFFF)\n result += 3;\n else\n result += 4;\n if (wasSurrogatePair)\n i++;\n }\n return result;\n }\n utf16Length;\n utf8Length;\n utf16Value;\n utf8Value;\n utf16OffsetToUtf8;\n utf8OffsetToUtf16;\n constructor(str) {\n const utf16Length = str.length;\n const utf8Length = UtfString._utf8ByteLength(str);\n const computeIndicesMapping = (utf8Length !== utf16Length);\n const utf16OffsetToUtf8 = computeIndicesMapping ? new Uint32Array(utf16Length + 1) : null;\n if (computeIndicesMapping)\n utf16OffsetToUtf8[utf16Length] = utf8Length;\n const utf8OffsetToUtf16 = computeIndicesMapping ? new Uint32Array(utf8Length + 1) : null;\n if (computeIndicesMapping)\n utf8OffsetToUtf16[utf8Length] = utf16Length;\n const utf8Value = new Uint8Array(utf8Length);\n let i8 = 0;\n for (let i16 = 0; i16 < utf16Length; i16++) {\n const charCode = str.charCodeAt(i16);\n let codePoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n // Hit a high surrogate, try to look for a matching low surrogate\n if (i16 + 1 < utf16Length) {\n const nextCharCode = str.charCodeAt(i16 + 1);\n if (nextCharCode >= 0xDC00 && nextCharCode <= 0xDFFF) {\n // Found the matching low surrogate\n codePoint = (((charCode - 0xD800) << 10) + 0x10000) | (nextCharCode - 0xDC00);\n wasSurrogatePair = true;\n }\n }\n }\n if (computeIndicesMapping) {\n utf16OffsetToUtf8[i16] = i8;\n if (wasSurrogatePair)\n utf16OffsetToUtf8[i16 + 1] = i8;\n if (codePoint <= 0x7F) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n }\n else if (codePoint <= 0x7FF) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n }\n else if (codePoint <= 0xFFFF) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n }\n else {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n utf8OffsetToUtf16[i8 + 3] = i16;\n }\n }\n if (codePoint <= 0x7F) {\n utf8Value[i8++] = codePoint;\n }\n else if (codePoint <= 0x7FF) {\n utf8Value[i8++] = 0b11000000 | ((codePoint & 0b00000000000000000000011111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else if (codePoint <= 0xFFFF) {\n utf8Value[i8++] = 0b11100000 | ((codePoint & 0b00000000000000001111000000000000) >>> 12);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else {\n utf8Value[i8++] = 0b11110000 | ((codePoint & 0b00000000000111000000000000000000) >>> 18);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000111111000000000000) >>> 12);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n if (wasSurrogatePair)\n i16++;\n }\n this.utf16Length = utf16Length;\n this.utf8Length = utf8Length;\n this.utf16Value = str;\n this.utf8Value = utf8Value;\n this.utf16OffsetToUtf8 = utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utf8OffsetToUtf16;\n }\n createString(onigBinding) {\n const result = onigBinding.omalloc(this.utf8Length);\n onigBinding.HEAPU8.set(this.utf8Value, result);\n return result;\n }\n}\nclass OnigString {\n static LAST_ID = 0;\n static _sharedPtr = 0; // a pointer to a string of 10000 bytes\n static _sharedPtrInUse = false;\n id = (++OnigString.LAST_ID);\n _onigBinding;\n content;\n utf16Length;\n utf8Length;\n utf16OffsetToUtf8;\n utf8OffsetToUtf16;\n ptr;\n constructor(str) {\n if (!onigBinding)\n throw new ShikiError('Must invoke loadWasm first.');\n this._onigBinding = onigBinding;\n this.content = str;\n const utfString = new UtfString(str);\n this.utf16Length = utfString.utf16Length;\n this.utf8Length = utfString.utf8Length;\n this.utf16OffsetToUtf8 = utfString.utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utfString.utf8OffsetToUtf16;\n if (this.utf8Length < 10000 && !OnigString._sharedPtrInUse) {\n if (!OnigString._sharedPtr)\n OnigString._sharedPtr = onigBinding.omalloc(10000);\n OnigString._sharedPtrInUse = true;\n onigBinding.HEAPU8.set(utfString.utf8Value, OnigString._sharedPtr);\n this.ptr = OnigString._sharedPtr;\n }\n else {\n this.ptr = utfString.createString(onigBinding);\n }\n }\n convertUtf8OffsetToUtf16(utf8Offset) {\n if (this.utf8OffsetToUtf16) {\n if (utf8Offset < 0)\n return 0;\n if (utf8Offset > this.utf8Length)\n return this.utf16Length;\n return this.utf8OffsetToUtf16[utf8Offset];\n }\n return utf8Offset;\n }\n convertUtf16OffsetToUtf8(utf16Offset) {\n if (this.utf16OffsetToUtf8) {\n if (utf16Offset < 0)\n return 0;\n if (utf16Offset > this.utf16Length)\n return this.utf8Length;\n return this.utf16OffsetToUtf8[utf16Offset];\n }\n return utf16Offset;\n }\n dispose() {\n if (this.ptr === OnigString._sharedPtr)\n OnigString._sharedPtrInUse = false;\n else\n this._onigBinding.ofree(this.ptr);\n }\n}\nclass OnigScanner {\n _onigBinding;\n _ptr;\n constructor(patterns) {\n if (!onigBinding)\n throw new ShikiError('Must invoke loadWasm first.');\n const strPtrsArr = [];\n const strLenArr = [];\n for (let i = 0, len = patterns.length; i < len; i++) {\n const utfString = new UtfString(patterns[i]);\n strPtrsArr[i] = utfString.createString(onigBinding);\n strLenArr[i] = utfString.utf8Length;\n }\n const strPtrsPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strPtrsArr, strPtrsPtr / 4);\n const strLenPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strLenArr, strLenPtr / 4);\n const scannerPtr = onigBinding.createOnigScanner(strPtrsPtr, strLenPtr, patterns.length);\n for (let i = 0, len = patterns.length; i < len; i++)\n onigBinding.ofree(strPtrsArr[i]);\n onigBinding.ofree(strLenPtr);\n onigBinding.ofree(strPtrsPtr);\n if (scannerPtr === 0)\n throwLastOnigError(onigBinding);\n this._onigBinding = onigBinding;\n this._ptr = scannerPtr;\n }\n dispose() {\n this._onigBinding.freeOnigScanner(this._ptr);\n }\n findNextMatchSync(string, startPosition, arg) {\n // let debugCall = defaultDebugCall\n let options = 0 /* FindOption.None */;\n if (typeof arg === 'number') {\n // if (arg & FindOption.DebugCall)\n // debugCall = true\n options = arg;\n }\n if (typeof string === 'string') {\n string = new OnigString(string);\n const result = this._findNextMatchSync(string, startPosition, false, options);\n string.dispose();\n return result;\n }\n return this._findNextMatchSync(string, startPosition, false, options);\n }\n _findNextMatchSync(string, startPosition, debugCall, options) {\n const onigBinding = this._onigBinding;\n // let resultPtr: Pointer\n // if (debugCall)\n // resultPtr = onigBinding.findNextOnigScannerMatchDbg(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options)\n // else\n const resultPtr = onigBinding.findNextOnigScannerMatch(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options);\n if (resultPtr === 0) {\n // no match\n return null;\n }\n const HEAPU32 = onigBinding.HEAPU32;\n let offset = resultPtr / 4; // byte offset -> uint32 offset\n const index = HEAPU32[offset++];\n const count = HEAPU32[offset++];\n const captureIndices = [];\n for (let i = 0; i < count; i++) {\n const beg = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n const end = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n captureIndices[i] = {\n start: beg,\n end,\n length: end - beg,\n };\n }\n return {\n index,\n captureIndices,\n };\n }\n}\nfunction isInstantiatorOptionsObject(dataOrOptions) {\n return (typeof dataOrOptions.instantiator === 'function');\n}\nfunction isInstantiatorModule(dataOrOptions) {\n return (typeof dataOrOptions.default === 'function');\n}\nfunction isDataOptionsObject(dataOrOptions) {\n return (typeof dataOrOptions.data !== 'undefined');\n}\nfunction isResponse(dataOrOptions) {\n return (typeof Response !== 'undefined' && dataOrOptions instanceof Response);\n}\nfunction isArrayBuffer(data) {\n return (typeof ArrayBuffer !== 'undefined' && (data instanceof ArrayBuffer || ArrayBuffer.isView(data)))\n // eslint-disable-next-line node/prefer-global/buffer\n || (typeof Buffer !== 'undefined' && Buffer.isBuffer?.(data))\n || (typeof SharedArrayBuffer !== 'undefined' && data instanceof SharedArrayBuffer)\n || (typeof Uint32Array !== 'undefined' && data instanceof Uint32Array);\n}\nlet initPromise;\nfunction loadWasm(options) {\n if (initPromise)\n return initPromise;\n async function _load() {\n onigBinding = await main(async (info) => {\n let instance = options;\n instance = await instance;\n if (typeof instance === 'function')\n instance = await instance(info);\n if (typeof instance === 'function')\n instance = await instance(info);\n if (isInstantiatorOptionsObject(instance)) {\n instance = await instance.instantiator(info);\n }\n else if (isInstantiatorModule(instance)) {\n instance = await instance.default(info);\n }\n else {\n if (isDataOptionsObject(instance))\n instance = instance.data;\n if (isResponse(instance)) {\n if (typeof WebAssembly.instantiateStreaming === 'function')\n instance = await _makeResponseStreamingLoader(instance)(info);\n else\n instance = await _makeResponseNonStreamingLoader(instance)(info);\n }\n else if (isArrayBuffer(instance)) {\n instance = await _makeArrayBufferLoader(instance)(info);\n }\n // import(\"shiki/onig.wasm\") returns `{ default: WebAssembly.Module }` on cloudflare workers\n // https://developers.cloudflare.com/workers/wrangler/bundling/\n else if (instance instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance)(info);\n }\n else if ('default' in instance && instance.default instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance.default)(info);\n }\n }\n if ('instance' in instance)\n instance = instance.instance;\n if ('exports' in instance)\n instance = instance.exports;\n return instance;\n });\n }\n initPromise = _load();\n return initPromise;\n}\nfunction _makeArrayBufferLoader(data) {\n return importObject => WebAssembly.instantiate(data, importObject);\n}\nfunction _makeResponseStreamingLoader(data) {\n return importObject => WebAssembly.instantiateStreaming(data, importObject);\n}\nfunction _makeResponseNonStreamingLoader(data) {\n return async (importObject) => {\n const arrayBuffer = await data.arrayBuffer();\n return WebAssembly.instantiate(arrayBuffer, importObject);\n };\n}\n// export function createOnigString(str: string) {\n// return new OnigString(str)\n// }\n// export function createOnigScanner(patterns: string[]) {\n// return new OnigScanner(patterns)\n// }\n// export function setDefaultDebugCall(_defaultDebugCall: boolean): void {\n// defaultDebugCall = _defaultDebugCall\n// }\n\nlet _defaultWasmLoader;\n/**\n * Set the default wasm loader for `loadWasm`.\n * @internal\n */\nfunction setDefaultWasmLoader(_loader) {\n _defaultWasmLoader = _loader;\n}\n/**\n * @internal\n */\nfunction getDefaultWasmLoader() {\n return _defaultWasmLoader;\n}\nasync function createOnigurumaEngine(options) {\n if (options)\n await loadWasm(options);\n return {\n createScanner(patterns) {\n return new OnigScanner(patterns);\n },\n createString(s) {\n return new OnigString(s);\n },\n };\n}\n/**\n * Deprecated. Use `createOnigurumaEngine` instead.\n */\nasync function createWasmOnigEngine(options) {\n return createOnigurumaEngine(options);\n}\n\nexport { createOnigurumaEngine, createWasmOnigEngine, getDefaultWasmLoader, loadWasm, setDefaultWasmLoader };\n","// src/utils.ts\nfunction clone(something) {\n return doClone(something);\n}\nfunction doClone(something) {\n if (Array.isArray(something)) {\n return cloneArray(something);\n }\n if (typeof something === \"object\") {\n return cloneObj(something);\n }\n return something;\n}\nfunction cloneArray(arr) {\n let r = [];\n for (let i = 0, len = arr.length; i < len; i++) {\n r[i] = doClone(arr[i]);\n }\n return r;\n}\nfunction cloneObj(obj) {\n let r = {};\n for (let key in obj) {\n r[key] = doClone(obj[key]);\n }\n return r;\n}\nfunction mergeObjects(target, ...sources) {\n sources.forEach((source) => {\n for (let key in source) {\n target[key] = source[key];\n }\n });\n return target;\n}\nfunction basename(path) {\n const idx = ~path.lastIndexOf(\"/\") || ~path.lastIndexOf(\"\\\\\");\n if (idx === 0) {\n return path;\n } else if (~idx === path.length - 1) {\n return basename(path.substring(0, path.length - 1));\n } else {\n return path.substr(~idx + 1);\n }\n}\nvar CAPTURING_REGEX_SOURCE = /\\$(\\d+)|\\${(\\d+):\\/(downcase|upcase)}/g;\nvar RegexSource = class {\n static hasCaptures(regexSource) {\n if (regexSource === null) {\n return false;\n }\n CAPTURING_REGEX_SOURCE.lastIndex = 0;\n return CAPTURING_REGEX_SOURCE.test(regexSource);\n }\n static replaceCaptures(regexSource, captureSource, captureIndices) {\n return regexSource.replace(CAPTURING_REGEX_SOURCE, (match, index, commandIndex, command) => {\n let capture = captureIndices[parseInt(index || commandIndex, 10)];\n if (capture) {\n let result = captureSource.substring(capture.start, capture.end);\n while (result[0] === \".\") {\n result = result.substring(1);\n }\n switch (command) {\n case \"downcase\":\n return result.toLowerCase();\n case \"upcase\":\n return result.toUpperCase();\n default:\n return result;\n }\n } else {\n return match;\n }\n });\n }\n};\nfunction strcmp(a, b) {\n if (a < b) {\n return -1;\n }\n if (a > b) {\n return 1;\n }\n return 0;\n}\nfunction strArrCmp(a, b) {\n if (a === null && b === null) {\n return 0;\n }\n if (!a) {\n return -1;\n }\n if (!b) {\n return 1;\n }\n let len1 = a.length;\n let len2 = b.length;\n if (len1 === len2) {\n for (let i = 0; i < len1; i++) {\n let res = strcmp(a[i], b[i]);\n if (res !== 0) {\n return res;\n }\n }\n return 0;\n }\n return len1 - len2;\n}\nfunction isValidHexColor(hex) {\n if (/^#[0-9a-f]{6}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{8}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{3}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{4}$/i.test(hex)) {\n return true;\n }\n return false;\n}\nfunction escapeRegExpCharacters(value) {\n return value.replace(/[\\-\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g, \"\\\\$&\");\n}\nvar CachedFn = class {\n constructor(fn) {\n this.fn = fn;\n this.cache = /* @__PURE__ */ new Map();\n }\n get(key) {\n if (this.cache.has(key)) {\n return this.cache.get(key);\n }\n const value = this.fn(key);\n this.cache.set(key, value);\n return value;\n }\n};\n\n// src/theme.ts\nvar Theme = class {\n constructor(_colorMap, _defaults, _root) {\n this._colorMap = _colorMap;\n this._defaults = _defaults;\n this._root = _root;\n this._cachedMatchRoot = new CachedFn(\n (scopeName) => this._root.match(scopeName)\n );\n }\n static createFromRawTheme(source, colorMap) {\n return this.createFromParsedTheme(parseTheme(source), colorMap);\n }\n static createFromParsedTheme(source, colorMap) {\n return resolveParsedThemeRules(source, colorMap);\n }\n getColorMap() {\n return this._colorMap.getColorMap();\n }\n getDefaults() {\n return this._defaults;\n }\n match(scopePath) {\n if (scopePath === null) {\n return this._defaults;\n }\n const scopeName = scopePath.scopeName;\n const matchingTrieElements = this._cachedMatchRoot.get(scopeName);\n const effectiveRule = matchingTrieElements.find(\n (v) => _scopePathMatchesParentScopes(scopePath.parent, v.parentScopes)\n );\n if (!effectiveRule) {\n return null;\n }\n return new StyleAttributes(\n effectiveRule.fontStyle,\n effectiveRule.foreground,\n effectiveRule.background\n );\n }\n};\nvar ScopeStack = class _ScopeStack {\n constructor(parent, scopeName) {\n this.parent = parent;\n this.scopeName = scopeName;\n }\n static push(path, scopeNames) {\n for (const name of scopeNames) {\n path = new _ScopeStack(path, name);\n }\n return path;\n }\n static from(...segments) {\n let result = null;\n for (let i = 0; i < segments.length; i++) {\n result = new _ScopeStack(result, segments[i]);\n }\n return result;\n }\n push(scopeName) {\n return new _ScopeStack(this, scopeName);\n }\n getSegments() {\n let item = this;\n const result = [];\n while (item) {\n result.push(item.scopeName);\n item = item.parent;\n }\n result.reverse();\n return result;\n }\n toString() {\n return this.getSegments().join(\" \");\n }\n extends(other) {\n if (this === other) {\n return true;\n }\n if (this.parent === null) {\n return false;\n }\n return this.parent.extends(other);\n }\n getExtensionIfDefined(base) {\n const result = [];\n let item = this;\n while (item && item !== base) {\n result.push(item.scopeName);\n item = item.parent;\n }\n return item === base ? result.reverse() : void 0;\n }\n};\nfunction _scopePathMatchesParentScopes(scopePath, parentScopes) {\n if (parentScopes.length === 0) {\n return true;\n }\n for (let index = 0; index < parentScopes.length; index++) {\n let scopePattern = parentScopes[index];\n let scopeMustMatch = false;\n if (scopePattern === \">\") {\n if (index === parentScopes.length - 1) {\n return false;\n }\n scopePattern = parentScopes[++index];\n scopeMustMatch = true;\n }\n while (scopePath) {\n if (_matchesScope(scopePath.scopeName, scopePattern)) {\n break;\n }\n if (scopeMustMatch) {\n return false;\n }\n scopePath = scopePath.parent;\n }\n if (!scopePath) {\n return false;\n }\n scopePath = scopePath.parent;\n }\n return true;\n}\nfunction _matchesScope(scopeName, scopePattern) {\n return scopePattern === scopeName || scopeName.startsWith(scopePattern) && scopeName[scopePattern.length] === \".\";\n}\nvar StyleAttributes = class {\n constructor(fontStyle, foregroundId, backgroundId) {\n this.fontStyle = fontStyle;\n this.foregroundId = foregroundId;\n this.backgroundId = backgroundId;\n }\n};\nfunction parseTheme(source) {\n if (!source) {\n return [];\n }\n if (!source.settings || !Array.isArray(source.settings)) {\n return [];\n }\n let settings = source.settings;\n let result = [], resultLen = 0;\n for (let i = 0, len = settings.length; i < len; i++) {\n let entry = settings[i];\n if (!entry.settings) {\n continue;\n }\n let scopes;\n if (typeof entry.scope === \"string\") {\n let _scope = entry.scope;\n _scope = _scope.replace(/^[,]+/, \"\");\n _scope = _scope.replace(/[,]+$/, \"\");\n scopes = _scope.split(\",\");\n } else if (Array.isArray(entry.scope)) {\n scopes = entry.scope;\n } else {\n scopes = [\"\"];\n }\n let fontStyle = -1 /* NotSet */;\n if (typeof entry.settings.fontStyle === \"string\") {\n fontStyle = 0 /* None */;\n let segments = entry.settings.fontStyle.split(\" \");\n for (let j = 0, lenJ = segments.length; j < lenJ; j++) {\n let segment = segments[j];\n switch (segment) {\n case \"italic\":\n fontStyle = fontStyle | 1 /* Italic */;\n break;\n case \"bold\":\n fontStyle = fontStyle | 2 /* Bold */;\n break;\n case \"underline\":\n fontStyle = fontStyle | 4 /* Underline */;\n break;\n case \"strikethrough\":\n fontStyle = fontStyle | 8 /* Strikethrough */;\n break;\n }\n }\n }\n let foreground = null;\n if (typeof entry.settings.foreground === \"string\" && isValidHexColor(entry.settings.foreground)) {\n foreground = entry.settings.foreground;\n }\n let background = null;\n if (typeof entry.settings.background === \"string\" && isValidHexColor(entry.settings.background)) {\n background = entry.settings.background;\n }\n for (let j = 0, lenJ = scopes.length; j < lenJ; j++) {\n let _scope = scopes[j].trim();\n let segments = _scope.split(\" \");\n let scope = segments[segments.length - 1];\n let parentScopes = null;\n if (segments.length > 1) {\n parentScopes = segments.slice(0, segments.length - 1);\n parentScopes.reverse();\n }\n result[resultLen++] = new ParsedThemeRule(\n scope,\n parentScopes,\n i,\n fontStyle,\n foreground,\n background\n );\n }\n }\n return result;\n}\nvar ParsedThemeRule = class {\n constructor(scope, parentScopes, index, fontStyle, foreground, background) {\n this.scope = scope;\n this.parentScopes = parentScopes;\n this.index = index;\n this.fontStyle = fontStyle;\n this.foreground = foreground;\n this.background = background;\n }\n};\nvar FontStyle = /* @__PURE__ */ ((FontStyle2) => {\n FontStyle2[FontStyle2[\"NotSet\"] = -1] = \"NotSet\";\n FontStyle2[FontStyle2[\"None\"] = 0] = \"None\";\n FontStyle2[FontStyle2[\"Italic\"] = 1] = \"Italic\";\n FontStyle2[FontStyle2[\"Bold\"] = 2] = \"Bold\";\n FontStyle2[FontStyle2[\"Underline\"] = 4] = \"Underline\";\n FontStyle2[FontStyle2[\"Strikethrough\"] = 8] = \"Strikethrough\";\n return FontStyle2;\n})(FontStyle || {});\nfunction resolveParsedThemeRules(parsedThemeRules, _colorMap) {\n parsedThemeRules.sort((a, b) => {\n let r = strcmp(a.scope, b.scope);\n if (r !== 0) {\n return r;\n }\n r = strArrCmp(a.parentScopes, b.parentScopes);\n if (r !== 0) {\n return r;\n }\n return a.index - b.index;\n });\n let defaultFontStyle = 0 /* None */;\n let defaultForeground = \"#000000\";\n let defaultBackground = \"#ffffff\";\n while (parsedThemeRules.length >= 1 && parsedThemeRules[0].scope === \"\") {\n let incomingDefaults = parsedThemeRules.shift();\n if (incomingDefaults.fontStyle !== -1 /* NotSet */) {\n defaultFontStyle = incomingDefaults.fontStyle;\n }\n if (incomingDefaults.foreground !== null) {\n defaultForeground = incomingDefaults.foreground;\n }\n if (incomingDefaults.background !== null) {\n defaultBackground = incomingDefaults.background;\n }\n }\n let colorMap = new ColorMap(_colorMap);\n let defaults = new StyleAttributes(defaultFontStyle, colorMap.getId(defaultForeground), colorMap.getId(defaultBackground));\n let root = new ThemeTrieElement(new ThemeTrieElementRule(0, null, -1 /* NotSet */, 0, 0), []);\n for (let i = 0, len = parsedThemeRules.length; i < len; i++) {\n let rule = parsedThemeRules[i];\n root.insert(0, rule.scope, rule.parentScopes, rule.fontStyle, colorMap.getId(rule.foreground), colorMap.getId(rule.background));\n }\n return new Theme(colorMap, defaults, root);\n}\nvar ColorMap = class {\n constructor(_colorMap) {\n this._lastColorId = 0;\n this._id2color = [];\n this._color2id = /* @__PURE__ */ Object.create(null);\n if (Array.isArray(_colorMap)) {\n this._isFrozen = true;\n for (let i = 0, len = _colorMap.length; i < len; i++) {\n this._color2id[_colorMap[i]] = i;\n this._id2color[i] = _colorMap[i];\n }\n } else {\n this._isFrozen = false;\n }\n }\n getId(color) {\n if (color === null) {\n return 0;\n }\n color = color.toUpperCase();\n let value = this._color2id[color];\n if (value) {\n return value;\n }\n if (this._isFrozen) {\n throw new Error(`Missing color in color map - ${color}`);\n }\n value = ++this._lastColorId;\n this._color2id[color] = value;\n this._id2color[value] = color;\n return value;\n }\n getColorMap() {\n return this._id2color.slice(0);\n }\n};\nvar emptyParentScopes = Object.freeze([]);\nvar ThemeTrieElementRule = class _ThemeTrieElementRule {\n constructor(scopeDepth, parentScopes, fontStyle, foreground, background) {\n this.scopeDepth = scopeDepth;\n this.parentScopes = parentScopes || emptyParentScopes;\n this.fontStyle = fontStyle;\n this.foreground = foreground;\n this.background = background;\n }\n clone() {\n return new _ThemeTrieElementRule(this.scopeDepth, this.parentScopes, this.fontStyle, this.foreground, this.background);\n }\n static cloneArr(arr) {\n let r = [];\n for (let i = 0, len = arr.length; i < len; i++) {\n r[i] = arr[i].clone();\n }\n return r;\n }\n acceptOverwrite(scopeDepth, fontStyle, foreground, background) {\n if (this.scopeDepth > scopeDepth) {\n console.log(\"how did this happen?\");\n } else {\n this.scopeDepth = scopeDepth;\n }\n if (fontStyle !== -1 /* NotSet */) {\n this.fontStyle = fontStyle;\n }\n if (foreground !== 0) {\n this.foreground = foreground;\n }\n if (background !== 0) {\n this.background = background;\n }\n }\n};\nvar ThemeTrieElement = class _ThemeTrieElement {\n constructor(_mainRule, rulesWithParentScopes = [], _children = {}) {\n this._mainRule = _mainRule;\n this._children = _children;\n this._rulesWithParentScopes = rulesWithParentScopes;\n }\n static _cmpBySpecificity(a, b) {\n if (a.scopeDepth !== b.scopeDepth) {\n return b.scopeDepth - a.scopeDepth;\n }\n let aParentIndex = 0;\n let bParentIndex = 0;\n while (true) {\n if (a.parentScopes[aParentIndex] === \">\") {\n aParentIndex++;\n }\n if (b.parentScopes[bParentIndex] === \">\") {\n bParentIndex++;\n }\n if (aParentIndex >= a.parentScopes.length || bParentIndex >= b.parentScopes.length) {\n break;\n }\n const parentScopeLengthDiff = b.parentScopes[bParentIndex].length - a.parentScopes[aParentIndex].length;\n if (parentScopeLengthDiff !== 0) {\n return parentScopeLengthDiff;\n }\n aParentIndex++;\n bParentIndex++;\n }\n return b.parentScopes.length - a.parentScopes.length;\n }\n match(scope) {\n if (scope !== \"\") {\n let dotIndex = scope.indexOf(\".\");\n let head;\n let tail;\n if (dotIndex === -1) {\n head = scope;\n tail = \"\";\n } else {\n head = scope.substring(0, dotIndex);\n tail = scope.substring(dotIndex + 1);\n }\n if (this._children.hasOwnProperty(head)) {\n return this._children[head].match(tail);\n }\n }\n const rules = this._rulesWithParentScopes.concat(this._mainRule);\n rules.sort(_ThemeTrieElement._cmpBySpecificity);\n return rules;\n }\n insert(scopeDepth, scope, parentScopes, fontStyle, foreground, background) {\n if (scope === \"\") {\n this._doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background);\n return;\n }\n let dotIndex = scope.indexOf(\".\");\n let head;\n let tail;\n if (dotIndex === -1) {\n head = scope;\n tail = \"\";\n } else {\n head = scope.substring(0, dotIndex);\n tail = scope.substring(dotIndex + 1);\n }\n let child;\n if (this._children.hasOwnProperty(head)) {\n child = this._children[head];\n } else {\n child = new _ThemeTrieElement(this._mainRule.clone(), ThemeTrieElementRule.cloneArr(this._rulesWithParentScopes));\n this._children[head] = child;\n }\n child.insert(scopeDepth + 1, tail, parentScopes, fontStyle, foreground, background);\n }\n _doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background) {\n if (parentScopes === null) {\n this._mainRule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n return;\n }\n for (let i = 0, len = this._rulesWithParentScopes.length; i < len; i++) {\n let rule = this._rulesWithParentScopes[i];\n if (strArrCmp(rule.parentScopes, parentScopes) === 0) {\n rule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n return;\n }\n }\n if (fontStyle === -1 /* NotSet */) {\n fontStyle = this._mainRule.fontStyle;\n }\n if (foreground === 0) {\n foreground = this._mainRule.foreground;\n }\n if (background === 0) {\n background = this._mainRule.background;\n }\n this._rulesWithParentScopes.push(new ThemeTrieElementRule(scopeDepth, parentScopes, fontStyle, foreground, background));\n }\n};\n\n// src/encodedTokenAttributes.ts\nvar EncodedTokenMetadata = class _EncodedTokenMetadata {\n static toBinaryStr(encodedTokenAttributes) {\n return encodedTokenAttributes.toString(2).padStart(32, \"0\");\n }\n static print(encodedTokenAttributes) {\n const languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n const tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n const fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n const foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n const background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n console.log({\n languageId,\n tokenType,\n fontStyle,\n foreground,\n background\n });\n }\n static getLanguageId(encodedTokenAttributes) {\n return (encodedTokenAttributes & 255 /* LANGUAGEID_MASK */) >>> 0 /* LANGUAGEID_OFFSET */;\n }\n static getTokenType(encodedTokenAttributes) {\n return (encodedTokenAttributes & 768 /* TOKEN_TYPE_MASK */) >>> 8 /* TOKEN_TYPE_OFFSET */;\n }\n static containsBalancedBrackets(encodedTokenAttributes) {\n return (encodedTokenAttributes & 1024 /* BALANCED_BRACKETS_MASK */) !== 0;\n }\n static getFontStyle(encodedTokenAttributes) {\n return (encodedTokenAttributes & 30720 /* FONT_STYLE_MASK */) >>> 11 /* FONT_STYLE_OFFSET */;\n }\n static getForeground(encodedTokenAttributes) {\n return (encodedTokenAttributes & 16744448 /* FOREGROUND_MASK */) >>> 15 /* FOREGROUND_OFFSET */;\n }\n static getBackground(encodedTokenAttributes) {\n return (encodedTokenAttributes & 4278190080 /* BACKGROUND_MASK */) >>> 24 /* BACKGROUND_OFFSET */;\n }\n /**\n * Updates the fields in `metadata`.\n * A value of `0`, `NotSet` or `null` indicates that the corresponding field should be left as is.\n */\n static set(encodedTokenAttributes, languageId, tokenType, containsBalancedBrackets, fontStyle, foreground, background) {\n let _languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n let _tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n let _containsBalancedBracketsBit = _EncodedTokenMetadata.containsBalancedBrackets(encodedTokenAttributes) ? 1 : 0;\n let _fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n let _foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n let _background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n if (languageId !== 0) {\n _languageId = languageId;\n }\n if (tokenType !== 8 /* NotSet */) {\n _tokenType = fromOptionalTokenType(tokenType);\n }\n if (containsBalancedBrackets !== null) {\n _containsBalancedBracketsBit = containsBalancedBrackets ? 1 : 0;\n }\n if (fontStyle !== -1 /* NotSet */) {\n _fontStyle = fontStyle;\n }\n if (foreground !== 0) {\n _foreground = foreground;\n }\n if (background !== 0) {\n _background = background;\n }\n return (_languageId << 0 /* LANGUAGEID_OFFSET */ | _tokenType << 8 /* TOKEN_TYPE_OFFSET */ | _containsBalancedBracketsBit << 10 /* BALANCED_BRACKETS_OFFSET */ | _fontStyle << 11 /* FONT_STYLE_OFFSET */ | _foreground << 15 /* FOREGROUND_OFFSET */ | _background << 24 /* BACKGROUND_OFFSET */) >>> 0;\n }\n};\nfunction toOptionalTokenType(standardType) {\n return standardType;\n}\nfunction fromOptionalTokenType(standardType) {\n return standardType;\n}\n\n// src/matcher.ts\nfunction createMatchers(selector, matchesName) {\n const results = [];\n const tokenizer = newTokenizer(selector);\n let token = tokenizer.next();\n while (token !== null) {\n let priority = 0;\n if (token.length === 2 && token.charAt(1) === \":\") {\n switch (token.charAt(0)) {\n case \"R\":\n priority = 1;\n break;\n case \"L\":\n priority = -1;\n break;\n default:\n console.log(`Unknown priority ${token} in scope selector`);\n }\n token = tokenizer.next();\n }\n let matcher = parseConjunction();\n results.push({ matcher, priority });\n if (token !== \",\") {\n break;\n }\n token = tokenizer.next();\n }\n return results;\n function parseOperand() {\n if (token === \"-\") {\n token = tokenizer.next();\n const expressionToNegate = parseOperand();\n return (matcherInput) => !!expressionToNegate && !expressionToNegate(matcherInput);\n }\n if (token === \"(\") {\n token = tokenizer.next();\n const expressionInParents = parseInnerExpression();\n if (token === \")\") {\n token = tokenizer.next();\n }\n return expressionInParents;\n }\n if (isIdentifier(token)) {\n const identifiers = [];\n do {\n identifiers.push(token);\n token = tokenizer.next();\n } while (isIdentifier(token));\n return (matcherInput) => matchesName(identifiers, matcherInput);\n }\n return null;\n }\n function parseConjunction() {\n const matchers = [];\n let matcher = parseOperand();\n while (matcher) {\n matchers.push(matcher);\n matcher = parseOperand();\n }\n return (matcherInput) => matchers.every((matcher2) => matcher2(matcherInput));\n }\n function parseInnerExpression() {\n const matchers = [];\n let matcher = parseConjunction();\n while (matcher) {\n matchers.push(matcher);\n if (token === \"|\" || token === \",\") {\n do {\n token = tokenizer.next();\n } while (token === \"|\" || token === \",\");\n } else {\n break;\n }\n matcher = parseConjunction();\n }\n return (matcherInput) => matchers.some((matcher2) => matcher2(matcherInput));\n }\n}\nfunction isIdentifier(token) {\n return !!token && !!token.match(/[\\w\\.:]+/);\n}\nfunction newTokenizer(input) {\n let regex = /([LR]:|[\\w\\.:][\\w\\.:\\-]*|[\\,\\|\\-\\(\\)])/g;\n let match = regex.exec(input);\n return {\n next: () => {\n if (!match) {\n return null;\n }\n const res = match[0];\n match = regex.exec(input);\n return res;\n }\n };\n}\n\n// src/onigLib.ts\nvar FindOption = /* @__PURE__ */ ((FindOption2) => {\n FindOption2[FindOption2[\"None\"] = 0] = \"None\";\n FindOption2[FindOption2[\"NotBeginString\"] = 1] = \"NotBeginString\";\n FindOption2[FindOption2[\"NotEndString\"] = 2] = \"NotEndString\";\n FindOption2[FindOption2[\"NotBeginPosition\"] = 4] = \"NotBeginPosition\";\n FindOption2[FindOption2[\"DebugCall\"] = 8] = \"DebugCall\";\n return FindOption2;\n})(FindOption || {});\nfunction disposeOnigString(str) {\n if (typeof str.dispose === \"function\") {\n str.dispose();\n }\n}\n\n// src/grammar/grammarDependencies.ts\nvar TopLevelRuleReference = class {\n constructor(scopeName) {\n this.scopeName = scopeName;\n }\n toKey() {\n return this.scopeName;\n }\n};\nvar TopLevelRepositoryRuleReference = class {\n constructor(scopeName, ruleName) {\n this.scopeName = scopeName;\n this.ruleName = ruleName;\n }\n toKey() {\n return `${this.scopeName}#${this.ruleName}`;\n }\n};\nvar ExternalReferenceCollector = class {\n constructor() {\n this._references = [];\n this._seenReferenceKeys = /* @__PURE__ */ new Set();\n this.visitedRule = /* @__PURE__ */ new Set();\n }\n get references() {\n return this._references;\n }\n add(reference) {\n const key = reference.toKey();\n if (this._seenReferenceKeys.has(key)) {\n return;\n }\n this._seenReferenceKeys.add(key);\n this._references.push(reference);\n }\n};\nvar ScopeDependencyProcessor = class {\n constructor(repo, initialScopeName) {\n this.repo = repo;\n this.initialScopeName = initialScopeName;\n this.seenFullScopeRequests = /* @__PURE__ */ new Set();\n this.seenPartialScopeRequests = /* @__PURE__ */ new Set();\n this.seenFullScopeRequests.add(this.initialScopeName);\n this.Q = [new TopLevelRuleReference(this.initialScopeName)];\n }\n processQueue() {\n const q = this.Q;\n this.Q = [];\n const deps = new ExternalReferenceCollector();\n for (const dep of q) {\n collectReferencesOfReference(dep, this.initialScopeName, this.repo, deps);\n }\n for (const dep of deps.references) {\n if (dep instanceof TopLevelRuleReference) {\n if (this.seenFullScopeRequests.has(dep.scopeName)) {\n continue;\n }\n this.seenFullScopeRequests.add(dep.scopeName);\n this.Q.push(dep);\n } else {\n if (this.seenFullScopeRequests.has(dep.scopeName)) {\n continue;\n }\n if (this.seenPartialScopeRequests.has(dep.toKey())) {\n continue;\n }\n this.seenPartialScopeRequests.add(dep.toKey());\n this.Q.push(dep);\n }\n }\n }\n};\nfunction collectReferencesOfReference(reference, baseGrammarScopeName, repo, result) {\n const selfGrammar = repo.lookup(reference.scopeName);\n if (!selfGrammar) {\n if (reference.scopeName === baseGrammarScopeName) {\n throw new Error(`No grammar provided for <${baseGrammarScopeName}>`);\n }\n return;\n }\n const baseGrammar = repo.lookup(baseGrammarScopeName);\n if (reference instanceof TopLevelRuleReference) {\n collectExternalReferencesInTopLevelRule({ baseGrammar, selfGrammar }, result);\n } else {\n collectExternalReferencesInTopLevelRepositoryRule(\n reference.ruleName,\n { baseGrammar, selfGrammar, repository: selfGrammar.repository },\n result\n );\n }\n const injections = repo.injections(reference.scopeName);\n if (injections) {\n for (const injection of injections) {\n result.add(new TopLevelRuleReference(injection));\n }\n }\n}\nfunction collectExternalReferencesInTopLevelRepositoryRule(ruleName, context, result) {\n if (context.repository && context.repository[ruleName]) {\n const rule = context.repository[ruleName];\n collectExternalReferencesInRules([rule], context, result);\n }\n}\nfunction collectExternalReferencesInTopLevelRule(context, result) {\n if (context.selfGrammar.patterns && Array.isArray(context.selfGrammar.patterns)) {\n collectExternalReferencesInRules(\n context.selfGrammar.patterns,\n { ...context, repository: context.selfGrammar.repository },\n result\n );\n }\n if (context.selfGrammar.injections) {\n collectExternalReferencesInRules(\n Object.values(context.selfGrammar.injections),\n { ...context, repository: context.selfGrammar.repository },\n result\n );\n }\n}\nfunction collectExternalReferencesInRules(rules, context, result) {\n for (const rule of rules) {\n if (result.visitedRule.has(rule)) {\n continue;\n }\n result.visitedRule.add(rule);\n const patternRepository = rule.repository ? mergeObjects({}, context.repository, rule.repository) : context.repository;\n if (Array.isArray(rule.patterns)) {\n collectExternalReferencesInRules(rule.patterns, { ...context, repository: patternRepository }, result);\n }\n const include = rule.include;\n if (!include) {\n continue;\n }\n const reference = parseInclude(include);\n switch (reference.kind) {\n case 0 /* Base */:\n collectExternalReferencesInTopLevelRule({ ...context, selfGrammar: context.baseGrammar }, result);\n break;\n case 1 /* Self */:\n collectExternalReferencesInTopLevelRule(context, result);\n break;\n case 2 /* RelativeReference */:\n collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, { ...context, repository: patternRepository }, result);\n break;\n case 3 /* TopLevelReference */:\n case 4 /* TopLevelRepositoryReference */:\n const selfGrammar = reference.scopeName === context.selfGrammar.scopeName ? context.selfGrammar : reference.scopeName === context.baseGrammar.scopeName ? context.baseGrammar : void 0;\n if (selfGrammar) {\n const newContext = { baseGrammar: context.baseGrammar, selfGrammar, repository: patternRepository };\n if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, newContext, result);\n } else {\n collectExternalReferencesInTopLevelRule(newContext, result);\n }\n } else {\n if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n result.add(new TopLevelRepositoryRuleReference(reference.scopeName, reference.ruleName));\n } else {\n result.add(new TopLevelRuleReference(reference.scopeName));\n }\n }\n break;\n }\n }\n}\nvar BaseReference = class {\n constructor() {\n this.kind = 0 /* Base */;\n }\n};\nvar SelfReference = class {\n constructor() {\n this.kind = 1 /* Self */;\n }\n};\nvar RelativeReference = class {\n constructor(ruleName) {\n this.ruleName = ruleName;\n this.kind = 2 /* RelativeReference */;\n }\n};\nvar TopLevelReference = class {\n constructor(scopeName) {\n this.scopeName = scopeName;\n this.kind = 3 /* TopLevelReference */;\n }\n};\nvar TopLevelRepositoryReference = class {\n constructor(scopeName, ruleName) {\n this.scopeName = scopeName;\n this.ruleName = ruleName;\n this.kind = 4 /* TopLevelRepositoryReference */;\n }\n};\nfunction parseInclude(include) {\n if (include === \"$base\") {\n return new BaseReference();\n } else if (include === \"$self\") {\n return new SelfReference();\n }\n const indexOfSharp = include.indexOf(\"#\");\n if (indexOfSharp === -1) {\n return new TopLevelReference(include);\n } else if (indexOfSharp === 0) {\n return new RelativeReference(include.substring(1));\n } else {\n const scopeName = include.substring(0, indexOfSharp);\n const ruleName = include.substring(indexOfSharp + 1);\n return new TopLevelRepositoryReference(scopeName, ruleName);\n }\n}\n\n// src/rule.ts\nvar HAS_BACK_REFERENCES = /\\\\(\\d+)/;\nvar BACK_REFERENCING_END = /\\\\(\\d+)/g;\nvar ruleIdSymbol = Symbol(\"RuleId\");\nvar endRuleId = -1;\nvar whileRuleId = -2;\nfunction ruleIdFromNumber(id) {\n return id;\n}\nfunction ruleIdToNumber(id) {\n return id;\n}\nvar Rule = class {\n constructor($location, id, name, contentName) {\n this.$location = $location;\n this.id = id;\n this._name = name || null;\n this._nameIsCapturing = RegexSource.hasCaptures(this._name);\n this._contentName = contentName || null;\n this._contentNameIsCapturing = RegexSource.hasCaptures(this._contentName);\n }\n get debugName() {\n const location = this.$location ? `${basename(this.$location.filename)}:${this.$location.line}` : \"unknown\";\n return `${this.constructor.name}#${this.id} @ ${location}`;\n }\n getName(lineText, captureIndices) {\n if (!this._nameIsCapturing || this._name === null || lineText === null || captureIndices === null) {\n return this._name;\n }\n return RegexSource.replaceCaptures(this._name, lineText, captureIndices);\n }\n getContentName(lineText, captureIndices) {\n if (!this._contentNameIsCapturing || this._contentName === null) {\n return this._contentName;\n }\n return RegexSource.replaceCaptures(this._contentName, lineText, captureIndices);\n }\n};\nvar CaptureRule = class extends Rule {\n constructor($location, id, name, contentName, retokenizeCapturedWithRuleId) {\n super($location, id, name, contentName);\n this.retokenizeCapturedWithRuleId = retokenizeCapturedWithRuleId;\n }\n dispose() {\n }\n collectPatterns(grammar, out) {\n throw new Error(\"Not supported!\");\n }\n compile(grammar, endRegexSource) {\n throw new Error(\"Not supported!\");\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n throw new Error(\"Not supported!\");\n }\n};\nvar MatchRule = class extends Rule {\n constructor($location, id, name, match, captures) {\n super($location, id, name, null);\n this._match = new RegExpSource(match, this.id);\n this.captures = captures;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n get debugMatchRegExp() {\n return `${this._match.source}`;\n }\n collectPatterns(grammar, out) {\n out.push(this._match);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n this.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar IncludeOnlyRule = class extends Rule {\n constructor($location, id, name, contentName, patterns) {\n super($location, id, name, contentName);\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n collectPatterns(grammar, out) {\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, out);\n }\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n this.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar BeginEndRule = class extends Rule {\n constructor($location, id, name, contentName, begin, beginCaptures, end, endCaptures, applyEndPatternLast, patterns) {\n super($location, id, name, contentName);\n this._begin = new RegExpSource(begin, this.id);\n this.beginCaptures = beginCaptures;\n this._end = new RegExpSource(end ? end : \"\\uFFFF\", -1);\n this.endHasBackReferences = this._end.hasBackReferences;\n this.endCaptures = endCaptures;\n this.applyEndPatternLast = applyEndPatternLast || false;\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n get debugBeginRegExp() {\n return `${this._begin.source}`;\n }\n get debugEndRegExp() {\n return `${this._end.source}`;\n }\n getEndWithResolvedBackReferences(lineText, captureIndices) {\n return this._end.resolveBackReferences(lineText, captureIndices);\n }\n collectPatterns(grammar, out) {\n out.push(this._begin);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar, endRegexSource).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar, endRegexSource) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n if (this.applyEndPatternLast) {\n this._cachedCompiledPatterns.push(this._end.hasBackReferences ? this._end.clone() : this._end);\n } else {\n this._cachedCompiledPatterns.unshift(this._end.hasBackReferences ? this._end.clone() : this._end);\n }\n }\n if (this._end.hasBackReferences) {\n if (this.applyEndPatternLast) {\n this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length() - 1, endRegexSource);\n } else {\n this._cachedCompiledPatterns.setSource(0, endRegexSource);\n }\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar BeginWhileRule = class extends Rule {\n constructor($location, id, name, contentName, begin, beginCaptures, _while, whileCaptures, patterns) {\n super($location, id, name, contentName);\n this._begin = new RegExpSource(begin, this.id);\n this.beginCaptures = beginCaptures;\n this.whileCaptures = whileCaptures;\n this._while = new RegExpSource(_while, whileRuleId);\n this.whileHasBackReferences = this._while.hasBackReferences;\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n this._cachedCompiledWhilePatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n if (this._cachedCompiledWhilePatterns) {\n this._cachedCompiledWhilePatterns.dispose();\n this._cachedCompiledWhilePatterns = null;\n }\n }\n get debugBeginRegExp() {\n return `${this._begin.source}`;\n }\n get debugWhileRegExp() {\n return `${this._while.source}`;\n }\n getWhileWithResolvedBackReferences(lineText, captureIndices) {\n return this._while.resolveBackReferences(lineText, captureIndices);\n }\n collectPatterns(grammar, out) {\n out.push(this._begin);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n }\n return this._cachedCompiledPatterns;\n }\n compileWhile(grammar, endRegexSource) {\n return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compile(grammar);\n }\n compileWhileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledWhilePatterns(grammar, endRegexSource) {\n if (!this._cachedCompiledWhilePatterns) {\n this._cachedCompiledWhilePatterns = new RegExpSourceList();\n this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences ? this._while.clone() : this._while);\n }\n if (this._while.hasBackReferences) {\n this._cachedCompiledWhilePatterns.setSource(0, endRegexSource ? endRegexSource : \"\\uFFFF\");\n }\n return this._cachedCompiledWhilePatterns;\n }\n};\nvar RuleFactory = class _RuleFactory {\n static createCaptureRule(helper, $location, name, contentName, retokenizeCapturedWithRuleId) {\n return helper.registerRule((id) => {\n return new CaptureRule($location, id, name, contentName, retokenizeCapturedWithRuleId);\n });\n }\n static getCompiledRuleId(desc, helper, repository) {\n if (!desc.id) {\n helper.registerRule((id) => {\n desc.id = id;\n if (desc.match) {\n return new MatchRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.match,\n _RuleFactory._compileCaptures(desc.captures, helper, repository)\n );\n }\n if (typeof desc.begin === \"undefined\") {\n if (desc.repository) {\n repository = mergeObjects({}, repository, desc.repository);\n }\n let patterns = desc.patterns;\n if (typeof patterns === \"undefined\" && desc.include) {\n patterns = [{ include: desc.include }];\n }\n return new IncludeOnlyRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n _RuleFactory._compilePatterns(patterns, helper, repository)\n );\n }\n if (desc.while) {\n return new BeginWhileRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n desc.begin,\n _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n desc.while,\n _RuleFactory._compileCaptures(desc.whileCaptures || desc.captures, helper, repository),\n _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n );\n }\n return new BeginEndRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n desc.begin,\n _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n desc.end,\n _RuleFactory._compileCaptures(desc.endCaptures || desc.captures, helper, repository),\n desc.applyEndPatternLast,\n _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n );\n });\n }\n return desc.id;\n }\n static _compileCaptures(captures, helper, repository) {\n let r = [];\n if (captures) {\n let maximumCaptureId = 0;\n for (const captureId in captures) {\n if (captureId === \"$vscodeTextmateLocation\") {\n continue;\n }\n const numericCaptureId = parseInt(captureId, 10);\n if (numericCaptureId > maximumCaptureId) {\n maximumCaptureId = numericCaptureId;\n }\n }\n for (let i = 0; i <= maximumCaptureId; i++) {\n r[i] = null;\n }\n for (const captureId in captures) {\n if (captureId === \"$vscodeTextmateLocation\") {\n continue;\n }\n const numericCaptureId = parseInt(captureId, 10);\n let retokenizeCapturedWithRuleId = 0;\n if (captures[captureId].patterns) {\n retokenizeCapturedWithRuleId = _RuleFactory.getCompiledRuleId(captures[captureId], helper, repository);\n }\n r[numericCaptureId] = _RuleFactory.createCaptureRule(helper, captures[captureId].$vscodeTextmateLocation, captures[captureId].name, captures[captureId].contentName, retokenizeCapturedWithRuleId);\n }\n }\n return r;\n }\n static _compilePatterns(patterns, helper, repository) {\n let r = [];\n if (patterns) {\n for (let i = 0, len = patterns.length; i < len; i++) {\n const pattern = patterns[i];\n let ruleId = -1;\n if (pattern.include) {\n const reference = parseInclude(pattern.include);\n switch (reference.kind) {\n case 0 /* Base */:\n case 1 /* Self */:\n ruleId = _RuleFactory.getCompiledRuleId(repository[pattern.include], helper, repository);\n break;\n case 2 /* RelativeReference */:\n let localIncludedRule = repository[reference.ruleName];\n if (localIncludedRule) {\n ruleId = _RuleFactory.getCompiledRuleId(localIncludedRule, helper, repository);\n } else {\n }\n break;\n case 3 /* TopLevelReference */:\n case 4 /* TopLevelRepositoryReference */:\n const externalGrammarName = reference.scopeName;\n const externalGrammarInclude = reference.kind === 4 /* TopLevelRepositoryReference */ ? reference.ruleName : null;\n const externalGrammar = helper.getExternalGrammar(externalGrammarName, repository);\n if (externalGrammar) {\n if (externalGrammarInclude) {\n let externalIncludedRule = externalGrammar.repository[externalGrammarInclude];\n if (externalIncludedRule) {\n ruleId = _RuleFactory.getCompiledRuleId(externalIncludedRule, helper, externalGrammar.repository);\n } else {\n }\n } else {\n ruleId = _RuleFactory.getCompiledRuleId(externalGrammar.repository.$self, helper, externalGrammar.repository);\n }\n } else {\n }\n break;\n }\n } else {\n ruleId = _RuleFactory.getCompiledRuleId(pattern, helper, repository);\n }\n if (ruleId !== -1) {\n const rule = helper.getRule(ruleId);\n let skipRule = false;\n if (rule instanceof IncludeOnlyRule || rule instanceof BeginEndRule || rule instanceof BeginWhileRule) {\n if (rule.hasMissingPatterns && rule.patterns.length === 0) {\n skipRule = true;\n }\n }\n if (skipRule) {\n continue;\n }\n r.push(ruleId);\n }\n }\n }\n return {\n patterns: r,\n hasMissingPatterns: (patterns ? patterns.length : 0) !== r.length\n };\n }\n};\nvar RegExpSource = class _RegExpSource {\n constructor(regExpSource, ruleId) {\n if (regExpSource) {\n const len = regExpSource.length;\n let lastPushedPos = 0;\n let output = [];\n let hasAnchor = false;\n for (let pos = 0; pos < len; pos++) {\n const ch = regExpSource.charAt(pos);\n if (ch === \"\\\\\") {\n if (pos + 1 < len) {\n const nextCh = regExpSource.charAt(pos + 1);\n if (nextCh === \"z\") {\n output.push(regExpSource.substring(lastPushedPos, pos));\n output.push(\"$(?!\\\\n)(?<!\\\\n)\");\n lastPushedPos = pos + 2;\n } else if (nextCh === \"A\" || nextCh === \"G\") {\n hasAnchor = true;\n }\n pos++;\n }\n }\n }\n this.hasAnchor = hasAnchor;\n if (lastPushedPos === 0) {\n this.source = regExpSource;\n } else {\n output.push(regExpSource.substring(lastPushedPos, len));\n this.source = output.join(\"\");\n }\n } else {\n this.hasAnchor = false;\n this.source = regExpSource;\n }\n if (this.hasAnchor) {\n this._anchorCache = this._buildAnchorCache();\n } else {\n this._anchorCache = null;\n }\n this.ruleId = ruleId;\n this.hasBackReferences = HAS_BACK_REFERENCES.test(this.source);\n }\n clone() {\n return new _RegExpSource(this.source, this.ruleId);\n }\n setSource(newSource) {\n if (this.source === newSource) {\n return;\n }\n this.source = newSource;\n if (this.hasAnchor) {\n this._anchorCache = this._buildAnchorCache();\n }\n }\n resolveBackReferences(lineText, captureIndices) {\n let capturedValues = captureIndices.map((capture) => {\n return lineText.substring(capture.start, capture.end);\n });\n BACK_REFERENCING_END.lastIndex = 0;\n return this.source.replace(BACK_REFERENCING_END, (match, g1) => {\n return escapeRegExpCharacters(capturedValues[parseInt(g1, 10)] || \"\");\n });\n }\n _buildAnchorCache() {\n let A0_G0_result = [];\n let A0_G1_result = [];\n let A1_G0_result = [];\n let A1_G1_result = [];\n let pos, len, ch, nextCh;\n for (pos = 0, len = this.source.length; pos < len; pos++) {\n ch = this.source.charAt(pos);\n A0_G0_result[pos] = ch;\n A0_G1_result[pos] = ch;\n A1_G0_result[pos] = ch;\n A1_G1_result[pos] = ch;\n if (ch === \"\\\\\") {\n if (pos + 1 < len) {\n nextCh = this.source.charAt(pos + 1);\n if (nextCh === \"A\") {\n A0_G0_result[pos + 1] = \"\\uFFFF\";\n A0_G1_result[pos + 1] = \"\\uFFFF\";\n A1_G0_result[pos + 1] = \"A\";\n A1_G1_result[pos + 1] = \"A\";\n } else if (nextCh === \"G\") {\n A0_G0_result[pos + 1] = \"\\uFFFF\";\n A0_G1_result[pos + 1] = \"G\";\n A1_G0_result[pos + 1] = \"\\uFFFF\";\n A1_G1_result[pos + 1] = \"G\";\n } else {\n A0_G0_result[pos + 1] = nextCh;\n A0_G1_result[pos + 1] = nextCh;\n A1_G0_result[pos + 1] = nextCh;\n A1_G1_result[pos + 1] = nextCh;\n }\n pos++;\n }\n }\n }\n return {\n A0_G0: A0_G0_result.join(\"\"),\n A0_G1: A0_G1_result.join(\"\"),\n A1_G0: A1_G0_result.join(\"\"),\n A1_G1: A1_G1_result.join(\"\")\n };\n }\n resolveAnchors(allowA, allowG) {\n if (!this.hasAnchor || !this._anchorCache) {\n return this.source;\n }\n if (allowA) {\n if (allowG) {\n return this._anchorCache.A1_G1;\n } else {\n return this._anchorCache.A1_G0;\n }\n } else {\n if (allowG) {\n return this._anchorCache.A0_G1;\n } else {\n return this._anchorCache.A0_G0;\n }\n }\n }\n};\nvar RegExpSourceList = class {\n constructor() {\n this._items = [];\n this._hasAnchors = false;\n this._cached = null;\n this._anchorCache = {\n A0_G0: null,\n A0_G1: null,\n A1_G0: null,\n A1_G1: null\n };\n }\n dispose() {\n this._disposeCaches();\n }\n _disposeCaches() {\n if (this._cached) {\n this._cached.dispose();\n this._cached = null;\n }\n if (this._anchorCache.A0_G0) {\n this._anchorCache.A0_G0.dispose();\n this._anchorCache.A0_G0 = null;\n }\n if (this._anchorCache.A0_G1) {\n this._anchorCache.A0_G1.dispose();\n this._anchorCache.A0_G1 = null;\n }\n if (this._anchorCache.A1_G0) {\n this._anchorCache.A1_G0.dispose();\n this._anchorCache.A1_G0 = null;\n }\n if (this._anchorCache.A1_G1) {\n this._anchorCache.A1_G1.dispose();\n this._anchorCache.A1_G1 = null;\n }\n }\n push(item) {\n this._items.push(item);\n this._hasAnchors = this._hasAnchors || item.hasAnchor;\n }\n unshift(item) {\n this._items.unshift(item);\n this._hasAnchors = this._hasAnchors || item.hasAnchor;\n }\n length() {\n return this._items.length;\n }\n setSource(index, newSource) {\n if (this._items[index].source !== newSource) {\n this._disposeCaches();\n this._items[index].setSource(newSource);\n }\n }\n compile(onigLib) {\n if (!this._cached) {\n let regExps = this._items.map((e) => e.source);\n this._cached = new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n }\n return this._cached;\n }\n compileAG(onigLib, allowA, allowG) {\n if (!this._hasAnchors) {\n return this.compile(onigLib);\n } else {\n if (allowA) {\n if (allowG) {\n if (!this._anchorCache.A1_G1) {\n this._anchorCache.A1_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A1_G1;\n } else {\n if (!this._anchorCache.A1_G0) {\n this._anchorCache.A1_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A1_G0;\n }\n } else {\n if (allowG) {\n if (!this._anchorCache.A0_G1) {\n this._anchorCache.A0_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A0_G1;\n } else {\n if (!this._anchorCache.A0_G0) {\n this._anchorCache.A0_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A0_G0;\n }\n }\n }\n }\n _resolveAnchors(onigLib, allowA, allowG) {\n let regExps = this._items.map((e) => e.resolveAnchors(allowA, allowG));\n return new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n }\n};\nvar CompiledRule = class {\n constructor(onigLib, regExps, rules) {\n this.regExps = regExps;\n this.rules = rules;\n this.scanner = onigLib.createOnigScanner(regExps);\n }\n dispose() {\n if (typeof this.scanner.dispose === \"function\") {\n this.scanner.dispose();\n }\n }\n toString() {\n const r = [];\n for (let i = 0, len = this.rules.length; i < len; i++) {\n r.push(\" - \" + this.rules[i] + \": \" + this.regExps[i]);\n }\n return r.join(\"\\n\");\n }\n findNextMatchSync(string, startPosition, options) {\n const result = this.scanner.findNextMatchSync(string, startPosition, options);\n if (!result) {\n return null;\n }\n return {\n ruleId: this.rules[result.index],\n captureIndices: result.captureIndices\n };\n }\n};\n\n// src/grammar/basicScopesAttributeProvider.ts\nvar BasicScopeAttributes = class {\n constructor(languageId, tokenType) {\n this.languageId = languageId;\n this.tokenType = tokenType;\n }\n};\nvar _BasicScopeAttributesProvider = class _BasicScopeAttributesProvider {\n constructor(initialLanguageId, embeddedLanguages) {\n this._getBasicScopeAttributes = new CachedFn((scopeName) => {\n const languageId = this._scopeToLanguage(scopeName);\n const standardTokenType = this._toStandardTokenType(scopeName);\n return new BasicScopeAttributes(languageId, standardTokenType);\n });\n this._defaultAttributes = new BasicScopeAttributes(initialLanguageId, 8 /* NotSet */);\n this._embeddedLanguagesMatcher = new ScopeMatcher(Object.entries(embeddedLanguages || {}));\n }\n getDefaultAttributes() {\n return this._defaultAttributes;\n }\n getBasicScopeAttributes(scopeName) {\n if (scopeName === null) {\n return _BasicScopeAttributesProvider._NULL_SCOPE_METADATA;\n }\n return this._getBasicScopeAttributes.get(scopeName);\n }\n /**\n * Given a produced TM scope, return the language that token describes or null if unknown.\n * e.g. source.html => html, source.css.embedded.html => css, punctuation.definition.tag.html => null\n */\n _scopeToLanguage(scope) {\n return this._embeddedLanguagesMatcher.match(scope) || 0;\n }\n _toStandardTokenType(scopeName) {\n const m = scopeName.match(_BasicScopeAttributesProvider.STANDARD_TOKEN_TYPE_REGEXP);\n if (!m) {\n return 8 /* NotSet */;\n }\n switch (m[1]) {\n case \"comment\":\n return 1 /* Comment */;\n case \"string\":\n return 2 /* String */;\n case \"regex\":\n return 3 /* RegEx */;\n case \"meta.embedded\":\n return 0 /* Other */;\n }\n throw new Error(\"Unexpected match for standard token type!\");\n }\n};\n_BasicScopeAttributesProvider._NULL_SCOPE_METADATA = new BasicScopeAttributes(0, 0);\n_BasicScopeAttributesProvider.STANDARD_TOKEN_TYPE_REGEXP = /\\b(comment|string|regex|meta\\.embedded)\\b/;\nvar BasicScopeAttributesProvider = _BasicScopeAttributesProvider;\nvar ScopeMatcher = class {\n constructor(values) {\n if (values.length === 0) {\n this.values = null;\n this.scopesRegExp = null;\n } else {\n this.values = new Map(values);\n const escapedScopes = values.map(\n ([scopeName, value]) => escapeRegExpCharacters(scopeName)\n );\n escapedScopes.sort();\n escapedScopes.reverse();\n this.scopesRegExp = new RegExp(\n `^((${escapedScopes.join(\")|(\")}))($|\\\\.)`,\n \"\"\n );\n }\n }\n match(scope) {\n if (!this.scopesRegExp) {\n return void 0;\n }\n const m = scope.match(this.scopesRegExp);\n if (!m) {\n return void 0;\n }\n return this.values.get(m[1]);\n }\n};\n\n// src/debug.ts\nvar DebugFlags = {\n InDebugMode: typeof process !== \"undefined\" && !!process.env[\"VSCODE_TEXTMATE_DEBUG\"]\n};\nvar UseOnigurumaFindOptions = false;\n\n// src/grammar/tokenizeString.ts\nvar TokenizeStringResult = class {\n constructor(stack, stoppedEarly) {\n this.stack = stack;\n this.stoppedEarly = stoppedEarly;\n }\n};\nfunction _tokenizeString(grammar, lineText, isFirstLine, linePos, stack, lineTokens, checkWhileConditions, timeLimit) {\n const lineLength = lineText.content.length;\n let STOP = false;\n let anchorPosition = -1;\n if (checkWhileConditions) {\n const whileCheckResult = _checkWhileConditions(\n grammar,\n lineText,\n isFirstLine,\n linePos,\n stack,\n lineTokens\n );\n stack = whileCheckResult.stack;\n linePos = whileCheckResult.linePos;\n isFirstLine = whileCheckResult.isFirstLine;\n anchorPosition = whileCheckResult.anchorPosition;\n }\n const startTime = Date.now();\n while (!STOP) {\n if (timeLimit !== 0) {\n const elapsedTime = Date.now() - startTime;\n if (elapsedTime > timeLimit) {\n return new TokenizeStringResult(stack, true);\n }\n }\n scanNext();\n }\n return new TokenizeStringResult(stack, false);\n function scanNext() {\n if (false) {\n console.log(\"\");\n console.log(\n `@@scanNext ${linePos}: |${lineText.content.substr(linePos).replace(/\\n$/, \"\\\\n\")}|`\n );\n }\n const r = matchRuleOrInjections(\n grammar,\n lineText,\n isFirstLine,\n linePos,\n stack,\n anchorPosition\n );\n if (!r) {\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n const captureIndices = r.captureIndices;\n const matchedRuleId = r.matchedRuleId;\n const hasAdvanced = captureIndices && captureIndices.length > 0 ? captureIndices[0].end > linePos : false;\n if (matchedRuleId === endRuleId) {\n const poppedRule = stack.getRule(grammar);\n if (false) {\n console.log(\n \" popping \" + poppedRule.debugName + \" - \" + poppedRule.debugEndRegExp\n );\n }\n lineTokens.produce(stack, captureIndices[0].start);\n stack = stack.withContentNameScopesList(stack.nameScopesList);\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n poppedRule.endCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n const popped = stack;\n stack = stack.parent;\n anchorPosition = popped.getAnchorPos();\n if (!hasAdvanced && popped.getEnterPos() === linePos) {\n if (false) {\n console.error(\n \"[1] - Grammar is in an endless loop - Grammar pushed & popped a rule without advancing\"\n );\n }\n stack = popped;\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else {\n const _rule = grammar.getRule(matchedRuleId);\n lineTokens.produce(stack, captureIndices[0].start);\n const beforePush = stack;\n const scopeName = _rule.getName(lineText.content, captureIndices);\n const nameScopesList = stack.contentNameScopesList.pushAttributed(\n scopeName,\n grammar\n );\n stack = stack.push(\n matchedRuleId,\n linePos,\n anchorPosition,\n captureIndices[0].end === lineLength,\n null,\n nameScopesList,\n nameScopesList\n );\n if (_rule instanceof BeginEndRule) {\n const pushedRule = _rule;\n if (false) {\n console.log(\n \" pushing \" + pushedRule.debugName + \" - \" + pushedRule.debugBeginRegExp\n );\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n pushedRule.beginCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n anchorPosition = captureIndices[0].end;\n const contentName = pushedRule.getContentName(\n lineText.content,\n captureIndices\n );\n const contentNameScopesList = nameScopesList.pushAttributed(\n contentName,\n grammar\n );\n stack = stack.withContentNameScopesList(contentNameScopesList);\n if (pushedRule.endHasBackReferences) {\n stack = stack.withEndRule(\n pushedRule.getEndWithResolvedBackReferences(\n lineText.content,\n captureIndices\n )\n );\n }\n if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n if (false) {\n console.error(\n \"[2] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n );\n }\n stack = stack.pop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else if (_rule instanceof BeginWhileRule) {\n const pushedRule = _rule;\n if (false) {\n console.log(\" pushing \" + pushedRule.debugName);\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n pushedRule.beginCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n anchorPosition = captureIndices[0].end;\n const contentName = pushedRule.getContentName(\n lineText.content,\n captureIndices\n );\n const contentNameScopesList = nameScopesList.pushAttributed(\n contentName,\n grammar\n );\n stack = stack.withContentNameScopesList(contentNameScopesList);\n if (pushedRule.whileHasBackReferences) {\n stack = stack.withEndRule(\n pushedRule.getWhileWithResolvedBackReferences(\n lineText.content,\n captureIndices\n )\n );\n }\n if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n if (false) {\n console.error(\n \"[3] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n );\n }\n stack = stack.pop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else {\n const matchingRule = _rule;\n if (false) {\n console.log(\n \" matched \" + matchingRule.debugName + \" - \" + matchingRule.debugMatchRegExp\n );\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n matchingRule.captures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n stack = stack.pop();\n if (!hasAdvanced) {\n if (false) {\n console.error(\n \"[4] - Grammar is in an endless loop - Grammar is not advancing, nor is it pushing/popping\"\n );\n }\n stack = stack.safePop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n }\n }\n if (captureIndices[0].end > linePos) {\n linePos = captureIndices[0].end;\n isFirstLine = false;\n }\n }\n}\nfunction _checkWhileConditions(grammar, lineText, isFirstLine, linePos, stack, lineTokens) {\n let anchorPosition = stack.beginRuleCapturedEOL ? 0 : -1;\n const whileRules = [];\n for (let node = stack; node; node = node.pop()) {\n const nodeRule = node.getRule(grammar);\n if (nodeRule instanceof BeginWhileRule) {\n whileRules.push({\n rule: nodeRule,\n stack: node\n });\n }\n }\n for (let whileRule = whileRules.pop(); whileRule; whileRule = whileRules.pop()) {\n const { ruleScanner, findOptions } = prepareRuleWhileSearch(whileRule.rule, grammar, whileRule.stack.endRule, isFirstLine, linePos === anchorPosition);\n const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (false) {\n console.log(\" scanning for while rule\");\n console.log(ruleScanner.toString());\n }\n if (r) {\n const matchedRuleId = r.ruleId;\n if (matchedRuleId !== whileRuleId) {\n stack = whileRule.stack.pop();\n break;\n }\n if (r.captureIndices && r.captureIndices.length) {\n lineTokens.produce(whileRule.stack, r.captureIndices[0].start);\n handleCaptures(grammar, lineText, isFirstLine, whileRule.stack, lineTokens, whileRule.rule.whileCaptures, r.captureIndices);\n lineTokens.produce(whileRule.stack, r.captureIndices[0].end);\n anchorPosition = r.captureIndices[0].end;\n if (r.captureIndices[0].end > linePos) {\n linePos = r.captureIndices[0].end;\n isFirstLine = false;\n }\n }\n } else {\n if (false) {\n console.log(\" popping \" + whileRule.rule.debugName + \" - \" + whileRule.rule.debugWhileRegExp);\n }\n stack = whileRule.stack.pop();\n break;\n }\n }\n return { stack, linePos, anchorPosition, isFirstLine };\n}\nfunction matchRuleOrInjections(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n const matchResult = matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n const injections = grammar.getInjections();\n if (injections.length === 0) {\n return matchResult;\n }\n const injectionResult = matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n if (!injectionResult) {\n return matchResult;\n }\n if (!matchResult) {\n return injectionResult;\n }\n const matchResultScore = matchResult.captureIndices[0].start;\n const injectionResultScore = injectionResult.captureIndices[0].start;\n if (injectionResultScore < matchResultScore || injectionResult.priorityMatch && injectionResultScore === matchResultScore) {\n return injectionResult;\n }\n return matchResult;\n}\nfunction matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n const rule = stack.getRule(grammar);\n const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, stack.endRule, isFirstLine, linePos === anchorPosition);\n const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (r) {\n return {\n captureIndices: r.captureIndices,\n matchedRuleId: r.ruleId\n };\n }\n return null;\n}\nfunction matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n let bestMatchRating = Number.MAX_VALUE;\n let bestMatchCaptureIndices = null;\n let bestMatchRuleId;\n let bestMatchResultPriority = 0;\n const scopes = stack.contentNameScopesList.getScopeNames();\n for (let i = 0, len = injections.length; i < len; i++) {\n const injection = injections[i];\n if (!injection.matcher(scopes)) {\n continue;\n }\n const rule = grammar.getRule(injection.ruleId);\n const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, null, isFirstLine, linePos === anchorPosition);\n const matchResult = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (!matchResult) {\n continue;\n }\n if (false) {\n console.log(` matched injection: ${injection.debugSelector}`);\n console.log(ruleScanner.toString());\n }\n const matchRating = matchResult.captureIndices[0].start;\n if (matchRating >= bestMatchRating) {\n continue;\n }\n bestMatchRating = matchRating;\n bestMatchCaptureIndices = matchResult.captureIndices;\n bestMatchRuleId = matchResult.ruleId;\n bestMatchResultPriority = injection.priority;\n if (bestMatchRating === linePos) {\n break;\n }\n }\n if (bestMatchCaptureIndices) {\n return {\n priorityMatch: bestMatchResultPriority === -1,\n captureIndices: bestMatchCaptureIndices,\n matchedRuleId: bestMatchRuleId\n };\n }\n return null;\n}\nfunction prepareRuleSearch(rule, grammar, endRegexSource, allowA, allowG) {\n if (UseOnigurumaFindOptions) {\n const ruleScanner2 = rule.compile(grammar, endRegexSource);\n const findOptions = getFindOptions(allowA, allowG);\n return { ruleScanner: ruleScanner2, findOptions };\n }\n const ruleScanner = rule.compileAG(grammar, endRegexSource, allowA, allowG);\n return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction prepareRuleWhileSearch(rule, grammar, endRegexSource, allowA, allowG) {\n if (UseOnigurumaFindOptions) {\n const ruleScanner2 = rule.compileWhile(grammar, endRegexSource);\n const findOptions = getFindOptions(allowA, allowG);\n return { ruleScanner: ruleScanner2, findOptions };\n }\n const ruleScanner = rule.compileWhileAG(grammar, endRegexSource, allowA, allowG);\n return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction getFindOptions(allowA, allowG) {\n let options = 0 /* None */;\n if (!allowA) {\n options |= 1 /* NotBeginString */;\n }\n if (!allowG) {\n options |= 4 /* NotBeginPosition */;\n }\n return options;\n}\nfunction handleCaptures(grammar, lineText, isFirstLine, stack, lineTokens, captures, captureIndices) {\n if (captures.length === 0) {\n return;\n }\n const lineTextContent = lineText.content;\n const len = Math.min(captures.length, captureIndices.length);\n const localStack = [];\n const maxEnd = captureIndices[0].end;\n for (let i = 0; i < len; i++) {\n const captureRule = captures[i];\n if (captureRule === null) {\n continue;\n }\n const captureIndex = captureIndices[i];\n if (captureIndex.length === 0) {\n continue;\n }\n if (captureIndex.start > maxEnd) {\n break;\n }\n while (localStack.length > 0 && localStack[localStack.length - 1].endPos <= captureIndex.start) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n localStack.pop();\n }\n if (localStack.length > 0) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, captureIndex.start);\n } else {\n lineTokens.produce(stack, captureIndex.start);\n }\n if (captureRule.retokenizeCapturedWithRuleId) {\n const scopeName = captureRule.getName(lineTextContent, captureIndices);\n const nameScopesList = stack.contentNameScopesList.pushAttributed(scopeName, grammar);\n const contentName = captureRule.getContentName(lineTextContent, captureIndices);\n const contentNameScopesList = nameScopesList.pushAttributed(contentName, grammar);\n const stackClone = stack.push(captureRule.retokenizeCapturedWithRuleId, captureIndex.start, -1, false, null, nameScopesList, contentNameScopesList);\n const onigSubStr = grammar.createOnigString(lineTextContent.substring(0, captureIndex.end));\n _tokenizeString(\n grammar,\n onigSubStr,\n isFirstLine && captureIndex.start === 0,\n captureIndex.start,\n stackClone,\n lineTokens,\n false,\n /* no time limit */\n 0\n );\n disposeOnigString(onigSubStr);\n continue;\n }\n const captureRuleScopeName = captureRule.getName(lineTextContent, captureIndices);\n if (captureRuleScopeName !== null) {\n const base = localStack.length > 0 ? localStack[localStack.length - 1].scopes : stack.contentNameScopesList;\n const captureRuleScopesList = base.pushAttributed(captureRuleScopeName, grammar);\n localStack.push(new LocalStackElement(captureRuleScopesList, captureIndex.end));\n }\n }\n while (localStack.length > 0) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n localStack.pop();\n }\n}\nvar LocalStackElement = class {\n constructor(scopes, endPos) {\n this.scopes = scopes;\n this.endPos = endPos;\n }\n};\n\n// src/grammar/grammar.ts\nfunction createGrammar(scopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, onigLib) {\n return new Grammar(\n scopeName,\n grammar,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors,\n grammarRepository,\n onigLib\n );\n}\nfunction collectInjections(result, selector, rule, ruleFactoryHelper, grammar) {\n const matchers = createMatchers(selector, nameMatcher);\n const ruleId = RuleFactory.getCompiledRuleId(rule, ruleFactoryHelper, grammar.repository);\n for (const matcher of matchers) {\n result.push({\n debugSelector: selector,\n matcher: matcher.matcher,\n ruleId,\n grammar,\n priority: matcher.priority\n });\n }\n}\nfunction nameMatcher(identifers, scopes) {\n if (scopes.length < identifers.length) {\n return false;\n }\n let lastIndex = 0;\n return identifers.every((identifier) => {\n for (let i = lastIndex; i < scopes.length; i++) {\n if (scopesAreMatching(scopes[i], identifier)) {\n lastIndex = i + 1;\n return true;\n }\n }\n return false;\n });\n}\nfunction scopesAreMatching(thisScopeName, scopeName) {\n if (!thisScopeName) {\n return false;\n }\n if (thisScopeName === scopeName) {\n return true;\n }\n const len = scopeName.length;\n return thisScopeName.length > len && thisScopeName.substr(0, len) === scopeName && thisScopeName[len] === \".\";\n}\nvar Grammar = class {\n constructor(_rootScopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, _onigLib) {\n this._rootScopeName = _rootScopeName;\n this.balancedBracketSelectors = balancedBracketSelectors;\n this._onigLib = _onigLib;\n this._basicScopeAttributesProvider = new BasicScopeAttributesProvider(\n initialLanguage,\n embeddedLanguages\n );\n this._rootId = -1;\n this._lastRuleId = 0;\n this._ruleId2desc = [null];\n this._includedGrammars = {};\n this._grammarRepository = grammarRepository;\n this._grammar = initGrammar(grammar, null);\n this._injections = null;\n this._tokenTypeMatchers = [];\n if (tokenTypes) {\n for (const selector of Object.keys(tokenTypes)) {\n const matchers = createMatchers(selector, nameMatcher);\n for (const matcher of matchers) {\n this._tokenTypeMatchers.push({\n matcher: matcher.matcher,\n type: tokenTypes[selector]\n });\n }\n }\n }\n }\n get themeProvider() {\n return this._grammarRepository;\n }\n dispose() {\n for (const rule of this._ruleId2desc) {\n if (rule) {\n rule.dispose();\n }\n }\n }\n createOnigScanner(sources) {\n return this._onigLib.createOnigScanner(sources);\n }\n createOnigString(sources) {\n return this._onigLib.createOnigString(sources);\n }\n getMetadataForScope(scope) {\n return this._basicScopeAttributesProvider.getBasicScopeAttributes(scope);\n }\n _collectInjections() {\n const grammarRepository = {\n lookup: (scopeName2) => {\n if (scopeName2 === this._rootScopeName) {\n return this._grammar;\n }\n return this.getExternalGrammar(scopeName2);\n },\n injections: (scopeName2) => {\n return this._grammarRepository.injections(scopeName2);\n }\n };\n const result = [];\n const scopeName = this._rootScopeName;\n const grammar = grammarRepository.lookup(scopeName);\n if (grammar) {\n const rawInjections = grammar.injections;\n if (rawInjections) {\n for (let expression in rawInjections) {\n collectInjections(\n result,\n expression,\n rawInjections[expression],\n this,\n grammar\n );\n }\n }\n const injectionScopeNames = this._grammarRepository.injections(scopeName);\n if (injectionScopeNames) {\n injectionScopeNames.forEach((injectionScopeName) => {\n const injectionGrammar = this.getExternalGrammar(injectionScopeName);\n if (injectionGrammar) {\n const selector = injectionGrammar.injectionSelector;\n if (selector) {\n collectInjections(\n result,\n selector,\n injectionGrammar,\n this,\n injectionGrammar\n );\n }\n }\n });\n }\n }\n result.sort((i1, i2) => i1.priority - i2.priority);\n return result;\n }\n getInjections() {\n if (this._injections === null) {\n this._injections = this._collectInjections();\n }\n return this._injections;\n }\n registerRule(factory) {\n const id = ++this._lastRuleId;\n const result = factory(ruleIdFromNumber(id));\n this._ruleId2desc[id] = result;\n return result;\n }\n getRule(ruleId) {\n return this._ruleId2desc[ruleIdToNumber(ruleId)];\n }\n getExternalGrammar(scopeName, repository) {\n if (this._includedGrammars[scopeName]) {\n return this._includedGrammars[scopeName];\n } else if (this._grammarRepository) {\n const rawIncludedGrammar = this._grammarRepository.lookup(scopeName);\n if (rawIncludedGrammar) {\n this._includedGrammars[scopeName] = initGrammar(\n rawIncludedGrammar,\n repository && repository.$base\n );\n return this._includedGrammars[scopeName];\n }\n }\n return void 0;\n }\n tokenizeLine(lineText, prevState, timeLimit = 0) {\n const r = this._tokenize(lineText, prevState, false, timeLimit);\n return {\n tokens: r.lineTokens.getResult(r.ruleStack, r.lineLength),\n ruleStack: r.ruleStack,\n stoppedEarly: r.stoppedEarly\n };\n }\n tokenizeLine2(lineText, prevState, timeLimit = 0) {\n const r = this._tokenize(lineText, prevState, true, timeLimit);\n return {\n tokens: r.lineTokens.getBinaryResult(r.ruleStack, r.lineLength),\n ruleStack: r.ruleStack,\n stoppedEarly: r.stoppedEarly\n };\n }\n _tokenize(lineText, prevState, emitBinaryTokens, timeLimit) {\n if (this._rootId === -1) {\n this._rootId = RuleFactory.getCompiledRuleId(\n this._grammar.repository.$self,\n this,\n this._grammar.repository\n );\n this.getInjections();\n }\n let isFirstLine;\n if (!prevState || prevState === StateStackImpl.NULL) {\n isFirstLine = true;\n const rawDefaultMetadata = this._basicScopeAttributesProvider.getDefaultAttributes();\n const defaultStyle = this.themeProvider.getDefaults();\n const defaultMetadata = EncodedTokenMetadata.set(\n 0,\n rawDefaultMetadata.languageId,\n rawDefaultMetadata.tokenType,\n null,\n defaultStyle.fontStyle,\n defaultStyle.foregroundId,\n defaultStyle.backgroundId\n );\n const rootScopeName = this.getRule(this._rootId).getName(\n null,\n null\n );\n let scopeList;\n if (rootScopeName) {\n scopeList = AttributedScopeStack.createRootAndLookUpScopeName(\n rootScopeName,\n defaultMetadata,\n this\n );\n } else {\n scopeList = AttributedScopeStack.createRoot(\n \"unknown\",\n defaultMetadata\n );\n }\n prevState = new StateStackImpl(\n null,\n this._rootId,\n -1,\n -1,\n false,\n null,\n scopeList,\n scopeList\n );\n } else {\n isFirstLine = false;\n prevState.reset();\n }\n lineText = lineText + \"\\n\";\n const onigLineText = this.createOnigString(lineText);\n const lineLength = onigLineText.content.length;\n const lineTokens = new LineTokens(\n emitBinaryTokens,\n lineText,\n this._tokenTypeMatchers,\n this.balancedBracketSelectors\n );\n const r = _tokenizeString(\n this,\n onigLineText,\n isFirstLine,\n 0,\n prevState,\n lineTokens,\n true,\n timeLimit\n );\n disposeOnigString(onigLineText);\n return {\n lineLength,\n lineTokens,\n ruleStack: r.stack,\n stoppedEarly: r.stoppedEarly\n };\n }\n};\nfunction initGrammar(grammar, base) {\n grammar = clone(grammar);\n grammar.repository = grammar.repository || {};\n grammar.repository.$self = {\n $vscodeTextmateLocation: grammar.$vscodeTextmateLocation,\n patterns: grammar.patterns,\n name: grammar.scopeName\n };\n grammar.repository.$base = base || grammar.repository.$self;\n return grammar;\n}\nvar AttributedScopeStack = class _AttributedScopeStack {\n /**\n * Invariant:\n * ```\n * if (parent && !scopePath.extends(parent.scopePath)) {\n * \tthrow new Error();\n * }\n * ```\n */\n constructor(parent, scopePath, tokenAttributes) {\n this.parent = parent;\n this.scopePath = scopePath;\n this.tokenAttributes = tokenAttributes;\n }\n static fromExtension(namesScopeList, contentNameScopesList) {\n let current = namesScopeList;\n let scopeNames = namesScopeList?.scopePath ?? null;\n for (const frame of contentNameScopesList) {\n scopeNames = ScopeStack.push(scopeNames, frame.scopeNames);\n current = new _AttributedScopeStack(current, scopeNames, frame.encodedTokenAttributes);\n }\n return current;\n }\n static createRoot(scopeName, tokenAttributes) {\n return new _AttributedScopeStack(null, new ScopeStack(null, scopeName), tokenAttributes);\n }\n static createRootAndLookUpScopeName(scopeName, tokenAttributes, grammar) {\n const rawRootMetadata = grammar.getMetadataForScope(scopeName);\n const scopePath = new ScopeStack(null, scopeName);\n const rootStyle = grammar.themeProvider.themeMatch(scopePath);\n const resolvedTokenAttributes = _AttributedScopeStack.mergeAttributes(\n tokenAttributes,\n rawRootMetadata,\n rootStyle\n );\n return new _AttributedScopeStack(null, scopePath, resolvedTokenAttributes);\n }\n get scopeName() {\n return this.scopePath.scopeName;\n }\n toString() {\n return this.getScopeNames().join(\" \");\n }\n equals(other) {\n return _AttributedScopeStack.equals(this, other);\n }\n static equals(a, b) {\n do {\n if (a === b) {\n return true;\n }\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.scopeName !== b.scopeName || a.tokenAttributes !== b.tokenAttributes) {\n return false;\n }\n a = a.parent;\n b = b.parent;\n } while (true);\n }\n static mergeAttributes(existingTokenAttributes, basicScopeAttributes, styleAttributes) {\n let fontStyle = -1 /* NotSet */;\n let foreground = 0;\n let background = 0;\n if (styleAttributes !== null) {\n fontStyle = styleAttributes.fontStyle;\n foreground = styleAttributes.foregroundId;\n background = styleAttributes.backgroundId;\n }\n return EncodedTokenMetadata.set(\n existingTokenAttributes,\n basicScopeAttributes.languageId,\n basicScopeAttributes.tokenType,\n null,\n fontStyle,\n foreground,\n background\n );\n }\n pushAttributed(scopePath, grammar) {\n if (scopePath === null) {\n return this;\n }\n if (scopePath.indexOf(\" \") === -1) {\n return _AttributedScopeStack._pushAttributed(this, scopePath, grammar);\n }\n const scopes = scopePath.split(/ /g);\n let result = this;\n for (const scope of scopes) {\n result = _AttributedScopeStack._pushAttributed(result, scope, grammar);\n }\n return result;\n }\n static _pushAttributed(target, scopeName, grammar) {\n const rawMetadata = grammar.getMetadataForScope(scopeName);\n const newPath = target.scopePath.push(scopeName);\n const scopeThemeMatchResult = grammar.themeProvider.themeMatch(newPath);\n const metadata = _AttributedScopeStack.mergeAttributes(\n target.tokenAttributes,\n rawMetadata,\n scopeThemeMatchResult\n );\n return new _AttributedScopeStack(target, newPath, metadata);\n }\n getScopeNames() {\n return this.scopePath.getSegments();\n }\n getExtensionIfDefined(base) {\n const result = [];\n let self = this;\n while (self && self !== base) {\n result.push({\n encodedTokenAttributes: self.tokenAttributes,\n scopeNames: self.scopePath.getExtensionIfDefined(self.parent?.scopePath ?? null)\n });\n self = self.parent;\n }\n return self === base ? result.reverse() : void 0;\n }\n};\nvar _StateStackImpl = class _StateStackImpl {\n /**\n * Invariant:\n * ```\n * if (contentNameScopesList !== nameScopesList && contentNameScopesList?.parent !== nameScopesList) {\n * \tthrow new Error();\n * }\n * if (this.parent && !nameScopesList.extends(this.parent.contentNameScopesList)) {\n * \tthrow new Error();\n * }\n * ```\n */\n constructor(parent, ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n this.parent = parent;\n this.ruleId = ruleId;\n this.beginRuleCapturedEOL = beginRuleCapturedEOL;\n this.endRule = endRule;\n this.nameScopesList = nameScopesList;\n this.contentNameScopesList = contentNameScopesList;\n this._stackElementBrand = void 0;\n this.depth = this.parent ? this.parent.depth + 1 : 1;\n this._enterPos = enterPos;\n this._anchorPos = anchorPos;\n }\n equals(other) {\n if (other === null) {\n return false;\n }\n return _StateStackImpl._equals(this, other);\n }\n static _equals(a, b) {\n if (a === b) {\n return true;\n }\n if (!this._structuralEquals(a, b)) {\n return false;\n }\n return AttributedScopeStack.equals(a.contentNameScopesList, b.contentNameScopesList);\n }\n /**\n * A structural equals check. Does not take into account `scopes`.\n */\n static _structuralEquals(a, b) {\n do {\n if (a === b) {\n return true;\n }\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.depth !== b.depth || a.ruleId !== b.ruleId || a.endRule !== b.endRule) {\n return false;\n }\n a = a.parent;\n b = b.parent;\n } while (true);\n }\n clone() {\n return this;\n }\n static _reset(el) {\n while (el) {\n el._enterPos = -1;\n el._anchorPos = -1;\n el = el.parent;\n }\n }\n reset() {\n _StateStackImpl._reset(this);\n }\n pop() {\n return this.parent;\n }\n safePop() {\n if (this.parent) {\n return this.parent;\n }\n return this;\n }\n push(ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n return new _StateStackImpl(\n this,\n ruleId,\n enterPos,\n anchorPos,\n beginRuleCapturedEOL,\n endRule,\n nameScopesList,\n contentNameScopesList\n );\n }\n getEnterPos() {\n return this._enterPos;\n }\n getAnchorPos() {\n return this._anchorPos;\n }\n getRule(grammar) {\n return grammar.getRule(this.ruleId);\n }\n toString() {\n const r = [];\n this._writeString(r, 0);\n return \"[\" + r.join(\",\") + \"]\";\n }\n _writeString(res, outIndex) {\n if (this.parent) {\n outIndex = this.parent._writeString(res, outIndex);\n }\n res[outIndex++] = `(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`;\n return outIndex;\n }\n withContentNameScopesList(contentNameScopeStack) {\n if (this.contentNameScopesList === contentNameScopeStack) {\n return this;\n }\n return this.parent.push(\n this.ruleId,\n this._enterPos,\n this._anchorPos,\n this.beginRuleCapturedEOL,\n this.endRule,\n this.nameScopesList,\n contentNameScopeStack\n );\n }\n withEndRule(endRule) {\n if (this.endRule === endRule) {\n return this;\n }\n return new _StateStackImpl(\n this.parent,\n this.ruleId,\n this._enterPos,\n this._anchorPos,\n this.beginRuleCapturedEOL,\n endRule,\n this.nameScopesList,\n this.contentNameScopesList\n );\n }\n // Used to warn of endless loops\n hasSameRuleAs(other) {\n let el = this;\n while (el && el._enterPos === other._enterPos) {\n if (el.ruleId === other.ruleId) {\n return true;\n }\n el = el.parent;\n }\n return false;\n }\n toStateStackFrame() {\n return {\n ruleId: ruleIdToNumber(this.ruleId),\n beginRuleCapturedEOL: this.beginRuleCapturedEOL,\n endRule: this.endRule,\n nameScopesList: this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList ?? null) ?? [],\n contentNameScopesList: this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList) ?? []\n };\n }\n static pushFrame(self, frame) {\n const namesScopeList = AttributedScopeStack.fromExtension(self?.nameScopesList ?? null, frame.nameScopesList);\n return new _StateStackImpl(\n self,\n ruleIdFromNumber(frame.ruleId),\n frame.enterPos ?? -1,\n frame.anchorPos ?? -1,\n frame.beginRuleCapturedEOL,\n frame.endRule,\n namesScopeList,\n AttributedScopeStack.fromExtension(namesScopeList, frame.contentNameScopesList)\n );\n }\n};\n// TODO remove me\n_StateStackImpl.NULL = new _StateStackImpl(\n null,\n 0,\n 0,\n 0,\n false,\n null,\n null,\n null\n);\nvar StateStackImpl = _StateStackImpl;\nvar BalancedBracketSelectors = class {\n constructor(balancedBracketScopes, unbalancedBracketScopes) {\n this.allowAny = false;\n this.balancedBracketScopes = balancedBracketScopes.flatMap(\n (selector) => {\n if (selector === \"*\") {\n this.allowAny = true;\n return [];\n }\n return createMatchers(selector, nameMatcher).map((m) => m.matcher);\n }\n );\n this.unbalancedBracketScopes = unbalancedBracketScopes.flatMap(\n (selector) => createMatchers(selector, nameMatcher).map((m) => m.matcher)\n );\n }\n get matchesAlways() {\n return this.allowAny && this.unbalancedBracketScopes.length === 0;\n }\n get matchesNever() {\n return this.balancedBracketScopes.length === 0 && !this.allowAny;\n }\n match(scopes) {\n for (const excluder of this.unbalancedBracketScopes) {\n if (excluder(scopes)) {\n return false;\n }\n }\n for (const includer of this.balancedBracketScopes) {\n if (includer(scopes)) {\n return true;\n }\n }\n return this.allowAny;\n }\n};\nvar LineTokens = class {\n constructor(emitBinaryTokens, lineText, tokenTypeOverrides, balancedBracketSelectors) {\n this.balancedBracketSelectors = balancedBracketSelectors;\n this._emitBinaryTokens = emitBinaryTokens;\n this._tokenTypeOverrides = tokenTypeOverrides;\n if (false) {\n this._lineText = lineText;\n } else {\n this._lineText = null;\n }\n this._tokens = [];\n this._binaryTokens = [];\n this._lastTokenEndIndex = 0;\n }\n produce(stack, endIndex) {\n this.produceFromScopes(stack.contentNameScopesList, endIndex);\n }\n produceFromScopes(scopesList, endIndex) {\n if (this._lastTokenEndIndex >= endIndex) {\n return;\n }\n if (this._emitBinaryTokens) {\n let metadata = scopesList?.tokenAttributes ?? 0;\n let containsBalancedBrackets = false;\n if (this.balancedBracketSelectors?.matchesAlways) {\n containsBalancedBrackets = true;\n }\n if (this._tokenTypeOverrides.length > 0 || this.balancedBracketSelectors && !this.balancedBracketSelectors.matchesAlways && !this.balancedBracketSelectors.matchesNever) {\n const scopes2 = scopesList?.getScopeNames() ?? [];\n for (const tokenType of this._tokenTypeOverrides) {\n if (tokenType.matcher(scopes2)) {\n metadata = EncodedTokenMetadata.set(\n metadata,\n 0,\n toOptionalTokenType(tokenType.type),\n null,\n -1 /* NotSet */,\n 0,\n 0\n );\n }\n }\n if (this.balancedBracketSelectors) {\n containsBalancedBrackets = this.balancedBracketSelectors.match(scopes2);\n }\n }\n if (containsBalancedBrackets) {\n metadata = EncodedTokenMetadata.set(\n metadata,\n 0,\n 8 /* NotSet */,\n containsBalancedBrackets,\n -1 /* NotSet */,\n 0,\n 0\n );\n }\n if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 1] === metadata) {\n this._lastTokenEndIndex = endIndex;\n return;\n }\n this._binaryTokens.push(this._lastTokenEndIndex);\n this._binaryTokens.push(metadata);\n this._lastTokenEndIndex = endIndex;\n return;\n }\n const scopes = scopesList?.getScopeNames() ?? [];\n this._tokens.push({\n startIndex: this._lastTokenEndIndex,\n endIndex,\n // value: lineText.substring(lastTokenEndIndex, endIndex),\n scopes\n });\n this._lastTokenEndIndex = endIndex;\n }\n getResult(stack, lineLength) {\n if (this._tokens.length > 0 && this._tokens[this._tokens.length - 1].startIndex === lineLength - 1) {\n this._tokens.pop();\n }\n if (this._tokens.length === 0) {\n this._lastTokenEndIndex = -1;\n this.produce(stack, lineLength);\n this._tokens[this._tokens.length - 1].startIndex = 0;\n }\n return this._tokens;\n }\n getBinaryResult(stack, lineLength) {\n if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 2] === lineLength - 1) {\n this._binaryTokens.pop();\n this._binaryTokens.pop();\n }\n if (this._binaryTokens.length === 0) {\n this._lastTokenEndIndex = -1;\n this.produce(stack, lineLength);\n this._binaryTokens[this._binaryTokens.length - 2] = 0;\n }\n const result = new Uint32Array(this._binaryTokens.length);\n for (let i = 0, len = this._binaryTokens.length; i < len; i++) {\n result[i] = this._binaryTokens[i];\n }\n return result;\n }\n};\n\n// src/registry.ts\nvar SyncRegistry = class {\n constructor(theme, _onigLib) {\n this._onigLib = _onigLib;\n this._grammars = /* @__PURE__ */ new Map();\n this._rawGrammars = /* @__PURE__ */ new Map();\n this._injectionGrammars = /* @__PURE__ */ new Map();\n this._theme = theme;\n }\n dispose() {\n for (const grammar of this._grammars.values()) {\n grammar.dispose();\n }\n }\n setTheme(theme) {\n this._theme = theme;\n }\n getColorMap() {\n return this._theme.getColorMap();\n }\n /**\n * Add `grammar` to registry and return a list of referenced scope names\n */\n addGrammar(grammar, injectionScopeNames) {\n this._rawGrammars.set(grammar.scopeName, grammar);\n if (injectionScopeNames) {\n this._injectionGrammars.set(grammar.scopeName, injectionScopeNames);\n }\n }\n /**\n * Lookup a raw grammar.\n */\n lookup(scopeName) {\n return this._rawGrammars.get(scopeName);\n }\n /**\n * Returns the injections for the given grammar\n */\n injections(targetScope) {\n return this._injectionGrammars.get(targetScope);\n }\n /**\n * Get the default theme settings\n */\n getDefaults() {\n return this._theme.getDefaults();\n }\n /**\n * Match a scope in the theme.\n */\n themeMatch(scopePath) {\n return this._theme.match(scopePath);\n }\n /**\n * Lookup a grammar.\n */\n grammarForScopeName(scopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n if (!this._grammars.has(scopeName)) {\n let rawGrammar = this._rawGrammars.get(scopeName);\n if (!rawGrammar) {\n return null;\n }\n this._grammars.set(scopeName, createGrammar(\n scopeName,\n rawGrammar,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors,\n this,\n this._onigLib\n ));\n }\n return this._grammars.get(scopeName);\n }\n};\n\n// src/index.ts\nvar Registry = class {\n constructor(options) {\n this._options = options;\n this._syncRegistry = new SyncRegistry(\n Theme.createFromRawTheme(options.theme, options.colorMap),\n options.onigLib\n );\n this._ensureGrammarCache = /* @__PURE__ */ new Map();\n }\n dispose() {\n this._syncRegistry.dispose();\n }\n /**\n * Change the theme. Once called, no previous `ruleStack` should be used anymore.\n */\n setTheme(theme, colorMap) {\n this._syncRegistry.setTheme(Theme.createFromRawTheme(theme, colorMap));\n }\n /**\n * Returns a lookup array for color ids.\n */\n getColorMap() {\n return this._syncRegistry.getColorMap();\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n * Please do not use language id 0.\n */\n loadGrammarWithEmbeddedLanguages(initialScopeName, initialLanguage, embeddedLanguages) {\n return this.loadGrammarWithConfiguration(initialScopeName, initialLanguage, { embeddedLanguages });\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n * Please do not use language id 0.\n */\n loadGrammarWithConfiguration(initialScopeName, initialLanguage, configuration) {\n return this._loadGrammar(\n initialScopeName,\n initialLanguage,\n configuration.embeddedLanguages,\n configuration.tokenTypes,\n new BalancedBracketSelectors(\n configuration.balancedBracketSelectors || [],\n configuration.unbalancedBracketSelectors || []\n )\n );\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n */\n loadGrammar(initialScopeName) {\n return this._loadGrammar(initialScopeName, 0, null, null, null);\n }\n _loadGrammar(initialScopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n const dependencyProcessor = new ScopeDependencyProcessor(this._syncRegistry, initialScopeName);\n while (dependencyProcessor.Q.length > 0) {\n dependencyProcessor.Q.map((request) => this._loadSingleGrammar(request.scopeName));\n dependencyProcessor.processQueue();\n }\n return this._grammarForScopeName(\n initialScopeName,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors\n );\n }\n _loadSingleGrammar(scopeName) {\n if (!this._ensureGrammarCache.has(scopeName)) {\n this._doLoadSingleGrammar(scopeName);\n this._ensureGrammarCache.set(scopeName, true);\n }\n }\n _doLoadSingleGrammar(scopeName) {\n const grammar = this._options.loadGrammar(scopeName);\n if (grammar) {\n const injections = typeof this._options.getInjections === \"function\" ? this._options.getInjections(scopeName) : void 0;\n this._syncRegistry.addGrammar(grammar, injections);\n }\n }\n /**\n * Adds a rawGrammar.\n */\n addGrammar(rawGrammar, injections = [], initialLanguage = 0, embeddedLanguages = null) {\n this._syncRegistry.addGrammar(rawGrammar, injections);\n return this._grammarForScopeName(rawGrammar.scopeName, initialLanguage, embeddedLanguages);\n }\n /**\n * Get the grammar for `scopeName`. The grammar must first be created via `loadGrammar` or `addGrammar`.\n */\n _grammarForScopeName(scopeName, initialLanguage = 0, embeddedLanguages = null, tokenTypes = null, balancedBracketSelectors = null) {\n return this._syncRegistry.grammarForScopeName(\n scopeName,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors\n );\n }\n};\nvar INITIAL = StateStackImpl.NULL;\nexport {\n EncodedTokenMetadata,\n FindOption,\n FontStyle,\n INITIAL,\n Registry,\n Theme,\n disposeOnigString\n};\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let prop = value\n let Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n // Turn it into a property.\n const rest = value.slice(5).replace(dash, camelcase)\n prop = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n } else {\n // Turn it into an attribute.\n const rest = value.slice(4)\n\n if (!dash.test(rest)) {\n let dashes = rest.replace(cap, kebab)\n\n if (dashes.charAt(0) !== '-') {\n dashes = '-' + dashes\n }\n\n value = 'data' + dashes\n }\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","/**\n * @typedef CoreOptions\n * @property {ReadonlyArray<string>} [subset=[]]\n * Whether to only escape the given subset of characters.\n * @property {boolean} [escapeOnly=false]\n * Whether to only escape possibly dangerous characters.\n * Those characters are `\"`, `&`, `'`, `<`, `>`, and `` ` ``.\n *\n * @typedef FormatOptions\n * @property {(code: number, next: number, options: CoreWithFormatOptions) => string} format\n * Format strategy.\n *\n * @typedef {CoreOptions & FormatOptions & import('./util/format-smart.js').FormatSmartOptions} CoreWithFormatOptions\n */\n\nconst defaultSubsetRegex = /[\"&'<>`]/g\nconst surrogatePairsRegex = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g\nconst controlCharactersRegex =\n // eslint-disable-next-line no-control-regex, unicorn/no-hex-escape\n /[\\x01-\\t\\v\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g\nconst regexEscapeRegex = /[|\\\\{}()[\\]^$+*?.]/g\n\n/** @type {WeakMap<ReadonlyArray<string>, RegExp>} */\nconst subsetToRegexCache = new WeakMap()\n\n/**\n * Encode certain characters in `value`.\n *\n * @param {string} value\n * @param {CoreWithFormatOptions} options\n * @returns {string}\n */\nexport function core(value, options) {\n value = value.replace(\n options.subset\n ? charactersToExpressionCached(options.subset)\n : defaultSubsetRegex,\n basic\n )\n\n if (options.subset || options.escapeOnly) {\n return value\n }\n\n return (\n value\n // Surrogate pairs.\n .replace(surrogatePairsRegex, surrogate)\n // BMP control characters (C0 except for LF, CR, SP; DEL; and some more\n // non-ASCII ones).\n .replace(controlCharactersRegex, basic)\n )\n\n /**\n * @param {string} pair\n * @param {number} index\n * @param {string} all\n */\n function surrogate(pair, index, all) {\n return options.format(\n (pair.charCodeAt(0) - 0xd800) * 0x400 +\n pair.charCodeAt(1) -\n 0xdc00 +\n 0x10000,\n all.charCodeAt(index + 2),\n options\n )\n }\n\n /**\n * @param {string} character\n * @param {number} index\n * @param {string} all\n */\n function basic(character, index, all) {\n return options.format(\n character.charCodeAt(0),\n all.charCodeAt(index + 1),\n options\n )\n }\n}\n\n/**\n * A wrapper function that caches the result of `charactersToExpression` with a WeakMap.\n * This can improve performance when tooling calls `charactersToExpression` repeatedly\n * with the same subset.\n *\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpressionCached(subset) {\n let cached = subsetToRegexCache.get(subset)\n\n if (!cached) {\n cached = charactersToExpression(subset)\n subsetToRegexCache.set(subset, cached)\n }\n\n return cached\n}\n\n/**\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpression(subset) {\n /** @type {Array<string>} */\n const groups = []\n let index = -1\n\n while (++index < subset.length) {\n groups.push(subset[index].replace(regexEscapeRegex, '\\\\$&'))\n }\n\n return new RegExp('(?:' + groups.join('|') + ')', 'g')\n}\n","/**\n * @typedef FormatSmartOptions\n * @property {boolean} [useNamedReferences=false]\n * Prefer named character references (`&`) where possible.\n * @property {boolean} [useShortestReferences=false]\n * Prefer the shortest possible reference, if that results in less bytes.\n * **Note**: `useNamedReferences` can be omitted when using `useShortestReferences`.\n * @property {boolean} [omitOptionalSemicolons=false]\n * Whether to omit semicolons when possible.\n * **Note**: This creates what HTML calls “parse errors” but is otherwise still valid HTML — don’t use this except when building a minifier.\n * Omitting semicolons is possible for certain named and numeric references in some cases.\n * @property {boolean} [attribute=false]\n * Create character references which don’t fail in attributes.\n * **Note**: `attribute` only applies when operating dangerously with\n * `omitOptionalSemicolons: true`.\n */\n\nimport {toHexadecimal} from './to-hexadecimal.js'\nimport {toDecimal} from './to-decimal.js'\nimport {toNamed} from './to-named.js'\n\n/**\n * Configurable ways to encode a character yielding pretty or small results.\n *\n * @param {number} code\n * @param {number} next\n * @param {FormatSmartOptions} options\n * @returns {string}\n */\nexport function formatSmart(code, next, options) {\n let numeric = toHexadecimal(code, next, options.omitOptionalSemicolons)\n /** @type {string|undefined} */\n let named\n\n if (options.useNamedReferences || options.useShortestReferences) {\n named = toNamed(\n code,\n next,\n options.omitOptionalSemicolons,\n options.attribute\n )\n }\n\n // Use the shortest numeric reference when requested.\n // A simple algorithm would use decimal for all code points under 100, as\n // those are shorter than hexadecimal:\n //\n // * `c` vs `c` (decimal shorter)\n // * `d` vs `d` (equal)\n //\n // However, because we take `next` into consideration when `omit` is used,\n // And it would be possible that decimals are shorter on bigger values as\n // well if `next` is hexadecimal but not decimal, we instead compare both.\n if (\n (options.useShortestReferences || !named) &&\n options.useShortestReferences\n ) {\n const decimal = toDecimal(code, next, options.omitOptionalSemicolons)\n\n if (decimal.length < numeric.length) {\n numeric = decimal\n }\n }\n\n return named &&\n (!options.useShortestReferences || named.length < numeric.length)\n ? named\n : numeric\n}\n","const hexadecimalRegex = /[\\dA-Fa-f]/\n\n/**\n * Configurable ways to encode characters as hexadecimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toHexadecimal(code, next, omit) {\n const value = '&#x' + code.toString(16).toUpperCase()\n return omit && next && !hexadecimalRegex.test(String.fromCharCode(next))\n ? value\n : value + ';'\n}\n","import {characterEntitiesLegacy} from 'character-entities-legacy'\nimport {characterEntitiesHtml4} from 'character-entities-html4'\nimport {dangerous} from '../constant/dangerous.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * `characterEntitiesHtml4` but inverted.\n *\n * @type {Record<string, string>}\n */\nconst characters = {}\n\n/** @type {string} */\nlet key\n\nfor (key in characterEntitiesHtml4) {\n if (own.call(characterEntitiesHtml4, key)) {\n characters[characterEntitiesHtml4[key]] = key\n }\n}\n\nconst notAlphanumericRegex = /[^\\dA-Za-z]/\n\n/**\n * Configurable ways to encode characters as named references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @param {boolean|undefined} attribute\n * @returns {string}\n */\nexport function toNamed(code, next, omit, attribute) {\n const character = String.fromCharCode(code)\n\n if (own.call(characters, character)) {\n const name = characters[character]\n const value = '&' + name\n\n if (\n omit &&\n characterEntitiesLegacy.includes(name) &&\n !dangerous.includes(name) &&\n (!attribute ||\n (next &&\n next !== 61 /* `=` */ &&\n notAlphanumericRegex.test(String.fromCharCode(next))))\n ) {\n return value\n }\n\n return value + ';'\n }\n\n return ''\n}\n","const decimalRegex = /\\d/\n\n/**\n * Configurable ways to encode characters as decimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toDecimal(code, next, omit) {\n const value = '&#' + String(code)\n return omit && next && !decimalRegex.test(String.fromCharCode(next))\n ? value\n : value + ';'\n}\n","/**\n * @typedef {import('./core.js').CoreOptions & import('./util/format-smart.js').FormatSmartOptions} Options\n * @typedef {import('./core.js').CoreOptions} LightOptions\n */\n\nimport {core} from './core.js'\nimport {formatSmart} from './util/format-smart.js'\nimport {formatBasic} from './util/format-basic.js'\n\n/**\n * Encode special characters in `value`.\n *\n * @param {string} value\n * Value to encode.\n * @param {Options} [options]\n * Configuration.\n * @returns {string}\n * Encoded value.\n */\nexport function stringifyEntities(value, options) {\n return core(value, Object.assign({format: formatSmart}, options))\n}\n\n/**\n * Encode special characters in `value` as hexadecimals.\n *\n * @param {string} value\n * Value to encode.\n * @param {LightOptions} [options]\n * Configuration.\n * @returns {string}\n * Encoded value.\n */\nexport function stringifyEntitiesLight(value, options) {\n return core(value, Object.assign({format: formatBasic}, options))\n}\n","/**\n * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n * Value to search in.\n * @param {string} character\n * Character (or substring) to look for.\n * @return {number}\n * Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n const source = String(value)\n\n if (typeof character !== 'string') {\n throw new TypeError('Expected character')\n }\n\n let count = 0\n let index = source.indexOf(character)\n\n while (index !== -1) {\n count++\n index = source.indexOf(character, index + character.length)\n }\n\n return count\n}\n","/**\n * @typedef Options\n * Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n * Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n * Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n * Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n * Comma-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n /** @type {Array<string>} */\n const tokens = []\n const input = String(value || '')\n let index = input.indexOf(',')\n let start = 0\n /** @type {boolean} */\n let end = false\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n const token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @param {Options} [options]\n * Configuration for `stringify` (optional).\n * @returns {string}\n * Comma-separated tokens.\n */\nexport function stringify(values, options) {\n const settings = options || {}\n\n // Ensure the last empty entry is seen.\n const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n return input\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n * Space-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @returns {string}\n * Space-separated tokens.\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n","/**\n * @typedef {import('hast').Nodes} Nodes\n */\n\n// HTML whitespace expression.\n// See <https://infra.spec.whatwg.org/#ascii-whitespace>.\nconst re = /[ \\t\\n\\f\\r]/g\n\n/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {Nodes | string} thing\n * Thing to check (`Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`); if a node is passed it must be a `Text` node,\n * whose `value` field is checked.\n */\nexport function whitespace(thing) {\n return typeof thing === 'object'\n ? thing.type === 'text'\n ? empty(thing.value)\n : false\n : empty(thing)\n}\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction empty(value) {\n return value.replace(re, '') === ''\n}\n","/**\n * @import {Parents, RootContent} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\n\nexport const siblingAfter = siblings(1)\nexport const siblingBefore = siblings(-1)\n\n/** @type {Array<RootContent>} */\nconst emptyChildren = []\n\n/**\n * Factory to check siblings in a direction.\n *\n * @param {number} increment\n */\nfunction siblings(increment) {\n return sibling\n\n /**\n * Find applicable siblings in a direction.\n *\n * @template {Parents} Parent\n * Parent type.\n * @param {Parent | undefined} parent\n * Parent.\n * @param {number | undefined} index\n * Index of child in `parent`.\n * @param {boolean | undefined} [includeWhitespace=false]\n * Whether to include whitespace (default: `false`).\n * @returns {Parent extends {children: Array<infer Child>} ? Child | undefined : never}\n * Child of parent.\n */\n function sibling(parent, index, includeWhitespace) {\n const siblings = parent ? parent.children : emptyChildren\n let offset = (index || 0) + increment\n let next = siblings[offset]\n\n if (!includeWhitespace) {\n while (next && whitespace(next)) {\n offset += increment\n next = siblings[offset]\n }\n }\n\n // @ts-expect-error: it’s a correct child.\n return next\n }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\n/**\n * @callback OmitHandle\n * Check if a tag can be omitted.\n * @param {Element} element\n * Element to check.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether to omit a tag.\n *\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Factory to check if a given node can have a tag omitted.\n *\n * @param {Record<string, OmitHandle>} handlers\n * Omission handlers, where each key is a tag name, and each value is the\n * corresponding handler.\n * @returns {OmitHandle}\n * Whether to omit a tag of an element.\n */\nexport function omission(handlers) {\n return omit\n\n /**\n * Check if a given node can have a tag omitted.\n *\n * @type {OmitHandle}\n */\n function omit(node, index, parent) {\n return (\n own.call(handlers, node.tagName) &&\n handlers[node.tagName](node, index, parent)\n )\n }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter} from './util/siblings.js'\nimport {omission} from './omission.js'\n\nexport const closing = omission({\n body,\n caption: headOrColgroupOrCaption,\n colgroup: headOrColgroupOrCaption,\n dd,\n dt,\n head: headOrColgroupOrCaption,\n html,\n li,\n optgroup,\n option,\n p,\n rp: rubyElement,\n rt: rubyElement,\n tbody,\n td: cells,\n tfoot,\n th: cells,\n thead,\n tr\n})\n\n/**\n * Macro for `</head>`, `</colgroup>`, and `</caption>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction headOrColgroupOrCaption(_, index, parent) {\n const next = siblingAfter(parent, index, true)\n return (\n !next ||\n (next.type !== 'comment' &&\n !(next.type === 'text' && whitespace(next.value.charAt(0))))\n )\n}\n\n/**\n * Whether to omit `</html>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction html(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</body>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction body(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</p>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction p(_, index, parent) {\n const next = siblingAfter(parent, index)\n return next\n ? next.type === 'element' &&\n (next.tagName === 'address' ||\n next.tagName === 'article' ||\n next.tagName === 'aside' ||\n next.tagName === 'blockquote' ||\n next.tagName === 'details' ||\n next.tagName === 'div' ||\n next.tagName === 'dl' ||\n next.tagName === 'fieldset' ||\n next.tagName === 'figcaption' ||\n next.tagName === 'figure' ||\n next.tagName === 'footer' ||\n next.tagName === 'form' ||\n next.tagName === 'h1' ||\n next.tagName === 'h2' ||\n next.tagName === 'h3' ||\n next.tagName === 'h4' ||\n next.tagName === 'h5' ||\n next.tagName === 'h6' ||\n next.tagName === 'header' ||\n next.tagName === 'hgroup' ||\n next.tagName === 'hr' ||\n next.tagName === 'main' ||\n next.tagName === 'menu' ||\n next.tagName === 'nav' ||\n next.tagName === 'ol' ||\n next.tagName === 'p' ||\n next.tagName === 'pre' ||\n next.tagName === 'section' ||\n next.tagName === 'table' ||\n next.tagName === 'ul')\n : !parent ||\n // Confusing parent.\n !(\n parent.type === 'element' &&\n (parent.tagName === 'a' ||\n parent.tagName === 'audio' ||\n parent.tagName === 'del' ||\n parent.tagName === 'ins' ||\n parent.tagName === 'map' ||\n parent.tagName === 'noscript' ||\n parent.tagName === 'video')\n )\n}\n\n/**\n * Whether to omit `</li>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction li(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'li')\n}\n\n/**\n * Whether to omit `</dt>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction dt(_, index, parent) {\n const next = siblingAfter(parent, index)\n return Boolean(\n next &&\n next.type === 'element' &&\n (next.tagName === 'dt' || next.tagName === 'dd')\n )\n}\n\n/**\n * Whether to omit `</dd>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction dd(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'dt' || next.tagName === 'dd'))\n )\n}\n\n/**\n * Whether to omit `</rt>` or `</rp>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction rubyElement(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'rp' || next.tagName === 'rt'))\n )\n}\n\n/**\n * Whether to omit `</optgroup>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction optgroup(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'optgroup')\n}\n\n/**\n * Whether to omit `</option>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction option(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'option' || next.tagName === 'optgroup'))\n )\n}\n\n/**\n * Whether to omit `</thead>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction thead(_, index, parent) {\n const next = siblingAfter(parent, index)\n return Boolean(\n next &&\n next.type === 'element' &&\n (next.tagName === 'tbody' || next.tagName === 'tfoot')\n )\n}\n\n/**\n * Whether to omit `</tbody>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tbody(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'tbody' || next.tagName === 'tfoot'))\n )\n}\n\n/**\n * Whether to omit `</tfoot>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tfoot(_, index, parent) {\n return !siblingAfter(parent, index)\n}\n\n/**\n * Whether to omit `</tr>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tr(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'tr')\n}\n\n/**\n * Whether to omit `</td>` or `</th>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction cells(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'td' || next.tagName === 'th'))\n )\n}\n","/**\n * @import {Element, Parents, Properties} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {ccount} from 'ccount'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {find, svg} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringifyEntities} from 'stringify-entities'\nimport {closing} from '../omission/closing.js'\nimport {opening} from '../omission/opening.js'\n\n/**\n * Maps of subsets.\n *\n * Each value is a matrix of tuples.\n * The value at `0` causes parse errors, the value at `1` is valid.\n * Of both, the value at `0` is unsafe, and the value at `1` is safe.\n *\n * @type {Record<'double' | 'name' | 'single' | 'unquoted', Array<[Array<string>, Array<string>]>>}\n */\nconst constants = {\n // See: <https://html.spec.whatwg.org/#attribute-name-state>.\n name: [\n ['\\t\\n\\f\\r &/=>'.split(''), '\\t\\n\\f\\r \"&\\'/=>`'.split('')],\n ['\\0\\t\\n\\f\\r \"&\\'/<=>'.split(''), '\\0\\t\\n\\f\\r \"&\\'/<=>`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(unquoted)-state>.\n unquoted: [\n ['\\t\\n\\f\\r &>'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')],\n ['\\0\\t\\n\\f\\r \"&\\'<=>`'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(single-quoted)-state>.\n single: [\n [\"&'\".split(''), '\"&\\'`'.split('')],\n [\"\\0&'\".split(''), '\\0\"&\\'`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(double-quoted)-state>.\n double: [\n ['\"&'.split(''), '\"&\\'`'.split('')],\n ['\\0\"&'.split(''), '\\0\"&\\'`'.split('')]\n ]\n}\n\n/**\n * Serialize an element node.\n *\n * @param {Element} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function element(node, index, parent, state) {\n const schema = state.schema\n const omit = schema.space === 'svg' ? false : state.settings.omitOptionalTags\n let selfClosing =\n schema.space === 'svg'\n ? state.settings.closeEmptyElements\n : state.settings.voids.includes(node.tagName.toLowerCase())\n /** @type {Array<string>} */\n const parts = []\n /** @type {string} */\n let last\n\n if (schema.space === 'html' && node.tagName === 'svg') {\n state.schema = svg\n }\n\n const attributes = serializeAttributes(state, node.properties)\n\n const content = state.all(\n schema.space === 'html' && node.tagName === 'template' ? node.content : node\n )\n\n state.schema = schema\n\n // If the node is categorised as void, but it has children, remove the\n // categorisation.\n // This enables for example `menuitem`s, which are void in W3C HTML but not\n // void in WHATWG HTML, to be stringified properly.\n // Note: `menuitem` has since been removed from the HTML spec, and so is no\n // longer void.\n if (content) selfClosing = false\n\n if (attributes || !omit || !opening(node, index, parent)) {\n parts.push('<', node.tagName, attributes ? ' ' + attributes : '')\n\n if (\n selfClosing &&\n (schema.space === 'svg' || state.settings.closeSelfClosing)\n ) {\n last = attributes.charAt(attributes.length - 1)\n if (\n !state.settings.tightSelfClosing ||\n last === '/' ||\n (last && last !== '\"' && last !== \"'\")\n ) {\n parts.push(' ')\n }\n\n parts.push('/')\n }\n\n parts.push('>')\n }\n\n parts.push(content)\n\n if (!selfClosing && (!omit || !closing(node, index, parent))) {\n parts.push('</' + node.tagName + '>')\n }\n\n return parts.join('')\n}\n\n/**\n * @param {State} state\n * @param {Properties | null | undefined} properties\n * @returns {string}\n */\nfunction serializeAttributes(state, properties) {\n /** @type {Array<string>} */\n const values = []\n let index = -1\n /** @type {string} */\n let key\n\n if (properties) {\n for (key in properties) {\n if (properties[key] !== null && properties[key] !== undefined) {\n const value = serializeAttribute(state, key, properties[key])\n if (value) values.push(value)\n }\n }\n }\n\n while (++index < values.length) {\n const last = state.settings.tightAttributes\n ? values[index].charAt(values[index].length - 1)\n : undefined\n\n // In tight mode, don’t add a space after quoted attributes.\n if (index !== values.length - 1 && last !== '\"' && last !== \"'\") {\n values[index] += ' '\n }\n }\n\n return values.join('')\n}\n\n/**\n * @param {State} state\n * @param {string} key\n * @param {Properties[keyof Properties]} value\n * @returns {string}\n */\nfunction serializeAttribute(state, key, value) {\n const info = find(state.schema, key)\n const x =\n state.settings.allowParseErrors && state.schema.space === 'html' ? 0 : 1\n const y = state.settings.allowDangerousCharacters ? 0 : 1\n let quote = state.quote\n /** @type {string | undefined} */\n let result\n\n if (info.overloadedBoolean && (value === info.attribute || value === '')) {\n value = true\n } else if (\n info.boolean ||\n (info.overloadedBoolean && typeof value !== 'string')\n ) {\n value = Boolean(value)\n }\n\n if (\n value === null ||\n value === undefined ||\n value === false ||\n (typeof value === 'number' && Number.isNaN(value))\n ) {\n return ''\n }\n\n const name = stringifyEntities(\n info.attribute,\n Object.assign({}, state.settings.characterReferences, {\n // Always encode without parse errors in non-HTML.\n subset: constants.name[x][y]\n })\n )\n\n // No value.\n // There is currently only one boolean property in SVG: `[download]` on\n // `<a>`.\n // This property does not seem to work in browsers (Firefox, Safari, Chrome),\n // so I can’t test if dropping the value works.\n // But I assume that it should:\n //\n // ```html\n // <!doctype html>\n // <svg viewBox=\"0 0 100 100\">\n // <a href=https://example.com download>\n // <circle cx=50 cy=40 r=35 />\n // </a>\n // </svg>\n // ```\n //\n // See: <https://github.com/wooorm/property-information/blob/main/lib/svg.js>\n if (value === true) return name\n\n // `spaces` doesn’t accept a second argument, but it’s given here just to\n // keep the code cleaner.\n value = Array.isArray(value)\n ? (info.commaSeparated ? commas : spaces)(value, {\n padLeft: !state.settings.tightCommaSeparatedLists\n })\n : String(value)\n\n if (state.settings.collapseEmptyAttributes && !value) return name\n\n // Check unquoted value.\n if (state.settings.preferUnquoted) {\n result = stringifyEntities(\n value,\n Object.assign({}, state.settings.characterReferences, {\n attribute: true,\n subset: constants.unquoted[x][y]\n })\n )\n }\n\n // If we don’t want unquoted, or if `value` contains character references when\n // unquoted…\n if (result !== value) {\n // If the alternative is less common than `quote`, switch.\n if (\n state.settings.quoteSmart &&\n ccount(value, quote) > ccount(value, state.alternative)\n ) {\n quote = state.alternative\n }\n\n result =\n quote +\n stringifyEntities(\n value,\n Object.assign({}, state.settings.characterReferences, {\n // Always encode without parse errors in non-HTML.\n subset: (quote === \"'\" ? constants.single : constants.double)[x][y],\n attribute: true\n })\n ) +\n quote\n }\n\n // Don’t add a `=` for unquoted empties.\n return name + (result ? '=' + result : result)\n}\n","/**\n * @import {Parents, Text} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\n// Declare array as variable so it can be cached by `stringifyEntities`\nconst textEntitySubset = ['<', '&']\n\n/**\n * Serialize a text node.\n *\n * @param {Raw | Text} node\n * Node to handle.\n * @param {number | undefined} _\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function text(node, _, parent, state) {\n // Check if content of `node` should be escaped.\n return parent &&\n parent.type === 'element' &&\n (parent.tagName === 'script' || parent.tagName === 'style')\n ? node.value\n : stringifyEntities(\n node.value,\n Object.assign({}, state.settings.characterReferences, {\n subset: textEntitySubset\n })\n )\n}\n","/**\n * @import {Nodes, Parents, RootContent} from 'hast'\n * @import {Schema} from 'property-information'\n * @import {Options as StringifyEntitiesOptions} from 'stringify-entities'\n */\n\n/**\n * @typedef {Omit<StringifyEntitiesOptions, 'attribute' | 'escapeOnly' | 'subset'>} CharacterReferences\n *\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [allowDangerousCharacters=false]\n * Do not encode some characters which cause XSS vulnerabilities in older\n * browsers (default: `false`).\n *\n * > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n * Allow `raw` nodes and insert them as raw HTML (default: `false`).\n *\n * When `false`, `Raw` nodes are encoded.\n *\n * > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowParseErrors=false]\n * Do not encode characters which cause parse errors (even though they work),\n * to save bytes (default: `false`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [bogusComments=false]\n * Use “bogus comments” instead of comments to save byes: `<?charlie>`\n * instead of `<!--charlie-->` (default: `false`).\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {CharacterReferences | null | undefined} [characterReferences]\n * Configure how to serialize character references (optional).\n * @property {boolean | null | undefined} [closeEmptyElements=false]\n * Close SVG elements without any content with slash (`/`) on the opening tag\n * instead of an end tag: `<circle />` instead of `<circle></circle>`\n * (default: `false`).\n *\n * See `tightSelfClosing` to control whether a space is used before the\n * slash.\n *\n * Not used in the HTML space.\n * @property {boolean | null | undefined} [closeSelfClosing=false]\n * Close self-closing nodes with an extra slash (`/`): `<img />` instead of\n * `<img>` (default: `false`).\n *\n * See `tightSelfClosing` to control whether a space is used before the\n * slash.\n *\n * Not used in the SVG space.\n * @property {boolean | null | undefined} [collapseEmptyAttributes=false]\n * Collapse empty attributes: get `class` instead of `class=\"\"` (default:\n * `false`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: boolean attributes (such as `hidden`) are always collapsed.\n * @property {boolean | null | undefined} [omitOptionalTags=false]\n * Omit optional opening and closing tags (default: `false`).\n *\n * For example, in `<ol><li>one</li><li>two</li></ol>`, both `</li>` closing\n * tags can be omitted.\n * The first because it’s followed by another `li`, the last because it’s\n * followed by nothing.\n *\n * Not used in the SVG space.\n * @property {boolean | null | undefined} [preferUnquoted=false]\n * Leave attributes unquoted if that results in less bytes (default: `false`).\n *\n * Not used in the SVG space.\n * @property {boolean | null | undefined} [quoteSmart=false]\n * Use the other quote if that results in less bytes (default: `false`).\n * @property {Quote | null | undefined} [quote='\"']\n * Preferred quote to use (default: `'\"'`).\n * @property {Space | null | undefined} [space='html']\n * When an `<svg>` element is found in the HTML space, this package already\n * automatically switches to and from the SVG space when entering and exiting\n * it (default: `'html'`).\n *\n * > 👉 **Note**: hast is not XML.\n * > It supports SVG as embedded in HTML.\n * > It does not support the features available in XML.\n * > Passing SVG might break but fragments of modern SVG should be fine.\n * > Use [`xast`][xast] if you need to support SVG as XML.\n * @property {boolean | null | undefined} [tightAttributes=false]\n * Join attributes together, without whitespace, if possible: get\n * `class=\"a b\"title=\"c d\"` instead of `class=\"a b\" title=\"c d\"` to save\n * bytes (default: `false`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightCommaSeparatedLists=false]\n * Join known comma-separated attribute values with just a comma (`,`),\n * instead of padding them on the right as well (`,␠`, where `␠` represents a\n * space) (default: `false`).\n * @property {boolean | null | undefined} [tightDoctype=false]\n * Drop unneeded spaces in doctypes: `<!doctypehtml>` instead of\n * `<!doctype html>` to save bytes (default: `false`).\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightSelfClosing=false]\n * Do not use an extra space when closing self-closing elements: `<img/>`\n * instead of `<img />` (default: `false`).\n *\n * > 👉 **Note**: only used if `closeSelfClosing: true` or\n * > `closeEmptyElements: true`.\n * @property {boolean | null | undefined} [upperDoctype=false]\n * Use a `<!DOCTYPE…` instead of `<!doctype…` (default: `false`).\n *\n * Useless except for XHTML.\n * @property {ReadonlyArray<string> | null | undefined} [voids]\n * Tag names of elements to serialize without closing tag (default: `html-void-elements`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: It’s highly unlikely that you want to pass this, because\n * > hast is not for XML, and HTML will not add more void elements.\n *\n * @typedef {'\"' | \"'\"} Quote\n * HTML quotes for attribute values.\n *\n * @typedef {Omit<Required<{[key in keyof Options]: Exclude<Options[key], null | undefined>}>, 'space' | 'quote'>} Settings\n *\n * @typedef {'html' | 'svg'} Space\n * Namespace.\n *\n * @typedef State\n * Info passed around about the current state.\n * @property {(node: Parents | undefined) => string} all\n * Serialize the children of a parent node.\n * @property {Quote} alternative\n * Alternative quote.\n * @property {(node: Nodes, index: number | undefined, parent: Parents | undefined) => string} one\n * Serialize one node.\n * @property {Quote} quote\n * Preferred quote.\n * @property {Schema} schema\n * Current schema.\n * @property {Settings} settings\n * User configuration.\n */\n\nimport {htmlVoidElements} from 'html-void-elements'\nimport {html, svg} from 'property-information'\nimport {handle} from './handle/index.js'\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/** @type {CharacterReferences} */\nconst emptyCharacterReferences = {}\n\n/** @type {Array<never>} */\nconst emptyChildren = []\n\n/**\n * Serialize hast as HTML.\n *\n * @param {Array<RootContent> | Nodes} tree\n * Tree to serialize.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized HTML.\n */\nexport function toHtml(tree, options) {\n const options_ = options || emptyOptions\n const quote = options_.quote || '\"'\n const alternative = quote === '\"' ? \"'\" : '\"'\n\n if (quote !== '\"' && quote !== \"'\") {\n throw new Error('Invalid quote `' + quote + '`, expected `\\'` or `\"`')\n }\n\n /** @type {State} */\n const state = {\n one,\n all,\n settings: {\n omitOptionalTags: options_.omitOptionalTags || false,\n allowParseErrors: options_.allowParseErrors || false,\n allowDangerousCharacters: options_.allowDangerousCharacters || false,\n quoteSmart: options_.quoteSmart || false,\n preferUnquoted: options_.preferUnquoted || false,\n tightAttributes: options_.tightAttributes || false,\n upperDoctype: options_.upperDoctype || false,\n tightDoctype: options_.tightDoctype || false,\n bogusComments: options_.bogusComments || false,\n tightCommaSeparatedLists: options_.tightCommaSeparatedLists || false,\n tightSelfClosing: options_.tightSelfClosing || false,\n collapseEmptyAttributes: options_.collapseEmptyAttributes || false,\n allowDangerousHtml: options_.allowDangerousHtml || false,\n voids: options_.voids || htmlVoidElements,\n characterReferences:\n options_.characterReferences || emptyCharacterReferences,\n closeSelfClosing: options_.closeSelfClosing || false,\n closeEmptyElements: options_.closeEmptyElements || false\n },\n schema: options_.space === 'svg' ? svg : html,\n quote,\n alternative\n }\n\n return state.one(\n Array.isArray(tree) ? {type: 'root', children: tree} : tree,\n undefined,\n undefined\n )\n}\n\n/**\n * Serialize a node.\n *\n * @this {State}\n * Info passed around about the current state.\n * @param {Nodes} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @returns {string}\n * Serialized node.\n */\nfunction one(node, index, parent) {\n return handle(node, index, parent, this)\n}\n\n/**\n * Serialize all children of `parent`.\n *\n * @this {State}\n * Info passed around about the current state.\n * @param {Parents | undefined} parent\n * Parent whose children to serialize.\n * @returns {string}\n */\nexport function all(parent) {\n /** @type {Array<string>} */\n const results = []\n const children = (parent && parent.children) || emptyChildren\n let index = -1\n\n while (++index < children.length) {\n results[index] = this.one(children[index], index, parent)\n }\n\n return results.join('')\n}\n","import { ShikiError as ShikiError$1 } from '@shikijs/types';\nexport * from '@shikijs/types';\nimport { createOnigurumaEngine as createOnigurumaEngine$1, loadWasm as loadWasm$1, getDefaultWasmLoader } from '@shikijs/engine-oniguruma';\nimport { w as warnDeprecated } from './shared/core.afb6276c.mjs';\nexport { e as enableDeprecationWarnings } from './shared/core.afb6276c.mjs';\nimport { FontStyle, INITIAL, EncodedTokenMetadata, Registry as Registry$1, Theme } from '@shikijs/vscode-textmate';\nexport { FontStyle, EncodedTokenMetadata as StackElementMetadata } from '@shikijs/vscode-textmate';\nimport { toHtml } from 'hast-util-to-html';\nexport { toHtml as hastToHtml } from 'hast-util-to-html';\nimport { createJavaScriptRegexEngine as createJavaScriptRegexEngine$1, defaultJavaScriptRegexConstructor as defaultJavaScriptRegexConstructor$1 } from '@shikijs/engine-javascript';\n\nfunction createOnigurumaEngine(options) {\n warnDeprecated(\"import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n return createOnigurumaEngine$1(options);\n}\nfunction createWasmOnigEngine(options) {\n warnDeprecated(\"import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n return createOnigurumaEngine$1(options);\n}\nfunction loadWasm(options) {\n warnDeprecated(\"import `loadWasm` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n return loadWasm$1(options);\n}\n\nfunction toArray(x) {\n return Array.isArray(x) ? x : [x];\n}\nfunction splitLines(code, preserveEnding = false) {\n const parts = code.split(/(\\r?\\n)/g);\n let index = 0;\n const lines = [];\n for (let i = 0; i < parts.length; i += 2) {\n const line = preserveEnding ? parts[i] + (parts[i + 1] || \"\") : parts[i];\n lines.push([line, index]);\n index += parts[i].length;\n index += parts[i + 1]?.length || 0;\n }\n return lines;\n}\nfunction isPlainLang(lang) {\n return !lang || [\"plaintext\", \"txt\", \"text\", \"plain\"].includes(lang);\n}\nfunction isSpecialLang(lang) {\n return lang === \"ansi\" || isPlainLang(lang);\n}\nfunction isNoneTheme(theme) {\n return theme === \"none\";\n}\nfunction isSpecialTheme(theme) {\n return isNoneTheme(theme);\n}\nfunction addClassToHast(node, className) {\n var _a;\n if (!className)\n return node;\n node.properties || (node.properties = {});\n (_a = node.properties).class || (_a.class = []);\n if (typeof node.properties.class === \"string\")\n node.properties.class = node.properties.class.split(/\\s+/g);\n if (!Array.isArray(node.properties.class))\n node.properties.class = [];\n const targets = Array.isArray(className) ? className : className.split(/\\s+/g);\n for (const c of targets) {\n if (c && !node.properties.class.includes(c))\n node.properties.class.push(c);\n }\n return node;\n}\nfunction splitToken(token, offsets) {\n let lastOffset = 0;\n const tokens = [];\n for (const offset of offsets) {\n if (offset > lastOffset) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset, offset),\n offset: token.offset + lastOffset\n });\n }\n lastOffset = offset;\n }\n if (lastOffset < token.content.length) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset),\n offset: token.offset + lastOffset\n });\n }\n return tokens;\n}\nfunction splitTokens(tokens, breakpoints) {\n const sorted = Array.from(breakpoints instanceof Set ? breakpoints : new Set(breakpoints)).sort((a, b) => a - b);\n if (!sorted.length)\n return tokens;\n return tokens.map((line) => {\n return line.flatMap((token) => {\n const breakpointsInToken = sorted.filter((i) => token.offset < i && i < token.offset + token.content.length).map((i) => i - token.offset).sort((a, b) => a - b);\n if (!breakpointsInToken.length)\n return token;\n return splitToken(token, breakpointsInToken);\n });\n });\n}\nasync function normalizeGetter(p) {\n return Promise.resolve(typeof p === \"function\" ? p() : p).then((r) => r.default || r);\n}\nfunction resolveColorReplacements(theme, options) {\n const replacements = typeof theme === \"string\" ? {} : { ...theme.colorReplacements };\n const themeName = typeof theme === \"string\" ? theme : theme.name;\n for (const [key, value] of Object.entries(options?.colorReplacements || {})) {\n if (typeof value === \"string\")\n replacements[key] = value;\n else if (key === themeName)\n Object.assign(replacements, value);\n }\n return replacements;\n}\nfunction applyColorReplacements(color, replacements) {\n if (!color)\n return color;\n return replacements?.[color?.toLowerCase()] || color;\n}\nfunction getTokenStyleObject(token) {\n const styles = {};\n if (token.color)\n styles.color = token.color;\n if (token.bgColor)\n styles[\"background-color\"] = token.bgColor;\n if (token.fontStyle) {\n if (token.fontStyle & FontStyle.Italic)\n styles[\"font-style\"] = \"italic\";\n if (token.fontStyle & FontStyle.Bold)\n styles[\"font-weight\"] = \"bold\";\n if (token.fontStyle & FontStyle.Underline)\n styles[\"text-decoration\"] = \"underline\";\n }\n return styles;\n}\nfunction stringifyTokenStyle(token) {\n if (typeof token === \"string\")\n return token;\n return Object.entries(token).map(([key, value]) => `${key}:${value}`).join(\";\");\n}\nfunction createPositionConverter(code) {\n const lines = splitLines(code, true).map(([line]) => line);\n function indexToPos(index) {\n if (index === code.length) {\n return {\n line: lines.length - 1,\n character: lines[lines.length - 1].length\n };\n }\n let character = index;\n let line = 0;\n for (const lineText of lines) {\n if (character < lineText.length)\n break;\n character -= lineText.length;\n line++;\n }\n return { line, character };\n }\n function posToIndex(line, character) {\n let index = 0;\n for (let i = 0; i < line; i++)\n index += lines[i].length;\n index += character;\n return index;\n }\n return {\n lines,\n indexToPos,\n posToIndex\n };\n}\n\nclass ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nvar __defProp$2 = Object.defineProperty;\nvar __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$2 = (obj, key, value) => {\n __defNormalProp$2(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nconst _grammarStateMap = /* @__PURE__ */ new WeakMap();\nfunction setLastGrammarStateToMap(keys, state) {\n _grammarStateMap.set(keys, state);\n}\nfunction getLastGrammarStateFromMap(keys) {\n return _grammarStateMap.get(keys);\n}\nclass GrammarState {\n constructor(...args) {\n /**\n * Theme to Stack mapping\n */\n __publicField$2(this, \"_stacks\", {});\n __publicField$2(this, \"lang\");\n if (args.length === 2) {\n const [stacksMap, lang] = args;\n this.lang = lang;\n this._stacks = stacksMap;\n } else {\n const [stack, lang, theme] = args;\n this.lang = lang;\n this._stacks = { [theme]: stack };\n }\n }\n get themes() {\n return Object.keys(this._stacks);\n }\n get theme() {\n return this.themes[0];\n }\n get _stack() {\n return this._stacks[this.theme];\n }\n /**\n * Static method to create a initial grammar state.\n */\n static initial(lang, themes) {\n return new GrammarState(\n Object.fromEntries(toArray(themes).map((theme) => [theme, INITIAL])),\n lang\n );\n }\n /**\n * Get the internal stack object.\n * @internal\n */\n getInternalStack(theme = this.theme) {\n return this._stacks[theme];\n }\n /**\n * @deprecated use `getScopes` instead\n */\n get scopes() {\n return getScopes(this._stacks[this.theme]);\n }\n getScopes(theme = this.theme) {\n return getScopes(this._stacks[theme]);\n }\n toJSON() {\n return {\n lang: this.lang,\n theme: this.theme,\n themes: this.themes,\n scopes: this.scopes\n };\n }\n}\nfunction getScopes(stack) {\n const scopes = [];\n const visited = /* @__PURE__ */ new Set();\n function pushScope(stack2) {\n if (visited.has(stack2))\n return;\n visited.add(stack2);\n const name = stack2?.nameScopesList?.scopeName;\n if (name)\n scopes.push(name);\n if (stack2.parent)\n pushScope(stack2.parent);\n }\n pushScope(stack);\n return scopes;\n}\nfunction getGrammarStack(state, theme) {\n if (!(state instanceof GrammarState))\n throw new ShikiError(\"Invalid grammar state\");\n return state.getInternalStack(theme);\n}\n\nfunction transformerDecorations() {\n const map = /* @__PURE__ */ new WeakMap();\n function getContext(shiki) {\n if (!map.has(shiki.meta)) {\n let normalizePosition = function(p) {\n if (typeof p === \"number\") {\n if (p < 0 || p > shiki.source.length)\n throw new ShikiError(`Invalid decoration offset: ${p}. Code length: ${shiki.source.length}`);\n return {\n ...converter.indexToPos(p),\n offset: p\n };\n } else {\n const line = converter.lines[p.line];\n if (line === void 0)\n throw new ShikiError(`Invalid decoration position ${JSON.stringify(p)}. Lines length: ${converter.lines.length}`);\n if (p.character < 0 || p.character > line.length)\n throw new ShikiError(`Invalid decoration position ${JSON.stringify(p)}. Line ${p.line} length: ${line.length}`);\n return {\n ...p,\n offset: converter.posToIndex(p.line, p.character)\n };\n }\n };\n const converter = createPositionConverter(shiki.source);\n const decorations = (shiki.options.decorations || []).map((d) => ({\n ...d,\n start: normalizePosition(d.start),\n end: normalizePosition(d.end)\n }));\n verifyIntersections(decorations);\n map.set(shiki.meta, {\n decorations,\n converter,\n source: shiki.source\n });\n }\n return map.get(shiki.meta);\n }\n return {\n name: \"shiki:decorations\",\n tokens(tokens) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const breakpoints = ctx.decorations.flatMap((d) => [d.start.offset, d.end.offset]);\n const splitted = splitTokens(tokens, breakpoints);\n return splitted;\n },\n code(codeEl) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const lines = Array.from(codeEl.children).filter((i) => i.type === \"element\" && i.tagName === \"span\");\n if (lines.length !== ctx.converter.lines.length)\n throw new ShikiError(`Number of lines in code element (${lines.length}) does not match the number of lines in the source (${ctx.converter.lines.length}). Failed to apply decorations.`);\n function applyLineSection(line, start, end, decoration) {\n const lineEl = lines[line];\n let text = \"\";\n let startIndex = -1;\n let endIndex = -1;\n if (start === 0)\n startIndex = 0;\n if (end === 0)\n endIndex = 0;\n if (end === Number.POSITIVE_INFINITY)\n endIndex = lineEl.children.length;\n if (startIndex === -1 || endIndex === -1) {\n for (let i = 0; i < lineEl.children.length; i++) {\n text += stringify(lineEl.children[i]);\n if (startIndex === -1 && text.length === start)\n startIndex = i + 1;\n if (endIndex === -1 && text.length === end)\n endIndex = i + 1;\n }\n }\n if (startIndex === -1)\n throw new ShikiError(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);\n if (endIndex === -1)\n throw new ShikiError(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);\n const children = lineEl.children.slice(startIndex, endIndex);\n if (!decoration.alwaysWrap && children.length === lineEl.children.length) {\n applyDecoration(lineEl, decoration, \"line\");\n } else if (!decoration.alwaysWrap && children.length === 1 && children[0].type === \"element\") {\n applyDecoration(children[0], decoration, \"token\");\n } else {\n const wrapper = {\n type: \"element\",\n tagName: \"span\",\n properties: {},\n children\n };\n applyDecoration(wrapper, decoration, \"wrapper\");\n lineEl.children.splice(startIndex, children.length, wrapper);\n }\n }\n function applyLine(line, decoration) {\n lines[line] = applyDecoration(lines[line], decoration, \"line\");\n }\n function applyDecoration(el, decoration, type) {\n const properties = decoration.properties || {};\n const transform = decoration.transform || ((i) => i);\n el.tagName = decoration.tagName || \"span\";\n el.properties = {\n ...el.properties,\n ...properties,\n class: el.properties.class\n };\n if (decoration.properties?.class)\n addClassToHast(el, decoration.properties.class);\n el = transform(el, type) || el;\n return el;\n }\n const lineApplies = [];\n const sorted = ctx.decorations.sort((a, b) => b.start.offset - a.start.offset);\n for (const decoration of sorted) {\n const { start, end } = decoration;\n if (start.line === end.line) {\n applyLineSection(start.line, start.character, end.character, decoration);\n } else if (start.line < end.line) {\n applyLineSection(start.line, start.character, Number.POSITIVE_INFINITY, decoration);\n for (let i = start.line + 1; i < end.line; i++)\n lineApplies.unshift(() => applyLine(i, decoration));\n applyLineSection(end.line, 0, end.character, decoration);\n }\n }\n lineApplies.forEach((i) => i());\n }\n };\n}\nfunction verifyIntersections(items) {\n for (let i = 0; i < items.length; i++) {\n const foo = items[i];\n if (foo.start.offset > foo.end.offset)\n throw new ShikiError(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);\n for (let j = i + 1; j < items.length; j++) {\n const bar = items[j];\n const isFooHasBarStart = foo.start.offset < bar.start.offset && bar.start.offset < foo.end.offset;\n const isFooHasBarEnd = foo.start.offset < bar.end.offset && bar.end.offset < foo.end.offset;\n const isBarHasFooStart = bar.start.offset < foo.start.offset && foo.start.offset < bar.end.offset;\n const isBarHasFooEnd = bar.start.offset < foo.end.offset && foo.end.offset < bar.end.offset;\n if (isFooHasBarStart || isFooHasBarEnd || isBarHasFooStart || isBarHasFooEnd) {\n if (isFooHasBarEnd && isFooHasBarEnd)\n continue;\n if (isBarHasFooStart && isBarHasFooEnd)\n continue;\n throw new ShikiError(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);\n }\n }\n }\n}\nfunction stringify(el) {\n if (el.type === \"text\")\n return el.value;\n if (el.type === \"element\")\n return el.children.map(stringify).join(\"\");\n return \"\";\n}\n\nconst builtInTransformers = [\n /* @__PURE__ */ transformerDecorations()\n];\nfunction getTransformers(options) {\n return [\n ...options.transformers || [],\n ...builtInTransformers\n ];\n}\n\n// src/colors.ts\nvar namedColors = [\n \"black\",\n \"red\",\n \"green\",\n \"yellow\",\n \"blue\",\n \"magenta\",\n \"cyan\",\n \"white\",\n \"brightBlack\",\n \"brightRed\",\n \"brightGreen\",\n \"brightYellow\",\n \"brightBlue\",\n \"brightMagenta\",\n \"brightCyan\",\n \"brightWhite\"\n];\n\n// src/decorations.ts\nvar decorations = {\n 1: \"bold\",\n 2: \"dim\",\n 3: \"italic\",\n 4: \"underline\",\n 7: \"reverse\",\n 9: \"strikethrough\"\n};\n\n// src/parser.ts\nfunction findSequence(value, position) {\n const nextEscape = value.indexOf(\"\\x1B[\", position);\n if (nextEscape !== -1) {\n const nextClose = value.indexOf(\"m\", nextEscape);\n return {\n sequence: value.substring(nextEscape + 2, nextClose).split(\";\"),\n startPosition: nextEscape,\n position: nextClose + 1\n };\n }\n return {\n position: value.length\n };\n}\nfunction parseColor(sequence, index) {\n let offset = 1;\n const colorMode = sequence[index + offset++];\n let color;\n if (colorMode === \"2\") {\n const rgb = [\n sequence[index + offset++],\n sequence[index + offset++],\n sequence[index + offset]\n ].map((x) => Number.parseInt(x));\n if (rgb.length === 3 && !rgb.some((x) => Number.isNaN(x))) {\n color = {\n type: \"rgb\",\n rgb\n };\n }\n } else if (colorMode === \"5\") {\n const colorIndex = Number.parseInt(sequence[index + offset]);\n if (!Number.isNaN(colorIndex)) {\n color = { type: \"table\", index: Number(colorIndex) };\n }\n }\n return [offset, color];\n}\nfunction parseSequence(sequence) {\n const commands = [];\n for (let i = 0; i < sequence.length; i++) {\n const code = sequence[i];\n const codeInt = Number.parseInt(code);\n if (Number.isNaN(codeInt))\n continue;\n if (codeInt === 0) {\n commands.push({ type: \"resetAll\" });\n } else if (codeInt <= 9) {\n const decoration = decorations[codeInt];\n if (decoration) {\n commands.push({\n type: \"setDecoration\",\n value: decorations[codeInt]\n });\n }\n } else if (codeInt <= 29) {\n const decoration = decorations[codeInt - 20];\n if (decoration) {\n commands.push({\n type: \"resetDecoration\",\n value: decoration\n });\n }\n } else if (codeInt <= 37) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 30] }\n });\n } else if (codeInt === 38) {\n const [offset, color] = parseColor(sequence, i);\n if (color) {\n commands.push({\n type: \"setForegroundColor\",\n value: color\n });\n }\n i += offset;\n } else if (codeInt === 39) {\n commands.push({\n type: \"resetForegroundColor\"\n });\n } else if (codeInt <= 47) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 40] }\n });\n } else if (codeInt === 48) {\n const [offset, color] = parseColor(sequence, i);\n if (color) {\n commands.push({\n type: \"setBackgroundColor\",\n value: color\n });\n }\n i += offset;\n } else if (codeInt === 49) {\n commands.push({\n type: \"resetBackgroundColor\"\n });\n } else if (codeInt >= 90 && codeInt <= 97) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 90 + 8] }\n });\n } else if (codeInt >= 100 && codeInt <= 107) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 100 + 8] }\n });\n }\n }\n return commands;\n}\nfunction createAnsiSequenceParser() {\n let foreground = null;\n let background = null;\n let decorations2 = /* @__PURE__ */ new Set();\n return {\n parse(value) {\n const tokens = [];\n let position = 0;\n do {\n const findResult = findSequence(value, position);\n const text = findResult.sequence ? value.substring(position, findResult.startPosition) : value.substring(position);\n if (text.length > 0) {\n tokens.push({\n value: text,\n foreground,\n background,\n decorations: new Set(decorations2)\n });\n }\n if (findResult.sequence) {\n const commands = parseSequence(findResult.sequence);\n for (const styleToken of commands) {\n if (styleToken.type === \"resetAll\") {\n foreground = null;\n background = null;\n decorations2.clear();\n } else if (styleToken.type === \"resetForegroundColor\") {\n foreground = null;\n } else if (styleToken.type === \"resetBackgroundColor\") {\n background = null;\n } else if (styleToken.type === \"resetDecoration\") {\n decorations2.delete(styleToken.value);\n }\n }\n for (const styleToken of commands) {\n if (styleToken.type === \"setForegroundColor\") {\n foreground = styleToken.value;\n } else if (styleToken.type === \"setBackgroundColor\") {\n background = styleToken.value;\n } else if (styleToken.type === \"setDecoration\") {\n decorations2.add(styleToken.value);\n }\n }\n }\n position = findResult.position;\n } while (position < value.length);\n return tokens;\n }\n };\n}\n\n// src/palette.ts\nvar defaultNamedColorsMap = {\n black: \"#000000\",\n red: \"#bb0000\",\n green: \"#00bb00\",\n yellow: \"#bbbb00\",\n blue: \"#0000bb\",\n magenta: \"#ff00ff\",\n cyan: \"#00bbbb\",\n white: \"#eeeeee\",\n brightBlack: \"#555555\",\n brightRed: \"#ff5555\",\n brightGreen: \"#00ff00\",\n brightYellow: \"#ffff55\",\n brightBlue: \"#5555ff\",\n brightMagenta: \"#ff55ff\",\n brightCyan: \"#55ffff\",\n brightWhite: \"#ffffff\"\n};\nfunction createColorPalette(namedColorsMap = defaultNamedColorsMap) {\n function namedColor(name) {\n return namedColorsMap[name];\n }\n function rgbColor(rgb) {\n return `#${rgb.map((x) => Math.max(0, Math.min(x, 255)).toString(16).padStart(2, \"0\")).join(\"\")}`;\n }\n let colorTable;\n function getColorTable() {\n if (colorTable) {\n return colorTable;\n }\n colorTable = [];\n for (let i = 0; i < namedColors.length; i++) {\n colorTable.push(namedColor(namedColors[i]));\n }\n let levels = [0, 95, 135, 175, 215, 255];\n for (let r = 0; r < 6; r++) {\n for (let g = 0; g < 6; g++) {\n for (let b = 0; b < 6; b++) {\n colorTable.push(rgbColor([levels[r], levels[g], levels[b]]));\n }\n }\n }\n let level = 8;\n for (let i = 0; i < 24; i++, level += 10) {\n colorTable.push(rgbColor([level, level, level]));\n }\n return colorTable;\n }\n function tableColor(index) {\n return getColorTable()[index];\n }\n function value(color) {\n switch (color.type) {\n case \"named\":\n return namedColor(color.name);\n case \"rgb\":\n return rgbColor(color.rgb);\n case \"table\":\n return tableColor(color.index);\n }\n }\n return {\n value\n };\n}\n\nfunction tokenizeAnsiWithTheme(theme, fileContents, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const lines = splitLines(fileContents);\n const colorPalette = createColorPalette(\n Object.fromEntries(\n namedColors.map((name) => [\n name,\n theme.colors?.[`terminal.ansi${name[0].toUpperCase()}${name.substring(1)}`]\n ])\n )\n );\n const parser = createAnsiSequenceParser();\n return lines.map(\n (line) => parser.parse(line[0]).map((token) => {\n let color;\n let bgColor;\n if (token.decorations.has(\"reverse\")) {\n color = token.background ? colorPalette.value(token.background) : theme.bg;\n bgColor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n } else {\n color = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n bgColor = token.background ? colorPalette.value(token.background) : void 0;\n }\n color = applyColorReplacements(color, colorReplacements);\n bgColor = applyColorReplacements(bgColor, colorReplacements);\n if (token.decorations.has(\"dim\"))\n color = dimColor(color);\n let fontStyle = FontStyle.None;\n if (token.decorations.has(\"bold\"))\n fontStyle |= FontStyle.Bold;\n if (token.decorations.has(\"italic\"))\n fontStyle |= FontStyle.Italic;\n if (token.decorations.has(\"underline\"))\n fontStyle |= FontStyle.Underline;\n return {\n content: token.value,\n offset: line[1],\n // TODO: more accurate offset? might need to fork ansi-sequence-parser\n color,\n bgColor,\n fontStyle\n };\n })\n );\n}\nfunction dimColor(color) {\n const hexMatch = color.match(/#([0-9a-f]{3})([0-9a-f]{3})?([0-9a-f]{2})?/);\n if (hexMatch) {\n if (hexMatch[3]) {\n const alpha = Math.round(Number.parseInt(hexMatch[3], 16) / 2).toString(16).padStart(2, \"0\");\n return `#${hexMatch[1]}${hexMatch[2]}${alpha}`;\n } else if (hexMatch[2]) {\n return `#${hexMatch[1]}${hexMatch[2]}80`;\n } else {\n return `#${Array.from(hexMatch[1]).map((x) => `${x}${x}`).join(\"\")}80`;\n }\n }\n const cssVarMatch = color.match(/var\\((--[\\w-]+-ansi-[\\w-]+)\\)/);\n if (cssVarMatch)\n return `var(${cssVarMatch[1]}-dim)`;\n return color;\n}\n\nfunction codeToTokensBase(internal, code, options = {}) {\n const {\n lang = \"text\",\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n if (isPlainLang(lang) || isNoneTheme(themeName))\n return splitLines(code).map((line) => [{ content: line[0], offset: line[1] }]);\n const { theme, colorMap } = internal.setTheme(themeName);\n if (lang === \"ansi\")\n return tokenizeAnsiWithTheme(theme, code, options);\n const _grammar = internal.getLanguage(lang);\n if (options.grammarState) {\n if (options.grammarState.lang !== _grammar.name) {\n throw new ShikiError$1(`Grammar state language \"${options.grammarState.lang}\" does not match highlight language \"${_grammar.name}\"`);\n }\n if (!options.grammarState.themes.includes(theme.name)) {\n throw new ShikiError$1(`Grammar state themes \"${options.grammarState.themes}\" do not contain highlight theme \"${theme.name}\"`);\n }\n }\n return tokenizeWithTheme(code, _grammar, theme, colorMap, options);\n}\nfunction getLastGrammarState(...args) {\n if (args.length === 2) {\n return getLastGrammarStateFromMap(args[1]);\n }\n const [internal, code, options = {}] = args;\n const {\n lang = \"text\",\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n if (isPlainLang(lang) || isNoneTheme(themeName))\n throw new ShikiError$1(\"Plain language does not have grammar state\");\n if (lang === \"ansi\")\n throw new ShikiError$1(\"ANSI language does not have grammar state\");\n const { theme, colorMap } = internal.setTheme(themeName);\n const _grammar = internal.getLanguage(lang);\n return new GrammarState(\n _tokenizeWithTheme(code, _grammar, theme, colorMap, options).stateStack,\n _grammar.name,\n theme.name\n );\n}\nfunction tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n const result = _tokenizeWithTheme(code, grammar, theme, colorMap, options);\n const grammarState = new GrammarState(\n _tokenizeWithTheme(code, grammar, theme, colorMap, options).stateStack,\n grammar.name,\n theme.name\n );\n setLastGrammarStateToMap(result.tokens, grammarState);\n return result.tokens;\n}\nfunction _tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const {\n tokenizeMaxLineLength = 0,\n tokenizeTimeLimit = 500\n } = options;\n const lines = splitLines(code);\n let stateStack = options.grammarState ? getGrammarStack(options.grammarState, theme.name) ?? INITIAL : options.grammarContextCode != null ? _tokenizeWithTheme(\n options.grammarContextCode,\n grammar,\n theme,\n colorMap,\n {\n ...options,\n grammarState: void 0,\n grammarContextCode: void 0\n }\n ).stateStack : INITIAL;\n let actual = [];\n const final = [];\n for (let i = 0, len = lines.length; i < len; i++) {\n const [line, lineOffset] = lines[i];\n if (line === \"\") {\n actual = [];\n final.push([]);\n continue;\n }\n if (tokenizeMaxLineLength > 0 && line.length >= tokenizeMaxLineLength) {\n actual = [];\n final.push([{\n content: line,\n offset: lineOffset,\n color: \"\",\n fontStyle: 0\n }]);\n continue;\n }\n let resultWithScopes;\n let tokensWithScopes;\n let tokensWithScopesIndex;\n if (options.includeExplanation) {\n resultWithScopes = grammar.tokenizeLine(line, stateStack);\n tokensWithScopes = resultWithScopes.tokens;\n tokensWithScopesIndex = 0;\n }\n const result = grammar.tokenizeLine2(line, stateStack, tokenizeTimeLimit);\n const tokensLength = result.tokens.length / 2;\n for (let j = 0; j < tokensLength; j++) {\n const startIndex = result.tokens[2 * j];\n const nextStartIndex = j + 1 < tokensLength ? result.tokens[2 * j + 2] : line.length;\n if (startIndex === nextStartIndex)\n continue;\n const metadata = result.tokens[2 * j + 1];\n const color = applyColorReplacements(\n colorMap[EncodedTokenMetadata.getForeground(metadata)],\n colorReplacements\n );\n const fontStyle = EncodedTokenMetadata.getFontStyle(metadata);\n const token = {\n content: line.substring(startIndex, nextStartIndex),\n offset: lineOffset + startIndex,\n color,\n fontStyle\n };\n if (options.includeExplanation) {\n const themeSettingsSelectors = [];\n if (options.includeExplanation !== \"scopeName\") {\n for (const setting of theme.settings) {\n let selectors;\n switch (typeof setting.scope) {\n case \"string\":\n selectors = setting.scope.split(/,/).map((scope) => scope.trim());\n break;\n case \"object\":\n selectors = setting.scope;\n break;\n default:\n continue;\n }\n themeSettingsSelectors.push({\n settings: setting,\n selectors: selectors.map((selector) => selector.split(/ /))\n });\n }\n }\n token.explanation = [];\n let offset = 0;\n while (startIndex + offset < nextStartIndex) {\n const tokenWithScopes = tokensWithScopes[tokensWithScopesIndex];\n const tokenWithScopesText = line.substring(\n tokenWithScopes.startIndex,\n tokenWithScopes.endIndex\n );\n offset += tokenWithScopesText.length;\n token.explanation.push({\n content: tokenWithScopesText,\n scopes: options.includeExplanation === \"scopeName\" ? explainThemeScopesNameOnly(\n tokenWithScopes.scopes\n ) : explainThemeScopesFull(\n themeSettingsSelectors,\n tokenWithScopes.scopes\n )\n });\n tokensWithScopesIndex += 1;\n }\n }\n actual.push(token);\n }\n final.push(actual);\n actual = [];\n stateStack = result.ruleStack;\n }\n return {\n tokens: final,\n stateStack\n };\n}\nfunction explainThemeScopesNameOnly(scopes) {\n return scopes.map((scope) => ({ scopeName: scope }));\n}\nfunction explainThemeScopesFull(themeSelectors, scopes) {\n const result = [];\n for (let i = 0, len = scopes.length; i < len; i++) {\n const scope = scopes[i];\n result[i] = {\n scopeName: scope,\n themeMatches: explainThemeScope(themeSelectors, scope, scopes.slice(0, i))\n };\n }\n return result;\n}\nfunction matchesOne(selector, scope) {\n return selector === scope || scope.substring(0, selector.length) === selector && scope[selector.length] === \".\";\n}\nfunction matches(selectors, scope, parentScopes) {\n if (!matchesOne(selectors[selectors.length - 1], scope))\n return false;\n let selectorParentIndex = selectors.length - 2;\n let parentIndex = parentScopes.length - 1;\n while (selectorParentIndex >= 0 && parentIndex >= 0) {\n if (matchesOne(selectors[selectorParentIndex], parentScopes[parentIndex]))\n selectorParentIndex -= 1;\n parentIndex -= 1;\n }\n if (selectorParentIndex === -1)\n return true;\n return false;\n}\nfunction explainThemeScope(themeSettingsSelectors, scope, parentScopes) {\n const result = [];\n for (const { selectors, settings } of themeSettingsSelectors) {\n for (const selectorPieces of selectors) {\n if (matches(selectorPieces, scope, parentScopes)) {\n result.push(settings);\n break;\n }\n }\n }\n return result;\n}\n\nfunction codeToTokensWithThemes(internal, code, options) {\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] }));\n const themedTokens = themes.map((t) => {\n const tokens2 = codeToTokensBase(internal, code, {\n ...options,\n theme: t.theme\n });\n const state = getLastGrammarStateFromMap(tokens2);\n const theme = typeof t.theme === \"string\" ? t.theme : t.theme.name;\n return {\n tokens: tokens2,\n state,\n theme\n };\n });\n const tokens = syncThemesTokenization(\n ...themedTokens.map((i) => i.tokens)\n );\n const mergedTokens = tokens[0].map(\n (line, lineIdx) => line.map((_token, tokenIdx) => {\n const mergedToken = {\n content: _token.content,\n variants: {},\n offset: _token.offset\n };\n if (\"includeExplanation\" in options && options.includeExplanation) {\n mergedToken.explanation = _token.explanation;\n }\n tokens.forEach((t, themeIdx) => {\n const {\n content: _,\n explanation: __,\n offset: ___,\n ...styles\n } = t[lineIdx][tokenIdx];\n mergedToken.variants[themes[themeIdx].color] = styles;\n });\n return mergedToken;\n })\n );\n const mergedGrammarState = themedTokens[0].state ? new GrammarState(\n Object.fromEntries(themedTokens.map((s) => [s.theme, s.state?.getInternalStack(s.theme)])),\n themedTokens[0].state.lang\n ) : void 0;\n if (mergedGrammarState)\n setLastGrammarStateToMap(mergedTokens, mergedGrammarState);\n return mergedTokens;\n}\nfunction syncThemesTokenization(...themes) {\n const outThemes = themes.map(() => []);\n const count = themes.length;\n for (let i = 0; i < themes[0].length; i++) {\n const lines = themes.map((t) => t[i]);\n const outLines = outThemes.map(() => []);\n outThemes.forEach((t, i2) => t.push(outLines[i2]));\n const indexes = lines.map(() => 0);\n const current = lines.map((l) => l[0]);\n while (current.every((t) => t)) {\n const minLength = Math.min(...current.map((t) => t.content.length));\n for (let n = 0; n < count; n++) {\n const token = current[n];\n if (token.content.length === minLength) {\n outLines[n].push(token);\n indexes[n] += 1;\n current[n] = lines[n][indexes[n]];\n } else {\n outLines[n].push({\n ...token,\n content: token.content.slice(0, minLength)\n });\n current[n] = {\n ...token,\n content: token.content.slice(minLength),\n offset: token.offset + minLength\n };\n }\n }\n }\n }\n return outThemes;\n}\n\nfunction codeToTokens(internal, code, options) {\n let bg;\n let fg;\n let tokens;\n let themeName;\n let rootStyle;\n let grammarState;\n if (\"themes\" in options) {\n const {\n defaultColor = \"light\",\n cssVariablePrefix = \"--shiki-\"\n } = options;\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] })).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);\n if (themes.length === 0)\n throw new ShikiError$1(\"`themes` option must not be empty\");\n const themeTokens = codeToTokensWithThemes(\n internal,\n code,\n options\n );\n grammarState = getLastGrammarStateFromMap(themeTokens);\n if (defaultColor && !themes.find((t) => t.color === defaultColor))\n throw new ShikiError$1(`\\`themes\\` option must contain the defaultColor key \\`${defaultColor}\\``);\n const themeRegs = themes.map((t) => internal.getTheme(t.theme));\n const themesOrder = themes.map((t) => t.color);\n tokens = themeTokens.map((line) => line.map((token) => mergeToken(token, themesOrder, cssVariablePrefix, defaultColor)));\n if (grammarState)\n setLastGrammarStateToMap(tokens, grammarState);\n const themeColorReplacements = themes.map((t) => resolveColorReplacements(t.theme, options));\n fg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}:`) + (applyColorReplacements(themeRegs[idx].fg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n bg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}-bg:`) + (applyColorReplacements(themeRegs[idx].bg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n themeName = `shiki-themes ${themeRegs.map((t) => t.name).join(\" \")}`;\n rootStyle = defaultColor ? void 0 : [fg, bg].join(\";\");\n } else if (\"theme\" in options) {\n const colorReplacements = resolveColorReplacements(options.theme, options);\n tokens = codeToTokensBase(\n internal,\n code,\n options\n );\n const _theme = internal.getTheme(options.theme);\n bg = applyColorReplacements(_theme.bg, colorReplacements);\n fg = applyColorReplacements(_theme.fg, colorReplacements);\n themeName = _theme.name;\n grammarState = getLastGrammarStateFromMap(tokens);\n } else {\n throw new ShikiError$1(\"Invalid options, either `theme` or `themes` must be provided\");\n }\n return {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle,\n grammarState\n };\n}\nfunction mergeToken(merged, variantsOrder, cssVariablePrefix, defaultColor) {\n const token = {\n content: merged.content,\n explanation: merged.explanation,\n offset: merged.offset\n };\n const styles = variantsOrder.map((t) => getTokenStyleObject(merged.variants[t]));\n const styleKeys = new Set(styles.flatMap((t) => Object.keys(t)));\n const mergedStyles = {};\n styles.forEach((cur, idx) => {\n for (const key of styleKeys) {\n const value = cur[key] || \"inherit\";\n if (idx === 0 && defaultColor) {\n mergedStyles[key] = value;\n } else {\n const keyName = key === \"color\" ? \"\" : key === \"background-color\" ? \"-bg\" : `-${key}`;\n const varKey = cssVariablePrefix + variantsOrder[idx] + (key === \"color\" ? \"\" : keyName);\n mergedStyles[varKey] = value;\n }\n }\n });\n token.htmlStyle = mergedStyles;\n return token;\n}\n\nfunction codeToHast(internal, code, options, transformerContext = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n}) {\n let input = code;\n for (const transformer of getTransformers(options))\n input = transformer.preprocess?.call(transformerContext, input, options) || input;\n let {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle,\n grammarState\n } = codeToTokens(internal, input, options);\n const {\n mergeWhitespaces = true\n } = options;\n if (mergeWhitespaces === true)\n tokens = mergeWhitespaceTokens(tokens);\n else if (mergeWhitespaces === \"never\")\n tokens = splitWhitespaceTokens(tokens);\n const contextSource = {\n ...transformerContext,\n get source() {\n return input;\n }\n };\n for (const transformer of getTransformers(options))\n tokens = transformer.tokens?.call(contextSource, tokens) || tokens;\n return tokensToHast(\n tokens,\n {\n ...options,\n fg,\n bg,\n themeName,\n rootStyle\n },\n contextSource,\n grammarState\n );\n}\nfunction tokensToHast(tokens, options, transformerContext, grammarState = getLastGrammarStateFromMap(tokens)) {\n const transformers = getTransformers(options);\n const lines = [];\n const root = {\n type: \"root\",\n children: []\n };\n const {\n structure = \"classic\",\n tabindex = \"0\"\n } = options;\n let preNode = {\n type: \"element\",\n tagName: \"pre\",\n properties: {\n class: `shiki ${options.themeName || \"\"}`,\n style: options.rootStyle || `background-color:${options.bg};color:${options.fg}`,\n ...tabindex !== false && tabindex != null ? {\n tabindex: tabindex.toString()\n } : {},\n ...Object.fromEntries(\n Array.from(\n Object.entries(options.meta || {})\n ).filter(([key]) => !key.startsWith(\"_\"))\n )\n },\n children: []\n };\n let codeNode = {\n type: \"element\",\n tagName: \"code\",\n properties: {},\n children: lines\n };\n const lineNodes = [];\n const context = {\n ...transformerContext,\n structure,\n addClassToHast,\n get source() {\n return transformerContext.source;\n },\n get tokens() {\n return tokens;\n },\n get options() {\n return options;\n },\n get root() {\n return root;\n },\n get pre() {\n return preNode;\n },\n get code() {\n return codeNode;\n },\n get lines() {\n return lineNodes;\n }\n };\n tokens.forEach((line, idx) => {\n if (idx) {\n if (structure === \"inline\")\n root.children.push({ type: \"element\", tagName: \"br\", properties: {}, children: [] });\n else if (structure === \"classic\")\n lines.push({ type: \"text\", value: \"\\n\" });\n }\n let lineNode = {\n type: \"element\",\n tagName: \"span\",\n properties: { class: \"line\" },\n children: []\n };\n let col = 0;\n for (const token of line) {\n let tokenNode = {\n type: \"element\",\n tagName: \"span\",\n properties: {\n ...token.htmlAttrs\n },\n children: [{ type: \"text\", value: token.content }]\n };\n if (typeof token.htmlStyle === \"string\")\n warnDeprecated(\"`htmlStyle` as a string is deprecated. Use an object instead.\");\n const style = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n if (style)\n tokenNode.properties.style = style;\n for (const transformer of transformers)\n tokenNode = transformer?.span?.call(context, tokenNode, idx + 1, col, lineNode, token) || tokenNode;\n if (structure === \"inline\")\n root.children.push(tokenNode);\n else if (structure === \"classic\")\n lineNode.children.push(tokenNode);\n col += token.content.length;\n }\n if (structure === \"classic\") {\n for (const transformer of transformers)\n lineNode = transformer?.line?.call(context, lineNode, idx + 1) || lineNode;\n lineNodes.push(lineNode);\n lines.push(lineNode);\n }\n });\n if (structure === \"classic\") {\n for (const transformer of transformers)\n codeNode = transformer?.code?.call(context, codeNode) || codeNode;\n preNode.children.push(codeNode);\n for (const transformer of transformers)\n preNode = transformer?.pre?.call(context, preNode) || preNode;\n root.children.push(preNode);\n }\n let result = root;\n for (const transformer of transformers)\n result = transformer?.root?.call(context, result) || result;\n if (grammarState)\n setLastGrammarStateToMap(result, grammarState);\n return result;\n}\nfunction mergeWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n const newLine = [];\n let carryOnContent = \"\";\n let firstOffset = 0;\n line.forEach((token, idx) => {\n const isUnderline = token.fontStyle && token.fontStyle & FontStyle.Underline;\n const couldMerge = !isUnderline;\n if (couldMerge && token.content.match(/^\\s+$/) && line[idx + 1]) {\n if (!firstOffset)\n firstOffset = token.offset;\n carryOnContent += token.content;\n } else {\n if (carryOnContent) {\n if (couldMerge) {\n newLine.push({\n ...token,\n offset: firstOffset,\n content: carryOnContent + token.content\n });\n } else {\n newLine.push(\n {\n content: carryOnContent,\n offset: firstOffset\n },\n token\n );\n }\n firstOffset = 0;\n carryOnContent = \"\";\n } else {\n newLine.push(token);\n }\n }\n });\n return newLine;\n });\n}\nfunction splitWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n return line.flatMap((token) => {\n if (token.content.match(/^\\s+$/))\n return token;\n const match = token.content.match(/^(\\s*)(.*?)(\\s*)$/);\n if (!match)\n return token;\n const [, leading, content, trailing] = match;\n if (!leading && !trailing)\n return token;\n const expanded = [{\n ...token,\n offset: token.offset + leading.length,\n content\n }];\n if (leading) {\n expanded.unshift({\n content: leading,\n offset: token.offset\n });\n }\n if (trailing) {\n expanded.push({\n content: trailing,\n offset: token.offset + leading.length + content.length\n });\n }\n return expanded;\n });\n });\n}\n\nfunction codeToHtml(internal, code, options) {\n const context = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n };\n let result = toHtml(codeToHast(internal, code, options, context));\n for (const transformer of getTransformers(options))\n result = transformer.postprocess?.call(context, result, options) || result;\n return result;\n}\n\nconst VSCODE_FALLBACK_EDITOR_FG = { light: \"#333333\", dark: \"#bbbbbb\" };\nconst VSCODE_FALLBACK_EDITOR_BG = { light: \"#fffffe\", dark: \"#1e1e1e\" };\nconst RESOLVED_KEY = \"__shiki_resolved\";\nfunction normalizeTheme(rawTheme) {\n if (rawTheme?.[RESOLVED_KEY])\n return rawTheme;\n const theme = {\n ...rawTheme\n };\n if (theme.tokenColors && !theme.settings) {\n theme.settings = theme.tokenColors;\n delete theme.tokenColors;\n }\n theme.type || (theme.type = \"dark\");\n theme.colorReplacements = { ...theme.colorReplacements };\n theme.settings || (theme.settings = []);\n let { bg, fg } = theme;\n if (!bg || !fg) {\n const globalSetting = theme.settings ? theme.settings.find((s) => !s.name && !s.scope) : void 0;\n if (globalSetting?.settings?.foreground)\n fg = globalSetting.settings.foreground;\n if (globalSetting?.settings?.background)\n bg = globalSetting.settings.background;\n if (!fg && theme?.colors?.[\"editor.foreground\"])\n fg = theme.colors[\"editor.foreground\"];\n if (!bg && theme?.colors?.[\"editor.background\"])\n bg = theme.colors[\"editor.background\"];\n if (!fg)\n fg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_FG.light : VSCODE_FALLBACK_EDITOR_FG.dark;\n if (!bg)\n bg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_BG.light : VSCODE_FALLBACK_EDITOR_BG.dark;\n theme.fg = fg;\n theme.bg = bg;\n }\n if (!(theme.settings[0] && theme.settings[0].settings && !theme.settings[0].scope)) {\n theme.settings.unshift({\n settings: {\n foreground: theme.fg,\n background: theme.bg\n }\n });\n }\n let replacementCount = 0;\n const replacementMap = /* @__PURE__ */ new Map();\n function getReplacementColor(value) {\n if (replacementMap.has(value))\n return replacementMap.get(value);\n replacementCount += 1;\n const hex = `#${replacementCount.toString(16).padStart(8, \"0\").toLowerCase()}`;\n if (theme.colorReplacements?.[`#${hex}`])\n return getReplacementColor(value);\n replacementMap.set(value, hex);\n return hex;\n }\n theme.settings = theme.settings.map((setting) => {\n const replaceFg = setting.settings?.foreground && !setting.settings.foreground.startsWith(\"#\");\n const replaceBg = setting.settings?.background && !setting.settings.background.startsWith(\"#\");\n if (!replaceFg && !replaceBg)\n return setting;\n const clone = {\n ...setting,\n settings: {\n ...setting.settings\n }\n };\n if (replaceFg) {\n const replacement = getReplacementColor(setting.settings.foreground);\n theme.colorReplacements[replacement] = setting.settings.foreground;\n clone.settings.foreground = replacement;\n }\n if (replaceBg) {\n const replacement = getReplacementColor(setting.settings.background);\n theme.colorReplacements[replacement] = setting.settings.background;\n clone.settings.background = replacement;\n }\n return clone;\n });\n for (const key of Object.keys(theme.colors || {})) {\n if (key === \"editor.foreground\" || key === \"editor.background\" || key.startsWith(\"terminal.ansi\")) {\n if (!theme.colors[key]?.startsWith(\"#\")) {\n const replacement = getReplacementColor(theme.colors[key]);\n theme.colorReplacements[replacement] = theme.colors[key];\n theme.colors[key] = replacement;\n }\n }\n }\n Object.defineProperty(theme, RESOLVED_KEY, {\n enumerable: false,\n writable: false,\n value: true\n });\n return theme;\n}\n\nasync function resolveLangs(langs) {\n return Array.from(new Set((await Promise.all(\n langs.filter((l) => !isSpecialLang(l)).map(async (lang) => await normalizeGetter(lang).then((r) => Array.isArray(r) ? r : [r]))\n )).flat()));\n}\nasync function resolveThemes(themes) {\n const resolved = await Promise.all(\n themes.map(\n async (theme) => isSpecialTheme(theme) ? null : normalizeTheme(await normalizeGetter(theme))\n )\n );\n return resolved.filter((i) => !!i);\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass Registry extends Registry$1 {\n constructor(_resolver, _themes, _langs, _alias = {}) {\n super(_resolver);\n this._resolver = _resolver;\n this._themes = _themes;\n this._langs = _langs;\n this._alias = _alias;\n __publicField$1(this, \"_resolvedThemes\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_resolvedGrammars\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_langMap\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_langGraph\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_textmateThemeCache\", /* @__PURE__ */ new WeakMap());\n __publicField$1(this, \"_loadedThemesCache\", null);\n __publicField$1(this, \"_loadedLanguagesCache\", null);\n this._themes.map((t) => this.loadTheme(t));\n this.loadLanguages(this._langs);\n }\n getTheme(theme) {\n if (typeof theme === \"string\")\n return this._resolvedThemes.get(theme);\n else\n return this.loadTheme(theme);\n }\n loadTheme(theme) {\n const _theme = normalizeTheme(theme);\n if (_theme.name) {\n this._resolvedThemes.set(_theme.name, _theme);\n this._loadedThemesCache = null;\n }\n return _theme;\n }\n getLoadedThemes() {\n if (!this._loadedThemesCache)\n this._loadedThemesCache = [...this._resolvedThemes.keys()];\n return this._loadedThemesCache;\n }\n // Override and re-implement this method to cache the textmate themes as `TextMateTheme.createFromRawTheme`\n // is expensive. Themes can switch often especially for dual-theme support.\n //\n // The parent class also accepts `colorMap` as the second parameter, but since we don't use that,\n // we omit here so it's easier to cache the themes.\n setTheme(theme) {\n let textmateTheme = this._textmateThemeCache.get(theme);\n if (!textmateTheme) {\n textmateTheme = Theme.createFromRawTheme(theme);\n this._textmateThemeCache.set(theme, textmateTheme);\n }\n this._syncRegistry.setTheme(textmateTheme);\n }\n getGrammar(name) {\n if (this._alias[name]) {\n const resolved = /* @__PURE__ */ new Set([name]);\n while (this._alias[name]) {\n name = this._alias[name];\n if (resolved.has(name))\n throw new ShikiError(`Circular alias \\`${Array.from(resolved).join(\" -> \")} -> ${name}\\``);\n resolved.add(name);\n }\n }\n return this._resolvedGrammars.get(name);\n }\n loadLanguage(lang) {\n if (this.getGrammar(lang.name))\n return;\n const embeddedLazilyBy = new Set(\n [...this._langMap.values()].filter((i) => i.embeddedLangsLazy?.includes(lang.name))\n );\n this._resolver.addLanguage(lang);\n const grammarConfig = {\n balancedBracketSelectors: lang.balancedBracketSelectors || [\"*\"],\n unbalancedBracketSelectors: lang.unbalancedBracketSelectors || []\n };\n this._syncRegistry._rawGrammars.set(lang.scopeName, lang);\n const g = this.loadGrammarWithConfiguration(lang.scopeName, 1, grammarConfig);\n g.name = lang.name;\n this._resolvedGrammars.set(lang.name, g);\n if (lang.aliases) {\n lang.aliases.forEach((alias) => {\n this._alias[alias] = lang.name;\n });\n }\n this._loadedLanguagesCache = null;\n if (embeddedLazilyBy.size) {\n for (const e of embeddedLazilyBy) {\n this._resolvedGrammars.delete(e.name);\n this._loadedLanguagesCache = null;\n this._syncRegistry?._injectionGrammars?.delete(e.scopeName);\n this._syncRegistry?._grammars?.delete(e.scopeName);\n this.loadLanguage(this._langMap.get(e.name));\n }\n }\n }\n dispose() {\n super.dispose();\n this._resolvedThemes.clear();\n this._resolvedGrammars.clear();\n this._langMap.clear();\n this._langGraph.clear();\n this._loadedThemesCache = null;\n }\n loadLanguages(langs) {\n for (const lang of langs)\n this.resolveEmbeddedLanguages(lang);\n const langsGraphArray = Array.from(this._langGraph.entries());\n const missingLangs = langsGraphArray.filter(([_, lang]) => !lang);\n if (missingLangs.length) {\n const dependents = langsGraphArray.filter(([_, lang]) => lang && lang.embeddedLangs?.some((l) => missingLangs.map(([name]) => name).includes(l))).filter((lang) => !missingLangs.includes(lang));\n throw new ShikiError(`Missing languages ${missingLangs.map(([name]) => `\\`${name}\\``).join(\", \")}, required by ${dependents.map(([name]) => `\\`${name}\\``).join(\", \")}`);\n }\n for (const [_, lang] of langsGraphArray)\n this._resolver.addLanguage(lang);\n for (const [_, lang] of langsGraphArray)\n this.loadLanguage(lang);\n }\n getLoadedLanguages() {\n if (!this._loadedLanguagesCache) {\n this._loadedLanguagesCache = [\n .../* @__PURE__ */ new Set([...this._resolvedGrammars.keys(), ...Object.keys(this._alias)])\n ];\n }\n return this._loadedLanguagesCache;\n }\n resolveEmbeddedLanguages(lang) {\n this._langMap.set(lang.name, lang);\n this._langGraph.set(lang.name, lang);\n if (lang.embeddedLangs) {\n for (const embeddedLang of lang.embeddedLangs)\n this._langGraph.set(embeddedLang, this._langMap.get(embeddedLang));\n }\n }\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass Resolver {\n constructor(engine, langs) {\n __publicField(this, \"_langs\", /* @__PURE__ */ new Map());\n __publicField(this, \"_scopeToLang\", /* @__PURE__ */ new Map());\n __publicField(this, \"_injections\", /* @__PURE__ */ new Map());\n __publicField(this, \"_onigLib\");\n this._onigLib = {\n createOnigScanner: (patterns) => engine.createScanner(patterns),\n createOnigString: (s) => engine.createString(s)\n };\n langs.forEach((i) => this.addLanguage(i));\n }\n get onigLib() {\n return this._onigLib;\n }\n getLangRegistration(langIdOrAlias) {\n return this._langs.get(langIdOrAlias);\n }\n loadGrammar(scopeName) {\n return this._scopeToLang.get(scopeName);\n }\n addLanguage(l) {\n this._langs.set(l.name, l);\n if (l.aliases) {\n l.aliases.forEach((a) => {\n this._langs.set(a, l);\n });\n }\n this._scopeToLang.set(l.scopeName, l);\n if (l.injectTo) {\n l.injectTo.forEach((i) => {\n if (!this._injections.get(i))\n this._injections.set(i, []);\n this._injections.get(i).push(l.scopeName);\n });\n }\n }\n getInjections(scopeName) {\n const scopeParts = scopeName.split(\".\");\n let injections = [];\n for (let i = 1; i <= scopeParts.length; i++) {\n const subScopeName = scopeParts.slice(0, i).join(\".\");\n injections = [...injections, ...this._injections.get(subScopeName) || []];\n }\n return injections;\n }\n}\n\nlet instancesCount = 0;\nfunction createShikiInternalSync(options) {\n instancesCount += 1;\n if (options.warnings !== false && instancesCount >= 10 && instancesCount % 10 === 0)\n console.warn(`[Shiki] ${instancesCount} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \\`highlighter.dispose()\\` to release unused instances.`);\n let isDisposed = false;\n if (!options.engine)\n throw new ShikiError(\"`engine` option is required for synchronous mode\");\n const langs = (options.langs || []).flat(1);\n const themes = (options.themes || []).flat(1).map(normalizeTheme);\n const resolver = new Resolver(options.engine, langs);\n const _registry = new Registry(resolver, themes, langs, options.langAlias);\n let _lastTheme;\n function getLanguage(name) {\n ensureNotDisposed();\n const _lang = _registry.getGrammar(typeof name === \"string\" ? name : name.name);\n if (!_lang)\n throw new ShikiError(`Language \\`${name}\\` not found, you may need to load it first`);\n return _lang;\n }\n function getTheme(name) {\n if (name === \"none\")\n return { bg: \"\", fg: \"\", name: \"none\", settings: [], type: \"dark\" };\n ensureNotDisposed();\n const _theme = _registry.getTheme(name);\n if (!_theme)\n throw new ShikiError(`Theme \\`${name}\\` not found, you may need to load it first`);\n return _theme;\n }\n function setTheme(name) {\n ensureNotDisposed();\n const theme = getTheme(name);\n if (_lastTheme !== name) {\n _registry.setTheme(theme);\n _lastTheme = name;\n }\n const colorMap = _registry.getColorMap();\n return {\n theme,\n colorMap\n };\n }\n function getLoadedThemes() {\n ensureNotDisposed();\n return _registry.getLoadedThemes();\n }\n function getLoadedLanguages() {\n ensureNotDisposed();\n return _registry.getLoadedLanguages();\n }\n function loadLanguageSync(...langs2) {\n ensureNotDisposed();\n _registry.loadLanguages(langs2.flat(1));\n }\n async function loadLanguage(...langs2) {\n return loadLanguageSync(await resolveLangs(langs2));\n }\n function loadThemeSync(...themes2) {\n ensureNotDisposed();\n for (const theme of themes2.flat(1)) {\n _registry.loadTheme(theme);\n }\n }\n async function loadTheme(...themes2) {\n ensureNotDisposed();\n return loadThemeSync(await resolveThemes(themes2));\n }\n function ensureNotDisposed() {\n if (isDisposed)\n throw new ShikiError(\"Shiki instance has been disposed\");\n }\n function dispose() {\n if (isDisposed)\n return;\n isDisposed = true;\n _registry.dispose();\n instancesCount -= 1;\n }\n return {\n setTheme,\n getTheme,\n getLanguage,\n getLoadedThemes,\n getLoadedLanguages,\n loadLanguage,\n loadLanguageSync,\n loadTheme,\n loadThemeSync,\n dispose,\n [Symbol.dispose]: dispose\n };\n}\n\nasync function createShikiInternal(options = {}) {\n if (options.loadWasm) {\n warnDeprecated(\"`loadWasm` option is deprecated. Use `engine: createOnigurumaEngine(loadWasm)` instead.\");\n }\n const [\n themes,\n langs,\n engine\n ] = await Promise.all([\n resolveThemes(options.themes || []),\n resolveLangs(options.langs || []),\n options.engine || createOnigurumaEngine$1(options.loadWasm || getDefaultWasmLoader())\n ]);\n return createShikiInternalSync({\n ...options,\n loadWasm: void 0,\n themes,\n langs,\n engine\n });\n}\nfunction getShikiInternal(options = {}) {\n warnDeprecated(\"`getShikiInternal` is deprecated. Use `createShikiInternal` instead.\");\n return createShikiInternal(options);\n}\n\nasync function createHighlighterCore(options = {}) {\n const internal = await createShikiInternal(options);\n return {\n getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction createHighlighterCoreSync(options = {}) {\n const internal = createShikiInternalSync(options);\n return {\n getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction makeSingletonHighlighterCore(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighterCore2(options = {}) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: options.themes || [],\n langs: options.langs || []\n });\n return _shiki;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighterCore2;\n}\nconst getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);\nfunction getHighlighterCore(options = {}) {\n warnDeprecated(\"`getHighlighterCore` is deprecated. Use `createHighlighterCore` or `getSingletonHighlighterCore` instead.\");\n return createHighlighterCore(options);\n}\n\nfunction createdBundledHighlighter(arg1, arg2, arg3) {\n let bundledLanguages;\n let bundledThemes;\n let engine;\n if (arg2) {\n warnDeprecated(\"`createdBundledHighlighter` signature with `bundledLanguages` and `bundledThemes` is deprecated. Use the options object signature instead.\");\n bundledLanguages = arg1;\n bundledThemes = arg2;\n engine = () => createOnigurumaEngine(arg3);\n } else {\n const options = arg1;\n bundledLanguages = options.langs;\n bundledThemes = options.themes;\n engine = options.engine;\n }\n async function createHighlighter(options) {\n function resolveLang(lang) {\n if (typeof lang === \"string\") {\n if (isSpecialLang(lang))\n return [];\n const bundle = bundledLanguages[lang];\n if (!bundle)\n throw new ShikiError$1(`Language \\`${lang}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return lang;\n }\n function resolveTheme(theme) {\n if (isSpecialTheme(theme))\n return \"none\";\n if (typeof theme === \"string\") {\n const bundle = bundledThemes[theme];\n if (!bundle)\n throw new ShikiError$1(`Theme \\`${theme}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return theme;\n }\n const _themes = (options.themes ?? []).map((i) => resolveTheme(i));\n const langs = (options.langs ?? []).map((i) => resolveLang(i));\n const core = await createHighlighterCore({\n engine: engine(),\n ...options,\n themes: _themes,\n langs\n });\n return {\n ...core,\n loadLanguage(...langs2) {\n return core.loadLanguage(...langs2.map(resolveLang));\n },\n loadTheme(...themes) {\n return core.loadTheme(...themes.map(resolveTheme));\n }\n };\n }\n return createHighlighter;\n}\nfunction makeSingletonHighlighter(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighter(options = {}) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: options.themes || [],\n langs: options.langs || []\n });\n return _shiki;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighter;\n}\nfunction createSingletonShorthands(createHighlighter) {\n const getSingletonHighlighter = makeSingletonHighlighter(createHighlighter);\n return {\n getSingletonHighlighter(options) {\n return getSingletonHighlighter(options);\n },\n async codeToHtml(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToHtml(code, options);\n },\n async codeToHast(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToHast(code, options);\n },\n async codeToTokens(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToTokens(code, options);\n },\n async codeToTokensBase(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: [options.theme]\n });\n return shiki.codeToTokensBase(code, options);\n },\n async codeToTokensWithThemes(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: Object.values(options.themes).filter(Boolean)\n });\n return shiki.codeToTokensWithThemes(code, options);\n },\n async getLastGrammarState(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: [options.theme]\n });\n return shiki.getLastGrammarState(code, options);\n }\n };\n}\n\nfunction createJavaScriptRegexEngine(options) {\n warnDeprecated(\"import `createJavaScriptRegexEngine` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead\");\n return createJavaScriptRegexEngine$1(options);\n}\nfunction defaultJavaScriptRegexConstructor(pattern) {\n warnDeprecated(\"import `defaultJavaScriptRegexConstructor` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead\");\n return defaultJavaScriptRegexConstructor$1(pattern);\n}\n\nfunction createCssVariablesTheme(options = {}) {\n const {\n name = \"css-variables\",\n variablePrefix = \"--shiki-\",\n fontStyle = true\n } = options;\n const variable = (name2) => {\n if (options.variableDefaults?.[name2])\n return `var(${variablePrefix}${name2}, ${options.variableDefaults[name2]})`;\n return `var(${variablePrefix}${name2})`;\n };\n const theme = {\n name,\n type: \"dark\",\n colors: {\n \"editor.foreground\": variable(\"foreground\"),\n \"editor.background\": variable(\"background\"),\n \"terminal.ansiBlack\": variable(\"ansi-black\"),\n \"terminal.ansiRed\": variable(\"ansi-red\"),\n \"terminal.ansiGreen\": variable(\"ansi-green\"),\n \"terminal.ansiYellow\": variable(\"ansi-yellow\"),\n \"terminal.ansiBlue\": variable(\"ansi-blue\"),\n \"terminal.ansiMagenta\": variable(\"ansi-magenta\"),\n \"terminal.ansiCyan\": variable(\"ansi-cyan\"),\n \"terminal.ansiWhite\": variable(\"ansi-white\"),\n \"terminal.ansiBrightBlack\": variable(\"ansi-bright-black\"),\n \"terminal.ansiBrightRed\": variable(\"ansi-bright-red\"),\n \"terminal.ansiBrightGreen\": variable(\"ansi-bright-green\"),\n \"terminal.ansiBrightYellow\": variable(\"ansi-bright-yellow\"),\n \"terminal.ansiBrightBlue\": variable(\"ansi-bright-blue\"),\n \"terminal.ansiBrightMagenta\": variable(\"ansi-bright-magenta\"),\n \"terminal.ansiBrightCyan\": variable(\"ansi-bright-cyan\"),\n \"terminal.ansiBrightWhite\": variable(\"ansi-bright-white\")\n },\n tokenColors: [\n {\n scope: [\n \"keyword.operator.accessor\",\n \"meta.group.braces.round.function.arguments\",\n \"meta.template.expression\",\n \"markup.fenced_code meta.embedded.block\"\n ],\n settings: {\n foreground: variable(\"foreground\")\n }\n },\n {\n scope: \"emphasis\",\n settings: {\n fontStyle: \"italic\"\n }\n },\n {\n scope: [\"strong\", \"markup.heading.markdown\", \"markup.bold.markdown\"],\n settings: {\n fontStyle: \"bold\"\n }\n },\n {\n scope: [\"markup.italic.markdown\"],\n settings: {\n fontStyle: \"italic\"\n }\n },\n {\n scope: \"meta.link.inline.markdown\",\n settings: {\n fontStyle: \"underline\",\n foreground: variable(\"token-link\")\n }\n },\n {\n scope: [\"string\", \"markup.fenced_code\", \"markup.inline\"],\n settings: {\n foreground: variable(\"token-string\")\n }\n },\n {\n scope: [\"comment\", \"string.quoted.docstring.multi\"],\n settings: {\n foreground: variable(\"token-comment\")\n }\n },\n {\n scope: [\n \"constant.numeric\",\n \"constant.language\",\n \"constant.other.placeholder\",\n \"constant.character.format.placeholder\",\n \"variable.language.this\",\n \"variable.other.object\",\n \"variable.other.class\",\n \"variable.other.constant\",\n \"meta.property-name\",\n \"meta.property-value\",\n \"support\"\n ],\n settings: {\n foreground: variable(\"token-constant\")\n }\n },\n {\n scope: [\n \"keyword\",\n \"storage.modifier\",\n \"storage.type\",\n \"storage.control.clojure\",\n \"entity.name.function.clojure\",\n \"entity.name.tag.yaml\",\n \"support.function.node\",\n \"support.type.property-name.json\",\n \"punctuation.separator.key-value\",\n \"punctuation.definition.template-expression\"\n ],\n settings: {\n foreground: variable(\"token-keyword\")\n }\n },\n {\n scope: \"variable.parameter.function\",\n settings: {\n foreground: variable(\"token-parameter\")\n }\n },\n {\n scope: [\n \"support.function\",\n \"entity.name.type\",\n \"entity.other.inherited-class\",\n \"meta.function-call\",\n \"meta.instance.constructor\",\n \"entity.other.attribute-name\",\n \"entity.name.function\",\n \"constant.keyword.clojure\"\n ],\n settings: {\n foreground: variable(\"token-function\")\n }\n },\n {\n scope: [\n \"entity.name.tag\",\n \"string.quoted\",\n \"string.regexp\",\n \"string.interpolated\",\n \"string.template\",\n \"string.unquoted.plain.out.yaml\",\n \"keyword.other.template\"\n ],\n settings: {\n foreground: variable(\"token-string-expression\")\n }\n },\n {\n scope: [\n \"punctuation.definition.arguments\",\n \"punctuation.definition.dict\",\n \"punctuation.separator\",\n \"meta.function-call.arguments\"\n ],\n settings: {\n foreground: variable(\"token-punctuation\")\n }\n },\n {\n // [Custom] Markdown links\n scope: [\n \"markup.underline.link\",\n \"punctuation.definition.metadata.markdown\"\n ],\n settings: {\n foreground: variable(\"token-link\")\n }\n },\n {\n // [Custom] Markdown list\n scope: [\"beginning.punctuation.definition.list.markdown\"],\n settings: {\n foreground: variable(\"token-string\")\n }\n },\n {\n // [Custom] Markdown punctuation definition brackets\n scope: [\n \"punctuation.definition.string.begin.markdown\",\n \"punctuation.definition.string.end.markdown\",\n \"string.other.link.title.markdown\",\n \"string.other.link.description.markdown\"\n ],\n settings: {\n foreground: variable(\"token-keyword\")\n }\n },\n {\n // [Custom] Diff\n scope: [\n \"markup.inserted\",\n \"meta.diff.header.to-file\",\n \"punctuation.definition.inserted\"\n ],\n settings: {\n foreground: variable(\"token-inserted\")\n }\n },\n {\n scope: [\n \"markup.deleted\",\n \"meta.diff.header.from-file\",\n \"punctuation.definition.deleted\"\n ],\n settings: {\n foreground: variable(\"token-deleted\")\n }\n },\n {\n scope: [\n \"markup.changed\",\n \"punctuation.definition.changed\"\n ],\n settings: {\n foreground: variable(\"token-changed\")\n }\n }\n ]\n };\n if (!fontStyle) {\n theme.tokenColors = theme.tokenColors?.map((tokenColor) => {\n if (tokenColor.settings?.fontStyle)\n delete tokenColor.settings.fontStyle;\n return tokenColor;\n });\n }\n return theme;\n}\n\nexport { addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createCssVariablesTheme, createHighlighterCore, createHighlighterCoreSync, createJavaScriptRegexEngine, createOnigurumaEngine, createPositionConverter, createShikiInternal, createShikiInternalSync, createSingletonShorthands, createWasmOnigEngine, createdBundledHighlighter, defaultJavaScriptRegexConstructor, getHighlighterCore, getShikiInternal, getSingletonHighlighterCore, getTokenStyleObject, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, loadWasm, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations, warnDeprecated };\n","import { bundledLanguages } from './langs.mjs';\nexport { bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo } from './langs.mjs';\nimport { bundledThemes } from './themes.mjs';\nexport { bundledThemesInfo } from './themes.mjs';\nexport { g as getWasmInlined } from './wasm-dynamic-K7LwWlz7.js';\nimport { createdBundledHighlighter, createSingletonShorthands, warnDeprecated } from '@shikijs/core';\nexport * from '@shikijs/core';\nimport { createOnigurumaEngine } from '@shikijs/engine-oniguruma';\n\nconst createHighlighter = /* @__PURE__ */ createdBundledHighlighter({\n langs: bundledLanguages,\n themes: bundledThemes,\n engine: () => createOnigurumaEngine(import('shiki/wasm'))\n});\nconst {\n codeToHtml,\n codeToHast,\n codeToTokens,\n codeToTokensBase,\n codeToTokensWithThemes,\n getSingletonHighlighter,\n getLastGrammarState\n} = /* @__PURE__ */ createSingletonShorthands(\n createHighlighter\n);\nconst getHighlighter = (options) => {\n warnDeprecated(\"`getHighlighter` is deprecated. Use `createHighlighter` or `getSingletonHighlighter` instead.\");\n return createHighlighter(options);\n};\n\nexport { bundledLanguages, bundledThemes, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createHighlighter, getHighlighter, getLastGrammarState, getSingletonHighlighter };\n","const bundledLanguagesInfo = [\n {\n \"id\": \"abap\",\n \"name\": \"ABAP\",\n \"import\": () => import('./langs/abap.mjs')\n },\n {\n \"id\": \"actionscript-3\",\n \"name\": \"ActionScript\",\n \"import\": () => import('./langs/actionscript-3.mjs')\n },\n {\n \"id\": \"ada\",\n \"name\": \"Ada\",\n \"import\": () => import('./langs/ada.mjs')\n },\n {\n \"id\": \"angular-html\",\n \"name\": \"Angular HTML\",\n \"import\": () => import('./langs/angular-html.mjs')\n },\n {\n \"id\": \"angular-ts\",\n \"name\": \"Angular TypeScript\",\n \"import\": () => import('./langs/angular-ts.mjs')\n },\n {\n \"id\": \"apache\",\n \"name\": \"Apache Conf\",\n \"import\": () => import('./langs/apache.mjs')\n },\n {\n \"id\": \"apex\",\n \"name\": \"Apex\",\n \"import\": () => import('./langs/apex.mjs')\n },\n {\n \"id\": \"apl\",\n \"name\": \"APL\",\n \"import\": () => import('./langs/apl.mjs')\n },\n {\n \"id\": \"applescript\",\n \"name\": \"AppleScript\",\n \"import\": () => import('./langs/applescript.mjs')\n },\n {\n \"id\": \"ara\",\n \"name\": \"Ara\",\n \"import\": () => import('./langs/ara.mjs')\n },\n {\n \"id\": \"asciidoc\",\n \"name\": \"AsciiDoc\",\n \"aliases\": [\n \"adoc\"\n ],\n \"import\": () => import('./langs/asciidoc.mjs')\n },\n {\n \"id\": \"asm\",\n \"name\": \"Assembly\",\n \"import\": () => import('./langs/asm.mjs')\n },\n {\n \"id\": \"astro\",\n \"name\": \"Astro\",\n \"import\": () => import('./langs/astro.mjs')\n },\n {\n \"id\": \"awk\",\n \"name\": \"AWK\",\n \"import\": () => import('./langs/awk.mjs')\n },\n {\n \"id\": \"ballerina\",\n \"name\": \"Ballerina\",\n \"import\": () => import('./langs/ballerina.mjs')\n },\n {\n \"id\": \"bat\",\n \"name\": \"Batch File\",\n \"aliases\": [\n \"batch\"\n ],\n \"import\": () => import('./langs/bat.mjs')\n },\n {\n \"id\": \"beancount\",\n \"name\": \"Beancount\",\n \"import\": () => import('./langs/beancount.mjs')\n },\n {\n \"id\": \"berry\",\n \"name\": \"Berry\",\n \"aliases\": [\n \"be\"\n ],\n \"import\": () => import('./langs/berry.mjs')\n },\n {\n \"id\": \"bibtex\",\n \"name\": \"BibTeX\",\n \"import\": () => import('./langs/bibtex.mjs')\n },\n {\n \"id\": \"bicep\",\n \"name\": \"Bicep\",\n \"import\": () => import('./langs/bicep.mjs')\n },\n {\n \"id\": \"blade\",\n \"name\": \"Blade\",\n \"import\": () => import('./langs/blade.mjs')\n },\n {\n \"id\": \"c\",\n \"name\": \"C\",\n \"import\": () => import('./langs/c.mjs')\n },\n {\n \"id\": \"cadence\",\n \"name\": \"Cadence\",\n \"aliases\": [\n \"cdc\"\n ],\n \"import\": () => import('./langs/cadence.mjs')\n },\n {\n \"id\": \"clarity\",\n \"name\": \"Clarity\",\n \"import\": () => import('./langs/clarity.mjs')\n },\n {\n \"id\": \"clojure\",\n \"name\": \"Clojure\",\n \"aliases\": [\n \"clj\"\n ],\n \"import\": () => import('./langs/clojure.mjs')\n },\n {\n \"id\": \"cmake\",\n \"name\": \"CMake\",\n \"import\": () => import('./langs/cmake.mjs')\n },\n {\n \"id\": \"cobol\",\n \"name\": \"COBOL\",\n \"import\": () => import('./langs/cobol.mjs')\n },\n {\n \"id\": \"codeowners\",\n \"name\": \"CODEOWNERS\",\n \"import\": () => import('./langs/codeowners.mjs')\n },\n {\n \"id\": \"codeql\",\n \"name\": \"CodeQL\",\n \"aliases\": [\n \"ql\"\n ],\n \"import\": () => import('./langs/codeql.mjs')\n },\n {\n \"id\": \"coffee\",\n \"name\": \"CoffeeScript\",\n \"aliases\": [\n \"coffeescript\"\n ],\n \"import\": () => import('./langs/coffee.mjs')\n },\n {\n \"id\": \"common-lisp\",\n \"name\": \"Common Lisp\",\n \"aliases\": [\n \"lisp\"\n ],\n \"import\": () => import('./langs/common-lisp.mjs')\n },\n {\n \"id\": \"coq\",\n \"name\": \"Coq\",\n \"import\": () => import('./langs/coq.mjs')\n },\n {\n \"id\": \"cpp\",\n \"name\": \"C++\",\n \"aliases\": [\n \"c++\"\n ],\n \"import\": () => import('./langs/cpp.mjs')\n },\n {\n \"id\": \"crystal\",\n \"name\": \"Crystal\",\n \"import\": () => import('./langs/crystal.mjs')\n },\n {\n \"id\": \"csharp\",\n \"name\": \"C#\",\n \"aliases\": [\n \"c#\",\n \"cs\"\n ],\n \"import\": () => import('./langs/csharp.mjs')\n },\n {\n \"id\": \"css\",\n \"name\": \"CSS\",\n \"import\": () => import('./langs/css.mjs')\n },\n {\n \"id\": \"csv\",\n \"name\": \"CSV\",\n \"import\": () => import('./langs/csv.mjs')\n },\n {\n \"id\": \"cue\",\n \"name\": \"CUE\",\n \"import\": () => import('./langs/cue.mjs')\n },\n {\n \"id\": \"cypher\",\n \"name\": \"Cypher\",\n \"aliases\": [\n \"cql\"\n ],\n \"import\": () => import('./langs/cypher.mjs')\n },\n {\n \"id\": \"d\",\n \"name\": \"D\",\n \"import\": () => import('./langs/d.mjs')\n },\n {\n \"id\": \"dart\",\n \"name\": \"Dart\",\n \"import\": () => import('./langs/dart.mjs')\n },\n {\n \"id\": \"dax\",\n \"name\": \"DAX\",\n \"import\": () => import('./langs/dax.mjs')\n },\n {\n \"id\": \"desktop\",\n \"name\": \"Desktop\",\n \"import\": () => import('./langs/desktop.mjs')\n },\n {\n \"id\": \"diff\",\n \"name\": \"Diff\",\n \"import\": () => import('./langs/diff.mjs')\n },\n {\n \"id\": \"docker\",\n \"name\": \"Dockerfile\",\n \"aliases\": [\n \"dockerfile\"\n ],\n \"import\": () => import('./langs/docker.mjs')\n },\n {\n \"id\": \"dotenv\",\n \"name\": \"dotEnv\",\n \"import\": () => import('./langs/dotenv.mjs')\n },\n {\n \"id\": \"dream-maker\",\n \"name\": \"Dream Maker\",\n \"import\": () => import('./langs/dream-maker.mjs')\n },\n {\n \"id\": \"edge\",\n \"name\": \"Edge\",\n \"import\": () => import('./langs/edge.mjs')\n },\n {\n \"id\": \"elixir\",\n \"name\": \"Elixir\",\n \"import\": () => import('./langs/elixir.mjs')\n },\n {\n \"id\": \"elm\",\n \"name\": \"Elm\",\n \"import\": () => import('./langs/elm.mjs')\n },\n {\n \"id\": \"emacs-lisp\",\n \"name\": \"Emacs Lisp\",\n \"aliases\": [\n \"elisp\"\n ],\n \"import\": () => import('./langs/emacs-lisp.mjs')\n },\n {\n \"id\": \"erb\",\n \"name\": \"ERB\",\n \"import\": () => import('./langs/erb.mjs')\n },\n {\n \"id\": \"erlang\",\n \"name\": \"Erlang\",\n \"aliases\": [\n \"erl\"\n ],\n \"import\": () => import('./langs/erlang.mjs')\n },\n {\n \"id\": \"fennel\",\n \"name\": \"Fennel\",\n \"import\": () => import('./langs/fennel.mjs')\n },\n {\n \"id\": \"fish\",\n \"name\": \"Fish\",\n \"import\": () => import('./langs/fish.mjs')\n },\n {\n \"id\": \"fluent\",\n \"name\": \"Fluent\",\n \"aliases\": [\n \"ftl\"\n ],\n \"import\": () => import('./langs/fluent.mjs')\n },\n {\n \"id\": \"fortran-fixed-form\",\n \"name\": \"Fortran (Fixed Form)\",\n \"aliases\": [\n \"f\",\n \"for\",\n \"f77\"\n ],\n \"import\": () => import('./langs/fortran-fixed-form.mjs')\n },\n {\n \"id\": \"fortran-free-form\",\n \"name\": \"Fortran (Free Form)\",\n \"aliases\": [\n \"f90\",\n \"f95\",\n \"f03\",\n \"f08\",\n \"f18\"\n ],\n \"import\": () => import('./langs/fortran-free-form.mjs')\n },\n {\n \"id\": \"fsharp\",\n \"name\": \"F#\",\n \"aliases\": [\n \"f#\",\n \"fs\"\n ],\n \"import\": () => import('./langs/fsharp.mjs')\n },\n {\n \"id\": \"gdresource\",\n \"name\": \"GDResource\",\n \"import\": () => import('./langs/gdresource.mjs')\n },\n {\n \"id\": \"gdscript\",\n \"name\": \"GDScript\",\n \"import\": () => import('./langs/gdscript.mjs')\n },\n {\n \"id\": \"gdshader\",\n \"name\": \"GDShader\",\n \"import\": () => import('./langs/gdshader.mjs')\n },\n {\n \"id\": \"genie\",\n \"name\": \"Genie\",\n \"import\": () => import('./langs/genie.mjs')\n },\n {\n \"id\": \"gherkin\",\n \"name\": \"Gherkin\",\n \"import\": () => import('./langs/gherkin.mjs')\n },\n {\n \"id\": \"git-commit\",\n \"name\": \"Git Commit Message\",\n \"import\": () => import('./langs/git-commit.mjs')\n },\n {\n \"id\": \"git-rebase\",\n \"name\": \"Git Rebase Message\",\n \"import\": () => import('./langs/git-rebase.mjs')\n },\n {\n \"id\": \"gleam\",\n \"name\": \"Gleam\",\n \"import\": () => import('./langs/gleam.mjs')\n },\n {\n \"id\": \"glimmer-js\",\n \"name\": \"Glimmer JS\",\n \"aliases\": [\n \"gjs\"\n ],\n \"import\": () => import('./langs/glimmer-js.mjs')\n },\n {\n \"id\": \"glimmer-ts\",\n \"name\": \"Glimmer TS\",\n \"aliases\": [\n \"gts\"\n ],\n \"import\": () => import('./langs/glimmer-ts.mjs')\n },\n {\n \"id\": \"glsl\",\n \"name\": \"GLSL\",\n \"import\": () => import('./langs/glsl.mjs')\n },\n {\n \"id\": \"gnuplot\",\n \"name\": \"Gnuplot\",\n \"import\": () => import('./langs/gnuplot.mjs')\n },\n {\n \"id\": \"go\",\n \"name\": \"Go\",\n \"import\": () => import('./langs/go.mjs')\n },\n {\n \"id\": \"graphql\",\n \"name\": \"GraphQL\",\n \"aliases\": [\n \"gql\"\n ],\n \"import\": () => import('./langs/graphql.mjs')\n },\n {\n \"id\": \"groovy\",\n \"name\": \"Groovy\",\n \"import\": () => import('./langs/groovy.mjs')\n },\n {\n \"id\": \"hack\",\n \"name\": \"Hack\",\n \"import\": () => import('./langs/hack.mjs')\n },\n {\n \"id\": \"haml\",\n \"name\": \"Ruby Haml\",\n \"import\": () => import('./langs/haml.mjs')\n },\n {\n \"id\": \"handlebars\",\n \"name\": \"Handlebars\",\n \"aliases\": [\n \"hbs\"\n ],\n \"import\": () => import('./langs/handlebars.mjs')\n },\n {\n \"id\": \"haskell\",\n \"name\": \"Haskell\",\n \"aliases\": [\n \"hs\"\n ],\n \"import\": () => import('./langs/haskell.mjs')\n },\n {\n \"id\": \"haxe\",\n \"name\": \"Haxe\",\n \"import\": () => import('./langs/haxe.mjs')\n },\n {\n \"id\": \"hcl\",\n \"name\": \"HashiCorp HCL\",\n \"import\": () => import('./langs/hcl.mjs')\n },\n {\n \"id\": \"hjson\",\n \"name\": \"Hjson\",\n \"import\": () => import('./langs/hjson.mjs')\n },\n {\n \"id\": \"hlsl\",\n \"name\": \"HLSL\",\n \"import\": () => import('./langs/hlsl.mjs')\n },\n {\n \"id\": \"html\",\n \"name\": \"HTML\",\n \"import\": () => import('./langs/html.mjs')\n },\n {\n \"id\": \"html-derivative\",\n \"name\": \"HTML (Derivative)\",\n \"import\": () => import('./langs/html-derivative.mjs')\n },\n {\n \"id\": \"http\",\n \"name\": \"HTTP\",\n \"import\": () => import('./langs/http.mjs')\n },\n {\n \"id\": \"hxml\",\n \"name\": \"HXML\",\n \"import\": () => import('./langs/hxml.mjs')\n },\n {\n \"id\": \"hy\",\n \"name\": \"Hy\",\n \"import\": () => import('./langs/hy.mjs')\n },\n {\n \"id\": \"imba\",\n \"name\": \"Imba\",\n \"import\": () => import('./langs/imba.mjs')\n },\n {\n \"id\": \"ini\",\n \"name\": \"INI\",\n \"aliases\": [\n \"properties\"\n ],\n \"import\": () => import('./langs/ini.mjs')\n },\n {\n \"id\": \"java\",\n \"name\": \"Java\",\n \"import\": () => import('./langs/java.mjs')\n },\n {\n \"id\": \"javascript\",\n \"name\": \"JavaScript\",\n \"aliases\": [\n \"js\"\n ],\n \"import\": () => import('./langs/javascript.mjs')\n },\n {\n \"id\": \"jinja\",\n \"name\": \"Jinja\",\n \"import\": () => import('./langs/jinja.mjs')\n },\n {\n \"id\": \"jison\",\n \"name\": \"Jison\",\n \"import\": () => import('./langs/jison.mjs')\n },\n {\n \"id\": \"json\",\n \"name\": \"JSON\",\n \"import\": () => import('./langs/json.mjs')\n },\n {\n \"id\": \"json5\",\n \"name\": \"JSON5\",\n \"import\": () => import('./langs/json5.mjs')\n },\n {\n \"id\": \"jsonc\",\n \"name\": \"JSON with Comments\",\n \"import\": () => import('./langs/jsonc.mjs')\n },\n {\n \"id\": \"jsonl\",\n \"name\": \"JSON Lines\",\n \"import\": () => import('./langs/jsonl.mjs')\n },\n {\n \"id\": \"jsonnet\",\n \"name\": \"Jsonnet\",\n \"import\": () => import('./langs/jsonnet.mjs')\n },\n {\n \"id\": \"jssm\",\n \"name\": \"JSSM\",\n \"aliases\": [\n \"fsl\"\n ],\n \"import\": () => import('./langs/jssm.mjs')\n },\n {\n \"id\": \"jsx\",\n \"name\": \"JSX\",\n \"import\": () => import('./langs/jsx.mjs')\n },\n {\n \"id\": \"julia\",\n \"name\": \"Julia\",\n \"aliases\": [\n \"jl\"\n ],\n \"import\": () => import('./langs/julia.mjs')\n },\n {\n \"id\": \"kotlin\",\n \"name\": \"Kotlin\",\n \"aliases\": [\n \"kt\",\n \"kts\"\n ],\n \"import\": () => import('./langs/kotlin.mjs')\n },\n {\n \"id\": \"kusto\",\n \"name\": \"Kusto\",\n \"aliases\": [\n \"kql\"\n ],\n \"import\": () => import('./langs/kusto.mjs')\n },\n {\n \"id\": \"latex\",\n \"name\": \"LaTeX\",\n \"import\": () => import('./langs/latex.mjs')\n },\n {\n \"id\": \"lean\",\n \"name\": \"Lean 4\",\n \"aliases\": [\n \"lean4\"\n ],\n \"import\": () => import('./langs/lean.mjs')\n },\n {\n \"id\": \"less\",\n \"name\": \"Less\",\n \"import\": () => import('./langs/less.mjs')\n },\n {\n \"id\": \"liquid\",\n \"name\": \"Liquid\",\n \"import\": () => import('./langs/liquid.mjs')\n },\n {\n \"id\": \"log\",\n \"name\": \"Log file\",\n \"import\": () => import('./langs/log.mjs')\n },\n {\n \"id\": \"logo\",\n \"name\": \"Logo\",\n \"import\": () => import('./langs/logo.mjs')\n },\n {\n \"id\": \"lua\",\n \"name\": \"Lua\",\n \"import\": () => import('./langs/lua.mjs')\n },\n {\n \"id\": \"luau\",\n \"name\": \"Luau\",\n \"import\": () => import('./langs/luau.mjs')\n },\n {\n \"id\": \"make\",\n \"name\": \"Makefile\",\n \"aliases\": [\n \"makefile\"\n ],\n \"import\": () => import('./langs/make.mjs')\n },\n {\n \"id\": \"markdown\",\n \"name\": \"Markdown\",\n \"aliases\": [\n \"md\"\n ],\n \"import\": () => import('./langs/markdown.mjs')\n },\n {\n \"id\": \"marko\",\n \"name\": \"Marko\",\n \"import\": () => import('./langs/marko.mjs')\n },\n {\n \"id\": \"matlab\",\n \"name\": \"MATLAB\",\n \"import\": () => import('./langs/matlab.mjs')\n },\n {\n \"id\": \"mdc\",\n \"name\": \"MDC\",\n \"import\": () => import('./langs/mdc.mjs')\n },\n {\n \"id\": \"mdx\",\n \"name\": \"MDX\",\n \"import\": () => import('./langs/mdx.mjs')\n },\n {\n \"id\": \"mermaid\",\n \"name\": \"Mermaid\",\n \"aliases\": [\n \"mmd\"\n ],\n \"import\": () => import('./langs/mermaid.mjs')\n },\n {\n \"id\": \"mipsasm\",\n \"name\": \"MIPS Assembly\",\n \"aliases\": [\n \"mips\"\n ],\n \"import\": () => import('./langs/mipsasm.mjs')\n },\n {\n \"id\": \"mojo\",\n \"name\": \"Mojo\",\n \"import\": () => import('./langs/mojo.mjs')\n },\n {\n \"id\": \"move\",\n \"name\": \"Move\",\n \"import\": () => import('./langs/move.mjs')\n },\n {\n \"id\": \"narrat\",\n \"name\": \"Narrat Language\",\n \"aliases\": [\n \"nar\"\n ],\n \"import\": () => import('./langs/narrat.mjs')\n },\n {\n \"id\": \"nextflow\",\n \"name\": \"Nextflow\",\n \"aliases\": [\n \"nf\"\n ],\n \"import\": () => import('./langs/nextflow.mjs')\n },\n {\n \"id\": \"nginx\",\n \"name\": \"Nginx\",\n \"import\": () => import('./langs/nginx.mjs')\n },\n {\n \"id\": \"nim\",\n \"name\": \"Nim\",\n \"import\": () => import('./langs/nim.mjs')\n },\n {\n \"id\": \"nix\",\n \"name\": \"Nix\",\n \"import\": () => import('./langs/nix.mjs')\n },\n {\n \"id\": \"nushell\",\n \"name\": \"nushell\",\n \"aliases\": [\n \"nu\"\n ],\n \"import\": () => import('./langs/nushell.mjs')\n },\n {\n \"id\": \"objective-c\",\n \"name\": \"Objective-C\",\n \"aliases\": [\n \"objc\"\n ],\n \"import\": () => import('./langs/objective-c.mjs')\n },\n {\n \"id\": \"objective-cpp\",\n \"name\": \"Objective-C++\",\n \"import\": () => import('./langs/objective-cpp.mjs')\n },\n {\n \"id\": \"ocaml\",\n \"name\": \"OCaml\",\n \"import\": () => import('./langs/ocaml.mjs')\n },\n {\n \"id\": \"pascal\",\n \"name\": \"Pascal\",\n \"import\": () => import('./langs/pascal.mjs')\n },\n {\n \"id\": \"perl\",\n \"name\": \"Perl\",\n \"import\": () => import('./langs/perl.mjs')\n },\n {\n \"id\": \"php\",\n \"name\": \"PHP\",\n \"import\": () => import('./langs/php.mjs')\n },\n {\n \"id\": \"plsql\",\n \"name\": \"PL/SQL\",\n \"import\": () => import('./langs/plsql.mjs')\n },\n {\n \"id\": \"po\",\n \"name\": \"Gettext PO\",\n \"aliases\": [\n \"pot\",\n \"potx\"\n ],\n \"import\": () => import('./langs/po.mjs')\n },\n {\n \"id\": \"postcss\",\n \"name\": \"PostCSS\",\n \"import\": () => import('./langs/postcss.mjs')\n },\n {\n \"id\": \"powerquery\",\n \"name\": \"PowerQuery\",\n \"import\": () => import('./langs/powerquery.mjs')\n },\n {\n \"id\": \"powershell\",\n \"name\": \"PowerShell\",\n \"aliases\": [\n \"ps\",\n \"ps1\"\n ],\n \"import\": () => import('./langs/powershell.mjs')\n },\n {\n \"id\": \"prisma\",\n \"name\": \"Prisma\",\n \"import\": () => import('./langs/prisma.mjs')\n },\n {\n \"id\": \"prolog\",\n \"name\": \"Prolog\",\n \"import\": () => import('./langs/prolog.mjs')\n },\n {\n \"id\": \"proto\",\n \"name\": \"Protocol Buffer 3\",\n \"aliases\": [\n \"protobuf\"\n ],\n \"import\": () => import('./langs/proto.mjs')\n },\n {\n \"id\": \"pug\",\n \"name\": \"Pug\",\n \"aliases\": [\n \"jade\"\n ],\n \"import\": () => import('./langs/pug.mjs')\n },\n {\n \"id\": \"puppet\",\n \"name\": \"Puppet\",\n \"import\": () => import('./langs/puppet.mjs')\n },\n {\n \"id\": \"purescript\",\n \"name\": \"PureScript\",\n \"import\": () => import('./langs/purescript.mjs')\n },\n {\n \"id\": \"python\",\n \"name\": \"Python\",\n \"aliases\": [\n \"py\"\n ],\n \"import\": () => import('./langs/python.mjs')\n },\n {\n \"id\": \"qml\",\n \"name\": \"QML\",\n \"import\": () => import('./langs/qml.mjs')\n },\n {\n \"id\": \"qmldir\",\n \"name\": \"QML Directory\",\n \"import\": () => import('./langs/qmldir.mjs')\n },\n {\n \"id\": \"qss\",\n \"name\": \"Qt Style Sheets\",\n \"import\": () => import('./langs/qss.mjs')\n },\n {\n \"id\": \"r\",\n \"name\": \"R\",\n \"import\": () => import('./langs/r.mjs')\n },\n {\n \"id\": \"racket\",\n \"name\": \"Racket\",\n \"import\": () => import('./langs/racket.mjs')\n },\n {\n \"id\": \"raku\",\n \"name\": \"Raku\",\n \"aliases\": [\n \"perl6\"\n ],\n \"import\": () => import('./langs/raku.mjs')\n },\n {\n \"id\": \"razor\",\n \"name\": \"ASP.NET Razor\",\n \"import\": () => import('./langs/razor.mjs')\n },\n {\n \"id\": \"reg\",\n \"name\": \"Windows Registry Script\",\n \"import\": () => import('./langs/reg.mjs')\n },\n {\n \"id\": \"regexp\",\n \"name\": \"RegExp\",\n \"aliases\": [\n \"regex\"\n ],\n \"import\": () => import('./langs/regexp.mjs')\n },\n {\n \"id\": \"rel\",\n \"name\": \"Rel\",\n \"import\": () => import('./langs/rel.mjs')\n },\n {\n \"id\": \"riscv\",\n \"name\": \"RISC-V\",\n \"import\": () => import('./langs/riscv.mjs')\n },\n {\n \"id\": \"rst\",\n \"name\": \"reStructuredText\",\n \"import\": () => import('./langs/rst.mjs')\n },\n {\n \"id\": \"ruby\",\n \"name\": \"Ruby\",\n \"aliases\": [\n \"rb\"\n ],\n \"import\": () => import('./langs/ruby.mjs')\n },\n {\n \"id\": \"rust\",\n \"name\": \"Rust\",\n \"aliases\": [\n \"rs\"\n ],\n \"import\": () => import('./langs/rust.mjs')\n },\n {\n \"id\": \"sas\",\n \"name\": \"SAS\",\n \"import\": () => import('./langs/sas.mjs')\n },\n {\n \"id\": \"sass\",\n \"name\": \"Sass\",\n \"import\": () => import('./langs/sass.mjs')\n },\n {\n \"id\": \"scala\",\n \"name\": \"Scala\",\n \"import\": () => import('./langs/scala.mjs')\n },\n {\n \"id\": \"scheme\",\n \"name\": \"Scheme\",\n \"import\": () => import('./langs/scheme.mjs')\n },\n {\n \"id\": \"scss\",\n \"name\": \"SCSS\",\n \"import\": () => import('./langs/scss.mjs')\n },\n {\n \"id\": \"shaderlab\",\n \"name\": \"ShaderLab\",\n \"aliases\": [\n \"shader\"\n ],\n \"import\": () => import('./langs/shaderlab.mjs')\n },\n {\n \"id\": \"shellscript\",\n \"name\": \"Shell\",\n \"aliases\": [\n \"bash\",\n \"sh\",\n \"shell\",\n \"zsh\"\n ],\n \"import\": () => import('./langs/shellscript.mjs')\n },\n {\n \"id\": \"shellsession\",\n \"name\": \"Shell Session\",\n \"aliases\": [\n \"console\"\n ],\n \"import\": () => import('./langs/shellsession.mjs')\n },\n {\n \"id\": \"smalltalk\",\n \"name\": \"Smalltalk\",\n \"import\": () => import('./langs/smalltalk.mjs')\n },\n {\n \"id\": \"solidity\",\n \"name\": \"Solidity\",\n \"import\": () => import('./langs/solidity.mjs')\n },\n {\n \"id\": \"soy\",\n \"name\": \"Closure Templates\",\n \"aliases\": [\n \"closure-templates\"\n ],\n \"import\": () => import('./langs/soy.mjs')\n },\n {\n \"id\": \"sparql\",\n \"name\": \"SPARQL\",\n \"import\": () => import('./langs/sparql.mjs')\n },\n {\n \"id\": \"splunk\",\n \"name\": \"Splunk Query Language\",\n \"aliases\": [\n \"spl\"\n ],\n \"import\": () => import('./langs/splunk.mjs')\n },\n {\n \"id\": \"sql\",\n \"name\": \"SQL\",\n \"import\": () => import('./langs/sql.mjs')\n },\n {\n \"id\": \"ssh-config\",\n \"name\": \"SSH Config\",\n \"import\": () => import('./langs/ssh-config.mjs')\n },\n {\n \"id\": \"stata\",\n \"name\": \"Stata\",\n \"import\": () => import('./langs/stata.mjs')\n },\n {\n \"id\": \"stylus\",\n \"name\": \"Stylus\",\n \"aliases\": [\n \"styl\"\n ],\n \"import\": () => import('./langs/stylus.mjs')\n },\n {\n \"id\": \"svelte\",\n \"name\": \"Svelte\",\n \"import\": () => import('./langs/svelte.mjs')\n },\n {\n \"id\": \"swift\",\n \"name\": \"Swift\",\n \"import\": () => import('./langs/swift.mjs')\n },\n {\n \"id\": \"system-verilog\",\n \"name\": \"SystemVerilog\",\n \"import\": () => import('./langs/system-verilog.mjs')\n },\n {\n \"id\": \"systemd\",\n \"name\": \"Systemd Units\",\n \"import\": () => import('./langs/systemd.mjs')\n },\n {\n \"id\": \"tasl\",\n \"name\": \"Tasl\",\n \"import\": () => import('./langs/tasl.mjs')\n },\n {\n \"id\": \"tcl\",\n \"name\": \"Tcl\",\n \"import\": () => import('./langs/tcl.mjs')\n },\n {\n \"id\": \"templ\",\n \"name\": \"Templ\",\n \"import\": () => import('./langs/templ.mjs')\n },\n {\n \"id\": \"terraform\",\n \"name\": \"Terraform\",\n \"aliases\": [\n \"tf\",\n \"tfvars\"\n ],\n \"import\": () => import('./langs/terraform.mjs')\n },\n {\n \"id\": \"tex\",\n \"name\": \"TeX\",\n \"import\": () => import('./langs/tex.mjs')\n },\n {\n \"id\": \"toml\",\n \"name\": \"TOML\",\n \"import\": () => import('./langs/toml.mjs')\n },\n {\n \"id\": \"ts-tags\",\n \"name\": \"TypeScript with Tags\",\n \"aliases\": [\n \"lit\"\n ],\n \"import\": () => import('./langs/ts-tags.mjs')\n },\n {\n \"id\": \"tsv\",\n \"name\": \"TSV\",\n \"import\": () => import('./langs/tsv.mjs')\n },\n {\n \"id\": \"tsx\",\n \"name\": \"TSX\",\n \"import\": () => import('./langs/tsx.mjs')\n },\n {\n \"id\": \"turtle\",\n \"name\": \"Turtle\",\n \"import\": () => import('./langs/turtle.mjs')\n },\n {\n \"id\": \"twig\",\n \"name\": \"Twig\",\n \"import\": () => import('./langs/twig.mjs')\n },\n {\n \"id\": \"typescript\",\n \"name\": \"TypeScript\",\n \"aliases\": [\n \"ts\"\n ],\n \"import\": () => import('./langs/typescript.mjs')\n },\n {\n \"id\": \"typespec\",\n \"name\": \"TypeSpec\",\n \"aliases\": [\n \"tsp\"\n ],\n \"import\": () => import('./langs/typespec.mjs')\n },\n {\n \"id\": \"typst\",\n \"name\": \"Typst\",\n \"aliases\": [\n \"typ\"\n ],\n \"import\": () => import('./langs/typst.mjs')\n },\n {\n \"id\": \"v\",\n \"name\": \"V\",\n \"import\": () => import('./langs/v.mjs')\n },\n {\n \"id\": \"vala\",\n \"name\": \"Vala\",\n \"import\": () => import('./langs/vala.mjs')\n },\n {\n \"id\": \"vb\",\n \"name\": \"Visual Basic\",\n \"aliases\": [\n \"cmd\"\n ],\n \"import\": () => import('./langs/vb.mjs')\n },\n {\n \"id\": \"verilog\",\n \"name\": \"Verilog\",\n \"import\": () => import('./langs/verilog.mjs')\n },\n {\n \"id\": \"vhdl\",\n \"name\": \"VHDL\",\n \"import\": () => import('./langs/vhdl.mjs')\n },\n {\n \"id\": \"viml\",\n \"name\": \"Vim Script\",\n \"aliases\": [\n \"vim\",\n \"vimscript\"\n ],\n \"import\": () => import('./langs/viml.mjs')\n },\n {\n \"id\": \"vue\",\n \"name\": \"Vue\",\n \"import\": () => import('./langs/vue.mjs')\n },\n {\n \"id\": \"vue-html\",\n \"name\": \"Vue HTML\",\n \"import\": () => import('./langs/vue-html.mjs')\n },\n {\n \"id\": \"vyper\",\n \"name\": \"Vyper\",\n \"aliases\": [\n \"vy\"\n ],\n \"import\": () => import('./langs/vyper.mjs')\n },\n {\n \"id\": \"wasm\",\n \"name\": \"WebAssembly\",\n \"import\": () => import('./langs/wasm.mjs')\n },\n {\n \"id\": \"wenyan\",\n \"name\": \"Wenyan\",\n \"aliases\": [\n \"\\u6587\\u8A00\"\n ],\n \"import\": () => import('./langs/wenyan.mjs')\n },\n {\n \"id\": \"wgsl\",\n \"name\": \"WGSL\",\n \"import\": () => import('./langs/wgsl.mjs')\n },\n {\n \"id\": \"wikitext\",\n \"name\": \"Wikitext\",\n \"aliases\": [\n \"mediawiki\",\n \"wiki\"\n ],\n \"import\": () => import('./langs/wikitext.mjs')\n },\n {\n \"id\": \"wolfram\",\n \"name\": \"Wolfram\",\n \"aliases\": [\n \"wl\"\n ],\n \"import\": () => import('./langs/wolfram.mjs')\n },\n {\n \"id\": \"xml\",\n \"name\": \"XML\",\n \"import\": () => import('./langs/xml.mjs')\n },\n {\n \"id\": \"xsl\",\n \"name\": \"XSL\",\n \"import\": () => import('./langs/xsl.mjs')\n },\n {\n \"id\": \"yaml\",\n \"name\": \"YAML\",\n \"aliases\": [\n \"yml\"\n ],\n \"import\": () => import('./langs/yaml.mjs')\n },\n {\n \"id\": \"zenscript\",\n \"name\": \"ZenScript\",\n \"import\": () => import('./langs/zenscript.mjs')\n },\n {\n \"id\": \"zig\",\n \"name\": \"Zig\",\n \"import\": () => import('./langs/zig.mjs')\n }\n];\nconst bundledLanguagesBase = Object.fromEntries(bundledLanguagesInfo.map((i) => [i.id, i.import]));\nconst bundledLanguagesAlias = Object.fromEntries(bundledLanguagesInfo.flatMap((i) => i.aliases?.map((a) => [a, i.import]) || []));\nconst bundledLanguages = {\n ...bundledLanguagesBase,\n ...bundledLanguagesAlias\n};\n\nexport { bundledLanguages, bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo };\n","const bundledThemesInfo = [\n {\n \"id\": \"andromeeda\",\n \"displayName\": \"Andromeeda\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/andromeeda.mjs')\n },\n {\n \"id\": \"aurora-x\",\n \"displayName\": \"Aurora X\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/aurora-x.mjs')\n },\n {\n \"id\": \"ayu-dark\",\n \"displayName\": \"Ayu Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/ayu-dark.mjs')\n },\n {\n \"id\": \"catppuccin-frappe\",\n \"displayName\": \"Catppuccin Frapp\\xE9\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-frappe.mjs')\n },\n {\n \"id\": \"catppuccin-latte\",\n \"displayName\": \"Catppuccin Latte\",\n \"type\": \"light\",\n \"import\": () => import('./themes/catppuccin-latte.mjs')\n },\n {\n \"id\": \"catppuccin-macchiato\",\n \"displayName\": \"Catppuccin Macchiato\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-macchiato.mjs')\n },\n {\n \"id\": \"catppuccin-mocha\",\n \"displayName\": \"Catppuccin Mocha\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-mocha.mjs')\n },\n {\n \"id\": \"dark-plus\",\n \"displayName\": \"Dark Plus\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dark-plus.mjs')\n },\n {\n \"id\": \"dracula\",\n \"displayName\": \"Dracula Theme\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dracula.mjs')\n },\n {\n \"id\": \"dracula-soft\",\n \"displayName\": \"Dracula Theme Soft\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dracula-soft.mjs')\n },\n {\n \"id\": \"everforest-dark\",\n \"displayName\": \"Everforest Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/everforest-dark.mjs')\n },\n {\n \"id\": \"everforest-light\",\n \"displayName\": \"Everforest Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/everforest-light.mjs')\n },\n {\n \"id\": \"github-dark\",\n \"displayName\": \"GitHub Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark.mjs')\n },\n {\n \"id\": \"github-dark-default\",\n \"displayName\": \"GitHub Dark Default\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-default.mjs')\n },\n {\n \"id\": \"github-dark-dimmed\",\n \"displayName\": \"GitHub Dark Dimmed\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-dimmed.mjs')\n },\n {\n \"id\": \"github-dark-high-contrast\",\n \"displayName\": \"GitHub Dark High Contrast\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-high-contrast.mjs')\n },\n {\n \"id\": \"github-light\",\n \"displayName\": \"GitHub Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light.mjs')\n },\n {\n \"id\": \"github-light-default\",\n \"displayName\": \"GitHub Light Default\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light-default.mjs')\n },\n {\n \"id\": \"github-light-high-contrast\",\n \"displayName\": \"GitHub Light High Contrast\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light-high-contrast.mjs')\n },\n {\n \"id\": \"houston\",\n \"displayName\": \"Houston\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/houston.mjs')\n },\n {\n \"id\": \"laserwave\",\n \"displayName\": \"LaserWave\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/laserwave.mjs')\n },\n {\n \"id\": \"light-plus\",\n \"displayName\": \"Light Plus\",\n \"type\": \"light\",\n \"import\": () => import('./themes/light-plus.mjs')\n },\n {\n \"id\": \"material-theme\",\n \"displayName\": \"Material Theme\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme.mjs')\n },\n {\n \"id\": \"material-theme-darker\",\n \"displayName\": \"Material Theme Darker\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-darker.mjs')\n },\n {\n \"id\": \"material-theme-lighter\",\n \"displayName\": \"Material Theme Lighter\",\n \"type\": \"light\",\n \"import\": () => import('./themes/material-theme-lighter.mjs')\n },\n {\n \"id\": \"material-theme-ocean\",\n \"displayName\": \"Material Theme Ocean\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-ocean.mjs')\n },\n {\n \"id\": \"material-theme-palenight\",\n \"displayName\": \"Material Theme Palenight\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-palenight.mjs')\n },\n {\n \"id\": \"min-dark\",\n \"displayName\": \"Min Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/min-dark.mjs')\n },\n {\n \"id\": \"min-light\",\n \"displayName\": \"Min Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/min-light.mjs')\n },\n {\n \"id\": \"monokai\",\n \"displayName\": \"Monokai\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/monokai.mjs')\n },\n {\n \"id\": \"night-owl\",\n \"displayName\": \"Night Owl\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/night-owl.mjs')\n },\n {\n \"id\": \"nord\",\n \"displayName\": \"Nord\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/nord.mjs')\n },\n {\n \"id\": \"one-dark-pro\",\n \"displayName\": \"One Dark Pro\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/one-dark-pro.mjs')\n },\n {\n \"id\": \"one-light\",\n \"displayName\": \"One Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/one-light.mjs')\n },\n {\n \"id\": \"plastic\",\n \"displayName\": \"Plastic\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/plastic.mjs')\n },\n {\n \"id\": \"poimandres\",\n \"displayName\": \"Poimandres\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/poimandres.mjs')\n },\n {\n \"id\": \"red\",\n \"displayName\": \"Red\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/red.mjs')\n },\n {\n \"id\": \"rose-pine\",\n \"displayName\": \"Ros\\xE9 Pine\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/rose-pine.mjs')\n },\n {\n \"id\": \"rose-pine-dawn\",\n \"displayName\": \"Ros\\xE9 Pine Dawn\",\n \"type\": \"light\",\n \"import\": () => import('./themes/rose-pine-dawn.mjs')\n },\n {\n \"id\": \"rose-pine-moon\",\n \"displayName\": \"Ros\\xE9 Pine Moon\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/rose-pine-moon.mjs')\n },\n {\n \"id\": \"slack-dark\",\n \"displayName\": \"Slack Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/slack-dark.mjs')\n },\n {\n \"id\": \"slack-ochin\",\n \"displayName\": \"Slack Ochin\",\n \"type\": \"light\",\n \"import\": () => import('./themes/slack-ochin.mjs')\n },\n {\n \"id\": \"snazzy-light\",\n \"displayName\": \"Snazzy Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/snazzy-light.mjs')\n },\n {\n \"id\": \"solarized-dark\",\n \"displayName\": \"Solarized Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/solarized-dark.mjs')\n },\n {\n \"id\": \"solarized-light\",\n \"displayName\": \"Solarized Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/solarized-light.mjs')\n },\n {\n \"id\": \"synthwave-84\",\n \"displayName\": \"Synthwave '84\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/synthwave-84.mjs')\n },\n {\n \"id\": \"tokyo-night\",\n \"displayName\": \"Tokyo Night\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/tokyo-night.mjs')\n },\n {\n \"id\": \"vesper\",\n \"displayName\": \"Vesper\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vesper.mjs')\n },\n {\n \"id\": \"vitesse-black\",\n \"displayName\": \"Vitesse Black\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vitesse-black.mjs')\n },\n {\n \"id\": \"vitesse-dark\",\n \"displayName\": \"Vitesse Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vitesse-dark.mjs')\n },\n {\n \"id\": \"vitesse-light\",\n \"displayName\": \"Vitesse Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/vitesse-light.mjs')\n }\n];\nconst bundledThemes = Object.fromEntries(bundledThemesInfo.map((i) => [i.id, i.import]));\n\nexport { bundledThemes, bundledThemesInfo };\n","class ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nexport { ShikiError };\n","/**\n * List of HTML void tag names.\n *\n * @type {Array<string>}\n */\nexport const htmlVoidElements = [\n 'area',\n 'base',\n 'basefont',\n 'bgsound',\n 'br',\n 'col',\n 'command',\n 'embed',\n 'frame',\n 'hr',\n 'image',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr'\n]\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n blocking: spaceSeparated,\n capture: null,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n fetchPriority: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inert: boolean,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforeMatch: null,\n onBeforePrint: null,\n onBeforeToggle: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onScrollEnd: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n popover: null,\n popoverTarget: null,\n popoverTargetAction: null,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shadowRootClonable: boolean,\n shadowRootDelegatesFocus: boolean,\n shadowRootMode: null,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n writingSuggestions: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n})\n","import {\n boolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n space: 'svg',\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n transformOrigin: 'transform-origin',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null, // SEMI_COLON_SEPARATED\n keySplines: null, // SEMI_COLON_SEPARATED\n keyTimes: null, // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n transformOrigin: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n})\n","/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], 'svg')\n","/**\n * @callback Handler\n * Handle a value, with a certain ID field set to a certain value.\n * The ID field is passed to `zwitch`, and it’s value is this function’s\n * place on the `handlers` record.\n * @param {...any} parameters\n * Arbitrary parameters passed to the zwitch.\n * The first will be an object with a certain ID field set to a certain value.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback UnknownHandler\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @param {unknown} value\n * An object with a certain ID field set to an unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback InvalidHandler\n * Handle values that do not have a certain ID field.\n * @param {unknown} value\n * Any unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {void|null|undefined|never}\n * This should crash or return nothing.\n */\n\n/**\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @typedef Options\n * Configuration (required).\n * @property {Invalid} [invalid]\n * Handler to use for invalid values.\n * @property {Unknown} [unknown]\n * Handler to use for unknown values.\n * @property {Handlers} [handlers]\n * Handlers to use.\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Handle values based on a field.\n *\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @param {string} key\n * Field to switch on.\n * @param {Options<Invalid, Unknown, Handlers>} [options]\n * Configuration (required).\n * @returns {{unknown: Unknown, invalid: Invalid, handlers: Handlers, (...parameters: Parameters<Handlers[keyof Handlers]>): ReturnType<Handlers[keyof Handlers]>, (...parameters: Parameters<Unknown>): ReturnType<Unknown>}}\n */\nexport function zwitch(key, options) {\n const settings = options || {}\n\n /**\n * Handle one value.\n *\n * Based on the bound `key`, a respective handler will be called.\n * If `value` is not an object, or doesn’t have a `key` property, the special\n * “invalid” handler will be called.\n * If `value` has an unknown `key`, the special “unknown” handler will be\n * called.\n *\n * All arguments, and the context object, are passed through to the handler,\n * and it’s result is returned.\n *\n * @this {unknown}\n * Any context object.\n * @param {unknown} [value]\n * Any value.\n * @param {...unknown} parameters\n * Arbitrary parameters passed to the zwitch.\n * @property {Handler} invalid\n * Handle for values that do not have a certain ID field.\n * @property {Handler} unknown\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @property {Handlers} handlers\n * Record of handlers.\n * @returns {unknown}\n * Anything.\n */\n function one(value, ...parameters) {\n /** @type {Handler|undefined} */\n let fn = one.invalid\n const handlers = one.handlers\n\n if (value && own.call(value, key)) {\n // @ts-expect-error Indexable.\n const id = String(value[key])\n // @ts-expect-error Indexable.\n fn = own.call(handlers, id) ? handlers[id] : one.unknown\n }\n\n if (fn) {\n return fn.call(this, value, ...parameters)\n }\n }\n\n one.handlers = settings.handlers || {}\n one.invalid = settings.invalid\n one.unknown = settings.unknown\n\n // @ts-expect-error: matches!\n return one\n}\n","/**\n * List of legacy HTML named character references that don’t need a trailing semicolon.\n *\n * @type {Array<string>}\n */\nexport const characterEntitiesLegacy = [\n 'AElig',\n 'AMP',\n 'Aacute',\n 'Acirc',\n 'Agrave',\n 'Aring',\n 'Atilde',\n 'Auml',\n 'COPY',\n 'Ccedil',\n 'ETH',\n 'Eacute',\n 'Ecirc',\n 'Egrave',\n 'Euml',\n 'GT',\n 'Iacute',\n 'Icirc',\n 'Igrave',\n 'Iuml',\n 'LT',\n 'Ntilde',\n 'Oacute',\n 'Ocirc',\n 'Ograve',\n 'Oslash',\n 'Otilde',\n 'Ouml',\n 'QUOT',\n 'REG',\n 'THORN',\n 'Uacute',\n 'Ucirc',\n 'Ugrave',\n 'Uuml',\n 'Yacute',\n 'aacute',\n 'acirc',\n 'acute',\n 'aelig',\n 'agrave',\n 'amp',\n 'aring',\n 'atilde',\n 'auml',\n 'brvbar',\n 'ccedil',\n 'cedil',\n 'cent',\n 'copy',\n 'curren',\n 'deg',\n 'divide',\n 'eacute',\n 'ecirc',\n 'egrave',\n 'eth',\n 'euml',\n 'frac12',\n 'frac14',\n 'frac34',\n 'gt',\n 'iacute',\n 'icirc',\n 'iexcl',\n 'igrave',\n 'iquest',\n 'iuml',\n 'laquo',\n 'lt',\n 'macr',\n 'micro',\n 'middot',\n 'nbsp',\n 'not',\n 'ntilde',\n 'oacute',\n 'ocirc',\n 'ograve',\n 'ordf',\n 'ordm',\n 'oslash',\n 'otilde',\n 'ouml',\n 'para',\n 'plusmn',\n 'pound',\n 'quot',\n 'raquo',\n 'reg',\n 'sect',\n 'shy',\n 'sup1',\n 'sup2',\n 'sup3',\n 'szlig',\n 'thorn',\n 'times',\n 'uacute',\n 'ucirc',\n 'ugrave',\n 'uml',\n 'uuml',\n 'yacute',\n 'yen',\n 'yuml'\n]\n","/**\n * Map of named character references from HTML 4.\n *\n * @type {Record<string, string>}\n */\nexport const characterEntitiesHtml4 = {\n nbsp: ' ',\n iexcl: '¡',\n cent: '¢',\n pound: '£',\n curren: '¤',\n yen: '¥',\n brvbar: '¦',\n sect: '§',\n uml: '¨',\n copy: '©',\n ordf: 'ª',\n laquo: '«',\n not: '¬',\n shy: '',\n reg: '®',\n macr: '¯',\n deg: '°',\n plusmn: '±',\n sup2: '²',\n sup3: '³',\n acute: '´',\n micro: 'µ',\n para: '¶',\n middot: '·',\n cedil: '¸',\n sup1: '¹',\n ordm: 'º',\n raquo: '»',\n frac14: '¼',\n frac12: '½',\n frac34: '¾',\n iquest: '¿',\n Agrave: 'À',\n Aacute: 'Á',\n Acirc: 'Â',\n Atilde: 'Ã',\n Auml: 'Ä',\n Aring: 'Å',\n AElig: 'Æ',\n Ccedil: 'Ç',\n Egrave: 'È',\n Eacute: 'É',\n Ecirc: 'Ê',\n Euml: 'Ë',\n Igrave: 'Ì',\n Iacute: 'Í',\n Icirc: 'Î',\n Iuml: 'Ï',\n ETH: 'Ð',\n Ntilde: 'Ñ',\n Ograve: 'Ò',\n Oacute: 'Ó',\n Ocirc: 'Ô',\n Otilde: 'Õ',\n Ouml: 'Ö',\n times: '×',\n Oslash: 'Ø',\n Ugrave: 'Ù',\n Uacute: 'Ú',\n Ucirc: 'Û',\n Uuml: 'Ü',\n Yacute: 'Ý',\n THORN: 'Þ',\n szlig: 'ß',\n agrave: 'à',\n aacute: 'á',\n acirc: 'â',\n atilde: 'ã',\n auml: 'ä',\n aring: 'å',\n aelig: 'æ',\n ccedil: 'ç',\n egrave: 'è',\n eacute: 'é',\n ecirc: 'ê',\n euml: 'ë',\n igrave: 'ì',\n iacute: 'í',\n icirc: 'î',\n iuml: 'ï',\n eth: 'ð',\n ntilde: 'ñ',\n ograve: 'ò',\n oacute: 'ó',\n ocirc: 'ô',\n otilde: 'õ',\n ouml: 'ö',\n divide: '÷',\n oslash: 'ø',\n ugrave: 'ù',\n uacute: 'ú',\n ucirc: 'û',\n uuml: 'ü',\n yacute: 'ý',\n thorn: 'þ',\n yuml: 'ÿ',\n fnof: 'ƒ',\n Alpha: 'Α',\n Beta: 'Β',\n Gamma: 'Γ',\n Delta: 'Δ',\n Epsilon: 'Ε',\n Zeta: 'Ζ',\n Eta: 'Η',\n Theta: 'Θ',\n Iota: 'Ι',\n Kappa: 'Κ',\n Lambda: 'Λ',\n Mu: 'Μ',\n Nu: 'Ν',\n Xi: 'Ξ',\n Omicron: 'Ο',\n Pi: 'Π',\n Rho: 'Ρ',\n Sigma: 'Σ',\n Tau: 'Τ',\n Upsilon: 'Υ',\n Phi: 'Φ',\n Chi: 'Χ',\n Psi: 'Ψ',\n Omega: 'Ω',\n alpha: 'α',\n beta: 'β',\n gamma: 'γ',\n delta: 'δ',\n epsilon: 'ε',\n zeta: 'ζ',\n eta: 'η',\n theta: 'θ',\n iota: 'ι',\n kappa: 'κ',\n lambda: 'λ',\n mu: 'μ',\n nu: 'ν',\n xi: 'ξ',\n omicron: 'ο',\n pi: 'π',\n rho: 'ρ',\n sigmaf: 'ς',\n sigma: 'σ',\n tau: 'τ',\n upsilon: 'υ',\n phi: 'φ',\n chi: 'χ',\n psi: 'ψ',\n omega: 'ω',\n thetasym: 'ϑ',\n upsih: 'ϒ',\n piv: 'ϖ',\n bull: '•',\n hellip: '…',\n prime: '′',\n Prime: '″',\n oline: '‾',\n frasl: '⁄',\n weierp: '℘',\n image: 'ℑ',\n real: 'ℜ',\n trade: '™',\n alefsym: 'ℵ',\n larr: '←',\n uarr: '↑',\n rarr: '→',\n darr: '↓',\n harr: '↔',\n crarr: '↵',\n lArr: '⇐',\n uArr: '⇑',\n rArr: '⇒',\n dArr: '⇓',\n hArr: '⇔',\n forall: '∀',\n part: '∂',\n exist: '∃',\n empty: '∅',\n nabla: '∇',\n isin: '∈',\n notin: '∉',\n ni: '∋',\n prod: '∏',\n sum: '∑',\n minus: '−',\n lowast: '∗',\n radic: '√',\n prop: '∝',\n infin: '∞',\n ang: '∠',\n and: '∧',\n or: '∨',\n cap: '∩',\n cup: '∪',\n int: '∫',\n there4: '∴',\n sim: '∼',\n cong: '≅',\n asymp: '≈',\n ne: '≠',\n equiv: '≡',\n le: '≤',\n ge: '≥',\n sub: '⊂',\n sup: '⊃',\n nsub: '⊄',\n sube: '⊆',\n supe: '⊇',\n oplus: '⊕',\n otimes: '⊗',\n perp: '⊥',\n sdot: '⋅',\n lceil: '⌈',\n rceil: '⌉',\n lfloor: '⌊',\n rfloor: '⌋',\n lang: '〈',\n rang: '〉',\n loz: '◊',\n spades: '♠',\n clubs: '♣',\n hearts: '♥',\n diams: '♦',\n quot: '\"',\n amp: '&',\n lt: '<',\n gt: '>',\n OElig: 'Œ',\n oelig: 'œ',\n Scaron: 'Š',\n scaron: 'š',\n Yuml: 'Ÿ',\n circ: 'ˆ',\n tilde: '˜',\n ensp: ' ',\n emsp: ' ',\n thinsp: ' ',\n zwnj: '',\n zwj: '',\n lrm: '',\n rlm: '',\n ndash: '–',\n mdash: '—',\n lsquo: '‘',\n rsquo: '’',\n sbquo: '‚',\n ldquo: '“',\n rdquo: '”',\n bdquo: '„',\n dagger: '†',\n Dagger: '‡',\n permil: '‰',\n lsaquo: '‹',\n rsaquo: '›',\n euro: '€'\n}\n","/**\n * List of legacy (that don’t need a trailing `;`) named references which could,\n * depending on what follows them, turn into a different meaning\n *\n * @type {Array<string>}\n */\nexport const dangerous = [\n 'cent',\n 'copy',\n 'divide',\n 'gt',\n 'lt',\n 'not',\n 'para',\n 'times'\n]\n","/**\n * @import {Comment, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\nconst htmlCommentRegex = /^>|^->|<!--|-->|--!>|<!-$/g\n\n// Declare arrays as variables so it can be cached by `stringifyEntities`\nconst bogusCommentEntitySubset = ['>']\nconst commentEntitySubset = ['<', '>']\n\n/**\n * Serialize a comment.\n *\n * @param {Comment} node\n * Node to handle.\n * @param {number | undefined} _1\n * Index of `node` in `parent.\n * @param {Parents | undefined} _2\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function comment(node, _1, _2, state) {\n // See: <https://html.spec.whatwg.org/multipage/syntax.html#comments>\n return state.settings.bogusComments\n ? '<?' +\n stringifyEntities(\n node.value,\n Object.assign({}, state.settings.characterReferences, {\n subset: bogusCommentEntitySubset\n })\n ) +\n '>'\n : '<!--' + node.value.replace(htmlCommentRegex, encode) + '-->'\n\n /**\n * @param {string} $0\n */\n function encode($0) {\n return stringifyEntities(\n $0,\n Object.assign({}, state.settings.characterReferences, {\n subset: commentEntitySubset\n })\n )\n }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter, siblingBefore} from './util/siblings.js'\nimport {closing} from './closing.js'\nimport {omission} from './omission.js'\n\nexport const opening = omission({\n body,\n colgroup,\n head,\n html,\n tbody\n})\n\n/**\n * Whether to omit `<html>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction html(node) {\n const head = siblingAfter(node, -1)\n return !head || head.type !== 'comment'\n}\n\n/**\n * Whether to omit `<head>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction head(node) {\n /** @type {Set<string>} */\n const seen = new Set()\n\n // Whether `srcdoc` or not,\n // make sure the content model at least doesn’t have too many `base`s/`title`s.\n for (const child of node.children) {\n if (\n child.type === 'element' &&\n (child.tagName === 'base' || child.tagName === 'title')\n ) {\n if (seen.has(child.tagName)) return false\n seen.add(child.tagName)\n }\n }\n\n // “May be omitted if the element is empty,\n // or if the first thing inside the head element is an element.”\n const child = node.children[0]\n return !child || child.type === 'element'\n}\n\n/**\n * Whether to omit `<body>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction body(node) {\n const head = siblingAfter(node, -1, true)\n\n return (\n !head ||\n (head.type !== 'comment' &&\n !(head.type === 'text' && whitespace(head.value.charAt(0))) &&\n !(\n head.type === 'element' &&\n (head.tagName === 'meta' ||\n head.tagName === 'link' ||\n head.tagName === 'script' ||\n head.tagName === 'style' ||\n head.tagName === 'template')\n ))\n )\n}\n\n/**\n * Whether to omit `<colgroup>`.\n * The spec describes some logic for the opening tag, but it’s easier to\n * implement in the closing tag, to the same effect, so we handle it there\n * instead.\n *\n * @param {Element} node\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction colgroup(node, index, parent) {\n const previous = siblingBefore(parent, index)\n const head = siblingAfter(node, -1, true)\n\n // Previous colgroup was already omitted.\n if (\n parent &&\n previous &&\n previous.type === 'element' &&\n previous.tagName === 'colgroup' &&\n closing(previous, parent.children.indexOf(previous), parent)\n ) {\n return false\n }\n\n return Boolean(head && head.type === 'element' && head.tagName === 'col')\n}\n\n/**\n * Whether to omit `<tbody>`.\n *\n * @param {Element} node\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction tbody(node, index, parent) {\n const previous = siblingBefore(parent, index)\n const head = siblingAfter(node, -1)\n\n // Previous table section was already omitted.\n if (\n parent &&\n previous &&\n previous.type === 'element' &&\n (previous.tagName === 'thead' || previous.tagName === 'tbody') &&\n closing(previous, parent.children.indexOf(previous), parent)\n ) {\n return false\n }\n\n return Boolean(head && head.type === 'element' && head.tagName === 'tr')\n}\n","/**\n * @import {Nodes, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {zwitch} from 'zwitch'\nimport {comment} from './comment.js'\nimport {doctype} from './doctype.js'\nimport {element} from './element.js'\nimport {raw} from './raw.js'\nimport {root} from './root.js'\nimport {text} from './text.js'\n\n/**\n * @type {(node: Nodes, index: number | undefined, parent: Parents | undefined, state: State) => string}\n */\nexport const handle = zwitch('type', {\n invalid,\n unknown,\n handlers: {comment, doctype, element, raw, root, text}\n})\n\n/**\n * Fail when a non-node is found in the tree.\n *\n * @param {unknown} node\n * Unknown value.\n * @returns {never}\n * Never.\n */\nfunction invalid(node) {\n throw new Error('Expected node, not `' + node + '`')\n}\n\n/**\n * Fail when a node with an unknown type is found in the tree.\n *\n * @param {unknown} node_\n * Unknown node.\n * @returns {never}\n * Never.\n */\nfunction unknown(node_) {\n // `type` is guaranteed by runtime JS.\n const node = /** @type {Nodes} */ (node_)\n throw new Error('Cannot compile unknown node `' + node.type + '`')\n}\n","/**\n * @import {Doctype, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a doctype.\n *\n * @param {Doctype} _1\n * Node to handle.\n * @param {number | undefined} _2\n * Index of `node` in `parent.\n * @param {Parents | undefined} _3\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function doctype(_1, _2, _3, state) {\n return (\n '<!' +\n (state.settings.upperDoctype ? 'DOCTYPE' : 'doctype') +\n (state.settings.tightDoctype ? '' : ' ') +\n 'html>'\n )\n}\n","/**\n * @import {Parents} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {text} from './text.js'\n\n/**\n * Serialize a raw node.\n *\n * @param {Raw} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function raw(node, index, parent, state) {\n return state.settings.allowDangerousHtml\n ? node.value\n : text(node, index, parent, state)\n}\n","/**\n * @import {Parents, Root} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a root.\n *\n * @param {Root} node\n * Node to handle.\n * @param {number | undefined} _1\n * Index of `node` in `parent.\n * @param {Parents | undefined} _2\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function root(node, _1, _2, state) {\n return state.all(node)\n}\n","/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property, CSSResultArray, TemplateResult, PropertyValueMap } from 'lit-element';\nimport { customElement, state } from 'lit/decorators.js';\nimport { styles } from './nile-highlighter.css';\nimport NileElement from '../internal/nile-element';\n\nimport { createHighlighter } from 'shiki'\nimport { ShikiTheme, ShikiLanguage } from './theme-list';\n\n\n/**\n * Nile highlighter component.\n *\n * @tag nile-highlighter\n *\n */\n@customElement('nile-highlighter')\nexport class NileHighlighter extends NileElement {\n\n\t@property({ type: String}) code = ``;\n\t\n\t@property({ type: String, reflect:true }) language : ShikiLanguage = 'javascript';\n\n\t@property({ type: String, reflect:true }) theme: ShikiTheme = 'min-light';\n\n\t@state() highlightedCode = '';\n\n\tprivate highlighter:any;\n\t\n\t/**\n\t * The styles for nile-highlighter\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\n\t/* #endregion */\n\n\tprotected async updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>) {\n\t\tif (changedProperties.has('language') || changedProperties.has('theme')) {\n\t\t\tawait this.updateHighlighter()\n\t\t}\n\t\tif (changedProperties.has('code') || changedProperties.has('language') || changedProperties.has('theme')) {\n\t\t\tawait this.updateHighlightedCode()\n\t\t}\n\t}\n\t/* #region Methods */\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\t\treturn html`\n\t\t\t\t<div class=\"code-container\" .innerHTML=${this.highlightedCode}></div>\n\t\t\t`;\n\t}\n\n\tasync updateHighlighter(){\n\t\tthis.highlighter = await createHighlighter({\n\t\t\tthemes: [this.theme],\n\t\t\tlangs: [this.language],\n\t\t})\n\t}\n\n\tasync updateHighlightedCode(){\n\t\tthis.highlightedCode = await this.highlighter.codeToHtml(this.code, {\n\t\t\tlang: this.language,\n\t\t\ttheme: this.theme,\n\t\t});\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileHighlighter;\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'nile-highlighter': NileHighlighter;\n\t}\n}"],"names":["_emscripten_get_now","performance","now","Date","main","async","init","e","n","i","updateGlobalBufferAndViews","buf","emscripten_realloc_buffer","UTF8ToString","ptr","maxBytesToRead","heapOrArray","idx","endIdx","endPtr","buffer","UTF8Decoder","decode","subarray","str","u0","String","fromCharCode","u1","u2","ch","UTF8ArrayToString","binding","HEAPU8","size","wasmMemory","grow","byteLength","_unused","Uint8Array","HEAPU32","Uint32Array","TextDecoder","undefined","asmLibraryArg","emscripten_get_now","emscripten_memcpy_big","dest","src","num","copyWithin","emscripten_resize_heap","requestedSize","oldSize","length","maxHeapSize","cutDown","overGrownHeapSize","Math","min","alignUp","max","fd_write","_context10","next","info","env","wasi_snapshot_preview1","exports","memory","Object","assign","_context9","stop","_callee8","createWasm","_callee9","_f","apply","arguments","loadWasm","options","initPromise","instance","instantiator","dataOrOptions","default","isInstantiatorModule","data","isDataOptionsObject","Response","isResponse","_Buffer$isBuffer","_Buffer","ArrayBuffer","isView","Buffer","isBuffer","SharedArrayBuffer","isArrayBuffer","WebAssembly","Module","_makeArrayBufferLoader","instantiateStreaming","importObject","_context3","t3","sent","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","wrap","_callee$","_context2","prev","arrayBuffer","instantiate","_callee","_x3","_makeResponseNonStreamingLoader","_callee2","_x2","_ref2","onigBinding","_load","createOnigurumaEngine","_context11","abrupt","createScanner","patterns","OnigScanner","createString","s","OnigString","_callee10","_x5","doClone","something","Array","isArray","arr","r","len","cloneArray","_typeof","obj","key","cloneObj","mergeObjects","target","sources","forEach","source","basename","path","lastIndexOf","substring","substr","strcmp","a","b","strArrCmp","len1","len2","res","isValidHexColor","hex","test","escapeRegExpCharacters","value","replace","_matchesScope","scopeName","scopePattern","startsWith","createMatchers","selector","matchesName","results","tokenizer","input","regex","match","exec","newTokenizer","token","priority","charAt","console","log","matcher","parseConjunction","push","parseOperand","expressionToNegate","matcherInput","expressionInParents","matchers","some","matcher2","parseInnerExpression","isIdentifier","identifiers","every","disposeOnigString","dispose","collectReferencesOfReference","reference","baseGrammarScopeName","repo","result","selfGrammar","lookup","Error","baseGrammar","TopLevelRuleReference","collectExternalReferencesInTopLevelRule","collectExternalReferencesInTopLevelRepositoryRule","ruleName","repository","injections","_iterator4","_createForOfIteratorHelper","_step4","done","injection","add","err","f","context","collectExternalReferencesInRules","_objectSpread","values","rules","_step5","_iterator5","rule","visitedRule","has","patternRepository","include","parseInclude","kind","newContext","TopLevelRepositoryRuleReference","BaseReference","SelfReference","indexOfSharp","indexOf","TopLevelReference","RelativeReference","TopLevelRepositoryReference","_tokenizeString","grammar","lineText","isFirstLine","linePos","stack","lineTokens","checkWhileConditions","timeLimit","lineLength","content","STOP","anchorPosition","whileCheckResult","beginRuleCapturedEOL","whileRules","node","pop","nodeRule","getRule","BeginWhileRule","whileRule","_Tt","prepareRuleWhileSearch","endRule","ruleScanner","findOptions","findNextMatchSync","ruleId","whileRuleId","captureIndices","produce","start","handleCaptures","whileCaptures","end","_checkWhileConditions","startTime","TokenizeStringResult","scanNext","matchResult","prepareRuleSearch","matchedRuleId","matchRule","getInjections","injectionResult","bestMatchRuleId","bestMatchRating","Number","MAX_VALUE","bestMatchCaptureIndices","bestMatchResultPriority","scopes","contentNameScopesList","getScopeNames","matchRating","priorityMatch","matchInjections","matchResultScore","injectionResultScore","matchRuleOrInjections","hasAdvanced","endRuleId","poppedRule","withContentNameScopesList","nameScopesList","endCaptures","popped","parent","getAnchorPos","getEnterPos","_rule","beforePush","getName","pushAttributed","BeginEndRule","pushedRule","beginCaptures","contentName","getContentName","endHasBackReferences","withEndRule","getEndWithResolvedBackReferences","hasSameRuleAs","whileHasBackReferences","getWhileWithResolvedBackReferences","captures","safePop","endRegexSource","allowA","allowG","compileAG","compileWhileAG","lineTextContent","localStack","maxEnd","captureRule","captureIndex","endPos","produceFromScopes","retokenizeCapturedWithRuleId","stackClone","onigSubStr","createOnigString","captureRuleScopeName","captureRuleScopesList","LocalStackElement","collectInjections","ruleFactoryHelper","nameMatcher","RuleFactory","getCompiledRuleId","_iterator9","_step9","debugSelector","identifers","lastIndex","identifier","scopesAreMatching","thisScopeName","initGrammar","base","$self","$vscodeTextmateLocation","name","$base","merge","definitions","space","property","normal","index","Schema","normalize","toLowerCase","increment","pow","powers","create","definition","prop","properties","own","call","DefinedInfo","transform","attributes","mustUseProperty","includes","attribute","caseSensitiveTransform","caseInsensitiveTransform","kebab","$0","camelcase","toUpperCase","core","subset","cached","subsetToRegexCache","get","groups","regexEscapeRegex","RegExp","join","charactersToExpression","set","charactersToExpressionCached","defaultSubsetRegex","basic","escapeOnly","surrogatePairsRegex","pair","all","format","charCodeAt","controlCharactersRegex","character","formatSmart","code","named","numeric","omit","toString","hexadecimalRegex","toHexadecimal","omitOptionalSemicolons","useNamedReferences","useShortestReferences","characters","characterEntitiesLegacy","dangerous","notAlphanumericRegex","toNamed","decimal","decimalRegex","toDecimal","stringifyEntities","ccount","TypeError","count","stringify","settings","concat","_toConsumableArray","padRight","padLeft","trim","whitespace","thing","type","empty","re","siblings","includeWhitespace","children","emptyChildren","offset","omission","handlers","tagName","headOrColgroupOrCaption","_","siblingAfter","rubyElement","cells","serializeAttribute","state","schema","Type","Info","slice","valid","rest","dash","dashes","cap","find","x","allowParseErrors","y","allowDangerousCharacters","quote","overloadedBoolean","Boolean","isNaN","characterReferences","constants","commaSeparated","commas","spaces","tightCommaSeparatedLists","collapseEmptyAttributes","preferUnquoted","unquoted","quoteSmart","alternative","single","text","textEntitySubset","one","handle","this","splitLines","preserveEnding","parts","split","lines","_n34","line","isPlainLang","lang","isSpecialLang","isNoneTheme","theme","isSpecialTheme","addClassToHast","className","_a","class","targets","_iterator19","_step19","c","normalizeGetter","p","Promise","resolve","then","_context12","_callee11","_On","resolveColorReplacements","replacements","colorReplacements","themeName","_i12","_Object$entries","entries","_Object$entries$_i","_slicedToArray","applyColorReplacements","color","getTokenStyleObject","styles","bgColor","fontStyle","FontStyle","Italic","Bold","Underline","stringifyTokenStyle","map","_ref6","_ref7","setLastGrammarStateToMap","keys","_grammarStateMap","getLastGrammarStateFromMap","getScopes","visited","Set","pushScope","stack2","transformerDecorations","WeakMap","getContext","shiki","meta","normalizePosition","ShikiError","converter","indexToPos","JSON","posToIndex","_ref8","_ref9","_iterator20","_step20","createPositionConverter","decorations","d","items","foo","j","bar","isFooHasBarStart","isFooHasBarEnd","isBarHasFooStart","isBarHasFooEnd","verifyIntersections","tokens","splitted","breakpoints","sorted","from","sort","flatMap","breakpointsInToken","filter","offsets","lastOffset","_iterator21","_step21","splitToken","splitTokens","codeEl","_this$options$decorat2","ctx","applyLineSection","decoration","lineEl","startIndex","endIndex","POSITIVE_INFINITY","alwaysWrap","wrapper","applyDecoration","splice","applyLine","el","_e$properties","lineApplies","_iterator22","_loop2","_i14","unshift","_step22","_loop","getTransformers","transformers","builtInTransformers","findSequence","position","nextEscape","nextClose","sequence","startPosition","parseColor","colorMode","rgb","parseInt","colorIndex","parseSequence","commands","codeInt","namedColors","_Jn","_Jn3","createColorPalette","defaultNamedColorsMap","namedColorsMap","namedColor","rgbColor","padStart","colorTable","tableColor","levels","g","level","getColorTable","tokenizeAnsiWithTheme","fileContents","colorPalette","fromEntries","colors","parser","foreground","background","decorations2","parse","findResult","_iterator23","_step23","styleToken","clear","_iterator24","_step24","createAnsiSequenceParser","bg","fg","hexMatch","alpha","round","cssVarMatch","dimColor","None","l","codeToTokensBase","internal","_n$lang","getLoadedThemes","_n$theme","_t$setTheme","setTheme","colorMap","_grammar","getLanguage","grammarState","ShikiError$1","themes","_tokenizeWithTheme","GrammarState","stateStack","tokenizeWithTheme","_ref10","tokenizeMaxLineLength","tokenizeTimeLimit","getInternalStack","getGrammarStack","INITIAL","grammarContextCode","actual","final","_a$_t","lineOffset","resultWithScopes","tokensWithScopes","tokensWithScopesIndex","includeExplanation","tokenizeLine","tokenizeLine2","tokensLength","nextStartIndex","metadata","EncodedTokenMetadata","getForeground","getFontStyle","themeSettingsSelectors","_iterator25","_step25","setting","selectors","scope","explanation","tokenWithScopes","tokenWithScopesText","explainThemeScopesFull","ruleStack","themeSelectors","themeMatches","explainThemeScope","matchesOne","matches","parentScopes","selectorParentIndex","parentIndex","_iterator26","_step26","_step26$value","_iterator27","_step27","selectorPieces","codeToTokensWithThemes","themedTokens","t","tokens2","outThemes","_loop3","_i21","outLines","i2","indexes","current","minLength","syncThemesTokenization","mergedTokens","lineIdx","_token","tokenIdx","mergedToken","variants","themeIdx","_t$e$r","__","___","mergedGrammarState","codeToTokens","rootStyle","_n$defaultColor","defaultColor","cssVariablePrefix","themeTokens","themeRegs","getTheme","themesOrder","merged","variantsOrder","styleKeys","mergedStyles","cur","_iterator28","_step28","keyName","varKey","htmlStyle","mergeToken","themeColorReplacements","_theme","codeToHast","transformerContext","_code","_options","_iterator29","_step29","transformer","preprocess","_si","_n$mergeWhitespaces","mergeWhitespaces","newLine","carryOnContent","firstOffset","couldMerge","mergeWhitespaceTokens","_e46","leading","trailing","expanded","splitWhitespaceTokens","contextSource","_iterator30","_step30","root","_e$structure","structure","tabindex","preNode","style","_ref11","_ref12","codeNode","lineNodes","pre","lineNode","col","_iterator31","_step31","tokenNode","htmlAttrs","_iterator33","_step33","span","_iterator32","_step32","_iterator34","_step34","_iterator35","_step35","_iterator36","_step36","tokensToHast","codeToHtml","tree","options_","emptyOptions","omitOptionalTags","tightAttributes","upperDoctype","tightDoctype","bogusComments","tightSelfClosing","allowDangerousHtml","voids","htmlVoidElements","emptyCharacterReferences","closeSelfClosing","closeEmptyElements","svg","html","toHtml","_iterator37","_step37","postprocess","normalizeTheme","rawTheme","RESOLVED_KEY","tokenColors","_t96$settings","_t96$settings2","_e$colors","_e$colors2","globalSetting","VSCODE_FALLBACK_EDITOR_FG","light","dark","VSCODE_FALLBACK_EDITOR_BG","replacementCount","replacementMap","Map","getReplacementColor","replaceFg","replaceBg","clone","replacement","_i23","_Object$keys2","_e$colors$_t","defineProperty","enumerable","writable","resolveLangs","langs","_callee13$","_context14","t0","flat","_callee13","resolveThemes","_callee15$","_context16","_di","createShikiInternal","_context19","engine","createOnigurumaEngine$1","_defaultWasmLoader","instancesCount","warnings","warn","isDisposed","resolver","Resolver","_registry","Registry","langAlias","_lastTheme","ensureNotDisposed","loadLanguageSync","langs2","loadLanguages","loadThemeSync","themes2","_len8","_iterator41","_step41","loadTheme","_defineProperty","getColorMap","_lang","getGrammar","getLoadedLanguages","loadLanguage","_len9","_key9","_args16","_context17","_len10","_key10","_args17","m","Symbol","createShikiInternalSync","_callee18","createHighlighterCore","_args19","getLastGrammarState","_len11","args","_key11","_t$","_i$lang","_i$theme","_e$setTheme","options2","getInternalContext","_Si","createdBundledHighlighter","arg1","arg2","arg3","bundledLanguages","bundledThemes","o","_ref23","resolveLang","resolveTheme","bundle","_themes","_t$themes","_len5","_len6","_x9","setters","_tslib","bundledLanguagesInfo","id","import","_import","_context","aliases","bundledThemesInfo","displayName","_Error","message","super","_this","_this2","_inherits","_Error2","_createClass","_wrapNativeSuper","multiple","UtfString","_classCallCheck","utf16Length","utf8Length","_utf8ByteLength","computeIndicesMapping","utf16OffsetToUtf8","utf8OffsetToUtf16","utf8Value","i8","i16","charCode","codePoint","wasSurrogatePair","nextCharCode","utf16Value","omalloc","codepoint","static","w","LAST_ID","_onigBinding","utfString","_sharedPtrInUse","_sharedPtr","convertUtf8OffsetToUtf16","utf8Offset","convertUtf16OffsetToUtf8","utf16Offset","ofree","v","strPtrsArr","strLenArr","strPtrsPtr","strLenPtr","scannerPtr","createOnigScanner","getLastOnigError","throwLastOnigError","_ptr","freeOnigScanner","string","arg","_findNextMatchSync","debugCall","resultPtr","findNextOnigScannerMatch","beg","CAPTURING_REGEX_SOURCE","RegexSource","M","hasCaptures","regexSource","replaceCaptures","captureSource","commandIndex","command","capture","CachedFn","E","fn","cache","Theme","R","_colorMap","_defaults","_root","_cachedMatchRoot","getDefaults","scopePath","effectiveRule","scopeMustMatch","_scopePathMatchesParentScopes","StyleAttributes","ScopeStack","createFromRawTheme","createFromParsedTheme","resultLen","entry","_scope","segments","lenJ","reverse","ParsedThemeRule","parseTheme","parsedThemeRules","defaultFontStyle","defaultForeground","defaultBackground","incomingDefaults","shift","ColorMap","defaults","getId","ThemeTrieElement","ThemeTrieElementRule","insert","resolveParsedThemeRules","_ScopeStack","getSegments","item","_extends","other","getExtensionIfDefined","scopeNames","_iterator","_step","I","foregroundId","backgroundId","G","FontStyle2","NotSet","Strikethrough","_lastColorId","_id2color","_color2id","_isFrozen","emptyParentScopes","freeze","scopeDepth","_ThemeTrieElementRule","acceptOverwrite","cloneArr","_mainRule","rulesWithParentScopes","_children","_rulesWithParentScopes","head","tail","dotIndex","hasOwnProperty","_ThemeTrieElement","_cmpBySpecificity","_doInsertHere","child","aParentIndex","bParentIndex","parentScopeLengthDiff","toBinaryStr","encodedTokenAttributes","print","languageId","_EncodedTokenMetadata","getLanguageId","tokenType","getTokenType","getBackground","containsBalancedBrackets","_languageId","_tokenType","_containsBalancedBracketsBit","_fontStyle","_foreground","_background","X","toKey","Y","ExternalReferenceCollector","K","constructor","_references","_seenReferenceKeys","ScopeDependencyProcessor","Q","initialScopeName","seenFullScopeRequests","seenPartialScopeRequests","processQueue","q","deps","_iterator2","_step2","dep","_iterator3","references","_step3","it","rt","ot","st","lt","HAS_BACK_REFERENCES","BACK_REFERENCING_END","Rule","ht","$location","_name","_nameIsCapturing","_contentName","_contentNameIsCapturing","debugName","location","filename","CaptureRule","_ht","dt","_this4","collectPatterns","out","compile","MatchRule","ft","_match","RegExpSource","_cachedCompiledPatterns","_this5","_ht2","_getCachedCompiledPatterns","RegExpSourceList","IncludeOnlyRule","_ht3","gt","hasMissingPatterns","_this6","_iterator6","_step6","pattern","_ht4","jt","begin","applyEndPatternLast","_begin","_end","hasBackReferences","_this7","resolveBackReferences","_iterator7","_step7","setSource","yt","_while","_cachedCompiledWhilePatterns","_this8","_ht5","debugWhileRegExp","_iterator8","_step8","compileWhile","_getCachedCompiledWhilePatterns","createCaptureRule","helper","registerRule","desc","_RuleFactory","_compileCaptures","_compilePatterns","maximumCaptureId","captureId","numericCaptureId","localIncludedRule","externalGrammarName","externalGrammarInclude","externalGrammar","getExternalGrammar","externalIncludedRule","skipRule","regExpSource","lastPushedPos","output","hasAnchor","pos","nextCh","_anchorCache","_buildAnchorCache","_RegExpSource","newSource","capturedValues","g1","A0_G0_result","A0_G1_result","A1_G0_result","A1_G1_result","A0_G0","A0_G1","A1_G0","A1_G1","resolveAnchors","vt","_items","_hasAnchors","_cached","_disposeCaches","onigLib","regExps","CompiledRule","_resolveAnchors","kt","scanner","BasicScopeAttributes","St","_BasicScopeAttributesProvider","initialLanguageId","embeddedLanguages","_getBasicScopeAttributes","_scopeToLanguage","standardTokenType","_toStandardTokenType","_defaultAttributes","_embeddedLanguagesMatcher","ScopeMatcher","getDefaultAttributes","getBasicScopeAttributes","_NULL_SCOPE_METADATA","STANDARD_TOKEN_TYPE_REGEXP","BasicScopeAttributesProvider","Lt","scopesRegExp","escapedScopes","_ref4","_ref5","process","VSCODE_TEXTMATE_DEBUG","At","stoppedEarly","Nt","Grammar","$t","_rootScopeName","initialLanguage","tokenTypes","balancedBracketSelectors","grammarRepository","_onigLib","_basicScopeAttributesProvider","_rootId","_lastRuleId","_ruleId2desc","_includedGrammars","_grammarRepository","_injections","_tokenTypeMatchers","_i9","_Object$keys","_iterator10","_step10","_iterator11","_step11","getMetadataForScope","_collectInjections","scopeName2","rawInjections","expression","injectionScopeNames","injectionScopeName","injectionGrammar","injectionSelector","i1","factory","rawIncludedGrammar","prevState","_tokenize","getResult","getBinaryResult","emitBinaryTokens","StateStackImpl","NULL","reset","rawDefaultMetadata","defaultStyle","themeProvider","defaultMetadata","rootScopeName","scopeList","AttributedScopeStack","createRootAndLookUpScopeName","createRoot","onigLineText","LineTokens","tokenAttributes","equals","_AttributedScopeStack","_pushAttributed","_iterator12","_step12","self","fromExtension","namesScopeList","_iterator13","_step13","frame","rawRootMetadata","themeMatch","resolvedTokenAttributes","mergeAttributes","existingTokenAttributes","basicScopeAttributes","styleAttributes","rawMetadata","newPath","scopeThemeMatchResult","_StateStackImpl","enterPos","anchorPos","_stackElementBrand","depth","_enterPos","_anchorPos","_equals","_reset","_writeString","outIndex","contentNameScopeStack","toStateStackFrame","_this$parent$nameScop","_this$nameScopesList$","_structuralEquals","pushFrame","_e$nameScopesList","_n$enterPos","_n$anchorPos","BalancedBracketSelectors","_t","balancedBracketScopes","unbalancedBracketScopes","allowAny","matchesAlways","_iterator14","_step14","excluder","_iterator15","_step15","includer","zt","tokenTypeOverrides","_emitBinaryTokens","_tokenTypeOverrides","_lineText","_tokens","_binaryTokens","_lastTokenEndIndex","scopesList","_t$tokenAttributes","_this$balancedBracket","matchesNever","_t$getScopeNames","scopes2","_iterator16","_step16","SyncRegistry","Ft","_grammars","_rawGrammars","_injectionGrammars","_iterator17","_step17","addGrammar","targetScope","grammarForScopeName","rawGrammar","createGrammar","Ht","_syncRegistry","_ensureGrammarCache","loadGrammarWithEmbeddedLanguages","loadGrammarWithConfiguration","configuration","_loadGrammar","unbalancedBracketSelectors","loadGrammar","dependencyProcessor","request","_loadSingleGrammar","_grammarForScopeName","_doLoadSingleGrammar","Vt","prototype","Yt","booleanish","number","spaceSeparated","commaOrSpaceSeparated","defined","boolean","checks","types","ae","mask","check","_assertThisInitialized","_this13","_Yt","xlink","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xml","xmlLang","xmlBase","xmlSpace","xmlns","xmlnsxlink","xmlnsXLink","aria","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","role","acceptcharset","classname","htmlfor","httpequiv","abbr","accept","acceptCharset","accessKey","action","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","alt","as","autoCapitalize","autoComplete","autoFocus","autoPlay","blocking","charSet","checked","cite","cols","colSpan","contentEditable","controls","controlsList","coords","crossOrigin","dateTime","decoding","defer","dir","dirName","disabled","download","draggable","encType","enterKeyHint","fetchPriority","form","formAction","formEncType","formMethod","formNoValidate","formTarget","headers","height","hidden","high","href","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inert","inputMode","integrity","is","isMap","itemId","itemProp","itemRef","itemScope","itemType","label","language","list","loading","loop","low","manifest","maxLength","media","method","muted","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforeMatch","onBeforePrint","onBeforeToggle","onBeforeUnload","onBlur","onCancel","onCanPlay","onCanPlayThrough","onChange","onClick","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFocus","onFormData","onHashChange","onInput","onInvalid","onKeyDown","onKeyPress","onKeyUp","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPaste","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onScrollEnd","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSubmit","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","open","optimum","ping","placeholder","playsInline","popover","popoverTarget","popoverTargetAction","poster","preload","readOnly","referrerPolicy","rel","required","reversed","rows","rowSpan","sandbox","scoped","seamless","selected","shadowRootClonable","shadowRootDelegatesFocus","shadowRootMode","shape","sizes","slot","spellCheck","srcDoc","srcLang","srcSet","step","tabIndex","title","translate","typeMustMatch","useMap","width","writingSuggestions","align","aLink","archive","axis","border","borderColor","bottomMargin","cellPadding","cellSpacing","char","charOff","classId","codeBase","codeType","compact","declare","event","face","frameBorder","hSpace","leftMargin","link","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","object","profile","prompt","rev","rightMargin","scheme","scrolling","standby","summary","topMargin","valueType","version","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","prefix","security","unselectable","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillOpacity","fillRule","floodColor","floodOpacity","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeOpacity","strokeWidth","textAnchor","textDecoration","textRendering","transformOrigin","typeOf","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeName","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","cursor","cx","cy","defaultAction","descent","diffuseConstant","direction","display","dur","divisor","dx","dy","edgeMode","editable","elevation","exponent","externalResourcesRequired","fill","filterRes","filterUnits","focusable","focusHighlight","fr","fx","fy","g2","glyphRef","gradientTransform","gradientUnits","handler","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","mode","numOctaves","observer","opacity","operator","order","orient","orientation","origin","overflow","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","resource","restart","rotate","rx","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","startOffset","stdDeviation","stemh","stemv","stitchTiles","stroke","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","targetY","textLength","transformBehavior","to","unicode","viewBox","viewTarget","visibility","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","z","zoomAndPan","htmlBase","svgBase","characterEntitiesHtml4","nbsp","iexcl","cent","pound","curren","yen","brvbar","sect","uml","copy","ordf","laquo","not","shy","reg","macr","deg","plusmn","sup2","sup3","acute","micro","para","middot","cedil","sup1","ordm","raquo","frac14","frac12","frac34","iquest","Agrave","Aacute","Acirc","Atilde","Auml","Aring","AElig","Ccedil","Egrave","Eacute","Ecirc","Euml","Igrave","Iacute","Icirc","Iuml","ETH","Ntilde","Ograve","Oacute","Ocirc","Otilde","Ouml","times","Oslash","Ugrave","Uacute","Ucirc","Uuml","Yacute","THORN","szlig","agrave","aacute","acirc","atilde","auml","aring","aelig","ccedil","egrave","eacute","ecirc","euml","igrave","iacute","icirc","iuml","eth","ntilde","ograve","oacute","ocirc","otilde","ouml","divide","oslash","ugrave","uacute","ucirc","uuml","yacute","thorn","yuml","fnof","Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega","beta","gamma","delta","epsilon","zeta","eta","theta","iota","kappa","lambda","mu","nu","xi","omicron","pi","rho","sigmaf","sigma","tau","upsilon","phi","chi","psi","omega","thetasym","upsih","piv","bull","hellip","prime","Prime","oline","frasl","weierp","image","real","trade","alefsym","larr","uarr","rarr","darr","harr","crarr","lArr","uArr","rArr","dArr","hArr","forall","part","exist","nabla","isin","notin","ni","prod","sum","minus","lowast","radic","infin","ang","and","or","cup","int","there4","sim","cong","asymp","ne","equiv","le","ge","sub","sup","nsub","sube","supe","oplus","otimes","perp","sdot","lceil","rceil","lfloor","rfloor","rang","loz","spades","clubs","hearts","diams","quot","amp","OElig","oelig","Scaron","scaron","Yuml","circ","tilde","ensp","emsp","thinsp","zwnj","zwj","lrm","rlm","ndash","mdash","lsquo","rsquo","sbquo","ldquo","rdquo","bdquo","dagger","Dagger","permil","lsaquo","rsaquo","euro","htmlCommentRegex","bogusCommentEntitySubset","commentEntitySubset","siblingBefore","closing","body","caption","colgroup","dd","li","optgroup","option","rp","tbody","td","tfoot","th","thead","tr","opening","previous","seen","_iterator18","_step18","double","invalid","unknown","_len2","parameters","zwitch","node_","comment","_1","_2","doctype","_3","element","selfClosing","last","serializeAttributes","raw","Dn","_this14","_Error3","__defProp$2","__publicField$2","Rn","configurable","__defNormalProp$2","Gn","stacksMap","_stacks","toJSON","initial","toArray","black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite","__defProp$1","__publicField$1","gi","__defNormalProp$1","Registry$1","ji","_resolver","_langs","_this15","_alias","_Ht","_resolvedThemes","_loadedThemesCache","textmateTheme","_textmateThemeCache","resolved","_resolvedGrammars","embeddedLazilyBy","_langMap","embeddedLangsLazy","addLanguage","grammarConfig","alias","_loadedLanguagesCache","_iterator38","_step38","delete","_langGraph","_iterator39","_step39","resolveEmbeddedLanguages","langsGraphArray","missingLangs","_ref13","_ref14","dependents","_ref15","_e$embeddedLangs","_ref16","embeddedLangs","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","_i24","_e48","_e48$_i","_i25","_e49","_e49$_i","_iterator40","_step40","embeddedLang","__defProp","__publicField","wi","getLangRegistration","langIdOrAlias","_scopeToLang","injectTo","scopeParts","subScopeName","createHighlighter","_export","NileHighlighter","Li","highlightedCode","_this19","_o24","_updated","_callee5","changedProperties","updateHighlighter","updateHighlightedCode","_context6","updated","_x10","render","_templateObject","_taggedTemplateLiteral","_updateHighlighter","_callee6","_callee6$","_context7","highlighter","_updateHighlightedCode","_callee7","_callee7$","_context8","__decorate","NileElement","reflect","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50]}
|