v-code-diff 0.3.12 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2021 Shimada666
3
+ Copyright (c) 2022 Shimada666
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,35 +1,62 @@
1
- # VCodeDiff
1
+ # v-code-diff
2
2
 
3
3
  [![NPM version](https://img.shields.io/npm/v/v-code-diff.svg?style=flat)](https://www.npmjs.com/package/v-code-diff)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
  [![Downloads](https://img.shields.io/npm/dt/v-code-diff?minimal=true)](https://www.npmjs.com/package/v-code-diff)
6
6
 
7
- A code diff display plugin, available for Vue2 / Vue3. It is the vue3 version
8
- of [vue-code-diff](https://github.com/ddchef/vue-code-diff), refer to a lot of code, thanks here.
7
+ > A code diff display plugin, available for Vue2 / Vue3.
9
8
 
10
- > [🇨🇳 中文文档](./README-zh.md)
9
+ <p align='center'>
10
+ <b>English</b> | <a href="https://github.com/Shimada666/v-code-diff/blob/master/README-zh.md">简体中文</a>
11
+ </p>
11
12
 
12
- # Installation
13
+ Old Version:
13
14
 
14
- Install `v-code-diff`
15
+ 0.x version, latest version 0.3.12 (traditional version, improved based
16
+ on [vue-code-diff](https://github.com/ddchef/vue-code-diff), is no longer maintained. We will try to align the
17
+ functionality of 0.x version in 1.x version and minimize migration cost as much as possible).
18
+ This project references the following projects, and I would like to express my gratitude to the original authors!
15
19
 
16
- ```shell
17
- # With NPM
20
+ * [vue-diff](https://github.com/hoiheart/vue-diff)
21
+ * [vue-code-diff](https://github.com/ddchef/vue-code-diff)
22
+ * Github Code Diff
23
+
24
+ ## Contents
25
+
26
+ - [Install](#Install)
27
+ - [Getting started](#Getting-started)
28
+ - [Vue3](#Vue3)
29
+ - [Vue2](#Vue2)
30
+ - [Props](#Props)
31
+ - [Extend languages](#extend-languages)
32
+ - [Migrate from 0.x version](#Migrate-from-0x-version)
33
+ - [Changelog](#Changelog)
34
+ - [LICENSE](#licence)
35
+
36
+ ## Install
37
+
38
+ install `v-code-diff`
39
+
40
+ ```bash
41
+ # npm
18
42
  npm i v-code-diff
19
43
 
20
- # With Yarn
44
+ # yarn
21
45
  yarn add v-code-diff
46
+
47
+ # pnpm
48
+ pnpm add v-code-diff
22
49
  ```
23
50
 
24
51
  Vue2 developers need install composition-api
25
52
 
26
53
  ```shell
27
- yarn add @vue/composition-api
54
+ pnpm add @vue/composition-api
28
55
  ```
29
56
 
30
- # Getting started
57
+ ## Getting Started
31
58
 
32
- ### `Vue3`
59
+ ### Vue3
33
60
 
34
61
  #### Register globally
35
62
 
@@ -38,50 +65,27 @@ import {createApp} from 'vue'
38
65
  import CodeDiff from 'v-code-diff'
39
66
 
40
67
  app
41
- .use(CodeDiff)
42
- .mount('#app')
68
+ .use(CodeDiff)
69
+ .mount('#app')
43
70
  ```
44
71
 
45
- Then
72
+ 然后
46
73
 
47
74
  ```vue
48
75
 
49
76
  <template>
50
77
  <code-diff
51
- :old-string="'12345'"
52
- :new-string="'3456'"
53
- file-name="test.txt"
54
- output-format="side-by-side"/>
78
+ :old-string="'12345'"
79
+ :new-string="'3456'"
80
+ output-format="side-by-side"/>
55
81
  </template>
56
82
  ```
57
83
 
58
84
  #### Register locally
59
85
 
60
- in vue file
86
+ Not recommended, but the relevant capabilities are retained to facilitate migration for 0.x users.
61
87
 
62
- ```vue
63
-
64
- <template>
65
- <code-diff
66
- :old-string="'12345'"
67
- :new-string="'3456'"
68
- file-name="test.txt"
69
- output-format="side-by-side"/>
70
- </template>
71
- <script lang="ts">
72
- import {defineComponent} from 'vue'
73
- import {CodeDiff} from 'v-code-diff'
74
-
75
- export default defineComponent({
76
- components: {
77
- CodeDiff
78
- }
79
- })
80
- </script>
81
-
82
- ```
83
-
84
- ### `Vue2`
88
+ ### Vue2
85
89
 
86
90
  #### Register globally
87
91
 
@@ -94,62 +98,102 @@ Vue.use(CodeDiff);
94
98
 
95
99
  #### Register locally
96
100
 
97
- ```vue
101
+ Not recommended, but the relevant capabilities are retained to facilitate migration for 0.x users.
98
102
 
99
- <template>
100
- <code-diff
101
- :old-string="'12345'"
102
- :new-string="'3456'"
103
- file-name="test.txt"
104
- output-format="side-by-side"/>
105
- </template>
106
- <script>
107
- import {CodeDiff} from 'v-code-diff'
108
-
109
- export default {
110
- name: 'App',
111
- components: {
112
- CodeDiff
113
- }
114
- }
115
- </script>
103
+ ## Props
104
+
105
+ | Prop | Description | Type | Optional Values | Default Value |
106
+ |----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|---------------------------|---------------|
107
+ | language | Code language, such as typescript, defaults to plain text. [View all supported languages](https://github.com/highlightjs/highlight.js/blob/main/SUPPORTED_LANGUAGES.md) | string | - | plaintext |
108
+ | oldString | Old string | string | - | - |
109
+ | newString | New string | string | - | - |
110
+ | context | The number of lines to separate different parts so that they are not hidden | number | - | - |
111
+ | outputFormat | Display mode | string | line-by-line,side-by-side | line-by-line |
112
+ | diffStyle | Difference style, word-level differences or letter-level differences | string | word, char | word |
113
+ | trim | Remove blank characters at the beginning and end of the string | boolean | - | false |
114
+ | noDiffLineFeed | Don't diff Windows line feed (CRLF) and Linux line feed (LF) | boolean | - | false |
115
+
116
+ ## Extend languages
117
+
118
+ In order to reduce the size of the packaged file, the system only supports the following commonly used languages by
119
+ default.
120
+
121
+ * plaintext
122
+ * xml/html
123
+ * javascript
124
+ * json
125
+ * yaml
126
+ * python
127
+ * java
128
+ * bash
129
+ * sql
130
+
131
+ If the language you need is not included, you can manually import the relevant language highlighting module.
132
+
133
+ ```shell
134
+ pnpm add highlight.js
135
+ ```
136
+
137
+ ```typescript
138
+ import CodeDiff from 'v-code-diff';
139
+ // Extend C language
140
+ import c from 'highlight.js/lib/languages/c';
141
+
142
+ CodeDiff.hljs.registerLanguage('c', c);
116
143
  ```
117
144
 
118
- # Events
145
+ ## Migrate from 0.x version
146
+
147
+ The v-code-diff 1.x version has features such as reduced packaging size and improved performance compared to the 0.x
148
+ version. And we will try to align the functions with the 0.x version as much as possible to reduce your migration cost.
149
+
150
+ Key points:
151
+
152
+ * In the 1.x version, language recognition and highlighting will no longer be automatically performed, you need to
153
+ manually specify the language type, such as language="python", if not specified, it will default to plaintext
154
+ and will not be highlighted.
155
+ * In the 1.x version, due to the fact that rendering and highlighting are performed at the same time, the component
156
+ events
157
+ have been removed.
158
+ * In the 1.x version, the following component properties (Prop) have been removed:
159
+ * highlight
160
+ * drawFileList
161
+
162
+ Below is a detailed comparison of the two versions, you can refer to it to complete the migration.
119
163
 
164
+ ### The difference of event.
120
165
 
121
- | Event Name | Description | Callback Params |
122
- | ------------- | --------------------- | --------------- |
123
- | before-render | hook before rendering | - |
124
- | after-render | hook after rendering | - |
166
+ The component events are no longer provided in the 1.x version as rendering and highlighting are carried out
167
+ simultaneously.
125
168
 
126
- # Props
169
+ | Event Name | Change Status |
170
+ |---------------|--------------------|
171
+ | before-render | No longer provided |
172
+ | after-render | No longer provided |
127
173
 
174
+ ### The difference of prop.
128
175
 
129
- | Prop | Description | Type | Optional | Default |
130
- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -------------------------- | ------------ |
131
- | highlight | control whether to highlight the code | boolean | - | true |
132
- | language | code language,such as`typescript`. If you don't input, it will be judged automatically. [view all supported languages](https://github.com/highlightjs/highlight.js/blob/main/SUPPORTED_LANGUAGES.md) | string | - | - |
133
- | old-string | old string | string | - | - |
134
- | new-string | new string | string | - | - |
135
- | context | number of show context lines | number | - | - |
136
- | outputFormat | show method | string | line-by-line,side-by-side | line-by-line |
137
- | drawFileList | show files list | boolean | - | false |
138
- | renderNothingWhenEmpty | render nothing when empty | boolean | - | false |
139
- | diffStyle | difference style | string | word, char | word |
140
- | fileName | file name | string | - | |
141
- | isShowNoChange | show raw when no change | boolean | - | false |
142
- | trim | Remove blank characters before and after the string | boolean | - | false |
143
- | language | code language | boolean | - | false |
144
- | noDiffLineFeed | Do not diff windows line feed (CRLF) and linux line feed (LF) | boolean | - | false |
176
+ | Prop | Description | Change Status |
177
+ |------------------------|-----------------------------------------------------------------------------|-------------------------------------------------|
178
+ | highlight | Control code highlighting | Removed in version 1.x |
179
+ | language | Code language | None |
180
+ | oldString | Old string | None |
181
+ | newString | New string | None |
182
+ | context | The number of lines to separate different parts so that they are not hidden | None |
183
+ | output-format | Display mode | None |
184
+ | diffStyle | Difference style, word-level differences or letter-level differences | None |
185
+ | drawFileList | Display file comparison list | Removed in version 1.x |
186
+ | renderNothingWhenEmpty | Do not render when there is no comparison | Removed in version 1.x |
187
+ | fileName | File name | To be determined, not under development |
188
+ | isShowNoChange | Display source code when there is no comparison | Removed as it became the default in version 1.x |
189
+ | trim | Remove blank characters at the beginning and end of the string | None |
190
+ | noDiffLineFeed | Don't diff Windows line feed (CRLF) and Linux line feed (LF) | None |
145
191
 
146
- # Difference from [vue-code-diff](https://github.com/ddchef/vue-code-diff)
192
+ ## ChangeLog
147
193
 
148
- * Support `vue3`
149
- * Smaller package size
150
- * Faster rendering speed
194
+ ### 1.0.0-alpha.0
151
195
 
152
- # ChangeLog
196
+ 1. The first version after restructuring.
153
197
 
154
198
  ### 0.3.12
155
199
 
@@ -174,7 +218,8 @@ export default {
174
218
 
175
219
  ### 0.3.7
176
220
 
177
- 1. Fix the problem of displaying "File Without Change..." when isShowNoChange is true and the old and new codes are different,
221
+ 1. Fix the problem of displaying "File Without Change..." when isShowNoChange is true and the old and new codes are
222
+ different,
178
223
  then show all the source code
179
224
 
180
225
  ### 0.3.6
@@ -229,7 +274,7 @@ export default {
229
274
 
230
275
  First Version.
231
276
 
232
- # LICENCE
277
+ ## LICENCE
233
278
 
234
279
  MIT License
235
280
 
@@ -0,0 +1,9 @@
1
+ (function(){"use strict";try{if(typeof document!="undefined"){var o=document.createElement("style");o.appendChild(document.createTextNode(".file{--color-canvas-default-transparent: rgba(255,255,255,0);--color-page-header-bg: #f6f8fa;--color-marketing-icon-primary: #218bff;--color-marketing-icon-secondary: #54aeff;--color-diff-blob-addition-num-text: #24292f;--color-diff-blob-addition-fg: #24292f;--color-diff-blob-addition-num-bg: #ccffd8;--color-diff-blob-addition-line-bg: #e6ffec;--color-diff-blob-addition-word-bg: #abf2bc;--color-diff-blob-deletion-num-text: #24292f;--color-diff-blob-deletion-fg: #24292f;--color-diff-blob-deletion-num-bg: #ffd7d5;--color-diff-blob-deletion-line-bg: #ffebe9;--color-diff-blob-deletion-word-bg: rgba(255,129,130,.4);--color-diff-blob-hunk-num-bg: rgba(84,174,255,.4);--color-diff-blob-expander-icon: #57606a;--color-diff-blob-selected-line-highlight-mix-blend-mode: multiply;--color-diffstat-deletion-border: rgba(27,31,36,.15);--color-diffstat-addition-border: rgba(27,31,36,.15);--color-diffstat-addition-bg: #2da44e;--color-search-keyword-hl: #fff8c5;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-codemirror-text: #24292f;--color-codemirror-bg: #ffffff;--color-codemirror-gutters-bg: #ffffff;--color-codemirror-guttermarker-text: #ffffff;--color-codemirror-guttermarker-subtle-text: #6e7781;--color-codemirror-linenumber-text: #57606a;--color-codemirror-cursor: #24292f;--color-codemirror-selection-bg: rgba(84,174,255,.4);--color-codemirror-activeline-bg: rgba(234,238,242,.5);--color-codemirror-matchingbracket-text: #24292f;--color-codemirror-lines-bg: #ffffff;--color-codemirror-syntax-comment: #24292f;--color-codemirror-syntax-constant: #0550ae;--color-codemirror-syntax-entity: #8250df;--color-codemirror-syntax-keyword: #cf222e;--color-codemirror-syntax-storage: #cf222e;--color-codemirror-syntax-string: #0a3069;--color-codemirror-syntax-support: #0550ae;--color-codemirror-syntax-variable: #953800;--color-checks-bg: #24292f;--color-checks-run-border-width: 0px;--color-checks-container-border-width: 0px;--color-checks-text-primary: #f6f8fa;--color-checks-text-secondary: #8c959f;--color-checks-text-link: #54aeff;--color-checks-btn-icon: #afb8c1;--color-checks-btn-hover-icon: #f6f8fa;--color-checks-btn-hover-bg: rgba(255,255,255,.125);--color-checks-input-text: #eaeef2;--color-checks-input-placeholder-text: #8c959f;--color-checks-input-focus-text: #8c959f;--color-checks-input-bg: #32383f;--color-checks-input-shadow: none;--color-checks-donut-error: #fa4549;--color-checks-donut-pending: #bf8700;--color-checks-donut-success: #2da44e;--color-checks-donut-neutral: #afb8c1;--color-checks-dropdown-text: #afb8c1;--color-checks-dropdown-bg: #32383f;--color-checks-dropdown-border: #424a53;--color-checks-dropdown-shadow: rgba(27,31,36,.3);--color-checks-dropdown-hover-text: #f6f8fa;--color-checks-dropdown-hover-bg: #424a53;--color-checks-dropdown-btn-hover-text: #f6f8fa;--color-checks-dropdown-btn-hover-bg: #32383f;--color-checks-scrollbar-thumb-bg: #57606a;--color-checks-header-label-text: #d0d7de;--color-checks-header-label-open-text: #f6f8fa;--color-checks-header-border: #32383f;--color-checks-header-icon: #8c959f;--color-checks-line-text: #d0d7de;--color-checks-line-num-text: rgba(140,149,159,.75);--color-checks-line-timestamp-text: #8c959f;--color-checks-line-hover-bg: #32383f;--color-checks-line-selected-bg: rgba(33,139,255,.15);--color-checks-line-selected-num-text: #54aeff;--color-checks-line-dt-fm-text: #24292f;--color-checks-line-dt-fm-bg: #9a6700;--color-checks-gate-bg: rgba(125,78,0,.15);--color-checks-gate-text: #d0d7de;--color-checks-gate-waiting-text: #d4a72c;--color-checks-step-header-open-bg: #32383f;--color-checks-step-error-text: #ff8182;--color-checks-step-warning-text: #d4a72c;--color-checks-logline-text: #8c959f;--color-checks-logline-num-text: rgba(140,149,159,.75);--color-checks-logline-debug-text: #c297ff;--color-checks-logline-error-text: #d0d7de;--color-checks-logline-error-num-text: #ff8182;--color-checks-logline-error-bg: rgba(164,14,38,.15);--color-checks-logline-warning-text: #d0d7de;--color-checks-logline-warning-num-text: #d4a72c;--color-checks-logline-warning-bg: rgba(125,78,0,.15);--color-checks-logline-command-text: #54aeff;--color-checks-logline-section-text: #4ac26b;--color-checks-ansi-black: #24292f;--color-checks-ansi-black-bright: #32383f;--color-checks-ansi-white: #d0d7de;--color-checks-ansi-white-bright: #d0d7de;--color-checks-ansi-gray: #8c959f;--color-checks-ansi-red: #ff8182;--color-checks-ansi-red-bright: #ffaba8;--color-checks-ansi-green: #4ac26b;--color-checks-ansi-green-bright: #6fdd8b;--color-checks-ansi-yellow: #d4a72c;--color-checks-ansi-yellow-bright: #eac54f;--color-checks-ansi-blue: #54aeff;--color-checks-ansi-blue-bright: #80ccff;--color-checks-ansi-magenta: #c297ff;--color-checks-ansi-magenta-bright: #d8b9ff;--color-checks-ansi-cyan: #76e3ea;--color-checks-ansi-cyan-bright: #b3f0ff;--color-project-header-bg: #24292f;--color-project-sidebar-bg: #ffffff;--color-project-gradient-in: #ffffff;--color-project-gradient-out: rgba(255,255,255,0);--color-mktg-btn-bg: #1b1f23;--color-mktg-btn-shadow-outline: rgb(0 0 0 / 15%) 0 0 0 1px inset;--color-mktg-btn-shadow-focus: rgb(0 0 0 / 15%) 0 0 0 4px;--color-mktg-btn-shadow-hover: 0 3px 2px rgba(0, 0, 0, .07), 0 7px 5px rgba(0, 0, 0, .04), 0 12px 10px rgba(0, 0, 0, .03), 0 22px 18px rgba(0, 0, 0, .03), 0 42px 33px rgba(0, 0, 0, .02), 0 100px 80px rgba(0, 0, 0, .02);--color-mktg-btn-shadow-hover-muted: rgb(0 0 0 / 70%) 0 0 0 2px inset;--color-avatar-bg: #ffffff;--color-avatar-border: rgba(27,31,36,.15);--color-avatar-stack-fade: #afb8c1;--color-avatar-stack-fade-more: #d0d7de;--color-avatar-child-shadow: -2px -2px 0 rgba(255,255,255,.8);--color-topic-tag-border: rgba(0,0,0,0);--color-counter-border: rgba(0,0,0,0);--color-select-menu-backdrop-border: rgba(0,0,0,0);--color-select-menu-tap-highlight: rgba(175,184,193,.5);--color-select-menu-tap-focus-bg: #b6e3ff;--color-overlay-shadow: 0 1px 3px rgba(27,31,36,.12), 0 8px 24px rgba(66,74,83,.12);--color-header-text: rgba(255,255,255,.7);--color-header-bg: #24292f;--color-header-divider: #57606a;--color-header-logo: #ffffff;--color-header-search-bg: #24292f;--color-header-search-border: #57606a;--color-sidenav-selected-bg: #ffffff;--color-menu-bg-active: rgba(0,0,0,0);--color-input-disabled-bg: rgba(175,184,193,.2);--color-timeline-badge-bg: #eaeef2;--color-ansi-black: #24292f;--color-ansi-black-bright: #57606a;--color-ansi-white: #6e7781;--color-ansi-white-bright: #8c959f;--color-ansi-gray: #6e7781;--color-ansi-red: #cf222e;--color-ansi-red-bright: #a40e26;--color-ansi-green: #116329;--color-ansi-green-bright: #1a7f37;--color-ansi-yellow: #4d2d00;--color-ansi-yellow-bright: #633c01;--color-ansi-blue: #0969da;--color-ansi-blue-bright: #218bff;--color-ansi-magenta: #8250df;--color-ansi-magenta-bright: #a475f9;--color-ansi-cyan: #1b7c83;--color-ansi-cyan-bright: #3192aa;--color-btn-text: #24292f;--color-btn-bg: #f6f8fa;--color-btn-border: rgba(27,31,36,.15);--color-btn-shadow: 0 1px 0 rgba(27,31,36,.04);--color-btn-inset-shadow: inset 0 1px 0 rgba(255,255,255,.25);--color-btn-hover-bg: #f3f4f6;--color-btn-hover-border: rgba(27,31,36,.15);--color-btn-active-bg: hsla(220,14%,93%,1);--color-btn-active-border: rgba(27,31,36,.15);--color-btn-selected-bg: hsla(220,14%,94%,1);--color-btn-focus-bg: #f6f8fa;--color-btn-focus-border: rgba(27,31,36,.15);--color-btn-focus-shadow: 0 0 0 3px rgba(9,105,218,.3);--color-btn-shadow-active: inset 0 .15em .3em rgba(27,31,36,.15);--color-btn-shadow-input-focus: 0 0 0 .2em rgba(9,105,218,.3);--color-btn-counter-bg: rgba(27,31,36,.08);--color-btn-primary-text: #ffffff;--color-btn-primary-bg: #2da44e;--color-btn-primary-border: rgba(27,31,36,.15);--color-btn-primary-shadow: 0 1px 0 rgba(27,31,36,.1);--color-btn-primary-inset-shadow: inset 0 1px 0 rgba(255,255,255,.03);--color-btn-primary-hover-bg: #2c974b;--color-btn-primary-hover-border: rgba(27,31,36,.15);--color-btn-primary-selected-bg: hsla(137,55%,36%,1);--color-btn-primary-selected-shadow: inset 0 1px 0 rgba(0,45,17,.2);--color-btn-primary-disabled-text: rgba(255,255,255,.8);--color-btn-primary-disabled-bg: #94d3a2;--color-btn-primary-disabled-border: rgba(27,31,36,.15);--color-btn-primary-focus-bg: #2da44e;--color-btn-primary-focus-border: rgba(27,31,36,.15);--color-btn-primary-focus-shadow: 0 0 0 3px rgba(45,164,78,.4);--color-btn-primary-icon: rgba(255,255,255,.8);--color-btn-primary-counter-bg: rgba(255,255,255,.2);--color-btn-outline-text: #0969da;--color-btn-outline-hover-text: #ffffff;--color-btn-outline-hover-bg: #0969da;--color-btn-outline-hover-border: rgba(27,31,36,.15);--color-btn-outline-hover-shadow: 0 1px 0 rgba(27,31,36,.1);--color-btn-outline-hover-inset-shadow: inset 0 1px 0 rgba(255,255,255,.03);--color-btn-outline-hover-counter-bg: rgba(255,255,255,.2);--color-btn-outline-selected-text: #ffffff;--color-btn-outline-selected-bg: hsla(212,92%,42%,1);--color-btn-outline-selected-border: rgba(27,31,36,.15);--color-btn-outline-selected-shadow: inset 0 1px 0 rgba(0,33,85,.2);--color-btn-outline-disabled-text: rgba(9,105,218,.5);--color-btn-outline-disabled-bg: #f6f8fa;--color-btn-outline-disabled-counter-bg: rgba(9,105,218,.05);--color-btn-outline-focus-border: rgba(27,31,36,.15);--color-btn-outline-focus-shadow: 0 0 0 3px rgba(5,80,174,.4);--color-btn-outline-counter-bg: rgba(9,105,218,.1);--color-btn-danger-text: #cf222e;--color-btn-danger-hover-text: #ffffff;--color-btn-danger-hover-bg: #a40e26;--color-btn-danger-hover-border: rgba(27,31,36,.15);--color-btn-danger-hover-shadow: 0 1px 0 rgba(27,31,36,.1);--color-btn-danger-hover-inset-shadow: inset 0 1px 0 rgba(255,255,255,.03);--color-btn-danger-hover-counter-bg: rgba(255,255,255,.2);--color-btn-danger-selected-text: #ffffff;--color-btn-danger-selected-bg: hsla(356,72%,44%,1);--color-btn-danger-selected-border: rgba(27,31,36,.15);--color-btn-danger-selected-shadow: inset 0 1px 0 rgba(76,0,20,.2);--color-btn-danger-disabled-text: rgba(207,34,46,.5);--color-btn-danger-disabled-bg: #f6f8fa;--color-btn-danger-disabled-counter-bg: rgba(207,34,46,.05);--color-btn-danger-focus-border: rgba(27,31,36,.15);--color-btn-danger-focus-shadow: 0 0 0 3px rgba(164,14,38,.4);--color-btn-danger-counter-bg: rgba(207,34,46,.1);--color-btn-danger-icon: #cf222e;--color-btn-danger-hover-icon: #ffffff;--color-underlinenav-icon: #6e7781;--color-underlinenav-border-hover: rgba(175,184,193,.2);--color-action-list-item-inline-divider: rgba(208,215,222,.48);--color-action-list-item-default-hover-bg: rgba(208,215,222,.32);--color-action-list-item-default-hover-border: rgba(0,0,0,0);--color-action-list-item-default-active-bg: rgba(208,215,222,.48);--color-action-list-item-default-active-border: rgba(0,0,0,0);--color-action-list-item-default-selected-bg: rgba(208,215,222,.24);--color-action-list-item-danger-hover-bg: rgba(255,235,233,.64);--color-action-list-item-danger-active-bg: #ffebe9;--color-action-list-item-danger-hover-text: #cf222e;--color-switch-track-bg: #eaeef2;--color-switch-track-border: #afb8c1;--color-switch-track-checked-bg: #ddf4ff;--color-switch-track-checked-hover-bg: #b6e3ff;--color-switch-track-checked-active-bg: #80ccff;--color-switch-track-checked-border: #54aeff;--color-switch-knob-checked-bg: #0969da;--color-switch-knob-checked-disabled-bg: #6e7781;--color-segmented-control-bg: #eaeef2;--color-segmented-control-button-hover-bg: rgba(175,184,193,.2);--color-segmented-control-button-active-bg: rgba(175,184,193,.4);--color-segmented-control-button-selected-border: #6e7781;--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-fg-on-emphasis: #ffffff;--color-canvas-default: #ffffff;--color-canvas-overlay: #ffffff;--color-canvas-inset: #f6f8fa;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsla(210,18%,87%,1);--color-border-subtle: rgba(27,31,36,.15);--color-shadow-small: 0 1px 0 rgba(27,31,36,.04);--color-shadow-medium: 0 3px 6px rgba(140,149,159,.15);--color-shadow-large: 0 8px 24px rgba(140,149,159,.2);--color-shadow-extra-large: 0 12px 28px rgba(140,149,159,.3);--color-neutral-emphasis-plus: #24292f;--color-neutral-emphasis: #6e7781;--color-neutral-muted: rgba(175,184,193,.2);--color-neutral-subtle: rgba(234,238,242,.5);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-accent-muted: rgba(84,174,255,.4);--color-accent-subtle: #ddf4ff;--color-success-fg: #1a7f37;--color-success-emphasis: #2da44e;--color-success-muted: rgba(74,194,107,.4);--color-success-subtle: #dafbe1;--color-attention-fg: #9a6700;--color-attention-emphasis: #bf8700;--color-attention-muted: rgba(212,167,44,.4);--color-attention-subtle: #fff8c5;--color-severe-fg: #bc4c00;--color-severe-emphasis: #bc4c00;--color-severe-muted: rgba(251,143,68,.4);--color-severe-subtle: #fff1e5;--color-danger-fg: #cf222e;--color-danger-emphasis: #cf222e;--color-danger-muted: rgba(255,129,130,.4);--color-danger-subtle: #ffebe9;--color-open-fg: #1a7f37;--color-open-emphasis: #2da44e;--color-open-muted: rgba(74,194,107,.4);--color-open-subtle: #dafbe1;--color-closed-fg: #cf222e;--color-closed-emphasis: #cf222e;--color-closed-muted: rgba(255,129,130,.4);--color-closed-subtle: #ffebe9;--color-done-fg: #8250df;--color-done-emphasis: #8250df;--color-done-muted: rgba(194,151,255,.4);--color-done-subtle: #fbefff;--color-sponsors-fg: #bf3989;--color-sponsors-emphasis: #bf3989;--color-sponsors-muted: rgba(255,128,200,.4);--color-sponsors-subtle: #ffeff7;--color-primer-fg-disabled: #8c959f;--color-primer-canvas-backdrop: rgba(27,31,36,.5);--color-primer-canvas-sticky: rgba(255,255,255,.95);--color-primer-border-active: #fd8c73;--color-primer-border-contrast: rgba(27,31,36,.1);--color-primer-shadow-highlight: inset 0 1px 0 rgba(255,255,255,.25);--color-primer-shadow-inset: inset 0 1px 0 rgba(208,215,222,.2);--color-primer-shadow-focus: 0 0 0 3px rgba(9,105,218,.3);--color-scale-black: #1b1f24;--color-scale-white: #ffffff;--color-scale-gray-0: #f6f8fa;--color-scale-gray-1: #eaeef2;--color-scale-gray-2: #d0d7de;--color-scale-gray-3: #afb8c1;--color-scale-gray-4: #8c959f;--color-scale-gray-5: #6e7781;--color-scale-gray-6: #57606a;--color-scale-gray-7: #424a53;--color-scale-gray-8: #32383f;--color-scale-gray-9: #24292f;--color-scale-blue-0: #ddf4ff;--color-scale-blue-1: #b6e3ff;--color-scale-blue-2: #80ccff;--color-scale-blue-3: #54aeff;--color-scale-blue-4: #218bff;--color-scale-blue-5: #0969da;--color-scale-blue-6: #0550ae;--color-scale-blue-7: #033d8b;--color-scale-blue-8: #0a3069;--color-scale-blue-9: #002155;--color-scale-green-0: #dafbe1;--color-scale-green-1: #aceebb;--color-scale-green-2: #6fdd8b;--color-scale-green-3: #4ac26b;--color-scale-green-4: #2da44e;--color-scale-green-5: #1a7f37;--color-scale-green-6: #116329;--color-scale-green-7: #044f1e;--color-scale-green-8: #003d16;--color-scale-green-9: #002d11;--color-scale-yellow-0: #fff8c5;--color-scale-yellow-1: #fae17d;--color-scale-yellow-2: #eac54f;--color-scale-yellow-3: #d4a72c;--color-scale-yellow-4: #bf8700;--color-scale-yellow-5: #9a6700;--color-scale-yellow-6: #7d4e00;--color-scale-yellow-7: #633c01;--color-scale-yellow-8: #4d2d00;--color-scale-yellow-9: #3b2300;--color-scale-orange-0: #fff1e5;--color-scale-orange-1: #ffd8b5;--color-scale-orange-2: #ffb77c;--color-scale-orange-3: #fb8f44;--color-scale-orange-4: #e16f24;--color-scale-orange-5: #bc4c00;--color-scale-orange-6: #953800;--color-scale-orange-7: #762c00;--color-scale-orange-8: #5c2200;--color-scale-orange-9: #471700;--color-scale-red-0: #ffebe9;--color-scale-red-1: #ffcecb;--color-scale-red-2: #ffaba8;--color-scale-red-3: #ff8182;--color-scale-red-4: #fa4549;--color-scale-red-5: #cf222e;--color-scale-red-6: #a40e26;--color-scale-red-7: #82071e;--color-scale-red-8: #660018;--color-scale-red-9: #4c0014;--color-scale-purple-0: #fbefff;--color-scale-purple-1: #ecd8ff;--color-scale-purple-2: #d8b9ff;--color-scale-purple-3: #c297ff;--color-scale-purple-4: #a475f9;--color-scale-purple-5: #8250df;--color-scale-purple-6: #6639ba;--color-scale-purple-7: #512a97;--color-scale-purple-8: #3e1f79;--color-scale-purple-9: #2e1461;--color-scale-pink-0: #ffeff7;--color-scale-pink-1: #ffd3eb;--color-scale-pink-2: #ffadda;--color-scale-pink-3: #ff80c8;--color-scale-pink-4: #e85aad;--color-scale-pink-5: #bf3989;--color-scale-pink-6: #99286e;--color-scale-pink-7: #772057;--color-scale-pink-8: #611347;--color-scale-pink-9: #4d0336;--color-scale-coral-0: #fff0eb;--color-scale-coral-1: #ffd6cc;--color-scale-coral-2: #ffb4a1;--color-scale-coral-3: #fd8c73;--color-scale-coral-4: #ec6547;--color-scale-coral-5: #c4432b;--color-scale-coral-6: #9e2f1c;--color-scale-coral-7: #801f0f;--color-scale-coral-8: #691105;--color-scale-coral-9: #510901}.code-diff-view *{position:static}.code-diff-view .file{position:relative;margin-top:16px;margin-bottom:16px;border:1px solid var(--color-border-default, #ddd);border-radius:2px}.code-diff-view .file table{border-spacing:0}.code-diff-view .file .diff-table{width:100%}.code-diff-view .file .diff-table .blob-num{position:relative;width:1%;min-width:50px;padding-right:10px;padding-left:10px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;line-height:20px;color:var(--color-fg-subtle);text-align:right;white-space:nowrap;vertical-align:top;cursor:pointer;-webkit-user-select:none;user-select:none}.code-diff-view .file .diff-table .blob-num-deletion{color:var(--color-diff-blob-deletion-num-text);background-color:var(--color-diff-blob-deletion-num-bg);border-color:var(--color-danger-emphasis)}.code-diff-view .file .diff-table .blob-num-addition{color:var(--color-diff-blob-addition-num-text);background-color:var(--color-diff-blob-addition-num-bg);border-color:var(--color-success-emphasis)}.code-diff-view .file .diff-table .blob-code{position:relative;padding-right:10px;padding-left:10px;line-height:20px;vertical-align:top}.code-diff-view .file .diff-table .blob-code .blob-code-inner{display:table-cell;overflow:visible;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;color:var(--color-fg-default);word-wrap:anywhere;white-space:pre-wrap}.code-diff-view .file .diff-table .blob-code-deletion{background-color:var(--color-diff-blob-deletion-line-bg);outline:1px dashed transparent}.code-diff-view .file .diff-table .blob-code-deletion .x{color:var(--color-diff-blob-deletion-fg);background-color:var(--color-diff-blob-deletion-word-bg)}.code-diff-view .file .diff-table .blob-code-addition{background-color:var(--color-diff-blob-addition-line-bg);outline:1px dotted transparent}.code-diff-view .file .diff-table .blob-code-addition .x{color:var(--color-diff-blob-addition-fg);background-color:var(--color-diff-blob-addition-word-bg)}.code-diff-view .file .diff-table .blob-code-context,.code-diff-view .file .diff-table .blob-code-addition,.code-diff-view .file .diff-table .blob-code-deletion{padding-left:22px!important}.code-diff-view .file .diff-table .blob-code-marker:before{position:absolute;top:1px;left:8px;padding-right:8px;content:attr(data-code-marker)}.code-diff-view .file .file-diff-split{table-layout:fixed}.code-diff-view .file .file-diff-split .blob-code+.blob-num{border-left:1px solid var(--color-border-muted)}.code-diff-view .file .empty-cell{cursor:default;background-color:var(--color-neutral-subtle);border-right-color:var(--color-border-muted)}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#fff;color:#000}.hljs-comment,.hljs-quote,.hljs-variable{color:green}.hljs-built_in,.hljs-keyword,.hljs-name,.hljs-selector-tag,.hljs-tag{color:#00f}.hljs-addition,.hljs-attribute,.hljs-literal,.hljs-section,.hljs-string,.hljs-template-tag,.hljs-template-variable,.hljs-title,.hljs-type{color:#a31515}.hljs-deletion,.hljs-meta,.hljs-selector-attr,.hljs-selector-pseudo{color:#2b91af}.hljs-doctag{color:gray}.hljs-attr{color:red}.hljs-bullet,.hljs-link,.hljs-symbol{color:#00b0e8}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}")),document.head.appendChild(o)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const ke=require("vue"),ce=require("@vue/composition-api/dist/vue-composition-api.mjs");function $n(e){e=e||ke,e&&!e.__composition_api_installed__&&e.use(ce)}$n(ke);ke.version;function Z(){}Z.prototype={diff:function(n,t){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},l=s.callback;typeof s=="function"&&(l=s,s={}),this.options=s;var c=this;function i(g){return l?(setTimeout(function(){l(void 0,g)},0),!0):g}n=this.castInput(n),t=this.castInput(t),n=this.removeEmpty(this.tokenize(n)),t=this.removeEmpty(this.tokenize(t));var r=t.length,a=n.length,o=1,p=r+a;s.maxEditLength&&(p=Math.min(p,s.maxEditLength));var _=[{newPos:-1,components:[]}],f=this.extractCommon(_[0],t,n,0);if(_[0].newPos+1>=r&&f+1>=a)return i([{value:this.join(t),count:t.length}]);function N(){for(var g=-1*o;g<=o;g+=2){var A=void 0,w=_[g-1],x=_[g+1],y=(x?x.newPos:0)-g;w&&(_[g-1]=void 0);var R=w&&w.newPos+1<r,L=x&&0<=y&&y<a;if(!R&&!L){_[g]=void 0;continue}if(!R||L&&w.newPos<x.newPos?(A=Un(x),c.pushComponent(A.components,void 0,!0)):(A=w,A.newPos++,c.pushComponent(A.components,!0,void 0)),y=c.extractCommon(A,t,n,g),A.newPos+1>=r&&y+1>=a)return i(Bn(c,A.components,t,n,c.useLongestToken));_[g]=A}o++}if(l)(function g(){setTimeout(function(){if(o>p)return l();N()||g()},0)})();else for(;o<=p;){var h=N();if(h)return h}},pushComponent:function(n,t,s){var l=n[n.length-1];l&&l.added===t&&l.removed===s?n[n.length-1]={count:l.count+1,added:t,removed:s}:n.push({count:1,added:t,removed:s})},extractCommon:function(n,t,s,l){for(var c=t.length,i=s.length,r=n.newPos,a=r-l,o=0;r+1<c&&a+1<i&&this.equals(t[r+1],s[a+1]);)r++,a++,o++;return o&&n.components.push({count:o}),n.newPos=r,a},equals:function(n,t){return this.options.comparator?this.options.comparator(n,t):n===t||this.options.ignoreCase&&n.toLowerCase()===t.toLowerCase()},removeEmpty:function(n){for(var t=[],s=0;s<n.length;s++)n[s]&&t.push(n[s]);return t},castInput:function(n){return n},tokenize:function(n){return n.split("")},join:function(n){return n.join("")}};function Bn(e,n,t,s,l){for(var c=0,i=n.length,r=0,a=0;c<i;c++){var o=n[c];if(o.removed){if(o.value=e.join(s.slice(a,a+o.count)),a+=o.count,c&&n[c-1].added){var _=n[c-1];n[c-1]=n[c],n[c]=_}}else{if(!o.added&&l){var p=t.slice(r,r+o.count);p=p.map(function(N,h){var g=s[a+h];return g.length>N.length?g:N}),o.value=e.join(p)}else o.value=e.join(t.slice(r,r+o.count));r+=o.count,o.added||(a+=o.count)}}var f=n[i-1];return i>1&&typeof f.value=="string"&&(f.added||f.removed)&&e.equals("",f.value)&&(n[i-2].value+=f.value,n.pop()),n}function Un(e){return{newPos:e.newPos,components:e.components.slice(0)}}var Pn=new Z;function Hn(e,n,t){return Pn.diff(e,n,t)}function zn(e,n){if(typeof e=="function")n.callback=e;else if(e)for(var t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}var Xe=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,je=/\S/,$e=new Z;$e.equals=function(e,n){return this.options.ignoreCase&&(e=e.toLowerCase(),n=n.toLowerCase()),e===n||this.options.ignoreWhitespace&&!je.test(e)&&!je.test(n)};$e.tokenize=function(e){for(var n=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),t=0;t<n.length-1;t++)!n[t+1]&&n[t+2]&&Xe.test(n[t])&&Xe.test(n[t+2])&&(n[t]+=n[t+2],n.splice(t+1,2),t--);return n};function Fn(e,n,t){return t=zn(t,{ignoreWhitespace:!0}),$e.diff(e,n,t)}var Be=new Z;Be.tokenize=function(e){var n=[],t=e.split(/(\n|\r\n)/);t[t.length-1]||t.pop();for(var s=0;s<t.length;s++){var l=t[s];s%2&&!this.options.newlineIsToken?n[n.length-1]+=l:(this.options.ignoreWhitespace&&(l=l.trim()),n.push(l))}return n};function gn(e,n,t){return Be.diff(e,n,t)}var Gn=new Z;Gn.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)};var Kn=new Z;Kn.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};function Ae(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ae=function(n){return typeof n}:Ae=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ae(e)}var Wn=Object.prototype.toString,le=new Z;le.useLongestToken=!0;le.tokenize=Be.tokenize;le.castInput=function(e){var n=this.options,t=n.undefinedReplacement,s=n.stringifyReplacer,l=s===void 0?function(c,i){return typeof i>"u"?t:i}:s;return typeof e=="string"?e:JSON.stringify(Ce(e,null,null,l),l," ")};le.equals=function(e,n){return Z.prototype.equals.call(le,e.replace(/,([\r\n])/g,"$1"),n.replace(/,([\r\n])/g,"$1"))};function Ce(e,n,t,s,l){n=n||[],t=t||[],s&&(e=s(l,e));var c;for(c=0;c<n.length;c+=1)if(n[c]===e)return t[c];var i;if(Wn.call(e)==="[object Array]"){for(n.push(e),i=new Array(e.length),t.push(i),c=0;c<e.length;c+=1)i[c]=Ce(e[c],n,t,s,l);return n.pop(),t.pop(),i}if(e&&e.toJSON&&(e=e.toJSON()),Ae(e)==="object"&&e!==null){n.push(e),i={},t.push(i);var r=[],a;for(a in e)e.hasOwnProperty(a)&&r.push(a);for(r.sort(),c=0;c<r.length;c+=1)a=r[c],i[a]=Ce(e[a],n,t,s,a);n.pop(),t.pop()}else i=e;return i}var Ie=new Z;Ie.tokenize=function(e){return e.slice()};Ie.join=Ie.removeEmpty=function(e){return e};var Ue={exports:{}};function Pe(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(function(n){var t=e[n];typeof t=="object"&&!Object.isFrozen(t)&&Pe(t)}),e}Ue.exports=Pe;Ue.exports.default=Pe;class Ve{constructor(n){n.data===void 0&&(n.data={}),this.data=n.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function pn(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function j(e,...n){const t=Object.create(null);for(const s in e)t[s]=e[s];return n.forEach(function(s){for(const l in s)t[l]=s[l]}),t}const qn="</span>",Je=e=>!!e.scope||e.sublanguage&&e.language,Yn=(e,{prefix:n})=>{if(e.includes(".")){const t=e.split(".");return[`${n}${t.shift()}`,...t.map((s,l)=>`${s}${"_".repeat(l+1)}`)].join(" ")}return`${n}${e}`};class Zn{constructor(n,t){this.buffer="",this.classPrefix=t.classPrefix,n.walk(this)}addText(n){this.buffer+=pn(n)}openNode(n){if(!Je(n))return;let t="";n.sublanguage?t=`language-${n.language}`:t=Yn(n.scope,{prefix:this.classPrefix}),this.span(t)}closeNode(n){Je(n)&&(this.buffer+=qn)}value(){return this.buffer}span(n){this.buffer+=`<span class="${n}">`}}const en=(e={})=>{const n={children:[]};return Object.assign(n,e),n};class He{constructor(){this.rootNode=en(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(n){this.top.children.push(n)}openNode(n){const t=en({scope:n});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(n){return this.constructor._walk(n,this.rootNode)}static _walk(n,t){return typeof t=="string"?n.addText(t):t.children&&(n.openNode(t),t.children.forEach(s=>this._walk(n,s)),n.closeNode(t)),n}static _collapse(n){typeof n!="string"&&n.children&&(n.children.every(t=>typeof t=="string")?n.children=[n.children.join("")]:n.children.forEach(t=>{He._collapse(t)}))}}class Qn extends He{constructor(n){super(),this.options=n}addKeyword(n,t){n!==""&&(this.openNode(t),this.addText(n),this.closeNode())}addText(n){n!==""&&this.add(n)}addSublanguage(n,t){const s=n.root;s.sublanguage=!0,s.language=t,this.add(s)}toHTML(){return new Zn(this,this.options).value()}finalize(){return!0}}function ue(e){return e?typeof e=="string"?e:e.source:null}function _n(e){return ee("(?=",e,")")}function Xn(e){return ee("(?:",e,")*")}function jn(e){return ee("(?:",e,")?")}function ee(...e){return e.map(t=>ue(t)).join("")}function Vn(e){const n=e[e.length-1];return typeof n=="object"&&n.constructor===Object?(e.splice(e.length-1,1),n):{}}function ze(...e){return"("+(Vn(e).capture?"":"?:")+e.map(s=>ue(s)).join("|")+")"}function bn(e){return new RegExp(e.toString()+"|").exec("").length-1}function Jn(e,n){const t=e&&e.exec(n);return t&&t.index===0}const et=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Fe(e,{joinWith:n}){let t=0;return e.map(s=>{t+=1;const l=t;let c=ue(s),i="";for(;c.length>0;){const r=et.exec(c);if(!r){i+=c;break}i+=c.substring(0,r.index),c=c.substring(r.index+r[0].length),r[0][0]==="\\"&&r[1]?i+="\\"+String(Number(r[1])+l):(i+=r[0],r[0]==="("&&t++)}return i}).map(s=>`(${s})`).join(n)}const nt=/\b\B/,hn="[a-zA-Z]\\w*",Ge="[a-zA-Z_]\\w*",En="\\b\\d+(\\.\\d+)?",mn="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",yn="\\b(0b[01]+)",tt="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",st=(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=ee(n,/.*\b/,e.binary,/\b.*/)),j({scope:"meta",begin:n,end:/$/,relevance:0,"on:begin":(t,s)=>{t.index!==0&&s.ignoreMatch()}},e)},fe={begin:"\\\\[\\s\\S]",relevance:0},rt={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[fe]},it={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[fe]},at={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Me=function(e,n,t={}){const s=j({scope:"comment",begin:e,end:n,contains:[]},t);s.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const l=ze("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return s.contains.push({begin:ee(/[ ]+/,"(",l,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),s},ot=Me("//","$"),ct=Me("/\\*","\\*/"),lt=Me("#","$"),ut={scope:"number",begin:En,relevance:0},ft={scope:"number",begin:mn,relevance:0},dt={scope:"number",begin:yn,relevance:0},gt={begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[fe,{begin:/\[/,end:/\]/,relevance:0,contains:[fe]}]}]},pt={scope:"title",begin:hn,relevance:0},_t={scope:"title",begin:Ge,relevance:0},bt={begin:"\\.\\s*"+Ge,relevance:0},ht=function(e){return Object.assign(e,{"on:begin":(n,t)=>{t.data._beginMatch=n[1]},"on:end":(n,t)=>{t.data._beginMatch!==n[1]&&t.ignoreMatch()}})};var ve=Object.freeze({__proto__:null,MATCH_NOTHING_RE:nt,IDENT_RE:hn,UNDERSCORE_IDENT_RE:Ge,NUMBER_RE:En,C_NUMBER_RE:mn,BINARY_NUMBER_RE:yn,RE_STARTERS_RE:tt,SHEBANG:st,BACKSLASH_ESCAPE:fe,APOS_STRING_MODE:rt,QUOTE_STRING_MODE:it,PHRASAL_WORDS_MODE:at,COMMENT:Me,C_LINE_COMMENT_MODE:ot,C_BLOCK_COMMENT_MODE:ct,HASH_COMMENT_MODE:lt,NUMBER_MODE:ut,C_NUMBER_MODE:ft,BINARY_NUMBER_MODE:dt,REGEXP_MODE:gt,TITLE_MODE:pt,UNDERSCORE_TITLE_MODE:_t,METHOD_GUARD:bt,END_SAME_AS_BEGIN:ht});function Et(e,n){e.input[e.index-1]==="."&&n.ignoreMatch()}function mt(e,n){e.className!==void 0&&(e.scope=e.className,delete e.className)}function yt(e,n){n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Et,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function vt(e,n){Array.isArray(e.illegal)&&(e.illegal=ze(...e.illegal))}function Nt(e,n){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function Tt(e,n){e.relevance===void 0&&(e.relevance=1)}const At=(e,n)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const t=Object.assign({},e);Object.keys(e).forEach(s=>{delete e[s]}),e.keywords=t.keywords,e.begin=ee(t.beforeMatch,_n(t.begin)),e.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},e.relevance=0,delete t.beforeMatch},St=["of","and","for","in","not","or","if","then","parent","list","value"],wt="keyword";function vn(e,n,t=wt){const s=Object.create(null);return typeof e=="string"?l(t,e.split(" ")):Array.isArray(e)?l(t,e):Object.keys(e).forEach(function(c){Object.assign(s,vn(e[c],n,c))}),s;function l(c,i){n&&(i=i.map(r=>r.toLowerCase())),i.forEach(function(r){const a=r.split("|");s[a[0]]=[c,Mt(a[0],a[1])]})}}function Mt(e,n){return n?Number(n):Rt(e)?0:1}function Rt(e){return St.includes(e.toLowerCase())}const nn={},J=e=>{console.error(e)},tn=(e,...n)=>{console.log(`WARN: ${e}`,...n)},re=(e,n)=>{nn[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),nn[`${e}/${n}`]=!0)},Se=new Error;function Nn(e,n,{key:t}){let s=0;const l=e[t],c={},i={};for(let r=1;r<=n.length;r++)i[r+s]=l[r],c[r+s]=!0,s+=bn(n[r-1]);e[t]=i,e[t]._emit=c,e[t]._multi=!0}function Ot(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw J("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Se;if(typeof e.beginScope!="object"||e.beginScope===null)throw J("beginScope must be object"),Se;Nn(e,e.begin,{key:"beginScope"}),e.begin=Fe(e.begin,{joinWith:""})}}function xt(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw J("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Se;if(typeof e.endScope!="object"||e.endScope===null)throw J("endScope must be object"),Se;Nn(e,e.end,{key:"endScope"}),e.end=Fe(e.end,{joinWith:""})}}function Lt(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Dt(e){Lt(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),Ot(e),xt(e)}function Ct(e){function n(i,r){return new RegExp(ue(i),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(r?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(r,a){a.position=this.position++,this.matchIndexes[this.matchAt]=a,this.regexes.push([a,r]),this.matchAt+=bn(r)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const r=this.regexes.map(a=>a[1]);this.matcherRe=n(Fe(r,{joinWith:"|"}),!0),this.lastIndex=0}exec(r){this.matcherRe.lastIndex=this.lastIndex;const a=this.matcherRe.exec(r);if(!a)return null;const o=a.findIndex((_,f)=>f>0&&_!==void 0),p=this.matchIndexes[o];return a.splice(0,o),Object.assign(a,p)}}class s{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(r){if(this.multiRegexes[r])return this.multiRegexes[r];const a=new t;return this.rules.slice(r).forEach(([o,p])=>a.addRule(o,p)),a.compile(),this.multiRegexes[r]=a,a}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(r,a){this.rules.push([r,a]),a.type==="begin"&&this.count++}exec(r){const a=this.getMatcher(this.regexIndex);a.lastIndex=this.lastIndex;let o=a.exec(r);if(this.resumingScanAtSamePosition()&&!(o&&o.index===this.lastIndex)){const p=this.getMatcher(0);p.lastIndex=this.lastIndex+1,o=p.exec(r)}return o&&(this.regexIndex+=o.position+1,this.regexIndex===this.count&&this.considerAll()),o}}function l(i){const r=new s;return i.contains.forEach(a=>r.addRule(a.begin,{rule:a,type:"begin"})),i.terminatorEnd&&r.addRule(i.terminatorEnd,{type:"end"}),i.illegal&&r.addRule(i.illegal,{type:"illegal"}),r}function c(i,r){const a=i;if(i.isCompiled)return a;[mt,Nt,Dt,At].forEach(p=>p(i,r)),e.compilerExtensions.forEach(p=>p(i,r)),i.__beforeBegin=null,[yt,vt,Tt].forEach(p=>p(i,r)),i.isCompiled=!0;let o=null;return typeof i.keywords=="object"&&i.keywords.$pattern&&(i.keywords=Object.assign({},i.keywords),o=i.keywords.$pattern,delete i.keywords.$pattern),o=o||/\w+/,i.keywords&&(i.keywords=vn(i.keywords,e.case_insensitive)),a.keywordPatternRe=n(o,!0),r&&(i.begin||(i.begin=/\B|\b/),a.beginRe=n(a.begin),!i.end&&!i.endsWithParent&&(i.end=/\B|\b/),i.end&&(a.endRe=n(a.end)),a.terminatorEnd=ue(a.end)||"",i.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(i.end?"|":"")+r.terminatorEnd)),i.illegal&&(a.illegalRe=n(i.illegal)),i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map(function(p){return It(p==="self"?i:p)})),i.contains.forEach(function(p){c(p,a)}),i.starts&&c(i.starts,r),a.matcher=l(a),a}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=j(e.classNameAliases||{}),c(e)}function Tn(e){return e?e.endsWithParent||Tn(e.starts):!1}function It(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(n){return j(e,{variants:null},n)})),e.cachedVariants?e.cachedVariants:Tn(e)?j(e,{starts:e.starts?j(e.starts):null}):Object.isFrozen(e)?j(e):e}var kt="11.7.0";class $t extends Error{constructor(n,t){super(n),this.name="HTMLInjectionError",this.html=t}}const De=pn,sn=j,rn=Symbol("nomatch"),Bt=7,Ut=function(e){const n=Object.create(null),t=Object.create(null),s=[];let l=!0;const c="Could not find the language '{}', did you forget to load/include a language module?",i={disableAutodetect:!0,name:"Plain text",contains:[]};let r={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:Qn};function a(u){return r.noHighlightRe.test(u)}function o(u){let b=u.className+" ";b+=u.parentNode?u.parentNode.className:"";const T=r.languageDetectRe.exec(b);if(T){const M=z(T[1]);return M||(tn(c.replace("{}",T[1])),tn("Falling back to no-highlight mode for this block.",u)),M?T[1]:"no-highlight"}return b.split(/\s+/).find(M=>a(M)||z(M))}function p(u,b,T){let M="",I="";typeof b=="object"?(M=u,T=b.ignoreIllegals,I=b.language):(re("10.7.0","highlight(lang, code, ...args) has been deprecated."),re("10.7.0",`Please use highlight(code, options) instead.
3
+ https://github.com/highlightjs/highlight.js/issues/2277`),I=u,M=b),T===void 0&&(T=!0);const U={code:M,language:I};se("before:highlight",U);const K=U.result?U.result:_(U.language,U.code,T);return K.code=U.code,se("after:highlight",K),K}function _(u,b,T,M){const I=Object.create(null);function U(d,E){return d.keywords[E]}function K(){if(!v.keywords){$.addText(C);return}let d=0;v.keywordPatternRe.lastIndex=0;let E=v.keywordPatternRe.exec(C),S="";for(;E;){S+=C.substring(d,E.index);const O=X.case_insensitive?E[0].toLowerCase():E[0],B=U(v,O);if(B){const[W,In]=B;if($.addText(S),S="",I[O]=(I[O]||0)+1,I[O]<=Bt&&(ye+=In),W.startsWith("_"))S+=E[0];else{const kn=X.classNameAliases[W]||W;$.addKeyword(E[0],kn)}}else S+=E[0];d=v.keywordPatternRe.lastIndex,E=v.keywordPatternRe.exec(C)}S+=C.substring(d),$.addText(S)}function Ee(){if(C==="")return;let d=null;if(typeof v.subLanguage=="string"){if(!n[v.subLanguage]){$.addText(C);return}d=_(v.subLanguage,C,!0,Qe[v.subLanguage]),Qe[v.subLanguage]=d._top}else d=N(C,v.subLanguage.length?v.subLanguage:null);v.relevance>0&&(ye+=d.relevance),$.addSublanguage(d._emitter,d.language)}function P(){v.subLanguage!=null?Ee():K(),C=""}function Q(d,E){let S=1;const O=E.length-1;for(;S<=O;){if(!d._emit[S]){S++;continue}const B=X.classNameAliases[d[S]]||d[S],W=E[S];B?$.addKeyword(W,B):(C=W,K(),C=""),S++}}function qe(d,E){return d.scope&&typeof d.scope=="string"&&$.openNode(X.classNameAliases[d.scope]||d.scope),d.beginScope&&(d.beginScope._wrap?($.addKeyword(C,X.classNameAliases[d.beginScope._wrap]||d.beginScope._wrap),C=""):d.beginScope._multi&&(Q(d.beginScope,E),C="")),v=Object.create(d,{parent:{value:v}}),v}function Ye(d,E,S){let O=Jn(d.endRe,S);if(O){if(d["on:end"]){const B=new Ve(d);d["on:end"](E,B),B.isMatchIgnored&&(O=!1)}if(O){for(;d.endsParent&&d.parent;)d=d.parent;return d}}if(d.endsWithParent)return Ye(d.parent,E,S)}function On(d){return v.matcher.regexIndex===0?(C+=d[0],1):(Le=!0,0)}function xn(d){const E=d[0],S=d.rule,O=new Ve(S),B=[S.__beforeBegin,S["on:begin"]];for(const W of B)if(W&&(W(d,O),O.isMatchIgnored))return On(E);return S.skip?C+=E:(S.excludeBegin&&(C+=E),P(),!S.returnBegin&&!S.excludeBegin&&(C=E)),qe(S,d),S.returnBegin?0:E.length}function Ln(d){const E=d[0],S=b.substring(d.index),O=Ye(v,d,S);if(!O)return rn;const B=v;v.endScope&&v.endScope._wrap?(P(),$.addKeyword(E,v.endScope._wrap)):v.endScope&&v.endScope._multi?(P(),Q(v.endScope,d)):B.skip?C+=E:(B.returnEnd||B.excludeEnd||(C+=E),P(),B.excludeEnd&&(C=E));do v.scope&&$.closeNode(),!v.skip&&!v.subLanguage&&(ye+=v.relevance),v=v.parent;while(v!==O.parent);return O.starts&&qe(O.starts,d),B.returnEnd?0:E.length}function Dn(){const d=[];for(let E=v;E!==X;E=E.parent)E.scope&&d.unshift(E.scope);d.forEach(E=>$.openNode(E))}let me={};function Ze(d,E){const S=E&&E[0];if(C+=d,S==null)return P(),0;if(me.type==="begin"&&E.type==="end"&&me.index===E.index&&S===""){if(C+=b.slice(E.index,E.index+1),!l){const O=new Error(`0 width match regex (${u})`);throw O.languageName=u,O.badRule=me.rule,O}return 1}if(me=E,E.type==="begin")return xn(E);if(E.type==="illegal"&&!T){const O=new Error('Illegal lexeme "'+S+'" for mode "'+(v.scope||"<unnamed>")+'"');throw O.mode=v,O}else if(E.type==="end"){const O=Ln(E);if(O!==rn)return O}if(E.type==="illegal"&&S==="")return 1;if(xe>1e5&&xe>E.index*3)throw new Error("potential infinite loop, way more iterations than matches");return C+=S,S.length}const X=z(u);if(!X)throw J(c.replace("{}",u)),new Error('Unknown language: "'+u+'"');const Cn=Ct(X);let Oe="",v=M||Cn;const Qe={},$=new r.__emitter(r);Dn();let C="",ye=0,V=0,xe=0,Le=!1;try{for(v.matcher.considerAll();;){xe++,Le?Le=!1:v.matcher.considerAll(),v.matcher.lastIndex=V;const d=v.matcher.exec(b);if(!d)break;const E=b.substring(V,d.index),S=Ze(E,d);V=d.index+S}return Ze(b.substring(V)),$.closeAllNodes(),$.finalize(),Oe=$.toHTML(),{language:u,value:Oe,relevance:ye,illegal:!1,_emitter:$,_top:v}}catch(d){if(d.message&&d.message.includes("Illegal"))return{language:u,value:De(b),illegal:!0,relevance:0,_illegalBy:{message:d.message,index:V,context:b.slice(V-100,V+100),mode:d.mode,resultSoFar:Oe},_emitter:$};if(l)return{language:u,value:De(b),illegal:!1,relevance:0,errorRaised:d,_emitter:$,_top:v};throw d}}function f(u){const b={value:De(u),illegal:!1,relevance:0,_top:i,_emitter:new r.__emitter(r)};return b._emitter.addText(u),b}function N(u,b){b=b||r.languages||Object.keys(n);const T=f(u),M=b.filter(z).filter(te).map(P=>_(P,u,!1));M.unshift(T);const I=M.sort((P,Q)=>{if(P.relevance!==Q.relevance)return Q.relevance-P.relevance;if(P.language&&Q.language){if(z(P.language).supersetOf===Q.language)return 1;if(z(Q.language).supersetOf===P.language)return-1}return 0}),[U,K]=I,Ee=U;return Ee.secondBest=K,Ee}function h(u,b,T){const M=b&&t[b]||T;u.classList.add("hljs"),u.classList.add(`language-${M}`)}function g(u){let b=null;const T=o(u);if(a(T))return;if(se("before:highlightElement",{el:u,language:T}),u.children.length>0&&(r.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(u)),r.throwUnescapedHTML))throw new $t("One of your code blocks includes unescaped HTML.",u.innerHTML);b=u;const M=b.textContent,I=T?p(M,{language:T,ignoreIllegals:!0}):N(M);u.innerHTML=I.value,h(u,T,I.language),u.result={language:I.language,re:I.relevance,relevance:I.relevance},I.secondBest&&(u.secondBest={language:I.secondBest.language,relevance:I.secondBest.relevance}),se("after:highlightElement",{el:u,result:I,text:M})}function A(u){r=sn(r,u)}const w=()=>{R(),re("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function x(){R(),re("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let y=!1;function R(){if(document.readyState==="loading"){y=!0;return}document.querySelectorAll(r.cssSelector).forEach(g)}function L(){y&&R()}typeof window<"u"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",L,!1);function D(u,b){let T=null;try{T=b(e)}catch(M){if(J("Language definition for '{}' could not be registered.".replace("{}",u)),l)J(M);else throw M;T=i}T.name||(T.name=u),n[u]=T,T.rawDefinition=b.bind(null,e),T.aliases&&ne(T.aliases,{languageName:u})}function k(u){delete n[u];for(const b of Object.keys(t))t[b]===u&&delete t[b]}function H(){return Object.keys(n)}function z(u){return u=(u||"").toLowerCase(),n[u]||n[t[u]]}function ne(u,{languageName:b}){typeof u=="string"&&(u=[u]),u.forEach(T=>{t[T.toLowerCase()]=b})}function te(u){const b=z(u);return b&&!b.disableAutodetect}function oe(u){u["before:highlightBlock"]&&!u["before:highlightElement"]&&(u["before:highlightElement"]=b=>{u["before:highlightBlock"](Object.assign({block:b.el},b))}),u["after:highlightBlock"]&&!u["after:highlightElement"]&&(u["after:highlightElement"]=b=>{u["after:highlightBlock"](Object.assign({block:b.el},b))})}function Re(u){oe(u),s.push(u)}function se(u,b){const T=u;s.forEach(function(M){M[T]&&M[T](b)})}function he(u){return re("10.7.0","highlightBlock will be removed entirely in v12.0"),re("10.7.0","Please use highlightElement now."),g(u)}Object.assign(e,{highlight:p,highlightAuto:N,highlightAll:R,highlightElement:g,highlightBlock:he,configure:A,initHighlighting:w,initHighlightingOnLoad:x,registerLanguage:D,unregisterLanguage:k,listLanguages:H,getLanguage:z,registerAliases:ne,autoDetection:te,inherit:sn,addPlugin:Re}),e.debugMode=function(){l=!1},e.safeMode=function(){l=!0},e.versionString=kt,e.regex={concat:ee,lookahead:_n,either:ze,optional:jn,anyNumberOfTimes:Xn};for(const u in ve)typeof ve[u]=="object"&&Ue.exports(ve[u]);return Object.assign(e,ve),e};var de=Ut({}),Pt=de;de.HighlightJS=de;de.default=de;const G=Pt;function Ht(e){const n=e.regex,t=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),s=/[\p{L}0-9._:-]+/u,l={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},c={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},i=e.inherit(c,{begin:/\(/,end:/\)/}),r=e.inherit(e.APOS_STRING_MODE,{className:"string"}),a=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),o={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:s,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[l]},{begin:/'/,end:/'/,contains:[l]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[c,a,r,i,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[c,i,a,r]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},l,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[a]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[o],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[o],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:n.concat(/</,n.lookahead(n.concat(t,n.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:o}]},{className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}const an="[A-Za-z$_][0-9A-Za-z$_]*",zt=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],Ft=["true","false","null","undefined","NaN","Infinity"],An=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Sn=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],wn=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Gt=["arguments","this","super","console","window","document","localStorage","module","global"],Kt=[].concat(wn,An,Sn);function Wt(e){const n=e.regex,t=(b,{after:T})=>{const M="</"+b[0].slice(1);return b.input.indexOf(M,T)!==-1},s=an,l={begin:"<>",end:"</>"},c=/<[A-Za-z0-9\\._:-]+\s*\/>/,i={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(b,T)=>{const M=b[0].length+b.index,I=b.input[M];if(I==="<"||I===","){T.ignoreMatch();return}I===">"&&(t(b,{after:M})||T.ignoreMatch());let U;const K=b.input.substring(M);if(U=K.match(/^\s*=/)){T.ignoreMatch();return}if((U=K.match(/^\s+extends\s+/))&&U.index===0){T.ignoreMatch();return}}},r={$pattern:an,keyword:zt,literal:Ft,built_in:Kt,"variable.language":Gt},a="[0-9](_?[0-9])*",o=`\\.(${a})`,p="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",_={className:"number",variants:[{begin:`(\\b(${p})((${o})|\\.)?|(${o}))[eE][+-]?(${a})\\b`},{begin:`\\b(${p})\\b((${o})\\b|\\.)?|(${o})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},f={className:"subst",begin:"\\$\\{",end:"\\}",keywords:r,contains:[]},N={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"xml"}},h={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"css"}},g={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,f]},w={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:s+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,N,h,g,{match:/\$\d+/},_];f.contains=x.concat({begin:/\{/,end:/\}/,keywords:r,contains:["self"].concat(x)});const y=[].concat(w,f.contains),R=y.concat([{begin:/\(/,end:/\)/,keywords:r,contains:["self"].concat(y)}]),L={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,contains:R},D={variants:[{match:[/class/,/\s+/,s,/\s+/,/extends/,/\s+/,n.concat(s,"(",n.concat(/\./,s),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,s],scope:{1:"keyword",3:"title.class"}}]},k={relevance:0,match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...An,...Sn]}},H={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},z={variants:[{match:[/function/,/\s+/,s,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[L],illegal:/%/},ne={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function te(b){return n.concat("(?!",b.join("|"),")")}const oe={match:n.concat(/\b/,te([...wn,"super","import"]),s,n.lookahead(/\(/)),className:"title.function",relevance:0},Re={begin:n.concat(/\./,n.lookahead(n.concat(s,/(?![0-9A-Za-z$_(])/))),end:s,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},se={match:[/get|set/,/\s+/,s,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},L]},he="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",u={match:[/const|var|let/,/\s+/,s,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(he)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[L]};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:r,exports:{PARAMS_CONTAINS:R,CLASS_REFERENCE:k},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),H,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,N,h,g,w,{match:/\$\d+/},_,k,{className:"attr",begin:s+n.lookahead(":"),relevance:0},u,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[w,e.REGEXP_MODE,{className:"function",begin:he,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,contains:R}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:l.begin,end:l.end},{match:c},{begin:i.begin,"on:begin":i.isTrulyOpeningTag,end:i.end}],subLanguage:"xml",contains:[{begin:i.begin,end:i.end,skip:!0,contains:["self"]}]}]},z,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[L,e.inherit(e.TITLE_MODE,{begin:s,className:"title.function"})]},{match:/\.\.\./,relevance:0},Re,{match:"\\$"+s,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[L]},oe,ne,D,se,{match:/\$[(.]/}]}}function qt(e){const n={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},t={match:/[{}[\],:]/,className:"punctuation",relevance:0},s=["true","false","null"],l={scope:"literal",beginKeywords:s.join(" ")};return{name:"JSON",keywords:{literal:s},contains:[n,t,e.QUOTE_STRING_MODE,l,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function Yt(e){const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ ]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ ]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ ]|$)"}]},l={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},c={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,l]},i=e.inherit(c,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),r="[0-9]{4}(-[0-9][0-9]){0,2}",a="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",o="(\\.[0-9]*)?",p="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",_={className:"number",begin:"\\b"+r+a+o+p+"\\b"},f={end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},N={begin:/\{/,end:/\}/,contains:[f],illegal:"\\n",relevance:0},h={begin:"\\[",end:"\\]",contains:[f],illegal:"\\n",relevance:0},g=[s,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type",begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},_,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},N,h,c],A=[...g];return A.pop(),A.push(i),f.contains=A,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:g}}function Zt(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function Qt(e){const n=e.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,s=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],r={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:s,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},a={className:"meta",begin:/^(>>>|\.\.\.) /},o={className:"subst",begin:/\{/,end:/\}/,keywords:r,illegal:/#/},p={begin:/\{\{/,relevance:0},_={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,p,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,p,o]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,p,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,p,o]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},f="[0-9](_?[0-9])*",N=`(\\b(${f}))?\\.(${f})|\\b(${f})\\.`,h=`\\b|${s.join("|")}`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${f})|(${N}))[eE][+-]?(${f})[jJ]?(?=${h})`},{begin:`(${N})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${h})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${h})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${h})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${h})`},{begin:`\\b(${f})[jJ](?=${h})`}]},A={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:r,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},w={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,contains:["self",a,g,_,e.HASH_COMMENT_MODE]}]};return o.contains=[_,g,a],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:r,illegal:/(<\/|->|\?)|=>/,contains:[a,g,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},_,A,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[w]},{variants:[{match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,w,_]}]}}var ie="[0-9](_*[0-9])*",Ne=`\\.(${ie})`,Te="[0-9a-fA-F](_*[0-9a-fA-F])*",on={className:"number",variants:[{begin:`(\\b(${ie})((${Ne})|\\.)?|(${Ne}))[eE][+-]?(${ie})[fFdD]?\\b`},{begin:`\\b(${ie})((${Ne})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Ne})[fFdD]?\\b`},{begin:`\\b(${ie})[fFdD]\\b`},{begin:`\\b0[xX]((${Te})\\.?|(${Te})?\\.(${Te}))[pP][+-]?(${ie})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Te})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Mn(e,n,t){return t===-1?"":e.replace(n,s=>Mn(e,n,t-1))}function Xt(e){const n=e.regex,t="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",s=t+Mn("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),a={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},o={className:"meta",begin:"@"+t,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},p={className:"params",begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:a,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",3:"title.class"},contains:[p,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+s+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:a,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:[o,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,on,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},on,o]}}function jt(e){const n=e.regex,t={},s={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{className:"variable",variants:[{begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},s]});const l={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},c={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},i={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,l]};l.contains.push(i);const r={className:"",begin:/\\"/},a={className:"string",begin:/'/,end:/'/},o={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t]},p=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],_=e.SHEBANG({binary:`(${p.join("|")})`,relevance:10}),f={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},N=["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"],h=["true","false"],g={match:/(\/[a-z._-]+)+/},A=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],w=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias"],x=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],y=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:N,literal:h,built_in:[...A,...w,"set","shopt",...x,...y]},contains:[_,e.SHEBANG(),f,o,e.HASH_COMMENT_MODE,c,g,i,r,a,t]}}function Vt(e){const n=e.regex,t=e.COMMENT("--","$"),s={className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},l={begin:/"/,end:/"/,contains:[{begin:/""/}]},c=["true","false","unknown"],i=["double precision","large object","with timezone","without timezone"],r=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],a=["add","asc","collation","desc","final","first","last","view"],o=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],p=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],_=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],f=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],N=p,h=[...o,...a].filter(y=>!p.includes(y)),g={className:"variable",begin:/@[a-z0-9]+/},A={className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},w={begin:n.concat(/\b/,n.either(...N),/\s*\(/),relevance:0,keywords:{built_in:N}};function x(y,{exceptions:R,when:L}={}){const D=L;return R=R||[],y.map(k=>k.match(/\|\d+$/)||R.includes(k)?k:D(k)?`${k}|0`:k)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:x(h,{when:y=>y.length<3}),literal:c,type:r,built_in:_},contains:[{begin:n.either(...f),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:h.concat(f),literal:c,type:r}},{className:"type",begin:n.either(...i)},w,g,s,l,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,A]}}G.registerLanguage("xml",Ht);G.registerLanguage("javascript",Wt);G.registerLanguage("json",qt);G.registerLanguage("yaml",Yt);G.registerLanguage("plaintext",Zt);G.registerLanguage("python",Qt);G.registerLanguage("java",Xt);G.registerLanguage("bash",jt);G.registerLanguage("sql",Vt);var m=(e=>(e.EQUAL="equal",e.DELETE="removed",e.ADD="added",e.EMPTY="empty",e))(m||{});const q="<code-diff-modified>",Y="</code-diff-modified>",Jt=q.replace("<","&lt;").replace(">","&gt;"),es=Y.replace("<","&lt;").replace(">","&gt;"),ae=e=>e===void 0?m.EQUAL:e.added?m.ADD:e.removed?m.DELETE:m.EQUAL,we=(e,n,t="word")=>typeof e>"u"?n:typeof n>"u"?e:(t==="char"?Hn:Fn)(e,n).filter(l=>ae(l)!==m.DELETE).map(l=>ae(l)===m.ADD?`${q}${l.value}${Y}`:l.value).join(""),F=(e,n)=>{if(!n.match(new RegExp(`(${q}|${Y})`,"g")))return G.highlight(n,{language:e}).value;let s=n;const l=n.replace(new RegExp(`(${q}|${Y})`,"g"),""),c=document.createElement("div");c.innerHTML=G.highlight(l,{language:e}).value;let i=!1;const r=a=>{a.childNodes.forEach(o=>{if(o.nodeType===Node.ELEMENT_NODE&&r(o),o.nodeType===Node.TEXT_NODE){if(!o.textContent)return;let p=o.textContent,_="";for(i&&(_=_+q);p.length;){if(s.startsWith(q)){s=s.slice(q.length),_=_+q,i=!0;continue}if(s.startsWith(Y)){s=s.slice(Y.length),_=_+Y,i=!1;continue}const f=s.match(new RegExp(`(${q}|${Y})`)),N=f&&f.index?f.index:s.length,h=Math.min(N,p.length);_=_+s.substring(0,h),s=s.slice(h),p=p.slice(h)}i&&(_=_+Y),o.textContent=_}})};return r(c),c.innerHTML.replace(new RegExp(Jt,"g"),'<span class="x">').replace(new RegExp(es,"g"),"</span>")};function ns(e,n,t="plaintext",s="word",l=10){var N;const c=()=>({type:m.EMPTY}),i=(h,g,A)=>({type:h,num:g,code:A}),r=gn(e,n);let a=0,o=0,p=!1;const _=[];for(let h=0;h<r.length;h++){if(p){p=!1;continue}const[g,A]=[r[h],r[h+1]],[w,x]=[ae(g),ae(A)],y=g.value.replace(/\n$/,"").split(`
4
+ `);if(A===void 0){for(const L of y){let D=c(),k=c();const H=F(t,L);w===m.EQUAL&&(a++,o++,D=i(m.EQUAL,a,H),k=i(m.EQUAL,o,H)),w===m.DELETE&&(a++,D=i(m.DELETE,a,H),k=c()),w===m.ADD&&(o++,D=c(),k=i(m.ADD,o,H)),_.push({left:D,right:k})}break}if(w===m.EQUAL)for(const L of y){a++,o++;const D=F(t,L);_.push({left:i(m.EQUAL,a,D),right:i(m.EQUAL,o,D)})}const R=A.value.replace(/\n$/,"").split(`
5
+ `);if(w===m.DELETE){if(x===m.EQUAL)for(const L of y)a++,_.push({left:i(m.DELETE,a,F(t,L)),right:c()});if(x===m.ADD){p=!0;const L=Math.max(g.count,A.count);for(let D=0;D<L;D++){D<g.count&&a++,D<A.count&&o++;const[k,H]=[y[D],R[D]],z=y.length===R.length?we(H,k,s):k,ne=y.length===R.length?we(k,H,s):H,te=D<g.count?i(m.DELETE,a,F(t,z)):c(),oe=D<A.count?i(m.ADD,o,F(t,ne)):c();_.push({left:te,right:oe})}}}if(w===m.ADD)for(const L of y)o++,_.push({left:c(),right:i(m.ADD,o,F(t,L))})}if(e===n){for(let h=0;h<_.length;h++)_[h].fold=!1;return _}for(let h=0;h<_.length;h++){const g=_[h];if(g.left.type===m.DELETE||g.right.type===m.ADD){const[A,w]=[Math.max(h-l,0),Math.min(h+l+1,_.length)];for(let x=A;x<w;x++)_[x].fold=!1}g.fold===void 0&&(g.fold=!0)}const f=[];for(let h=0;h<_.length;h++){const g=_[h];if(g.fold===!1){f.push(g);continue}g.fold===!0&&((N=f[f.length-1])==null?void 0:N.fold)!==!0&&f.push(g)}return f}function ts(e,n,t="plaintext",s="word",l=2){var _;const c=gn(e,n);let i=0,r=0,a=!1;const o=[];for(let f=0;f<c.length;f++){if(a){a=!1;continue}const[N,h]=[c[f],c[f+1]],[g,A]=[ae(N),ae(h)],w=N.value.replace(/\n$/,"").split(`
6
+ `);if(h===void 0){for(const y of w){g===m.EQUAL&&(i++,r++),g===m.DELETE&&i++,g===m.ADD&&r++;const R=F(t,y);o.push({type:g,code:R,addNum:g===m.DELETE?void 0:r,delNum:g===m.ADD?void 0:i})}break}if(g===m.EQUAL)for(const y of w){i++,r++;const R=F(t,y);o.push({type:m.EQUAL,code:R,delNum:i,addNum:r})}const x=h.value.replace(/\n$/,"").split(`
7
+ `);if(g===m.DELETE)if(A===m.ADD&&w.length===x.length){for(let y=0;y<w.length;y++){const R=w[y],L=x[y];i++;const D=F(t,we(L,R,s));o.push({type:m.DELETE,code:D,delNum:i})}for(let y=0;y<x.length;y++){const R=w[y],L=x[y];r++;const D=F(t,we(R,L,s));o.push({type:m.ADD,code:D,addNum:r})}a=!0}else for(const y of w){i++;const R=F(t,y);o.push({type:m.DELETE,code:R,delNum:i})}if(g===m.ADD)for(const y of w){r++;const R=F(t,y);o.push({type:m.ADD,code:R,addNum:r})}}for(let f=0;f<o.length;f++){const N=o[f];if(N.type===m.DELETE||N.type===m.ADD){const[h,g]=[Math.max(f-l,0),Math.min(f+l+1,o.length)];for(let A=h;A<g;A++)o[A].fold=!1}N.fold===void 0&&(N.fold=!0)}if(e===n){for(let f=0;f<o.length;f++)o[f].fold=!1;return o}const p=[];for(let f=0;f<o.length;f++){const N=o[f];if(N.fold===!1){p.push(N);continue}N.fold===!0&&(f===0||((_=p[p.length-1])==null?void 0:_.fold)!==!0)&&p.push(N)}return p}const Ke={};Ke.props={line:{key:"line",required:!0,type:null}};Ke.setup=(e,n)=>({DiffType:m,getCodeMarker:s=>s===m.DELETE?"-":s===m.ADD?"+":""});var ss=function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.line.fold?t("tr",[t("td",{staticClass:"blob-num blob-num-empty empty-cell"},[e._v(" > ")]),t("td",{staticClass:"blob-num blob-num-empty empty-cell"},[e._v(" > ")]),t("td",{staticClass:"blob-code blob-code-empty empty-cell",attrs:{align:"left"}},[e._v(" ⋯ ")])]):t("tr",[t("td",{staticClass:"blob-num",class:{"blob-num-deletion":e.line.type===e.DiffType.DELETE,"blob-num-addition":e.line.type===e.DiffType.ADD,"blob-num-context":e.line.type===e.DiffType.EQUAL}},[e._v(" "+e._s(e.line.delNum)+" ")]),t("td",{staticClass:"blob-num",class:{"blob-num-deletion":e.line.type===e.DiffType.DELETE,"blob-num-addition":e.line.type===e.DiffType.ADD,"blob-num-context":e.line.type===e.DiffType.EQUAL}},[e._v(" "+e._s(e.line.addNum)+" ")]),t("td",{staticClass:"blob-code",class:{"blob-code-deletion":e.line.type===e.DiffType.DELETE,"blob-code-addition":e.line.type===e.DiffType.ADD,"blob-code-context":e.line.type===e.DiffType.EQUAL}},[t("span",{staticClass:"blob-code-inner blob-code-marker",attrs:{"data-code-marker":e.getCodeMarker(e.line.type)},domProps:{innerHTML:e._s(e.line.code)}})])])},rs=[];function be(e,n,t,s,l,c,i,r){var a=typeof e=="function"?e.options:e;n&&(a.render=n,a.staticRenderFns=t,a._compiled=!0),s&&(a.functional=!0),c&&(a._scopeId="data-v-"+c);var o;if(i?(o=function(f){f=f||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!f&&typeof __VUE_SSR_CONTEXT__<"u"&&(f=__VUE_SSR_CONTEXT__),l&&l.call(this,f),f&&f._registeredComponents&&f._registeredComponents.add(i)},a._ssrRegister=o):l&&(o=r?function(){l.call(this,(a.functional?this.parent:this).$root.$options.shadowRoot)}:l),o)if(a.functional){a._injectStyles=o;var p=a.render;a.render=function(N,h){return o.call(h),p(N,h)}}else{var _=a.beforeCreate;a.beforeCreate=_?[].concat(_,o):[o]}return{exports:e,options:a}}const cn={};var is=be(Ke,ss,rs,!1,as,null,null,null);function as(e){for(let n in cn)this[n]=cn[n]}const os=function(){return is.exports}(),ge={};ge.props={diffChange:{key:"diffChange",required:!0,type:null}};ge.setup=(e,n)=>({});ge.components=Object.assign({UnifiedLine:os},ge.components);var cs=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"file"},[t("table",{staticClass:"diff-table"},[t("tbody",e._l(e.diffChange,function(s,l){return t("UnifiedLine",{key:l,attrs:{line:s}})}),1)])])},ls=[];const ln={};var us=be(ge,cs,ls,!1,fs,null,null,null);function fs(e){for(let n in ln)this[n]=ln[n]}const ds=function(){return us.exports}(),We={};We.props={splitLine:{key:"splitLine",required:!0,type:null}};We.setup=(e,n)=>({DiffType:m,getCodeMarker:s=>s===m.DELETE?"-":s===m.ADD?"+":""});var gs=function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.splitLine.fold?t("tr",[t("td",{staticClass:"blob-num blob-num-empty empty-cell",attrs:{colspan:"1"}},[e._v(" > ")]),t("td",{staticClass:"blob-code blob-code-empty empty-cell",attrs:{colspan:"3",align:"left"}},[e._v(" ⋯ ")])]):t("tr",[e._l([e.splitLine.left,e.splitLine.right],function(s){return[s.type===e.DiffType.EMPTY?[t("td",{staticClass:"blob-num blob-num-empty empty-cell"}),t("td",{staticClass:"blob-code blob-code-empty empty-cell"})]:[t("td",{staticClass:"blob-num",class:{"blob-num-deletion":s.type===e.DiffType.DELETE,"blob-num-addition":s.type===e.DiffType.ADD,"blob-num-context":s.type===e.DiffType.EQUAL}},[e._v(" "+e._s(s.num)+" ")]),t("td",{staticClass:"blob-code",class:{"blob-code-deletion":s.type===e.DiffType.DELETE,"blob-code-addition":s.type===e.DiffType.ADD,"blob-code-context":s.type===e.DiffType.EQUAL}},[t("span",{staticClass:"blob-code-inner blob-code-marker",attrs:{"data-code-marker":e.getCodeMarker(s.type)},domProps:{innerHTML:e._s(s.code)}})])]]})],2)},ps=[];const un={};var _s=be(We,gs,ps,!1,bs,null,null,null);function bs(e){for(let n in un)this[n]=un[n]}const hs=function(){return _s.exports}(),pe={};pe.props={diffChange:{key:"diffChange",required:!0,type:null}};pe.setup=(e,n)=>({});pe.components=Object.assign({SplitLine:hs},pe.components);var Es=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"file"},[t("table",{staticClass:"file-diff-split diff-table"},[e._m(0),t("tbody",e._l(e.diffChange,function(s,l){return t("SplitLine",{key:l,attrs:{"split-line":s}})}),1)])])},ms=[function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("colgroup",[t("col",{attrs:{width:"44"}}),t("col"),t("col",{attrs:{width:"44"}}),t("col")])}];const fn={};var ys=be(pe,Es,ms,!1,vs,null,null,null);function vs(e){for(let n in fn)this[n]=fn[n]}const Ns=function(){return ys.exports}();const _e={};_e.props={newString:{key:"newString",required:!0,type:String},oldString:{key:"oldString",required:!0,type:String},language:{key:"language",required:!1,type:String,default:"plaintext"},context:{key:"context",required:!1,type:Number,default:10},diffStyle:{key:"diffStyle",required:!1,type:String,default:"word"},outputFormat:{key:"outputFormat",required:!1,type:String,default:"line-by-line"},trim:{key:"trim",required:!1,type:Boolean,default:!1},noDiffLineFeed:{key:"noDiffLineFeed",required:!1,type:Boolean,default:!1}};_e.setup=(e,n)=>{const t=e,s=ce.computed(()=>t.outputFormat==="line-by-line"),l=ce.computed(()=>{const r=t.trim?t.oldString.trim():t.oldString;return t.noDiffLineFeed?r.replace(/(\r\n)/g,`
8
+ `):r}),c=ce.computed(()=>{const r=t.trim?t.newString.trim():t.newString;return t.noDiffLineFeed?r.replace(/(\r\n)/g,`
9
+ `):r}),i=ce.computed(()=>s.value?ts(l.value,c.value,t.language,t.diffStyle,t.context):ns(l.value,c.value,t.language,t.diffStyle,t.context));return{isUnifiedViewer:s,diffChange:i}};_e.components=Object.assign({UnifiedViewer:ds,SplitViewer:Ns},_e.components);var Ts=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"code-diff-view"},[e.isUnifiedViewer?t("UnifiedViewer",{attrs:{"diff-change":e.diffChange}}):t("SplitViewer",{attrs:{"diff-change":e.diffChange}})],1)},As=[];const dn={};var Ss=be(_e,Ts,As,!1,ws,null,null,null);function ws(e){for(let n in dn)this[n]=dn[n]}const Rn=function(){return Ss.exports}(),Ms=e=>{e.component("CodeDiff",Rn)},Rs={install:Ms,hljs:G};exports.CodeDiff=Rn;exports.default=Rs;