@aquera/nile-elements 0.0.109 → 0.0.111
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 +13 -0
- package/demo/filenames.txt +1 -1
- package/demo/variables.css +1 -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/internal/nile-element.cjs.js +1 -1
- package/dist/internal/nile-element.cjs.js.map +1 -1
- package/dist/internal/nile-element.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 +2 -3
- 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/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-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/paperclip.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/paperclip.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/paperclip.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 +1 -1
- 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 +2 -2
- 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/internal/nile-element.d.ts +3 -0
- package/dist/src/internal/nile-element.js +10 -4
- package/dist/src/internal/nile-element.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 +1 -0
- package/dist/src/nile-calendar/nile-calendar.js +3 -2
- 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-icon/icons/svg/index.d.ts +1 -0
- package/dist/src/nile-icon/icons/svg/index.js +1 -0
- package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
- package/dist/src/nile-icon/icons/svg/paperclip.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/paperclip.js +5 -0
- package/dist/src/nile-icon/icons/svg/paperclip.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 +5 -2
- package/dist/src/nile-popover/nile-popover.js +12 -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 +3 -0
- package/dist/src/nile-select/nile-select.js +18 -9
- 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/internal/nile-element.ts +7 -4
- 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 +4 -2
- 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-icon/icons/svg/index.ts +1 -0
- package/src/nile-icon/icons/svg/paperclip.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 +30 -19
- 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 +23 -9
- 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 { 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","init","async","updateGlobalBufferAndViews","emscripten_realloc_buffer","size","UTF8ToString","ptr","maxBytesToRead","heapOrArray","idx","arguments","length","undefined","endIdx","endPtr","buffer","UTF8Decoder","decode","subarray","str","u0","String","fromCharCode","u1","u2","ch","UTF8ArrayToString","binding","HEAPU8","wasmMemory","grow","byteLength","_unused","buf","Uint8Array","HEAPU32","Uint32Array","TextDecoder","asmLibraryArg","emscripten_get_now","emscripten_memcpy_big","dest","src","num","copyWithin","emscripten_resize_heap","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","Math","min","alignUp","max","fd_write","info","env","wasi_snapshot_preview1","exports","memory","Object","assign","_context8","stop","_callee7","createWasm","_context9","_callee8","_j","apply","loadWasm","options","initPromise","n","i","_regeneratorRuntime","wrap","_callee2$","_context3","prev","next","instance","instantiator","dataOrOptions","isInstantiatorModule","data","isDataOptionsObject","Response","isResponse","ArrayBuffer","isView","Buffer","isBuffer","SharedArrayBuffer","isArrayBuffer","WebAssembly","Module","_makeArrayBufferLoader","instantiateStreaming","importObject","_ref3","_asyncToGenerator","mark","arrayBuffer","instantiate","_context2","_callee","_x3","_makeResponseNonStreamingLoader","_callee2","_x2","_ref2","onigBinding","_load","createOnigurumaEngine","_callee9$","_context10","t0","createScanner","patterns","OnigScanner","createString","s","OnigString","_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","t","parseOperand","o","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","_step4","done","injection","add","err","e","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","_Nt","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","_createForOfIteratorHelper","_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","_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","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","c","_step19","normalizeGetter","_callee10$","_context11","abrupt","Promise","resolve","then","_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","setLastGrammarStateToMap","keys","_grammarStateMap","getLastGrammarStateFromMap","getScopes","visited","Set","pushScope","stack2","transformerDecorations","Fn","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","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","lineApplies","_iterator22","_step22","_loop","_loop2","_i14","unshift","getTransformers","transformers","builtInTransformers","findSequence","position","nextEscape","nextClose","sequence","startPosition","parseColor","colorMode","rgb","parseInt","colorIndex","parseSequence","commands","codeInt","namedColors","_Yn","_Yn3","createColorPalette","defaultNamedColorsMap","namedColorsMap","namedColor","rgbColor","padStart","colorTable","tableColor","levels","g","level","getColorTable","tokenizeAnsiWithTheme","fileContents","colorPalette","fromEntries","colors","_t$colors","parser","foreground","background","decorations2","parse","findResult","_iterator23","_step23","styleToken","clear","_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","themes","_tokenizeWithTheme","GrammarState","stateStack","tokenizeWithTheme","tokenizeMaxLineLength","_r$tokenizeMaxLineLen","_r$tokenizeTimeLimit","tokenizeTimeLimit","getInternalStack","getGrammarStack","INITIAL","grammarContextCode","actual","final","_a$_t","lineOffset","resultWithScopes","tokensWithScopes","tokensWithScopesIndex","includeExplanation","tokenizeLine","tokenizeLine2","tokensLength","nextStartIndex","metadata","EncodedTokenMetadata","getForeground","getFontStyle","themeSettingsSelectors","_step25","_iterator25","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","tokens2","outThemes","_loop3","_i21","outLines","i2","indexes","current","l","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","_step28","_iterator28","keyName","varKey","htmlStyle","mergeToken","themeColorReplacements","_theme","codeToHast","transformerContext","_code","_options","_iterator29","_step29","transformer","preprocess","_ai","_n$mergeWhitespaces","mergeWhitespaces","newLine","carryOnContent","firstOffset","couldMerge","mergeWhitespaceTokens","_e46","leading","trailing","expanded","splitWhitespaceTokens","contextSource","_iterator30","_step30","root","structure","tabindex","_e$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","_e$colorReplacements","replaceFg","replaceBg","clone","replacement","_i23","_Object$keys2","defineProperty","enumerable","writable","resolveLangs","langs","flat","resolveThemes","_callee14$","_context15","_callee14","_gi","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","_len8","themes2","_step41","_iterator41","loadTheme","_defineProperty","getColorMap","_lang","getGrammar","getLoadedLanguages","loadLanguage","_len9","_key9","_args15","_context16","_len10","_key10","_args16","_context17","t1","_callee16","_loadTheme","m","Symbol","createShikiInternalSync","_callee17","createHighlighterCore","_args18","getLastGrammarState","_len11","args","_key11","_t$","_e$setTheme","options2","getInternalContext","_context19","_callee18","_Ci","createdBundledHighlighter","arg1","arg2","arg3","bundledLanguages","bundledThemes","_ref23","resolveLang","resolveTheme","bundle","_themes","_len5","_len6","_x8","setters","_tslib","bundledLanguagesInfo","id","import","_import","_context","aliases","bundledThemesInfo","displayName","h","message","super","_this","_inherits","_Error","_createClass","_wrapNativeSuper","_Error2","_this2","multiple","UtfString","v","utf16Length","utf8Length","_utf8ByteLength","computeIndicesMapping","utf16OffsetToUtf8","utf8OffsetToUtf16","utf8Value","i8","i16","charCode","codePoint","wasSurrogatePair","nextCharCode","utf16Value","omalloc","codepoint","k","_classCallCheck","LAST_ID","_onigBinding","utfString","_sharedPtrInUse","_sharedPtr","convertUtf8OffsetToUtf16","utf8Offset","convertUtf16OffsetToUtf8","utf16Offset","ofree","static","S","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","createFromRawTheme","createFromParsedTheme","resultLen","entry","_scope","segments","lenJ","reverse","ParsedThemeRule","parseTheme","parsedThemeRules","defaultFontStyle","defaultForeground","defaultBackground","incomingDefaults","shift","ColorMap","defaults","getId","ThemeTrieElement","ThemeTrieElementRule","insert","resolveParsedThemeRules","ScopeStack","_ScopeStack","getSegments","item","_extends","other","extends","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","debugName","location","filename","constructor","CaptureRule","_ft","gt","_this4","collectPatterns","out","compile","MatchRule","_ft2","jt","_match","RegExpSource","_cachedCompiledPatterns","_this5","_getCachedCompiledPatterns","RegExpSourceList","IncludeOnlyRule","_ft3","yt","hasMissingPatterns","_this6","_iterator6","_step6","pattern","_ft4","bt","begin","applyEndPatternLast","_begin","_end","hasBackReferences","_this7","resolveBackReferences","_iterator7","_step7","setSource","_ft5","wt","_while","_cachedCompiledWhilePatterns","_this8","debugBeginRegExp","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","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","fromExtension","namesScopeList","_e$scopePath","_iterator13","_step13","frame","rawRootMetadata","themeMatch","resolvedTokenAttributes","mergeAttributes","existingTokenAttributes","basicScopeAttributes","styleAttributes","rawMetadata","newPath","scopeThemeMatchResult","_StateStackImpl","enterPos","anchorPos","_stackElementBrand","depth","_enterPos","_anchorPos","_equals","_reset","_writeString","outIndex","_this$nameScopesList","_this$contentNameScop","contentNameScopeStack","toStateStackFrame","_structuralEquals","pushFrame","BalancedBracketSelectors","Ft","balancedBracketScopes","unbalancedBracketScopes","allowAny","matchesNever","_step14","_iterator14","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","checks","types","ue","mask","check","_assertThisInitialized","_this13","_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","default","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","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","dt","li","optgroup","option","rp","rt","tbody","td","tfoot","th","thead","tr","opening","previous","seen","_iterator18","_step18","double","_r15","invalid","unknown","_len2","parameters","_key2","zwitch","node_","comment","_1","_2","doctype","_3","element","selfClosing","last","serializeAttributes","raw","Rn","_this14","__defProp$2","__publicField$2","configurable","_n","stacksMap","_stacks","_stack","toJSON","initial","toArray","black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite","__defProp$1","__publicField$1","yi","bi","_resolver","_langs","_this15","_alias","_Wt","_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","Registry$1","__defProp","__publicField","vi","__defNormalProp","ki","getLangRegistration","langIdOrAlias","_scopeToLang","injectTo","scopeParts","subScopeName","createHighlighter","NileHighlighter","Oi","highlightedCode","_this19","_o24","_connectedCallback","_callee5","_callee5$","_context6","languages","highlighter","connectedCallback","_updated","_callee6","changedProperties","updated","_x9","render","_templateObject","_taggedTemplateLiteral","__decorate","NileElement","reflect","_export","customElement"],"mappings":"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I4BKd,CAAML,GAA0B,CACrC,OAAA,CACA,MACA,QACA,CAAA,OAAA,CACA,QACA,CAAA,OAAA,CACA,SACA,MACA,CAAA,MAAA,CACA,SACA,KACA,CAAA,QAAA,CACA,QACA,QACA,CAAA,MAAA,CACA,IACA,CAAA,QAAA,CACA,QACA,QACA,CAAA,MAAA,CACA,KACA,QACA,CAAA,QAAA,CACA,QACA,QACA,CAAA,QAAA,CACA,QACA,CAAA,MAAA,CACA,OACA,KACA,CAAA,OAAA,CACA,SACA,OACA,CAAA,QAAA,CACA,OACA,QACA,CAAA,QAAA,CACA,OACA,CAAA,OAAA,CACA,QACA,QACA,CAAA,KAAA,CACA,QACA,QACA,CAAA,MAAA,CACA,SACA,QACA,CAAA,OAAA,CACA,MACA,CAAA,MAAA,CACA,SACA,KACA,CAAA,QAAA,CACA,SACA,OACA,CAAA,QAAA,CACA,MACA,MACA,CAAA,QAAA,CACA,SACA,QACA,CAAA,IAAA,CACA,SACA,OACA,CAAA,OAAA,CACA,SACA,QACA,CAAA,MAAA,CACA,QACA,IACA,CAAA,MAAA,CACA,OACA,CAAA,QAAA,CACA,OACA,KACA,CAAA,QAAA,CACA,SACA,OACA,CAAA,QAAA,CACA,OACA,MACA,CAAA,QAAA,CACA,QACA,CAAA,MAAA,CACA,OACA,QACA,CAAA,OAAA,CACA,OACA,OACA,CAAA,KAAA,CACA,OACA,KACA,CAAA,MAAA,CACA,MACA,CAAA,MAAA,CACA,QACA,OACA,CAAA,OAAA,CACA,SACA,OACA,CAAA,QAAA,CACA,MACA,MACA,CAAA,QAAA,CACA,KACA,CAAA,MAAA,CAAA,CC1GW8mD,GAAyB,CACpCC,IAAAA,CAAM,IACNC,KAAO,CAAA,GAAA,CACPC,KAAM,GACNC,CAAAA,KAAAA,CAAO,GACPC,CAAAA,MAAAA,CAAQ,IACRC,GAAK,CAAA,GAAA,CACLC,OAAQ,GACRC,CAAAA,IAAAA,CAAM,IACNC,GAAK,CAAA,GAAA,CACLC,IAAM,CAAA,GAAA,CACNC,KAAM,GACNC,CAAAA,KAAAA,CAAO,IACPC,GAAK,CAAA,GAA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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]}
|