@visulima/html 1.0.10 → 1.0.11
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/CHANGELOG.md +2 -0
- package/LICENSE.md +69 -116
- package/dist/index.js +1 -1
- package/dist/packem_shared/stripHtml-DQfmQ2o_.js +64 -0
- package/dist/strip.d.ts +60 -24
- package/dist/strip.js +1 -1
- package/package.json +1 -1
- package/dist/packem_shared/stripHtml-BuSkjEyH.js +0 -27
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
## @visulima/html [1.0.11](https://github.com/visulima/visulima/compare/@visulima/html@1.0.10...@visulima/html@1.0.11) (2026-09-07)
|
|
2
|
+
|
|
1
3
|
## @visulima/html [1.0.10](https://github.com/visulima/visulima/compare/@visulima/html@1.0.9...@visulima/html@1.0.10) (2026-09-06)
|
|
2
4
|
|
|
3
5
|
## @visulima/html [1.0.9](https://github.com/visulima/visulima/compare/@visulima/html@1.0.8...@visulima/html@1.0.9) (2026-09-03)
|
package/LICENSE.md
CHANGED
|
@@ -53,6 +53,36 @@ MIT
|
|
|
53
53
|
|
|
54
54
|
---------------------------------------
|
|
55
55
|
|
|
56
|
+
## codsen-format-diagnostic-value
|
|
57
|
+
License: MIT
|
|
58
|
+
By: Roy Revelt
|
|
59
|
+
Repository: git+https://github.com/codsen/codsen.git
|
|
60
|
+
|
|
61
|
+
> MIT License
|
|
62
|
+
>
|
|
63
|
+
> Copyright © 2010-2026 Roy Revelt and other contributors
|
|
64
|
+
>
|
|
65
|
+
> Permission is hereby granted, free of charge, to any person obtaining
|
|
66
|
+
> a copy of this software and associated documentation files (the
|
|
67
|
+
> "Software"), to deal in the Software without restriction, including
|
|
68
|
+
> without limitation the rights to use, copy, modify, merge, publish,
|
|
69
|
+
> distribute, sublicense, and/or sell copies of the Software, and to
|
|
70
|
+
> permit persons to whom the Software is furnished to do so, subject to
|
|
71
|
+
> the following conditions:
|
|
72
|
+
>
|
|
73
|
+
> The above copyright notice and this permission notice shall be
|
|
74
|
+
> included in all copies or substantial portions of the Software.
|
|
75
|
+
>
|
|
76
|
+
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
77
|
+
> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
78
|
+
> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
79
|
+
> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
80
|
+
> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
81
|
+
> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
82
|
+
> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
83
|
+
|
|
84
|
+
---------------------------------------
|
|
85
|
+
|
|
56
86
|
## codsen-utils
|
|
57
87
|
License: MIT
|
|
58
88
|
By: Roy Revelt
|
|
@@ -60,7 +90,7 @@ Repository: git+https://github.com/codsen/codsen.git
|
|
|
60
90
|
|
|
61
91
|
> MIT License
|
|
62
92
|
>
|
|
63
|
-
> Copyright © 2010-
|
|
93
|
+
> Copyright © 2010-2026 Roy Revelt and other contributors
|
|
64
94
|
>
|
|
65
95
|
> Permission is hereby granted, free of charge, to any person obtaining
|
|
66
96
|
> a copy of this software and associated documentation files (the
|
|
@@ -110,27 +140,40 @@ Repository: https://github.com/mdevils/html-entities.git
|
|
|
110
140
|
|
|
111
141
|
---------------------------------------
|
|
112
142
|
|
|
113
|
-
## html-
|
|
143
|
+
## html-entity-codec
|
|
114
144
|
License: MIT
|
|
115
|
-
By:
|
|
116
|
-
Repository:
|
|
145
|
+
By: Roy Revelt
|
|
146
|
+
Repository: git+https://github.com/codsen/codsen.git
|
|
117
147
|
|
|
118
148
|
> MIT License
|
|
119
149
|
>
|
|
120
|
-
> Copyright
|
|
150
|
+
> Copyright © 2010-2026 Roy Revelt and other contributors
|
|
121
151
|
>
|
|
122
|
-
> Permission is hereby granted, free of charge, to any person obtaining
|
|
152
|
+
> Permission is hereby granted, free of charge, to any person obtaining
|
|
153
|
+
> a copy of this software and associated documentation files (the
|
|
154
|
+
> "Software"), to deal in the Software without restriction, including
|
|
155
|
+
> without limitation the rights to use, copy, modify, merge, publish,
|
|
156
|
+
> distribute, sublicense, and/or sell copies of the Software, and to
|
|
157
|
+
> permit persons to whom the Software is furnished to do so, subject to
|
|
158
|
+
> the following conditions:
|
|
123
159
|
>
|
|
124
|
-
> The above copyright notice and this permission notice shall be
|
|
160
|
+
> The above copyright notice and this permission notice shall be
|
|
161
|
+
> included in all copies or substantial portions of the Software.
|
|
125
162
|
>
|
|
126
|
-
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
163
|
+
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
164
|
+
> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
165
|
+
> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
166
|
+
> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
167
|
+
> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
168
|
+
> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
169
|
+
> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
127
170
|
|
|
128
171
|
---------------------------------------
|
|
129
172
|
|
|
130
|
-
##
|
|
173
|
+
## html-tags
|
|
131
174
|
License: MIT
|
|
132
175
|
By: Sindre Sorhus
|
|
133
|
-
Repository: sindresorhus/
|
|
176
|
+
Repository: sindresorhus/html-tags
|
|
134
177
|
|
|
135
178
|
> MIT License
|
|
136
179
|
>
|
|
@@ -144,58 +187,20 @@ Repository: sindresorhus/is-html
|
|
|
144
187
|
|
|
145
188
|
---------------------------------------
|
|
146
189
|
|
|
147
|
-
##
|
|
190
|
+
## is-html
|
|
148
191
|
License: MIT
|
|
149
|
-
By:
|
|
150
|
-
Repository:
|
|
192
|
+
By: Sindre Sorhus
|
|
193
|
+
Repository: sindresorhus/is-html
|
|
151
194
|
|
|
152
|
-
>
|
|
153
|
-
>
|
|
154
|
-
> Based on Underscore.js, copyright Jeremy Ashkenas,
|
|
155
|
-
> DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
|
|
156
|
-
>
|
|
157
|
-
> This software consists of voluntary contributions made by many
|
|
158
|
-
> individuals. For exact contribution history, see the revision history
|
|
159
|
-
> available at https://github.com/lodash/lodash
|
|
160
|
-
>
|
|
161
|
-
> The following license applies to all parts of this software except as
|
|
162
|
-
> documented below:
|
|
163
|
-
>
|
|
164
|
-
> ====
|
|
165
|
-
>
|
|
166
|
-
> Permission is hereby granted, free of charge, to any person obtaining
|
|
167
|
-
> a copy of this software and associated documentation files (the
|
|
168
|
-
> "Software"), to deal in the Software without restriction, including
|
|
169
|
-
> without limitation the rights to use, copy, modify, merge, publish,
|
|
170
|
-
> distribute, sublicense, and/or sell copies of the Software, and to
|
|
171
|
-
> permit persons to whom the Software is furnished to do so, subject to
|
|
172
|
-
> the following conditions:
|
|
173
|
-
>
|
|
174
|
-
> The above copyright notice and this permission notice shall be
|
|
175
|
-
> included in all copies or substantial portions of the Software.
|
|
176
|
-
>
|
|
177
|
-
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
178
|
-
> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
179
|
-
> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
180
|
-
> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
181
|
-
> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
182
|
-
> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
183
|
-
> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
184
|
-
>
|
|
185
|
-
> ====
|
|
195
|
+
> MIT License
|
|
186
196
|
>
|
|
187
|
-
> Copyright
|
|
188
|
-
> code is defined as all source code displayed within the prose of the
|
|
189
|
-
> documentation.
|
|
197
|
+
> Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
|
190
198
|
>
|
|
191
|
-
>
|
|
199
|
+
> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
192
200
|
>
|
|
193
|
-
>
|
|
201
|
+
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
194
202
|
>
|
|
195
|
-
>
|
|
196
|
-
> maintained libraries used by this software which have their own
|
|
197
|
-
> licenses; we recommend you read them, as their terms may differ from the
|
|
198
|
-
> terms above.
|
|
203
|
+
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
199
204
|
|
|
200
205
|
---------------------------------------
|
|
201
206
|
|
|
@@ -206,7 +211,7 @@ Repository: git+https://github.com/codsen/codsen.git
|
|
|
206
211
|
|
|
207
212
|
> MIT License
|
|
208
213
|
>
|
|
209
|
-
> Copyright © 2010-
|
|
214
|
+
> Copyright © 2010-2026 Roy Revelt and other contributors
|
|
210
215
|
>
|
|
211
216
|
> Permission is hereby granted, free of charge, to any person obtaining
|
|
212
217
|
> a copy of this software and associated documentation files (the
|
|
@@ -236,7 +241,7 @@ Repository: git+https://github.com/codsen/codsen.git
|
|
|
236
241
|
|
|
237
242
|
> MIT License
|
|
238
243
|
>
|
|
239
|
-
> Copyright © 2010-
|
|
244
|
+
> Copyright © 2010-2026 Roy Revelt and other contributors
|
|
240
245
|
>
|
|
241
246
|
> Permission is hereby granted, free of charge, to any person obtaining
|
|
242
247
|
> a copy of this software and associated documentation files (the
|
|
@@ -266,7 +271,7 @@ Repository: git+https://github.com/codsen/codsen.git
|
|
|
266
271
|
|
|
267
272
|
> MIT License
|
|
268
273
|
>
|
|
269
|
-
> Copyright © 2010-
|
|
274
|
+
> Copyright © 2010-2026 Roy Revelt and other contributors
|
|
270
275
|
>
|
|
271
276
|
> Permission is hereby granted, free of charge, to any person obtaining
|
|
272
277
|
> a copy of this software and associated documentation files (the
|
|
@@ -296,7 +301,7 @@ Repository: git+https://github.com/codsen/codsen.git
|
|
|
296
301
|
|
|
297
302
|
> MIT License
|
|
298
303
|
>
|
|
299
|
-
> Copyright © 2010-
|
|
304
|
+
> Copyright © 2010-2026 Roy Revelt and other contributors
|
|
300
305
|
>
|
|
301
306
|
> Permission is hereby granted, free of charge, to any person obtaining
|
|
302
307
|
> a copy of this software and associated documentation files (the
|
|
@@ -319,29 +324,6 @@ Repository: git+https://github.com/codsen/codsen.git
|
|
|
319
324
|
|
|
320
325
|
---------------------------------------
|
|
321
326
|
|
|
322
|
-
## rfdc
|
|
323
|
-
License: MIT
|
|
324
|
-
By: David Mark Clements
|
|
325
|
-
Repository: git+https://github.com/davidmarkclements/rfdc.git
|
|
326
|
-
|
|
327
|
-
> Copyright 2019 "David Mark Clements <david.mark.clements@gmail.com>"
|
|
328
|
-
>
|
|
329
|
-
> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
330
|
-
> documentation files (the "Software"), to deal in the Software without restriction, including without limitation
|
|
331
|
-
> the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
|
|
332
|
-
> to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
333
|
-
>
|
|
334
|
-
> The above copyright notice and this permission notice shall be included in all copies or substantial portions
|
|
335
|
-
> of the Software.
|
|
336
|
-
>
|
|
337
|
-
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
|
338
|
-
> TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
339
|
-
> THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
|
340
|
-
> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
341
|
-
> IN THE SOFTWARE.
|
|
342
|
-
|
|
343
|
-
---------------------------------------
|
|
344
|
-
|
|
345
327
|
## string-collapse-leading-whitespace
|
|
346
328
|
License: MIT
|
|
347
329
|
By: Roy Revelt
|
|
@@ -349,7 +331,7 @@ Repository: git+https://github.com/codsen/codsen.git
|
|
|
349
331
|
|
|
350
332
|
> MIT License
|
|
351
333
|
>
|
|
352
|
-
> Copyright © 2010-
|
|
334
|
+
> Copyright © 2010-2026 Roy Revelt and other contributors
|
|
353
335
|
>
|
|
354
336
|
> Permission is hereby granted, free of charge, to any person obtaining
|
|
355
337
|
> a copy of this software and associated documentation files (the
|
|
@@ -379,7 +361,7 @@ Repository: git+https://github.com/codsen/codsen.git
|
|
|
379
361
|
|
|
380
362
|
> MIT License
|
|
381
363
|
>
|
|
382
|
-
> Copyright © 2010-
|
|
364
|
+
> Copyright © 2010-2026 Roy Revelt and other contributors
|
|
383
365
|
>
|
|
384
366
|
> Permission is hereby granted, free of charge, to any person obtaining
|
|
385
367
|
> a copy of this software and associated documentation files (the
|
|
@@ -409,7 +391,7 @@ Repository: git+https://github.com/codsen/codsen.git
|
|
|
409
391
|
|
|
410
392
|
> MIT License
|
|
411
393
|
>
|
|
412
|
-
> Copyright © 2010-
|
|
394
|
+
> Copyright © 2010-2026 Roy Revelt and other contributors
|
|
413
395
|
>
|
|
414
396
|
> Permission is hereby granted, free of charge, to any person obtaining
|
|
415
397
|
> a copy of this software and associated documentation files (the
|
|
@@ -430,35 +412,6 @@ Repository: git+https://github.com/codsen/codsen.git
|
|
|
430
412
|
> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
431
413
|
> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
432
414
|
|
|
433
|
-
---------------------------------------
|
|
434
|
-
|
|
435
|
-
## tiny-invariant
|
|
436
|
-
License: MIT
|
|
437
|
-
By: Alex Reardon
|
|
438
|
-
Repository: https://github.com/alexreardon/tiny-invariant.git
|
|
439
|
-
|
|
440
|
-
> MIT License
|
|
441
|
-
>
|
|
442
|
-
> Copyright (c) 2019 Alexander Reardon
|
|
443
|
-
>
|
|
444
|
-
> Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
445
|
-
> of this software and associated documentation files (the "Software"), to deal
|
|
446
|
-
> in the Software without restriction, including without limitation the rights
|
|
447
|
-
> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
448
|
-
> copies of the Software, and to permit persons to whom the Software is
|
|
449
|
-
> furnished to do so, subject to the following conditions:
|
|
450
|
-
>
|
|
451
|
-
> The above copyright notice and this permission notice shall be included in all
|
|
452
|
-
> copies or substantial portions of the Software.
|
|
453
|
-
>
|
|
454
|
-
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
455
|
-
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
456
|
-
> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
457
|
-
> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
458
|
-
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
459
|
-
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
460
|
-
> SOFTWARE.
|
|
461
|
-
|
|
462
415
|
<!-- /DEPENDENCIES -->
|
|
463
416
|
|
|
464
417
|
<!-- TYPE_DEPENDENCIES -->
|
|
@@ -536,7 +489,7 @@ Repository: git+https://github.com/codsen/codsen.git
|
|
|
536
489
|
|
|
537
490
|
> MIT License
|
|
538
491
|
>
|
|
539
|
-
> Copyright © 2010-
|
|
492
|
+
> Copyright © 2010-2026 Roy Revelt and other contributors
|
|
540
493
|
>
|
|
541
494
|
> Permission is hereby granted, free of charge, to any person obtaining
|
|
542
495
|
> a copy of this software and associated documentation files (the
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as s}from"./css.js";import{default as o}from"./packem_shared/escapeHtml-DdDA6jFA.js";import{default as r,isRawHtml as l}from"./html.js";import{escapeCss as p,escapeJs as d,isValidCustomElementName as i}from"./packem_shared/escapeCss-ConRqRhX.js";import{decode as x,decodeEntity as c,encode as H}from"./packem_shared/decode-DCH9idAU.js";import{default as g}from"./packem_shared/isHtml-CGcABjbZ.js";import{default as C}from"sanitize-html";import{stripHtml as T,defaults as v}from"./packem_shared/stripHtml-
|
|
1
|
+
import{default as s}from"./css.js";import{default as o}from"./packem_shared/escapeHtml-DdDA6jFA.js";import{default as r,isRawHtml as l}from"./html.js";import{escapeCss as p,escapeJs as d,isValidCustomElementName as i}from"./packem_shared/escapeCss-ConRqRhX.js";import{decode as x,decodeEntity as c,encode as H}from"./packem_shared/decode-DCH9idAU.js";import{default as g}from"./packem_shared/isHtml-CGcABjbZ.js";import{default as C}from"sanitize-html";import{stripHtml as T,defaults as v}from"./packem_shared/stripHtml-DQfmQ2o_.js";import{default as y}from"./packem_shared/htmlTags-UYjNTyAz.js";import{default as D}from"./packem_shared/voidHtmlTags-CXk_Wk2G.js";export{s as css,x as decode,c as decodeEntity,H as encode,p as escapeCss,o as escapeHtml,d as escapeJs,r as html,y as htmlTags,g as isHtml,l as isRawHtml,i as isValidCustomElementName,C as sanitizeHtml,T as stripHtml,v as stripHtmlDefaultOptions,D as voidHtmlTags};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name codsen-format-diagnostic-value
|
|
3
|
+
* @fileoverview Safely format untrusted JavaScript values for diagnostics
|
|
4
|
+
* @version 1.1.1
|
|
5
|
+
* @author Roy Revelt
|
|
6
|
+
* @license MIT
|
|
7
|
+
* {@link https://codsen.com/os/codsen-format-diagnostic-value/}
|
|
8
|
+
*/function Sr(){let e=[],t=0,n=!1;return{append(s){return n?!1:t+s.length>1999?(e.push("…"),t+=1,n=!0,!1):(e.push(s),t+=s.length,!0)},result(){return e.join("")},stopped(){return n}}}function Lr(e){return`\\u${e.toString(16).padStart(4,"0")}`}function be(e,t){if(e.append('"')){for(let n=0;n<t.length&&!e.stopped();n+=1){let s=t.charCodeAt(n);s===34?e.append('\\"'):s===92?e.append("\\\\"):s===8?e.append("\\b"):s===9?e.append("\\t"):s===10?e.append("\\n"):s===12?e.append("\\f"):s===13?e.append("\\r"):s<32||s===8232||s===8233||s>=55296&&s<=57343?e.append(Lr(s)):e.append(t[n])}e.append('"')}}function $r(e){return e.get&&e.set?"[Getter/Setter]":e.get?"[Getter]":e.set?"[Setter]":"[Accessor]"}function vr(e,t){e.append("Symbol(");let n=String(t);n.length>8&&be(e,n.slice(7,-1)),e.append(")")}function sr(e,t){typeof t=="symbol"?vr(e,t):be(e,String(t))}function w(e,t=0){let n=Sr(),s=t===4?4:0,l=new WeakSet,i=0;function r(f){s&&n.append(" ".repeat(f*s))}function o(f,u){f&&n.append(","),s&&(n.append(`
|
|
9
|
+
`),r(u+1))}function c(f,u,k){s&&u&&(n.append(`
|
|
10
|
+
`),r(k)),n.append(f)}function m(f,u){Object.prototype.hasOwnProperty.call(f,"value")?q(f.value,u):n.append($r(f))}function p(f,u){let k;try{k=Reflect.getOwnPropertyDescriptor(f,"length")}catch{n.append("[Uninspectable]");return}let O=k?.value;if(!Number.isSafeInteger(O)||O<0){n.append("[Uninspectable]");return}n.append("[");let D=!1;for(let S=0;S<O&&!n.stopped();S+=1){if(o(D,u),D=!0,i>=50){n.append("[MaxEntries]");break}i+=1;let R;try{R=Reflect.getOwnPropertyDescriptor(f,String(S))}catch{n.append("[Uninspectable]");continue}R?.enumerable?m(R,u+1):n.append("[Empty]")}c("]",D,u)}function A(f,u){let k;try{k=Reflect.ownKeys(f)}catch{n.append("[Uninspectable]");return}n.append("{");let O=!1;for(let D of k){if(n.stopped())break;if(i>=50){o(O,u),O=!0,be(n,"…"),n.append(s?": ":":"),n.append("[MaxEntries]");break}i+=1;let S;try{S=Reflect.getOwnPropertyDescriptor(f,D)}catch{o(O,u),O=!0,sr(n,D),n.append(s?": ":":"),n.append("[Uninspectable]");continue}S?.enumerable&&(o(O,u),O=!0,sr(n,D),n.append(s?": ":":"),m(S,u+1))}c("}",O,u)}function T(f,u){if(l.has(f)){n.append("[Circular]");return}if(u>=5){n.append("[MaxDepth]");return}let k;try{k=Array.isArray(f)}catch{n.append("[Uninspectable]");return}l.add(f);try{k?p(f,u):A(f,u)}finally{l.delete(f)}}function q(f,u){f===null?n.append("null"):typeof f=="string"?be(n,f):typeof f=="number"?n.append(Object.is(f,-0)?"-0":String(f)):typeof f=="boolean"?n.append(f?"true":"false"):typeof f>"u"?n.append("undefined"):typeof f=="bigint"?n.append(`${f}n`):typeof f=="symbol"?vr(n,f):typeof f=="function"?n.append("[Function]"):T(f,u)}try{return q(e,0),n.result()}catch{return"[Uninspectable]"}}var Dr=["_16_0_a_0_4_0_5_m_1_u_1_cp_4_b_e_4_7_0_1_0_3l_4_1_1_2_3_1_0_6_0_1_2_1_0_1_j_1_2a_1_3u_8_4l_1_11_2_0_","6_14_1z_q_4_3_19_16_z_1_1_2q_1_0_f_1_7_1_a_2_2_0_g_0_1_t_t_2g_b_0_o_w_9_1_4_0_5_l_4_0_9_0_3_0_n_o_7_","a_5_n_1_6_g_15_1m_1h_3_0_i_0_7_9_f_f_4_7_2_1_2_l_1_6_1_0_3_3_3_0_g_0_d_1_1_2_e_1_a_0_8_5_4_1_2_l_1_6","_1_1_1_1_1_1_v_3_1_0_j_2_g_8_1_2_1_l_1_6_1_1_1_4_3_0_i_0_f_1_n_0_b_7_2_1_2_l_1_6_1_1_1_4_3_0_u_1_1_2","_f_0_h_0_1_5_3_2_1_3_3_1_1_0_1_1_3_1_3_2_3_b_m_0_1g_7_1_2_1_m_1_f_3_0_q_2_1_1_2_1_u_0_4_7_1_2_1_m_1_","9_1_4_3_0_u_2_1_1_f_1_h_8_1_2_1_14_2_0_g_0_5_2_8_2_o_5_5_h_3_n_1_8_1_0_2_6_1m_1b_1_1_c_6_1m_1_1_0_1_","4_1_n_1_0_1_9_1_1_9_0_2_4_1_0_l_3_w_0_1r_7_1_z_r_4_37_16_k_0_g_5_4_3_3_0_3_1_7_2_4_c_c_0_h_11_1_0_5_","0_2_16_1_98_1_3_2_6_1_0_1_3_2_14_1_3_2_w_1_3_2_6_1_0_1_3_2_e_1_1k_1_3_2_1u_11_f_g_2d_2_5_3_h7_2_g_1_","p_5_22_6_7_7_h_d_i_e_h_e_c_1_2_f_1f_z_0_4_0_1v_2g_7_4_2_x_1_0_5_1x_a_u_1d_t_2_4_b_17_4_p_1i_m_9_1g_2","a_0_2l_1a_h_7_1i_t_d_1_a_17_q_z_15_2_a_z_2_a_5_16_2_2_15_3_1_5_1_1_3_0_5_5b_1s_7p_2_5_2_11_2_5_2_7_1","_0_1_0_1_0_1_u_2_1g_1_6_1_0_3_2_1_6_3_3_2_5_4_c_5_2_1_6_38_0_d_0_g_c_2t_0_4_0_2_9_1_0_3_4_6_0_1_0_1_","0_1_3_1_a_2_3_5_4_4_0_1g_1_22j_6c_6_3_3_1_c_11_1_0_5_0_2_1j_7_0_g_m_9_6_1_6_1_6_1_6_1_6_1_6_1_6_1_6_","28_0_d1_1_16_4_5_1_4_2d_6_2_1_2h_1_3_5_16_1_2l_h_v_1c_f_e8_533_1s_h3g_1v_19_2_7g_3_f_a_1_k_1a_g_u_2_","1x_1d_8_2_2u_2_29_k_g_1_2_1_3_1_m_t_1f_e_1d_1q_5_3_0_1_1_b_r_a_m_p_s_7_1a_s_0_g_4_1_9_a_4_1_14_n_2_1","_7_k_m_3_0_3_1d_1_0_3_1_2_4_2_0_1_0_o_2_2_a_7_2_c_5_2_5_2_5_9_6_1_6_1_16_1_d_6_36_t_8mb_c_m_4_1c_6is","_a5_2_2x_12_6_c_4_5_0_1_9_1_c_1_4_1_0_1_1_1_1_1_2z_x_a2_i_1r_2_1h_14_b_38_4_1_3q_10_p_6_p_b_2g_3_5_2","_5_2_5_2_2_z_b_1_p_1_i_1_1_1_e_2_d_y_3e_at_s_3_1c_1b_v_d_j_1_7_6_11_a_t_2_z_4_7_1c_4d_i_z_4_z_4_13_8","_1f_c_a_1_e_1_6_1_1_1_a_1_e_1_6_1_1_3_1f_c_8m_9_l_a_7_o_5_1_15_1_8_1x_5_2_0_1_17_1_1_3_0_2_m_a_m_9_u","_1t_i_1_1_a_l_a_p_6_p_12_1j_6_1_1s_0_f_3_1_2_1_s_16_s_3_s_z_7_1_r_r_1h_a_l_a_i_d_h_32_20_1j_1e_d_1e_","d_z_12_r_9_m_6y_15_6_1_g_5_1k_s_a_0_8_l_16_h_1a_k_r_m_c_1g_1l_1_2_0_d_18_w_o_q_z_t_0_2_0_8_y_3_0_c_1","b_e_3_l_0_1_0_z_h_1_o_j_1_1r_6_1_0_1_3_1_e_1_9_7_1a_12_7_2_1_2_l_1_6_1_1_1_4_3_0_i_0_c_4_u_9_1_0_2_0","_1_11_1_0_p_0_1_0_18_1g_i_3_k_2_u_1b_k_1_1_0_54_1a_15_3_10_1b_k_0_1n_16_d_0_1z_q_11_6_55_17_38_1r_v_","7_2_0_2_7_1_1_1_n_f_0_1_0_2m_7_2_12_g_0_1_0_s_0_a_13_7_0_l_0_b_19_j_0_i_20_5j_w_v_8_1_10_h_0_1d_t_34","_6_1_1_1_11_l_0_p_5_1_1_1_v_e_0_n_17_78_i_f_0_1_c_1_x_3g_0_27_pl_6e_5f_218_2o_f_tr_h_5_p_32y_5_g6_5a","1_t_1cy_fs_7_u_h_26_h_t_i_1b_g_3_v_k_5_i_c0_18_5v_1r_w_o_2_o_18_22_5_0_1u_c_1s_1_1_0_e_1_c_5p1_15_v_","2p_36_6pp_3_1_6_1_1_1_82_f_0_t_2_2_0_e_3_8_az_1s4_2y_5_c_3_8_7_9_4me_2c_1_1y_1_1_2_0_2_1_2_3_1_b_1_0","_1_6_1_1s_1_3_2_7_1_6_1_r_1_3_1_4_1_0_3_6_1_9f_2_o_1_o_1_u_1_o_1_u_1_o_1_u_1_o_1_u_1_o_1_7_1f8_u_6_5","_79_1p_42_18_a_6_g_0_8x_t_i_17_dg_r_6c_t_2_0_5r_u_1_2_1_1_1_6_2_4_9_1_68_6_1_3_1_1_1_e_1_5g_1n_1v_7_","0_xg_3_1_q_1_1_1_0_2_0_1_9_1_3_1_0_1_0_6_0_4_0_1_0_1_0_1_2_1_1_1_0_2_0_1_0_1_0_1_0_1_0_1_1_1_0_2_3_1","_6_1_3_1_3_1_0_1_9_1_g_5_2_1_4_1_g_3es_wyn_w_3dp_2_4gd_2_5rk_f_h9_1wi_f1_15u_3t6_5_6jt"].join(""),Ie=Dr.slice(1).split("_"),ir=127;for(let e=0;e<Ie.length;e+=2)ir=ir+1+Number.parseInt(Ie[e],36)+Number.parseInt(Ie[e+1],36);var Rr=Object.prototype.hasOwnProperty,wr=Function.prototype.toString,Br=wr.call(Object);Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength")?.get;Object.getOwnPropertyDescriptor(RegExp.prototype,"flags")?.get;Object.getOwnPropertyDescriptor(RegExp.prototype,"global")?.get;Object.getOwnPropertyDescriptor(RegExp.prototype,"source")?.get;function pe(e){if(e==null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);if(t===null||t===Object.prototype)return!0;let n=Object.getOwnPropertyDescriptor(t,"constructor");return!n||!("value"in n)||typeof n.value!="function"?!1:Object.getOwnPropertyDescriptor(n.value,"prototype")?.value===t&&wr.call(n.value)===Br}function Z(e){return typeof e=="string"}function Ar(e){return Number.isFinite(e)}function ve(e){return Number.isSafeInteger(e)&&e>=0}function lr(e,t){if(!e||!t)return e;let n=!0;for(let o=t.length;o--;)if(t.charCodeAt(o)>127){n=!1;break}if(n){let o=0,c=e.length;if(t.length===1){let m=t.charCodeAt(0);for(;o<c&&e.charCodeAt(o)===m;)o++;for(;c>o&&e.charCodeAt(c-1)===m;)c--}else{for(;o<c&&t.includes(e[o]);)o++;for(;c>o&&t.includes(e[c-1]);)c--}return o===0&&c===e.length?e:e.slice(o,c)}let s=Array.from(e),l=new Set(t),i=0,r=s.length;for(;i<r&&l.has(s[i]);)i++;for(;r>i&&l.has(s[r-1]);)r--;return i===0&&r===s.length?e:s.slice(i,r).join("")}function Nr(e=[],t=[]){if(!e||!Array.isArray(e)||!e.length)return[];if(!t||!Array.isArray(t)||!t.length)return e.slice();if(e.length*t.length<400)return e.filter(s=>!t.includes(s));let n=new Set(t);return e.filter(s=>!n.has(s))}function Me(e){return e!=null}function Ir(e,t){return e!=null&&Rr.call(e,t)}var or={AElig:"Æ","AElig;":"Æ",AMP:"&","AMP;":"&",Aacute:"Á","Aacute;":"Á","Abreve;":"Ă",Acirc:"Â","Acirc;":"Â","Acy;":"А","Afr;":"𝔄",Agrave:"À","Agrave;":"À","Alpha;":"Α","Amacr;":"Ā","And;":"⩓","Aogon;":"Ą","Aopf;":"𝔸","ApplyFunction;":"",Aring:"Å","Aring;":"Å","Ascr;":"𝒜","Assign;":"≔",Atilde:"Ã","Atilde;":"Ã",Auml:"Ä","Auml;":"Ä","Backslash;":"∖","Barv;":"⫧","Barwed;":"⌆","Bcy;":"Б","Because;":"∵","Bernoullis;":"ℬ","Beta;":"Β","Bfr;":"𝔅","Bopf;":"𝔹","Breve;":"˘","Bscr;":"ℬ","Bumpeq;":"≎","CHcy;":"Ч",COPY:"©","COPY;":"©","Cacute;":"Ć","Cap;":"⋒","CapitalDifferentialD;":"ⅅ","Cayleys;":"ℭ","Ccaron;":"Č",Ccedil:"Ç","Ccedil;":"Ç","Ccirc;":"Ĉ","Cconint;":"∰","Cdot;":"Ċ","Cedilla;":"¸","CenterDot;":"·","Cfr;":"ℭ","Chi;":"Χ","CircleDot;":"⊙","CircleMinus;":"⊖","CirclePlus;":"⊕","CircleTimes;":"⊗","ClockwiseContourIntegral;":"∲","CloseCurlyDoubleQuote;":"”","CloseCurlyQuote;":"’","Colon;":"∷","Colone;":"⩴","Congruent;":"≡","Conint;":"∯","ContourIntegral;":"∮","Copf;":"ℂ","Coproduct;":"∐","CounterClockwiseContourIntegral;":"∳","Cross;":"⨯","Cscr;":"𝒞","Cup;":"⋓","CupCap;":"≍","DD;":"ⅅ","DDotrahd;":"⤑","DJcy;":"Ђ","DScy;":"Ѕ","DZcy;":"Џ","Dagger;":"‡","Darr;":"↡","Dashv;":"⫤","Dcaron;":"Ď","Dcy;":"Д","Del;":"∇","Delta;":"Δ","Dfr;":"𝔇","DiacriticalAcute;":"´","DiacriticalDot;":"˙","DiacriticalDoubleAcute;":"˝","DiacriticalGrave;":"`","DiacriticalTilde;":"˜","Diamond;":"⋄","DifferentialD;":"ⅆ","Dopf;":"𝔻","Dot;":"¨","DotDot;":"⃜","DotEqual;":"≐","DoubleContourIntegral;":"∯","DoubleDot;":"¨","DoubleDownArrow;":"⇓","DoubleLeftArrow;":"⇐","DoubleLeftRightArrow;":"⇔","DoubleLeftTee;":"⫤","DoubleLongLeftArrow;":"⟸","DoubleLongLeftRightArrow;":"⟺","DoubleLongRightArrow;":"⟹","DoubleRightArrow;":"⇒","DoubleRightTee;":"⊨","DoubleUpArrow;":"⇑","DoubleUpDownArrow;":"⇕","DoubleVerticalBar;":"∥","DownArrow;":"↓","DownArrowBar;":"⤓","DownArrowUpArrow;":"⇵","DownBreve;":"̑","DownLeftRightVector;":"⥐","DownLeftTeeVector;":"⥞","DownLeftVector;":"↽","DownLeftVectorBar;":"⥖","DownRightTeeVector;":"⥟","DownRightVector;":"⇁","DownRightVectorBar;":"⥗","DownTee;":"⊤","DownTeeArrow;":"↧","Downarrow;":"⇓","Dscr;":"𝒟","Dstrok;":"Đ","ENG;":"Ŋ",ETH:"Ð","ETH;":"Ð",Eacute:"É","Eacute;":"É","Ecaron;":"Ě",Ecirc:"Ê","Ecirc;":"Ê","Ecy;":"Э","Edot;":"Ė","Efr;":"𝔈",Egrave:"È","Egrave;":"È","Element;":"∈","Emacr;":"Ē","EmptySmallSquare;":"◻","EmptyVerySmallSquare;":"▫","Eogon;":"Ę","Eopf;":"𝔼","Epsilon;":"Ε","Equal;":"⩵","EqualTilde;":"≂","Equilibrium;":"⇌","Escr;":"ℰ","Esim;":"⩳","Eta;":"Η",Euml:"Ë","Euml;":"Ë","Exists;":"∃","ExponentialE;":"ⅇ","Fcy;":"Ф","Ffr;":"𝔉","FilledSmallSquare;":"◼","FilledVerySmallSquare;":"▪","Fopf;":"𝔽","ForAll;":"∀","Fouriertrf;":"ℱ","Fscr;":"ℱ","GJcy;":"Ѓ",GT:">","GT;":">","Gamma;":"Γ","Gammad;":"Ϝ","Gbreve;":"Ğ","Gcedil;":"Ģ","Gcirc;":"Ĝ","Gcy;":"Г","Gdot;":"Ġ","Gfr;":"𝔊","Gg;":"⋙","Gopf;":"𝔾","GreaterEqual;":"≥","GreaterEqualLess;":"⋛","GreaterFullEqual;":"≧","GreaterGreater;":"⪢","GreaterLess;":"≷","GreaterSlantEqual;":"⩾","GreaterTilde;":"≳","Gscr;":"𝒢","Gt;":"≫","HARDcy;":"Ъ","Hacek;":"ˇ","Hat;":"^","Hcirc;":"Ĥ","Hfr;":"ℌ","HilbertSpace;":"ℋ","Hopf;":"ℍ","HorizontalLine;":"─","Hscr;":"ℋ","Hstrok;":"Ħ","HumpDownHump;":"≎","HumpEqual;":"≏","IEcy;":"Е","IJlig;":"IJ","IOcy;":"Ё",Iacute:"Í","Iacute;":"Í",Icirc:"Î","Icirc;":"Î","Icy;":"И","Idot;":"İ","Ifr;":"ℑ",Igrave:"Ì","Igrave;":"Ì","Im;":"ℑ","Imacr;":"Ī","ImaginaryI;":"ⅈ","Implies;":"⇒","Int;":"∬","Integral;":"∫","Intersection;":"⋂","InvisibleComma;":"","InvisibleTimes;":"","Iogon;":"Į","Iopf;":"𝕀","Iota;":"Ι","Iscr;":"ℐ","Itilde;":"Ĩ","Iukcy;":"І",Iuml:"Ï","Iuml;":"Ï","Jcirc;":"Ĵ","Jcy;":"Й","Jfr;":"𝔍","Jopf;":"𝕁","Jscr;":"𝒥","Jsercy;":"Ј","Jukcy;":"Є","KHcy;":"Х","KJcy;":"Ќ","Kappa;":"Κ","Kcedil;":"Ķ","Kcy;":"К","Kfr;":"𝔎","Kopf;":"𝕂","Kscr;":"𝒦","LJcy;":"Љ",LT:"<","LT;":"<","Lacute;":"Ĺ","Lambda;":"Λ","Lang;":"⟪","Laplacetrf;":"ℒ","Larr;":"↞","Lcaron;":"Ľ","Lcedil;":"Ļ","Lcy;":"Л","LeftAngleBracket;":"⟨","LeftArrow;":"←","LeftArrowBar;":"⇤","LeftArrowRightArrow;":"⇆","LeftCeiling;":"⌈","LeftDoubleBracket;":"⟦","LeftDownTeeVector;":"⥡","LeftDownVector;":"⇃","LeftDownVectorBar;":"⥙","LeftFloor;":"⌊","LeftRightArrow;":"↔","LeftRightVector;":"⥎","LeftTee;":"⊣","LeftTeeArrow;":"↤","LeftTeeVector;":"⥚","LeftTriangle;":"⊲","LeftTriangleBar;":"⧏","LeftTriangleEqual;":"⊴","LeftUpDownVector;":"⥑","LeftUpTeeVector;":"⥠","LeftUpVector;":"↿","LeftUpVectorBar;":"⥘","LeftVector;":"↼","LeftVectorBar;":"⥒","Leftarrow;":"⇐","Leftrightarrow;":"⇔","LessEqualGreater;":"⋚","LessFullEqual;":"≦","LessGreater;":"≶","LessLess;":"⪡","LessSlantEqual;":"⩽","LessTilde;":"≲","Lfr;":"𝔏","Ll;":"⋘","Lleftarrow;":"⇚","Lmidot;":"Ŀ","LongLeftArrow;":"⟵","LongLeftRightArrow;":"⟷","LongRightArrow;":"⟶","Longleftarrow;":"⟸","Longleftrightarrow;":"⟺","Longrightarrow;":"⟹","Lopf;":"𝕃","LowerLeftArrow;":"↙","LowerRightArrow;":"↘","Lscr;":"ℒ","Lsh;":"↰","Lstrok;":"Ł","Lt;":"≪","Map;":"⤅","Mcy;":"М","MediumSpace;":" ","Mellintrf;":"ℳ","Mfr;":"𝔐","MinusPlus;":"∓","Mopf;":"𝕄","Mscr;":"ℳ","Mu;":"Μ","NJcy;":"Њ","Nacute;":"Ń","Ncaron;":"Ň","Ncedil;":"Ņ","Ncy;":"Н","NegativeMediumSpace;":"","NegativeThickSpace;":"","NegativeThinSpace;":"","NegativeVeryThinSpace;":"","NestedGreaterGreater;":"≫","NestedLessLess;":"≪","NewLine;":`
|
|
11
|
+
`,"Nfr;":"𝔑","NoBreak;":"","NonBreakingSpace;":" ","Nopf;":"ℕ","Not;":"⫬","NotCongruent;":"≢","NotCupCap;":"≭","NotDoubleVerticalBar;":"∦","NotElement;":"∉","NotEqual;":"≠","NotEqualTilde;":"≂̸","NotExists;":"∄","NotGreater;":"≯","NotGreaterEqual;":"≱","NotGreaterFullEqual;":"≧̸","NotGreaterGreater;":"≫̸","NotGreaterLess;":"≹","NotGreaterSlantEqual;":"⩾̸","NotGreaterTilde;":"≵","NotHumpDownHump;":"≎̸","NotHumpEqual;":"≏̸","NotLeftTriangle;":"⋪","NotLeftTriangleBar;":"⧏̸","NotLeftTriangleEqual;":"⋬","NotLess;":"≮","NotLessEqual;":"≰","NotLessGreater;":"≸","NotLessLess;":"≪̸","NotLessSlantEqual;":"⩽̸","NotLessTilde;":"≴","NotNestedGreaterGreater;":"⪢̸","NotNestedLessLess;":"⪡̸","NotPrecedes;":"⊀","NotPrecedesEqual;":"⪯̸","NotPrecedesSlantEqual;":"⋠","NotReverseElement;":"∌","NotRightTriangle;":"⋫","NotRightTriangleBar;":"⧐̸","NotRightTriangleEqual;":"⋭","NotSquareSubset;":"⊏̸","NotSquareSubsetEqual;":"⋢","NotSquareSuperset;":"⊐̸","NotSquareSupersetEqual;":"⋣","NotSubset;":"⊂⃒","NotSubsetEqual;":"⊈","NotSucceeds;":"⊁","NotSucceedsEqual;":"⪰̸","NotSucceedsSlantEqual;":"⋡","NotSucceedsTilde;":"≿̸","NotSuperset;":"⊃⃒","NotSupersetEqual;":"⊉","NotTilde;":"≁","NotTildeEqual;":"≄","NotTildeFullEqual;":"≇","NotTildeTilde;":"≉","NotVerticalBar;":"∤","Nscr;":"𝒩",Ntilde:"Ñ","Ntilde;":"Ñ","Nu;":"Ν","OElig;":"Œ",Oacute:"Ó","Oacute;":"Ó",Ocirc:"Ô","Ocirc;":"Ô","Ocy;":"О","Odblac;":"Ő","Ofr;":"𝔒",Ograve:"Ò","Ograve;":"Ò","Omacr;":"Ō","Omega;":"Ω","Omicron;":"Ο","Oopf;":"𝕆","OpenCurlyDoubleQuote;":"“","OpenCurlyQuote;":"‘","Or;":"⩔","Oscr;":"𝒪",Oslash:"Ø","Oslash;":"Ø",Otilde:"Õ","Otilde;":"Õ","Otimes;":"⨷",Ouml:"Ö","Ouml;":"Ö","OverBar;":"‾","OverBrace;":"⏞","OverBracket;":"⎴","OverParenthesis;":"⏜","PartialD;":"∂","Pcy;":"П","Pfr;":"𝔓","Phi;":"Φ","Pi;":"Π","PlusMinus;":"±","Poincareplane;":"ℌ","Popf;":"ℙ","Pr;":"⪻","Precedes;":"≺","PrecedesEqual;":"⪯","PrecedesSlantEqual;":"≼","PrecedesTilde;":"≾","Prime;":"″","Product;":"∏","Proportion;":"∷","Proportional;":"∝","Pscr;":"𝒫","Psi;":"Ψ",QUOT:'"',"QUOT;":'"',"Qfr;":"𝔔","Qopf;":"ℚ","Qscr;":"𝒬","RBarr;":"⤐",REG:"®","REG;":"®","Racute;":"Ŕ","Rang;":"⟫","Rarr;":"↠","Rarrtl;":"⤖","Rcaron;":"Ř","Rcedil;":"Ŗ","Rcy;":"Р","Re;":"ℜ","ReverseElement;":"∋","ReverseEquilibrium;":"⇋","ReverseUpEquilibrium;":"⥯","Rfr;":"ℜ","Rho;":"Ρ","RightAngleBracket;":"⟩","RightArrow;":"→","RightArrowBar;":"⇥","RightArrowLeftArrow;":"⇄","RightCeiling;":"⌉","RightDoubleBracket;":"⟧","RightDownTeeVector;":"⥝","RightDownVector;":"⇂","RightDownVectorBar;":"⥕","RightFloor;":"⌋","RightTee;":"⊢","RightTeeArrow;":"↦","RightTeeVector;":"⥛","RightTriangle;":"⊳","RightTriangleBar;":"⧐","RightTriangleEqual;":"⊵","RightUpDownVector;":"⥏","RightUpTeeVector;":"⥜","RightUpVector;":"↾","RightUpVectorBar;":"⥔","RightVector;":"⇀","RightVectorBar;":"⥓","Rightarrow;":"⇒","Ropf;":"ℝ","RoundImplies;":"⥰","Rrightarrow;":"⇛","Rscr;":"ℛ","Rsh;":"↱","RuleDelayed;":"⧴","SHCHcy;":"Щ","SHcy;":"Ш","SOFTcy;":"Ь","Sacute;":"Ś","Sc;":"⪼","Scaron;":"Š","Scedil;":"Ş","Scirc;":"Ŝ","Scy;":"С","Sfr;":"𝔖","ShortDownArrow;":"↓","ShortLeftArrow;":"←","ShortRightArrow;":"→","ShortUpArrow;":"↑","Sigma;":"Σ","SmallCircle;":"∘","Sopf;":"𝕊","Sqrt;":"√","Square;":"□","SquareIntersection;":"⊓","SquareSubset;":"⊏","SquareSubsetEqual;":"⊑","SquareSuperset;":"⊐","SquareSupersetEqual;":"⊒","SquareUnion;":"⊔","Sscr;":"𝒮","Star;":"⋆","Sub;":"⋐","Subset;":"⋐","SubsetEqual;":"⊆","Succeeds;":"≻","SucceedsEqual;":"⪰","SucceedsSlantEqual;":"≽","SucceedsTilde;":"≿","SuchThat;":"∋","Sum;":"∑","Sup;":"⋑","Superset;":"⊃","SupersetEqual;":"⊇","Supset;":"⋑",THORN:"Þ","THORN;":"Þ","TRADE;":"™","TSHcy;":"Ћ","TScy;":"Ц","Tab;":" ","Tau;":"Τ","Tcaron;":"Ť","Tcedil;":"Ţ","Tcy;":"Т","Tfr;":"𝔗","Therefore;":"∴","Theta;":"Θ","ThickSpace;":" ","ThinSpace;":" ","Tilde;":"∼","TildeEqual;":"≃","TildeFullEqual;":"≅","TildeTilde;":"≈","Topf;":"𝕋","TripleDot;":"⃛","Tscr;":"𝒯","Tstrok;":"Ŧ",Uacute:"Ú","Uacute;":"Ú","Uarr;":"↟","Uarrocir;":"⥉","Ubrcy;":"Ў","Ubreve;":"Ŭ",Ucirc:"Û","Ucirc;":"Û","Ucy;":"У","Udblac;":"Ű","Ufr;":"𝔘",Ugrave:"Ù","Ugrave;":"Ù","Umacr;":"Ū","UnderBar;":"_","UnderBrace;":"⏟","UnderBracket;":"⎵","UnderParenthesis;":"⏝","Union;":"⋃","UnionPlus;":"⊎","Uogon;":"Ų","Uopf;":"𝕌","UpArrow;":"↑","UpArrowBar;":"⤒","UpArrowDownArrow;":"⇅","UpDownArrow;":"↕","UpEquilibrium;":"⥮","UpTee;":"⊥","UpTeeArrow;":"↥","Uparrow;":"⇑","Updownarrow;":"⇕","UpperLeftArrow;":"↖","UpperRightArrow;":"↗","Upsi;":"ϒ","Upsilon;":"Υ","Uring;":"Ů","Uscr;":"𝒰","Utilde;":"Ũ",Uuml:"Ü","Uuml;":"Ü","VDash;":"⊫","Vbar;":"⫫","Vcy;":"В","Vdash;":"⊩","Vdashl;":"⫦","Vee;":"⋁","Verbar;":"‖","Vert;":"‖","VerticalBar;":"∣","VerticalLine;":"|","VerticalSeparator;":"❘","VerticalTilde;":"≀","VeryThinSpace;":" ","Vfr;":"𝔙","Vopf;":"𝕍","Vscr;":"𝒱","Vvdash;":"⊪","Wcirc;":"Ŵ","Wedge;":"⋀","Wfr;":"𝔚","Wopf;":"𝕎","Wscr;":"𝒲","Xfr;":"𝔛","Xi;":"Ξ","Xopf;":"𝕏","Xscr;":"𝒳","YAcy;":"Я","YIcy;":"Ї","YUcy;":"Ю",Yacute:"Ý","Yacute;":"Ý","Ycirc;":"Ŷ","Ycy;":"Ы","Yfr;":"𝔜","Yopf;":"𝕐","Yscr;":"𝒴","Yuml;":"Ÿ","ZHcy;":"Ж","Zacute;":"Ź","Zcaron;":"Ž","Zcy;":"З","Zdot;":"Ż","ZeroWidthSpace;":"","Zeta;":"Ζ","Zfr;":"ℨ","Zopf;":"ℤ","Zscr;":"𝒵",aacute:"á","aacute;":"á","abreve;":"ă","ac;":"∾","acE;":"∾̳","acd;":"∿",acirc:"â","acirc;":"â",acute:"´","acute;":"´","acy;":"а",aelig:"æ","aelig;":"æ","af;":"","afr;":"𝔞",agrave:"à","agrave;":"à","alefsym;":"ℵ","aleph;":"ℵ","alpha;":"α","amacr;":"ā","amalg;":"⨿",amp:"&","amp;":"&","and;":"∧","andand;":"⩕","andd;":"⩜","andslope;":"⩘","andv;":"⩚","ang;":"∠","ange;":"⦤","angle;":"∠","angmsd;":"∡","angmsdaa;":"⦨","angmsdab;":"⦩","angmsdac;":"⦪","angmsdad;":"⦫","angmsdae;":"⦬","angmsdaf;":"⦭","angmsdag;":"⦮","angmsdah;":"⦯","angrt;":"∟","angrtvb;":"⊾","angrtvbd;":"⦝","angsph;":"∢","angst;":"Å","angzarr;":"⍼","aogon;":"ą","aopf;":"𝕒","ap;":"≈","apE;":"⩰","apacir;":"⩯","ape;":"≊","apid;":"≋","apos;":"'","approx;":"≈","approxeq;":"≊",aring:"å","aring;":"å","ascr;":"𝒶","ast;":"*","asymp;":"≈","asympeq;":"≍",atilde:"ã","atilde;":"ã",auml:"ä","auml;":"ä","awconint;":"∳","awint;":"⨑","bNot;":"⫭","backcong;":"≌","backepsilon;":"϶","backprime;":"‵","backsim;":"∽","backsimeq;":"⋍","barvee;":"⊽","barwed;":"⌅","barwedge;":"⌅","bbrk;":"⎵","bbrktbrk;":"⎶","bcong;":"≌","bcy;":"б","bdquo;":"„","becaus;":"∵","because;":"∵","bemptyv;":"⦰","bepsi;":"϶","bernou;":"ℬ","beta;":"β","beth;":"ℶ","between;":"≬","bfr;":"𝔟","bigcap;":"⋂","bigcirc;":"◯","bigcup;":"⋃","bigodot;":"⨀","bigoplus;":"⨁","bigotimes;":"⨂","bigsqcup;":"⨆","bigstar;":"★","bigtriangledown;":"▽","bigtriangleup;":"△","biguplus;":"⨄","bigvee;":"⋁","bigwedge;":"⋀","bkarow;":"⤍","blacklozenge;":"⧫","blacksquare;":"▪","blacktriangle;":"▴","blacktriangledown;":"▾","blacktriangleleft;":"◂","blacktriangleright;":"▸","blank;":"␣","blk12;":"▒","blk14;":"░","blk34;":"▓","block;":"█","bne;":"=⃥","bnequiv;":"≡⃥","bnot;":"⌐","bopf;":"𝕓","bot;":"⊥","bottom;":"⊥","bowtie;":"⋈","boxDL;":"╗","boxDR;":"╔","boxDl;":"╖","boxDr;":"╓","boxH;":"═","boxHD;":"╦","boxHU;":"╩","boxHd;":"╤","boxHu;":"╧","boxUL;":"╝","boxUR;":"╚","boxUl;":"╜","boxUr;":"╙","boxV;":"║","boxVH;":"╬","boxVL;":"╣","boxVR;":"╠","boxVh;":"╫","boxVl;":"╢","boxVr;":"╟","boxbox;":"⧉","boxdL;":"╕","boxdR;":"╒","boxdl;":"┐","boxdr;":"┌","boxh;":"─","boxhD;":"╥","boxhU;":"╨","boxhd;":"┬","boxhu;":"┴","boxminus;":"⊟","boxplus;":"⊞","boxtimes;":"⊠","boxuL;":"╛","boxuR;":"╘","boxul;":"┘","boxur;":"└","boxv;":"│","boxvH;":"╪","boxvL;":"╡","boxvR;":"╞","boxvh;":"┼","boxvl;":"┤","boxvr;":"├","bprime;":"‵","breve;":"˘",brvbar:"¦","brvbar;":"¦","bscr;":"𝒷","bsemi;":"⁏","bsim;":"∽","bsime;":"⋍","bsol;":"\\","bsolb;":"⧅","bsolhsub;":"⟈","bull;":"•","bullet;":"•","bump;":"≎","bumpE;":"⪮","bumpe;":"≏","bumpeq;":"≏","cacute;":"ć","cap;":"∩","capand;":"⩄","capbrcup;":"⩉","capcap;":"⩋","capcup;":"⩇","capdot;":"⩀","caps;":"∩︀","caret;":"⁁","caron;":"ˇ","ccaps;":"⩍","ccaron;":"č",ccedil:"ç","ccedil;":"ç","ccirc;":"ĉ","ccups;":"⩌","ccupssm;":"⩐","cdot;":"ċ",cedil:"¸","cedil;":"¸","cemptyv;":"⦲",cent:"¢","cent;":"¢","centerdot;":"·","cfr;":"𝔠","chcy;":"ч","check;":"✓","checkmark;":"✓","chi;":"χ","cir;":"○","cirE;":"⧃","circ;":"ˆ","circeq;":"≗","circlearrowleft;":"↺","circlearrowright;":"↻","circledR;":"®","circledS;":"Ⓢ","circledast;":"⊛","circledcirc;":"⊚","circleddash;":"⊝","cire;":"≗","cirfnint;":"⨐","cirmid;":"⫯","cirscir;":"⧂","clubs;":"♣","clubsuit;":"♣","colon;":":","colone;":"≔","coloneq;":"≔","comma;":",","commat;":"@","comp;":"∁","compfn;":"∘","complement;":"∁","complexes;":"ℂ","cong;":"≅","congdot;":"⩭","conint;":"∮","copf;":"𝕔","coprod;":"∐",copy:"©","copy;":"©","copysr;":"℗","crarr;":"↵","cross;":"✗","cscr;":"𝒸","csub;":"⫏","csube;":"⫑","csup;":"⫐","csupe;":"⫒","ctdot;":"⋯","cudarrl;":"⤸","cudarrr;":"⤵","cuepr;":"⋞","cuesc;":"⋟","cularr;":"↶","cularrp;":"⤽","cup;":"∪","cupbrcap;":"⩈","cupcap;":"⩆","cupcup;":"⩊","cupdot;":"⊍","cupor;":"⩅","cups;":"∪︀","curarr;":"↷","curarrm;":"⤼","curlyeqprec;":"⋞","curlyeqsucc;":"⋟","curlyvee;":"⋎","curlywedge;":"⋏",curren:"¤","curren;":"¤","curvearrowleft;":"↶","curvearrowright;":"↷","cuvee;":"⋎","cuwed;":"⋏","cwconint;":"∲","cwint;":"∱","cylcty;":"⌭","dArr;":"⇓","dHar;":"⥥","dagger;":"†","daleth;":"ℸ","darr;":"↓","dash;":"‐","dashv;":"⊣","dbkarow;":"⤏","dblac;":"˝","dcaron;":"ď","dcy;":"д","dd;":"ⅆ","ddagger;":"‡","ddarr;":"⇊","ddotseq;":"⩷",deg:"°","deg;":"°","delta;":"δ","demptyv;":"⦱","dfisht;":"⥿","dfr;":"𝔡","dharl;":"⇃","dharr;":"⇂","diam;":"⋄","diamond;":"⋄","diamondsuit;":"♦","diams;":"♦","die;":"¨","digamma;":"ϝ","disin;":"⋲","div;":"÷",divide:"÷","divide;":"÷","divideontimes;":"⋇","divonx;":"⋇","djcy;":"ђ","dlcorn;":"⌞","dlcrop;":"⌍","dollar;":"$","dopf;":"𝕕","dot;":"˙","doteq;":"≐","doteqdot;":"≑","dotminus;":"∸","dotplus;":"∔","dotsquare;":"⊡","doublebarwedge;":"⌆","downarrow;":"↓","downdownarrows;":"⇊","downharpoonleft;":"⇃","downharpoonright;":"⇂","drbkarow;":"⤐","drcorn;":"⌟","drcrop;":"⌌","dscr;":"𝒹","dscy;":"ѕ","dsol;":"⧶","dstrok;":"đ","dtdot;":"⋱","dtri;":"▿","dtrif;":"▾","duarr;":"⇵","duhar;":"⥯","dwangle;":"⦦","dzcy;":"џ","dzigrarr;":"⟿","eDDot;":"⩷","eDot;":"≑",eacute:"é","eacute;":"é","easter;":"⩮","ecaron;":"ě","ecir;":"≖",ecirc:"ê","ecirc;":"ê","ecolon;":"≕","ecy;":"э","edot;":"ė","ee;":"ⅇ","efDot;":"≒","efr;":"𝔢","eg;":"⪚",egrave:"è","egrave;":"è","egs;":"⪖","egsdot;":"⪘","el;":"⪙","elinters;":"⏧","ell;":"ℓ","els;":"⪕","elsdot;":"⪗","emacr;":"ē","empty;":"∅","emptyset;":"∅","emptyv;":"∅","emsp13;":" ","emsp14;":" ","emsp;":" ","eng;":"ŋ","ensp;":" ","eogon;":"ę","eopf;":"𝕖","epar;":"⋕","eparsl;":"⧣","eplus;":"⩱","epsi;":"ε","epsilon;":"ε","epsiv;":"ϵ","eqcirc;":"≖","eqcolon;":"≕","eqsim;":"≂","eqslantgtr;":"⪖","eqslantless;":"⪕","equals;":"=","equest;":"≟","equiv;":"≡","equivDD;":"⩸","eqvparsl;":"⧥","erDot;":"≓","erarr;":"⥱","escr;":"ℯ","esdot;":"≐","esim;":"≂","eta;":"η",eth:"ð","eth;":"ð",euml:"ë","euml;":"ë","euro;":"€","excl;":"!","exist;":"∃","expectation;":"ℰ","exponentiale;":"ⅇ","fallingdotseq;":"≒","fcy;":"ф","female;":"♀","ffilig;":"ffi","fflig;":"ff","ffllig;":"ffl","ffr;":"𝔣","filig;":"fi","fjlig;":"fj","flat;":"♭","fllig;":"fl","fltns;":"▱","fnof;":"ƒ","fopf;":"𝕗","forall;":"∀","fork;":"⋔","forkv;":"⫙","fpartint;":"⨍",frac12:"½","frac12;":"½","frac13;":"⅓",frac14:"¼","frac14;":"¼","frac15;":"⅕","frac16;":"⅙","frac18;":"⅛","frac23;":"⅔","frac25;":"⅖",frac34:"¾","frac34;":"¾","frac35;":"⅗","frac38;":"⅜","frac45;":"⅘","frac56;":"⅚","frac58;":"⅝","frac78;":"⅞","frasl;":"⁄","frown;":"⌢","fscr;":"𝒻","gE;":"≧","gEl;":"⪌","gacute;":"ǵ","gamma;":"γ","gammad;":"ϝ","gap;":"⪆","gbreve;":"ğ","gcirc;":"ĝ","gcy;":"г","gdot;":"ġ","ge;":"≥","gel;":"⋛","geq;":"≥","geqq;":"≧","geqslant;":"⩾","ges;":"⩾","gescc;":"⪩","gesdot;":"⪀","gesdoto;":"⪂","gesdotol;":"⪄","gesl;":"⋛︀","gesles;":"⪔","gfr;":"𝔤","gg;":"≫","ggg;":"⋙","gimel;":"ℷ","gjcy;":"ѓ","gl;":"≷","glE;":"⪒","gla;":"⪥","glj;":"⪤","gnE;":"≩","gnap;":"⪊","gnapprox;":"⪊","gne;":"⪈","gneq;":"⪈","gneqq;":"≩","gnsim;":"⋧","gopf;":"𝕘","grave;":"`","gscr;":"ℊ","gsim;":"≳","gsime;":"⪎","gsiml;":"⪐",gt:">","gt;":">","gtcc;":"⪧","gtcir;":"⩺","gtdot;":"⋗","gtlPar;":"⦕","gtquest;":"⩼","gtrapprox;":"⪆","gtrarr;":"⥸","gtrdot;":"⋗","gtreqless;":"⋛","gtreqqless;":"⪌","gtrless;":"≷","gtrsim;":"≳","gvertneqq;":"≩︀","gvnE;":"≩︀","hArr;":"⇔","hairsp;":" ","half;":"½","hamilt;":"ℋ","hardcy;":"ъ","harr;":"↔","harrcir;":"⥈","harrw;":"↭","hbar;":"ℏ","hcirc;":"ĥ","hearts;":"♥","heartsuit;":"♥","hellip;":"…","hercon;":"⊹","hfr;":"𝔥","hksearow;":"⤥","hkswarow;":"⤦","hoarr;":"⇿","homtht;":"∻","hookleftarrow;":"↩","hookrightarrow;":"↪","hopf;":"𝕙","horbar;":"―","hscr;":"𝒽","hslash;":"ℏ","hstrok;":"ħ","hybull;":"⁃","hyphen;":"‐",iacute:"í","iacute;":"í","ic;":"",icirc:"î","icirc;":"î","icy;":"и","iecy;":"е",iexcl:"¡","iexcl;":"¡","iff;":"⇔","ifr;":"𝔦",igrave:"ì","igrave;":"ì","ii;":"ⅈ","iiiint;":"⨌","iiint;":"∭","iinfin;":"⧜","iiota;":"℩","ijlig;":"ij","imacr;":"ī","image;":"ℑ","imagline;":"ℐ","imagpart;":"ℑ","imath;":"ı","imof;":"⊷","imped;":"Ƶ","in;":"∈","incare;":"℅","infin;":"∞","infintie;":"⧝","inodot;":"ı","int;":"∫","intcal;":"⊺","integers;":"ℤ","intercal;":"⊺","intlarhk;":"⨗","intprod;":"⨼","iocy;":"ё","iogon;":"į","iopf;":"𝕚","iota;":"ι","iprod;":"⨼",iquest:"¿","iquest;":"¿","iscr;":"𝒾","isin;":"∈","isinE;":"⋹","isindot;":"⋵","isins;":"⋴","isinsv;":"⋳","isinv;":"∈","it;":"","itilde;":"ĩ","iukcy;":"і",iuml:"ï","iuml;":"ï","jcirc;":"ĵ","jcy;":"й","jfr;":"𝔧","jmath;":"ȷ","jopf;":"𝕛","jscr;":"𝒿","jsercy;":"ј","jukcy;":"є","kappa;":"κ","kappav;":"ϰ","kcedil;":"ķ","kcy;":"к","kfr;":"𝔨","kgreen;":"ĸ","khcy;":"х","kjcy;":"ќ","kopf;":"𝕜","kscr;":"𝓀","lAarr;":"⇚","lArr;":"⇐","lAtail;":"⤛","lBarr;":"⤎","lE;":"≦","lEg;":"⪋","lHar;":"⥢","lacute;":"ĺ","laemptyv;":"⦴","lagran;":"ℒ","lambda;":"λ","lang;":"⟨","langd;":"⦑","langle;":"⟨","lap;":"⪅",laquo:"«","laquo;":"«","larr;":"←","larrb;":"⇤","larrbfs;":"⤟","larrfs;":"⤝","larrhk;":"↩","larrlp;":"↫","larrpl;":"⤹","larrsim;":"⥳","larrtl;":"↢","lat;":"⪫","latail;":"⤙","late;":"⪭","lates;":"⪭︀","lbarr;":"⤌","lbbrk;":"❲","lbrace;":"{","lbrack;":"[","lbrke;":"⦋","lbrksld;":"⦏","lbrkslu;":"⦍","lcaron;":"ľ","lcedil;":"ļ","lceil;":"⌈","lcub;":"{","lcy;":"л","ldca;":"⤶","ldquo;":"“","ldquor;":"„","ldrdhar;":"⥧","ldrushar;":"⥋","ldsh;":"↲","le;":"≤","leftarrow;":"←","leftarrowtail;":"↢","leftharpoondown;":"↽","leftharpoonup;":"↼","leftleftarrows;":"⇇","leftrightarrow;":"↔","leftrightarrows;":"⇆","leftrightharpoons;":"⇋","leftrightsquigarrow;":"↭","leftthreetimes;":"⋋","leg;":"⋚","leq;":"≤","leqq;":"≦","leqslant;":"⩽","les;":"⩽","lescc;":"⪨","lesdot;":"⩿","lesdoto;":"⪁","lesdotor;":"⪃","lesg;":"⋚︀","lesges;":"⪓","lessapprox;":"⪅","lessdot;":"⋖","lesseqgtr;":"⋚","lesseqqgtr;":"⪋","lessgtr;":"≶","lesssim;":"≲","lfisht;":"⥼","lfloor;":"⌊","lfr;":"𝔩","lg;":"≶","lgE;":"⪑","lhard;":"↽","lharu;":"↼","lharul;":"⥪","lhblk;":"▄","ljcy;":"љ","ll;":"≪","llarr;":"⇇","llcorner;":"⌞","llhard;":"⥫","lltri;":"◺","lmidot;":"ŀ","lmoust;":"⎰","lmoustache;":"⎰","lnE;":"≨","lnap;":"⪉","lnapprox;":"⪉","lne;":"⪇","lneq;":"⪇","lneqq;":"≨","lnsim;":"⋦","loang;":"⟬","loarr;":"⇽","lobrk;":"⟦","longleftarrow;":"⟵","longleftrightarrow;":"⟷","longmapsto;":"⟼","longrightarrow;":"⟶","looparrowleft;":"↫","looparrowright;":"↬","lopar;":"⦅","lopf;":"𝕝","loplus;":"⨭","lotimes;":"⨴","lowast;":"∗","lowbar;":"_","loz;":"◊","lozenge;":"◊","lozf;":"⧫","lpar;":"(","lparlt;":"⦓","lrarr;":"⇆","lrcorner;":"⌟","lrhar;":"⇋","lrhard;":"⥭","lrm;":"","lrtri;":"⊿","lsaquo;":"‹","lscr;":"𝓁","lsh;":"↰","lsim;":"≲","lsime;":"⪍","lsimg;":"⪏","lsqb;":"[","lsquo;":"‘","lsquor;":"‚","lstrok;":"ł",lt:"<","lt;":"<","ltcc;":"⪦","ltcir;":"⩹","ltdot;":"⋖","lthree;":"⋋","ltimes;":"⋉","ltlarr;":"⥶","ltquest;":"⩻","ltrPar;":"⦖","ltri;":"◃","ltrie;":"⊴","ltrif;":"◂","lurdshar;":"⥊","luruhar;":"⥦","lvertneqq;":"≨︀","lvnE;":"≨︀","mDDot;":"∺",macr:"¯","macr;":"¯","male;":"♂","malt;":"✠","maltese;":"✠","map;":"↦","mapsto;":"↦","mapstodown;":"↧","mapstoleft;":"↤","mapstoup;":"↥","marker;":"▮","mcomma;":"⨩","mcy;":"м","mdash;":"—","measuredangle;":"∡","mfr;":"𝔪","mho;":"℧",micro:"µ","micro;":"µ","mid;":"∣","midast;":"*","midcir;":"⫰",middot:"·","middot;":"·","minus;":"−","minusb;":"⊟","minusd;":"∸","minusdu;":"⨪","mlcp;":"⫛","mldr;":"…","mnplus;":"∓","models;":"⊧","mopf;":"𝕞","mp;":"∓","mscr;":"𝓂","mstpos;":"∾","mu;":"μ","multimap;":"⊸","mumap;":"⊸","nGg;":"⋙̸","nGt;":"≫⃒","nGtv;":"≫̸","nLeftarrow;":"⇍","nLeftrightarrow;":"⇎","nLl;":"⋘̸","nLt;":"≪⃒","nLtv;":"≪̸","nRightarrow;":"⇏","nVDash;":"⊯","nVdash;":"⊮","nabla;":"∇","nacute;":"ń","nang;":"∠⃒","nap;":"≉","napE;":"⩰̸","napid;":"≋̸","napos;":"ʼn","napprox;":"≉","natur;":"♮","natural;":"♮","naturals;":"ℕ",nbsp:" ","nbsp;":" ","nbump;":"≎̸","nbumpe;":"≏̸","ncap;":"⩃","ncaron;":"ň","ncedil;":"ņ","ncong;":"≇","ncongdot;":"⩭̸","ncup;":"⩂","ncy;":"н","ndash;":"–","ne;":"≠","neArr;":"⇗","nearhk;":"⤤","nearr;":"↗","nearrow;":"↗","nedot;":"≐̸","nequiv;":"≢","nesear;":"⤨","nesim;":"≂̸","nexist;":"∄","nexists;":"∄","nfr;":"𝔫","ngE;":"≧̸","nge;":"≱","ngeq;":"≱","ngeqq;":"≧̸","ngeqslant;":"⩾̸","nges;":"⩾̸","ngsim;":"≵","ngt;":"≯","ngtr;":"≯","nhArr;":"⇎","nharr;":"↮","nhpar;":"⫲","ni;":"∋","nis;":"⋼","nisd;":"⋺","niv;":"∋","njcy;":"њ","nlArr;":"⇍","nlE;":"≦̸","nlarr;":"↚","nldr;":"‥","nle;":"≰","nleftarrow;":"↚","nleftrightarrow;":"↮","nleq;":"≰","nleqq;":"≦̸","nleqslant;":"⩽̸","nles;":"⩽̸","nless;":"≮","nlsim;":"≴","nlt;":"≮","nltri;":"⋪","nltrie;":"⋬","nmid;":"∤","nopf;":"𝕟",not:"¬","not;":"¬","notin;":"∉","notinE;":"⋹̸","notindot;":"⋵̸","notinva;":"∉","notinvb;":"⋷","notinvc;":"⋶","notni;":"∌","notniva;":"∌","notnivb;":"⋾","notnivc;":"⋽","npar;":"∦","nparallel;":"∦","nparsl;":"⫽⃥","npart;":"∂̸","npolint;":"⨔","npr;":"⊀","nprcue;":"⋠","npre;":"⪯̸","nprec;":"⊀","npreceq;":"⪯̸","nrArr;":"⇏","nrarr;":"↛","nrarrc;":"⤳̸","nrarrw;":"↝̸","nrightarrow;":"↛","nrtri;":"⋫","nrtrie;":"⋭","nsc;":"⊁","nsccue;":"⋡","nsce;":"⪰̸","nscr;":"𝓃","nshortmid;":"∤","nshortparallel;":"∦","nsim;":"≁","nsime;":"≄","nsimeq;":"≄","nsmid;":"∤","nspar;":"∦","nsqsube;":"⋢","nsqsupe;":"⋣","nsub;":"⊄","nsubE;":"⫅̸","nsube;":"⊈","nsubset;":"⊂⃒","nsubseteq;":"⊈","nsubseteqq;":"⫅̸","nsucc;":"⊁","nsucceq;":"⪰̸","nsup;":"⊅","nsupE;":"⫆̸","nsupe;":"⊉","nsupset;":"⊃⃒","nsupseteq;":"⊉","nsupseteqq;":"⫆̸","ntgl;":"≹",ntilde:"ñ","ntilde;":"ñ","ntlg;":"≸","ntriangleleft;":"⋪","ntrianglelefteq;":"⋬","ntriangleright;":"⋫","ntrianglerighteq;":"⋭","nu;":"ν","num;":"#","numero;":"№","numsp;":" ","nvDash;":"⊭","nvHarr;":"⤄","nvap;":"≍⃒","nvdash;":"⊬","nvge;":"≥⃒","nvgt;":">⃒","nvinfin;":"⧞","nvlArr;":"⤂","nvle;":"≤⃒","nvlt;":"<⃒","nvltrie;":"⊴⃒","nvrArr;":"⤃","nvrtrie;":"⊵⃒","nvsim;":"∼⃒","nwArr;":"⇖","nwarhk;":"⤣","nwarr;":"↖","nwarrow;":"↖","nwnear;":"⤧","oS;":"Ⓢ",oacute:"ó","oacute;":"ó","oast;":"⊛","ocir;":"⊚",ocirc:"ô","ocirc;":"ô","ocy;":"о","odash;":"⊝","odblac;":"ő","odiv;":"⨸","odot;":"⊙","odsold;":"⦼","oelig;":"œ","ofcir;":"⦿","ofr;":"𝔬","ogon;":"˛",ograve:"ò","ograve;":"ò","ogt;":"⧁","ohbar;":"⦵","ohm;":"Ω","oint;":"∮","olarr;":"↺","olcir;":"⦾","olcross;":"⦻","oline;":"‾","olt;":"⧀","omacr;":"ō","omega;":"ω","omicron;":"ο","omid;":"⦶","ominus;":"⊖","oopf;":"𝕠","opar;":"⦷","operp;":"⦹","oplus;":"⊕","or;":"∨","orarr;":"↻","ord;":"⩝","order;":"ℴ","orderof;":"ℴ",ordf:"ª","ordf;":"ª",ordm:"º","ordm;":"º","origof;":"⊶","oror;":"⩖","orslope;":"⩗","orv;":"⩛","oscr;":"ℴ",oslash:"ø","oslash;":"ø","osol;":"⊘",otilde:"õ","otilde;":"õ","otimes;":"⊗","otimesas;":"⨶",ouml:"ö","ouml;":"ö","ovbar;":"⌽","par;":"∥",para:"¶","para;":"¶","parallel;":"∥","parsim;":"⫳","parsl;":"⫽","part;":"∂","pcy;":"п","percnt;":"%","period;":".","permil;":"‰","perp;":"⊥","pertenk;":"‱","pfr;":"𝔭","phi;":"φ","phiv;":"ϕ","phmmat;":"ℳ","phone;":"☎","pi;":"π","pitchfork;":"⋔","piv;":"ϖ","planck;":"ℏ","planckh;":"ℎ","plankv;":"ℏ","plus;":"+","plusacir;":"⨣","plusb;":"⊞","pluscir;":"⨢","plusdo;":"∔","plusdu;":"⨥","pluse;":"⩲",plusmn:"±","plusmn;":"±","plussim;":"⨦","plustwo;":"⨧","pm;":"±","pointint;":"⨕","popf;":"𝕡",pound:"£","pound;":"£","pr;":"≺","prE;":"⪳","prap;":"⪷","prcue;":"≼","pre;":"⪯","prec;":"≺","precapprox;":"⪷","preccurlyeq;":"≼","preceq;":"⪯","precnapprox;":"⪹","precneqq;":"⪵","precnsim;":"⋨","precsim;":"≾","prime;":"′","primes;":"ℙ","prnE;":"⪵","prnap;":"⪹","prnsim;":"⋨","prod;":"∏","profalar;":"⌮","profline;":"⌒","profsurf;":"⌓","prop;":"∝","propto;":"∝","prsim;":"≾","prurel;":"⊰","pscr;":"𝓅","psi;":"ψ","puncsp;":" ","qfr;":"𝔮","qint;":"⨌","qopf;":"𝕢","qprime;":"⁗","qscr;":"𝓆","quaternions;":"ℍ","quatint;":"⨖","quest;":"?","questeq;":"≟",quot:'"',"quot;":'"',"rAarr;":"⇛","rArr;":"⇒","rAtail;":"⤜","rBarr;":"⤏","rHar;":"⥤","race;":"∽̱","racute;":"ŕ","radic;":"√","raemptyv;":"⦳","rang;":"⟩","rangd;":"⦒","range;":"⦥","rangle;":"⟩",raquo:"»","raquo;":"»","rarr;":"→","rarrap;":"⥵","rarrb;":"⇥","rarrbfs;":"⤠","rarrc;":"⤳","rarrfs;":"⤞","rarrhk;":"↪","rarrlp;":"↬","rarrpl;":"⥅","rarrsim;":"⥴","rarrtl;":"↣","rarrw;":"↝","ratail;":"⤚","ratio;":"∶","rationals;":"ℚ","rbarr;":"⤍","rbbrk;":"❳","rbrace;":"}","rbrack;":"]","rbrke;":"⦌","rbrksld;":"⦎","rbrkslu;":"⦐","rcaron;":"ř","rcedil;":"ŗ","rceil;":"⌉","rcub;":"}","rcy;":"р","rdca;":"⤷","rdldhar;":"⥩","rdquo;":"”","rdquor;":"”","rdsh;":"↳","real;":"ℜ","realine;":"ℛ","realpart;":"ℜ","reals;":"ℝ","rect;":"▭",reg:"®","reg;":"®","rfisht;":"⥽","rfloor;":"⌋","rfr;":"𝔯","rhard;":"⇁","rharu;":"⇀","rharul;":"⥬","rho;":"ρ","rhov;":"ϱ","rightarrow;":"→","rightarrowtail;":"↣","rightharpoondown;":"⇁","rightharpoonup;":"⇀","rightleftarrows;":"⇄","rightleftharpoons;":"⇌","rightrightarrows;":"⇉","rightsquigarrow;":"↝","rightthreetimes;":"⋌","ring;":"˚","risingdotseq;":"≓","rlarr;":"⇄","rlhar;":"⇌","rlm;":"","rmoust;":"⎱","rmoustache;":"⎱","rnmid;":"⫮","roang;":"⟭","roarr;":"⇾","robrk;":"⟧","ropar;":"⦆","ropf;":"𝕣","roplus;":"⨮","rotimes;":"⨵","rpar;":")","rpargt;":"⦔","rppolint;":"⨒","rrarr;":"⇉","rsaquo;":"›","rscr;":"𝓇","rsh;":"↱","rsqb;":"]","rsquo;":"’","rsquor;":"’","rthree;":"⋌","rtimes;":"⋊","rtri;":"▹","rtrie;":"⊵","rtrif;":"▸","rtriltri;":"⧎","ruluhar;":"⥨","rx;":"℞","sacute;":"ś","sbquo;":"‚","sc;":"≻","scE;":"⪴","scap;":"⪸","scaron;":"š","sccue;":"≽","sce;":"⪰","scedil;":"ş","scirc;":"ŝ","scnE;":"⪶","scnap;":"⪺","scnsim;":"⋩","scpolint;":"⨓","scsim;":"≿","scy;":"с","sdot;":"⋅","sdotb;":"⊡","sdote;":"⩦","seArr;":"⇘","searhk;":"⤥","searr;":"↘","searrow;":"↘",sect:"§","sect;":"§","semi;":";","seswar;":"⤩","setminus;":"∖","setmn;":"∖","sext;":"✶","sfr;":"𝔰","sfrown;":"⌢","sharp;":"♯","shchcy;":"щ","shcy;":"ш","shortmid;":"∣","shortparallel;":"∥",shy:"","shy;":"","sigma;":"σ","sigmaf;":"ς","sigmav;":"ς","sim;":"∼","simdot;":"⩪","sime;":"≃","simeq;":"≃","simg;":"⪞","simgE;":"⪠","siml;":"⪝","simlE;":"⪟","simne;":"≆","simplus;":"⨤","simrarr;":"⥲","slarr;":"←","smallsetminus;":"∖","smashp;":"⨳","smeparsl;":"⧤","smid;":"∣","smile;":"⌣","smt;":"⪪","smte;":"⪬","smtes;":"⪬︀","softcy;":"ь","sol;":"/","solb;":"⧄","solbar;":"⌿","sopf;":"𝕤","spades;":"♠","spadesuit;":"♠","spar;":"∥","sqcap;":"⊓","sqcaps;":"⊓︀","sqcup;":"⊔","sqcups;":"⊔︀","sqsub;":"⊏","sqsube;":"⊑","sqsubset;":"⊏","sqsubseteq;":"⊑","sqsup;":"⊐","sqsupe;":"⊒","sqsupset;":"⊐","sqsupseteq;":"⊒","squ;":"□","square;":"□","squarf;":"▪","squf;":"▪","srarr;":"→","sscr;":"𝓈","ssetmn;":"∖","ssmile;":"⌣","sstarf;":"⋆","star;":"☆","starf;":"★","straightepsilon;":"ϵ","straightphi;":"ϕ","strns;":"¯","sub;":"⊂","subE;":"⫅","subdot;":"⪽","sube;":"⊆","subedot;":"⫃","submult;":"⫁","subnE;":"⫋","subne;":"⊊","subplus;":"⪿","subrarr;":"⥹","subset;":"⊂","subseteq;":"⊆","subseteqq;":"⫅","subsetneq;":"⊊","subsetneqq;":"⫋","subsim;":"⫇","subsub;":"⫕","subsup;":"⫓","succ;":"≻","succapprox;":"⪸","succcurlyeq;":"≽","succeq;":"⪰","succnapprox;":"⪺","succneqq;":"⪶","succnsim;":"⋩","succsim;":"≿","sum;":"∑","sung;":"♪",sup1:"¹","sup1;":"¹",sup2:"²","sup2;":"²",sup3:"³","sup3;":"³","sup;":"⊃","supE;":"⫆","supdot;":"⪾","supdsub;":"⫘","supe;":"⊇","supedot;":"⫄","suphsol;":"⟉","suphsub;":"⫗","suplarr;":"⥻","supmult;":"⫂","supnE;":"⫌","supne;":"⊋","supplus;":"⫀","supset;":"⊃","supseteq;":"⊇","supseteqq;":"⫆","supsetneq;":"⊋","supsetneqq;":"⫌","supsim;":"⫈","supsub;":"⫔","supsup;":"⫖","swArr;":"⇙","swarhk;":"⤦","swarr;":"↙","swarrow;":"↙","swnwar;":"⤪",szlig:"ß","szlig;":"ß","target;":"⌖","tau;":"τ","tbrk;":"⎴","tcaron;":"ť","tcedil;":"ţ","tcy;":"т","tdot;":"⃛","telrec;":"⌕","tfr;":"𝔱","there4;":"∴","therefore;":"∴","theta;":"θ","thetasym;":"ϑ","thetav;":"ϑ","thickapprox;":"≈","thicksim;":"∼","thinsp;":" ","thkap;":"≈","thksim;":"∼",thorn:"þ","thorn;":"þ","tilde;":"˜",times:"×","times;":"×","timesb;":"⊠","timesbar;":"⨱","timesd;":"⨰","tint;":"∭","toea;":"⤨","top;":"⊤","topbot;":"⌶","topcir;":"⫱","topf;":"𝕥","topfork;":"⫚","tosa;":"⤩","tprime;":"‴","trade;":"™","triangle;":"▵","triangledown;":"▿","triangleleft;":"◃","trianglelefteq;":"⊴","triangleq;":"≜","triangleright;":"▹","trianglerighteq;":"⊵","tridot;":"◬","trie;":"≜","triminus;":"⨺","triplus;":"⨹","trisb;":"⧍","tritime;":"⨻","trpezium;":"⏢","tscr;":"𝓉","tscy;":"ц","tshcy;":"ћ","tstrok;":"ŧ","twixt;":"≬","twoheadleftarrow;":"↞","twoheadrightarrow;":"↠","uArr;":"⇑","uHar;":"⥣",uacute:"ú","uacute;":"ú","uarr;":"↑","ubrcy;":"ў","ubreve;":"ŭ",ucirc:"û","ucirc;":"û","ucy;":"у","udarr;":"⇅","udblac;":"ű","udhar;":"⥮","ufisht;":"⥾","ufr;":"𝔲",ugrave:"ù","ugrave;":"ù","uharl;":"↿","uharr;":"↾","uhblk;":"▀","ulcorn;":"⌜","ulcorner;":"⌜","ulcrop;":"⌏","ultri;":"◸","umacr;":"ū",uml:"¨","uml;":"¨","uogon;":"ų","uopf;":"𝕦","uparrow;":"↑","updownarrow;":"↕","upharpoonleft;":"↿","upharpoonright;":"↾","uplus;":"⊎","upsi;":"υ","upsih;":"ϒ","upsilon;":"υ","upuparrows;":"⇈","urcorn;":"⌝","urcorner;":"⌝","urcrop;":"⌎","uring;":"ů","urtri;":"◹","uscr;":"𝓊","utdot;":"⋰","utilde;":"ũ","utri;":"▵","utrif;":"▴","uuarr;":"⇈",uuml:"ü","uuml;":"ü","uwangle;":"⦧","vArr;":"⇕","vBar;":"⫨","vBarv;":"⫩","vDash;":"⊨","vangrt;":"⦜","varepsilon;":"ϵ","varkappa;":"ϰ","varnothing;":"∅","varphi;":"ϕ","varpi;":"ϖ","varpropto;":"∝","varr;":"↕","varrho;":"ϱ","varsigma;":"ς","varsubsetneq;":"⊊︀","varsubsetneqq;":"⫋︀","varsupsetneq;":"⊋︀","varsupsetneqq;":"⫌︀","vartheta;":"ϑ","vartriangleleft;":"⊲","vartriangleright;":"⊳","vcy;":"в","vdash;":"⊢","vee;":"∨","veebar;":"⊻","veeeq;":"≚","vellip;":"⋮","verbar;":"|","vert;":"|","vfr;":"𝔳","vltri;":"⊲","vnsub;":"⊂⃒","vnsup;":"⊃⃒","vopf;":"𝕧","vprop;":"∝","vrtri;":"⊳","vscr;":"𝓋","vsubnE;":"⫋︀","vsubne;":"⊊︀","vsupnE;":"⫌︀","vsupne;":"⊋︀","vzigzag;":"⦚","wcirc;":"ŵ","wedbar;":"⩟","wedge;":"∧","wedgeq;":"≙","weierp;":"℘","wfr;":"𝔴","wopf;":"𝕨","wp;":"℘","wr;":"≀","wreath;":"≀","wscr;":"𝓌","xcap;":"⋂","xcirc;":"◯","xcup;":"⋃","xdtri;":"▽","xfr;":"𝔵","xhArr;":"⟺","xharr;":"⟷","xi;":"ξ","xlArr;":"⟸","xlarr;":"⟵","xmap;":"⟼","xnis;":"⋻","xodot;":"⨀","xopf;":"𝕩","xoplus;":"⨁","xotime;":"⨂","xrArr;":"⟹","xrarr;":"⟶","xscr;":"𝓍","xsqcup;":"⨆","xuplus;":"⨄","xutri;":"△","xvee;":"⋁","xwedge;":"⋀",yacute:"ý","yacute;":"ý","yacy;":"я","ycirc;":"ŷ","ycy;":"ы",yen:"¥","yen;":"¥","yfr;":"𝔶","yicy;":"ї","yopf;":"𝕪","yscr;":"𝓎","yucy;":"ю",yuml:"ÿ","yuml;":"ÿ","zacute;":"ź","zcaron;":"ž","zcy;":"з","zdot;":"ż","zeetrf;":"ℨ","zeta;":"ζ","zfr;":"𝔷","zhcy;":"ж","zigrarr;":"⇝","zopf;":"𝕫","zscr;":"𝓏","zwj;":"","zwnj;":""},Hr=32,Pr={AE:["AElig"],AM:["AMP"],Aa:["Aacute"],Ab:[],Ac:["Acirc"],Af:[],Ag:["Agrave"],Al:[],Am:[],An:[],Ao:[],Ap:[],Ar:["Aring"],As:[],At:["Atilde"],Au:["Auml"],Ba:[],Bc:[],Be:[],Bf:[],Bo:[],Br:[],Bs:[],Bu:[],CH:[],CO:["COPY"],Ca:[],Cc:["Ccedil"],Cd:[],Ce:[],Cf:[],Ch:[],Ci:[],Cl:[],Co:[],Cr:[],Cs:[],Cu:[],DD:[],DJ:[],DS:[],DZ:[],Da:[],Dc:[],De:[],Df:[],Di:[],Do:[],Ds:[],EN:[],ET:["ETH"],Ea:["Eacute"],Ec:["Ecirc"],Ed:[],Ef:[],Eg:["Egrave"],El:[],Em:[],Eo:[],Ep:[],Eq:[],Es:[],Et:[],Eu:["Euml"],Ex:[],Fc:[],Ff:[],Fi:[],Fo:[],Fs:[],GJ:[],GT:["GT"],Ga:[],Gb:[],Gc:[],Gd:[],Gf:[],Gg:[],Go:[],Gr:[],Gs:[],Gt:[],HA:[],Ha:[],Hc:[],Hf:[],Hi:[],Ho:[],Hs:[],Hu:[],IE:[],IJ:[],IO:[],Ia:["Iacute"],Ic:["Icirc"],Id:[],If:[],Ig:["Igrave"],Im:[],In:[],Io:[],Is:[],It:[],Iu:["Iuml"],Jc:[],Jf:[],Jo:[],Js:[],Ju:[],KH:[],KJ:[],Ka:[],Kc:[],Kf:[],Ko:[],Ks:[],LJ:[],LT:["LT"],La:[],Lc:[],Le:[],Lf:[],Ll:[],Lm:[],Lo:[],Ls:[],Lt:[],Ma:[],Mc:[],Me:[],Mf:[],Mi:[],Mo:[],Ms:[],Mu:[],NJ:[],Na:[],Nc:[],Ne:[],Nf:[],No:[],Ns:[],Nt:["Ntilde"],Nu:[],OE:[],Oa:["Oacute"],Oc:["Ocirc"],Od:[],Of:[],Og:["Ograve"],Om:[],Oo:[],Op:[],Or:[],Os:["Oslash"],Ot:["Otilde"],Ou:["Ouml"],Ov:[],Pa:[],Pc:[],Pf:[],Ph:[],Pi:[],Pl:[],Po:[],Pr:[],Ps:[],QU:["QUOT"],Qf:[],Qo:[],Qs:[],RB:[],RE:["REG"],Ra:[],Rc:[],Re:[],Rf:[],Rh:[],Ri:[],Ro:[],Rr:[],Rs:[],Ru:[],SH:[],SO:[],Sa:[],Sc:[],Sf:[],Sh:[],Si:[],Sm:[],So:[],Sq:[],Ss:[],St:[],Su:[],TH:["THORN"],TR:[],TS:[],Ta:[],Tc:[],Tf:[],Th:[],Ti:[],To:[],Tr:[],Ts:[],Ua:["Uacute"],Ub:[],Uc:["Ucirc"],Ud:[],Uf:[],Ug:["Ugrave"],Um:[],Un:[],Uo:[],Up:[],Ur:[],Us:[],Ut:[],Uu:["Uuml"],VD:[],Vb:[],Vc:[],Vd:[],Ve:[],Vf:[],Vo:[],Vs:[],Vv:[],Wc:[],We:[],Wf:[],Wo:[],Ws:[],Xf:[],Xi:[],Xo:[],Xs:[],YA:[],YI:[],YU:[],Ya:["Yacute"],Yc:[],Yf:[],Yo:[],Ys:[],Yu:[],ZH:[],Za:[],Zc:[],Zd:[],Ze:[],Zf:[],Zo:[],Zs:[],aa:["aacute"],ab:[],ac:["acirc","acute"],ae:["aelig"],af:[],ag:["agrave"],al:[],am:["amp"],an:[],ao:[],ap:[],ar:["aring"],as:[],at:["atilde"],au:["auml"],aw:[],bN:[],ba:[],bb:[],bc:[],bd:[],be:[],bf:[],bi:[],bk:[],bl:[],bn:[],bo:[],bp:[],br:["brvbar"],bs:[],bu:[],ca:[],cc:["ccedil"],cd:[],ce:["cedil","cent"],cf:[],ch:[],ci:[],cl:[],co:["copy"],cr:[],cs:[],ct:[],cu:["curren"],cw:[],cy:[],dA:[],dH:[],da:[],db:[],dc:[],dd:[],de:["deg"],df:[],dh:[],di:["divide"],dj:[],dl:[],do:[],dr:[],ds:[],dt:[],du:[],dw:[],dz:[],eD:[],ea:["eacute"],ec:["ecirc"],ed:[],ee:[],ef:[],eg:["egrave"],el:[],em:[],en:[],eo:[],ep:[],eq:[],er:[],es:[],et:["eth"],eu:["euml"],ex:[],fa:[],fc:[],fe:[],ff:[],fi:[],fj:[],fl:[],fn:[],fo:[],fp:[],fr:["frac12","frac14","frac34"],fs:[],gE:[],ga:[],gb:[],gc:[],gd:[],ge:[],gf:[],gg:[],gi:[],gj:[],gl:[],gn:[],go:[],gr:[],gs:[],gt:["gt"],gv:[],hA:[],ha:[],hb:[],hc:[],he:[],hf:[],hk:[],ho:[],hs:[],hy:[],ia:["iacute"],ic:["icirc"],ie:["iexcl"],if:[],ig:["igrave"],ii:[],ij:[],im:[],in:[],io:[],ip:[],iq:["iquest"],is:[],it:[],iu:["iuml"],jc:[],jf:[],jm:[],jo:[],js:[],ju:[],ka:[],kc:[],kf:[],kg:[],kh:[],kj:[],ko:[],ks:[],lA:[],lB:[],lE:[],lH:[],la:["laquo"],lb:[],lc:[],ld:[],le:[],lf:[],lg:[],lh:[],lj:[],ll:[],lm:[],ln:[],lo:[],lp:[],lr:[],ls:[],lt:["lt"],lu:[],lv:[],mD:[],ma:["macr"],mc:[],md:[],me:[],mf:[],mh:[],mi:["middot","micro"],ml:[],mn:[],mo:[],mp:[],ms:[],mu:[],nG:[],nL:[],nR:[],nV:[],na:[],nb:["nbsp"],nc:[],nd:[],ne:[],nf:[],ng:[],nh:[],ni:[],nj:[],nl:[],nm:[],no:["not"],np:[],nr:[],ns:[],nt:["ntilde"],nu:[],nv:[],nw:[],oS:[],oa:["oacute"],oc:["ocirc"],od:[],oe:[],of:[],og:["ograve"],oh:[],oi:[],ol:[],om:[],oo:[],op:[],or:["ordf","ordm"],os:["oslash"],ot:["otilde"],ou:["ouml"],ov:[],pa:["para"],pc:[],pe:[],pf:[],ph:[],pi:[],pl:["plusmn"],pm:[],po:["pound"],pr:[],ps:[],pu:[],qf:[],qi:[],qo:[],qp:[],qs:[],qu:["quot"],rA:[],rB:[],rH:[],ra:["raquo"],rb:[],rc:[],rd:[],re:["reg"],rf:[],rh:[],ri:[],rl:[],rm:[],rn:[],ro:[],rp:[],rr:[],rs:[],rt:[],ru:[],rx:[],sa:[],sb:[],sc:[],sd:[],se:["sect"],sf:[],sh:["shy"],si:[],sl:[],sm:[],so:[],sp:[],sq:[],sr:[],ss:[],st:[],su:["sup1","sup2","sup3"],sw:[],sz:["szlig"],ta:[],tb:[],tc:[],td:[],te:[],tf:[],th:["thorn"],ti:["times"],to:[],tp:[],tr:[],ts:[],tw:[],uA:[],uH:[],ua:["uacute"],ub:[],uc:["ucirc"],ud:[],uf:[],ug:["ugrave"],uh:[],ul:[],um:["uml"],uo:[],up:[],ur:[],us:[],ut:[],uu:["uuml"],uw:[],vA:[],vB:[],vD:[],va:[],vc:[],vd:[],ve:[],vf:[],vl:[],vn:[],vo:[],vp:[],vr:[],vs:[],vz:[],wc:[],we:[],wf:[],wo:[],wp:[],wr:[],ws:[],xc:[],xd:[],xf:[],xh:[],xi:[],xl:[],xm:[],xn:[],xo:[],xr:[],xs:[],xu:[],xv:[],xw:[],ya:["yacute"],yc:[],ye:["yen"],yf:[],yi:[],yo:[],ys:[],yu:["yuml"],za:[],zc:[],zd:[],ze:[],zf:[],zh:[],zi:[],zo:[],zs:[],zw:[]};function Wr(e,t){let n=t.reportProgressFunc,s=t.reportCompletionFunc,l=s?Date.now():0,i=0;return n?.(0),{advance:n?r=>{let o=Math.min(99,Math.floor(r*100/e.length));o>i&&(i=o,n(o))}:void 0,finish(r,o){return n?.(100),s?.({inputLength:e.length,outputLength:r.length,replacements:o,timeTakenInMilliseconds:Date.now()-l}),r}}}function Fr(e,t){if(typeof e!="string")throw new TypeError(`html-entity-codec/${t}(): [THROW_ID_01] The input must be a string.`)}var jr=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376],Ur=/[0-9]+/y,Vr=/[0-9a-fA-F]+/y,zr=/0*([0-9]*)/y,Gr=/0*([0-9a-fA-F]*)/y;function Mr(e,t,n,s){if(s<=1114111){let i=n===10?zr:Gr;i.lastIndex=t;let r=i.exec(e);return{end:i.lastIndex,code:Number.parseInt(r[1].slice(0,8),n)||0}}let l=n===10?Ur:Vr;return l.lastIndex=t,l.test(e),{end:l.lastIndex,code:s}}function He(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122}function se(e){throw new SyntaxError(`Parse error: ${e}`)}function Jr(e,t,n,s){if(e.charCodeAt(t)!==38)return null;let l=t+1;if(e.charCodeAt(l)===35){l++;let c=10;(e[l]==="x"||e[l]==="X")&&(c=16,l++);let m=l,p=0;for(;l<e.length;l++){let A=e.charCodeAt(l),T=-1;if(A>=48&&A<=57?T=A-48:c===16&&A>=65&&A<=70?T=A-55:c===16&&A>=97&&A<=102&&(T=A-87),T<0)break;if(p<=1114111&&(p=p*c+T),l-m===32&&!s){let q=Mr(e,m,c,p);l=q.end,p=q.code;break}s&&!(l%16384)&&s(l)}if(l===m)return n.strict&&se("absence-of-digits-in-numeric-character-reference"),null;if(e[l]===";")l++;else if(n.strict&&se("missing-semicolon-after-character-reference"),n.requireSemicolon)return null;return!p||p>1114111||p>=55296&&p<=57343?(n.strict&&se("invalid-numeric-character-reference"),p=65533):(p>=64976&&p<=65007||(p&65535)>=65534||p===13||p<32&&p!==9&&p!==10&&p!==12||p>=127&&p<=159)&&n.strict&&se("disallowed-numeric-character-reference"),p>=128&&p<=159&&(p=jr[p-128]),{end:l,value:String.fromCodePoint(p)}}let i=Pr[e.slice(l,l+2)],r=0,o="";if(i){let c=e.slice(l,l+Hr),m=c.indexOf(";");if(m!==-1){let p=or[c.slice(0,m+1)];if(typeof p=="string")return{end:l+m+1,value:p}}if(n.requireSemicolon&&!n.strict)return null;for(let p of i)if(e.startsWith(p,l)){r=l+p.length,o=or[p];break}}if(!r){if(n.strict&&He(e.charCodeAt(t+1))){for(;He(e.charCodeAt(l));)l++;e[l]===";"&&se("unknown-named-character-reference")}return null}return n.context==="attribute"&&(e[r]==="="||He(e.charCodeAt(r)))||(n.strict&&se("missing-semicolon-after-character-reference"),n.requireSemicolon)?null:{end:r,value:o}}function ur(e,t={}){Fr(e,"decode");let n={context:t.context,requireSemicolon:t.requireSemicolon,strict:t.strict},s=t.reportProgressFunc||t.reportCompletionFunc?Wr(e,t):void 0,l=e.indexOf("&"),i=0,r="",o=0;for(;l!==-1;){s?.advance?.(l);let c=Jr(e,l,n,s?.advance);c&&(r+=e.slice(i,l)+c.value,i=c.end,o++),l=e.indexOf("&",c?c.end:l+1)}return r=o?r+e.slice(i):e,s?s.finish(r,o):r}/*!
|
|
12
|
+
* Generated from WHATWG HTML entities.json (2026-09-05).
|
|
13
|
+
* Source: https://html.spec.whatwg.org/entities.json
|
|
14
|
+
* SHA-256: d741d877ac77c4194c4ad526b5b4a19aef8dfe411ab840a466891cdbb9f362e6
|
|
15
|
+
* Copyright © WHATWG (Apple, Google, Mozilla, Microsoft).
|
|
16
|
+
* BSD 3-Clause License
|
|
17
|
+
*
|
|
18
|
+
* Redistribution and use in source and binary forms, with or without
|
|
19
|
+
* modification, are permitted provided that the following conditions are met:
|
|
20
|
+
*
|
|
21
|
+
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
22
|
+
* list of conditions and the following disclaimer.
|
|
23
|
+
*
|
|
24
|
+
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
25
|
+
* this list of conditions and the following disclaimer in the documentation
|
|
26
|
+
* and/or other materials provided with the distribution.
|
|
27
|
+
*
|
|
28
|
+
* 3. Neither the name of the copyright holder nor the names of its
|
|
29
|
+
* contributors may be used to endorse or promote products derived from
|
|
30
|
+
* this software without specific prior written permission.
|
|
31
|
+
*
|
|
32
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
33
|
+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
34
|
+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
35
|
+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
36
|
+
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
37
|
+
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
38
|
+
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
39
|
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
40
|
+
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
41
|
+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
42
|
+
*/var cr={progressFn:null};function Yr(e,t){let n,s=0;for(;s<e.length;){let l=s+1;for(;l<e.length&&e[s][0]===e[l][0]&&e[s][1]===e[l][1];)l+=1;if(l-s>1){n||(n=new Map(t.map((o,c)=>[o,c])));let i=n,r=e.slice(s,l).sort((o,c)=>i.get(o)-i.get(c));e.splice(s,r.length,...r)}s=l}return e}function we(e,t){if(!Array.isArray(e)||!e.length)return e;let n=t===void 0?!0:pe(t);if(t!==void 0&&n&&t?.strictlyTwoElementsInRangeArrays===!0)for(let o=0;o<e.length;o+=1){let c=e[o];if(!Array.isArray(c)||c.length!==2)throw new TypeError(`ranges-sort/rSort(): [THROW_ID_01] The first argument should be an array and must consist of arrays which are natural number indexes representing TWO string index ranges. However, range at index ${o} (${w(c,4)}) is ${Array.isArray(c)?`an array with ${c.length} elements`:"not an array"}!`);if(!Number.isInteger(c[0])||c[0]<0||!Number.isInteger(c[1])||c[1]<0)throw new TypeError(`ranges-sort/rSort(): [THROW_ID_02] The first argument should be an array and must consist of arrays which are natural number indexes representing string index ranges. However, range at index ${o} (${w(c,4)}) does not consist of only natural numbers!`)}else for(let o=0;o<e.length;o+=1){let c=e[o];if(!Array.isArray(c)||!Number.isInteger(c[0])||c[0]<0||!Number.isInteger(c[1])||c[1]<0)throw new TypeError(`ranges-sort/rSort(): [THROW_ID_02] The first argument should be an array and must consist of arrays which are natural number indexes representing string index ranges. However, range at index ${o} (${w(c,4)}) does not consist of only natural numbers!`)}if(t!==void 0&&!n)throw new TypeError(`ranges-sort/rSort(): [THROW_ID_03] The second argument must be a plain options object; received ${w(t,4)} (type ${typeof t})!`);let s=cr.progressFn;if(t!==void 0){let o=t.strictlyTwoElementsInRangeArrays;if(o!==void 0&&typeof o!="boolean")throw new TypeError(`ranges-sort/rSort(): [THROW_ID_04] opts.strictlyTwoElementsInRangeArrays must be a boolean; received ${w(o,4)} (type ${typeof o})!`);if(s=t.progressFn??cr.progressFn,s!==!1&&s!==null&&typeof s!="function")throw new TypeError(`ranges-sort/rSort(): [THROW_ID_05] opts.progressFn must be a function, false, null, or undefined; received ${w(s,4)} (type ${typeof s})!`)}let l,i;if(s){let o=e.length**2,c=0,m;i=p=>{p!==m&&(m=p,s(p))},l=Array.from(e).sort((p,A)=>(c+=1,i?.(Math.min(99,Math.floor(c*100/o))),p[0]===A[0]?p[1]<A[1]?-1:p[1]>A[1]?1:0:p[0]<A[0]?-1:1))}else l=Array.from(e).sort((o,c)=>o[0]===c[0]?o[1]<c[1]?-1:o[1]>c[1]?1:0:o[0]<c[0]?-1:1);let r=l.length>10?Yr(l,e):l;return i?.(100),r}var Zr={mergeType:1,progressFn:null,joinRangesThatTouchEdges:!0};function Kr(e,t){if(!Array.isArray(e)||!e.length)return null;let n={...Zr,...t};if(n.progressFn&&pe(n.progressFn)&&!Object.keys(n.progressFn).length)n.progressFn=null;else if(n.progressFn&&typeof n.progressFn!="function")throw new TypeError(`ranges-merge/rMerge(): [THROW_ID_02] opts.progressFn must be a function! It was given of a type: "${typeof n.progressFn}", equal to ${w(n.progressFn,4)}`);if(n.mergeType!==1&&n.mergeType!==2&&n.mergeType!=="1"&&n.mergeType!=="2")throw new TypeError(`ranges-merge/rMerge(): [THROW_ID_03] opts.mergeType was customised to a wrong thing! It was given of a type: "${typeof n.mergeType}", equal to ${w(n.mergeType,4)}`);if(typeof n.joinRangesThatTouchEdges!="boolean")throw new TypeError(`ranges-merge/rMerge(): [THROW_ID_04] opts.joinRangesThatTouchEdges was customised to a wrong thing! It was given of a type: "${typeof n.joinRangesThatTouchEdges}", equal to ${w(n.joinRangesThatTouchEdges,4)}`);let s=n.progressFn,l=n.joinRangesThatTouchEdges,i=[];for(let q of e)Array.isArray(q)&&(q[2]!==void 0||q[0]!==q[1])&&i.push([...q]);let r,o,c;s?r=we(i,{progressFn:q=>{c=Math.floor(q/5),c!==o&&(o=c,s(c))}}):r=we(i);let m=r.length-1,p=n.mergeType===2||n.mergeType==="2",A=r.length;for(let q=m;q>=0;q--){let f=r[q];for(s&&q<m&&(c=Math.floor((1-(q+1)/m)*78)+21,c!==o&&c>o&&(o=c,s(c)));A<r.length;){let u=r[A],k=u[0]===f[0];if(!k&&(l?u[0]>f[1]:u[0]>=f[1]))break;let O=u[1]>=f[1];O&&(f[1]=u[1]),u[2]===null?f[2]=null:u[2]!==void 0&&(k||O)&&f[2]!==null&&(f[2]!=null?p&&k?f[2]=u[2]:f[2]+=u[2]:f[2]=u[2]),A+=1}A-=1,r[A]=f}let T=r.length-A;for(let q=0;q<T;q++)r[q]=r[A+q];return r.length=T,s&&o!==99&&s(99),r.length?r:null}function he(e){if(typeof e=="number")return Number.isInteger(e)&&e>=0;if(typeof e!="string"||!e.trim())return!1;let t=Number(e);return Number.isInteger(t)&&t>=0}function _r(e,t,n){if(e===void 0&&t===void 0&&n===void 0)throw new Error("ranges-apply/rApply(): [THROW_ID_01] inputs missing!");if(typeof e!="string")throw new TypeError(`ranges-apply/rApply(): [THROW_ID_02] first input argument must be a string! Currently it's: ${typeof e}, equal to: ${w(e,4)}`);if(t!=null&&!Array.isArray(t))throw new TypeError(`ranges-apply/rApply(): [THROW_ID_03] second input argument must be an array (or null)! Currently it's: ${typeof t}, equal to: ${w(t,4)}`);if(t==null||!t.length||t.every(r=>r==null))return e;let s;Array.isArray(t)&&!Array.isArray(t[0])&&he(t[0])&&he(t[1])?s=[Array.from(t)]:s=Array.from(t),s.length,s.forEach((r,o)=>{if(r){if(!Array.isArray(r))throw new TypeError(`ranges-apply/rApply(): [THROW_ID_05] ranges array, second input arg., has ${o}th element not an array: ${w(r,4)}, which is ${typeof r}`);if(!he(r[0]))throw new TypeError(`ranges-apply/rApply(): [THROW_ID_06] ranges array, second input arg. has ${o}th element, array ${w(r)}. Its first element is not a non-negative integer or string index, but ${typeof r[0]}, equal to: ${w(r[0],4)}.`);if(typeof r[0]=="string"&&(s[o]=[...r],s[o][0]=Number(r[0])),!he(r[1]))throw new TypeError(`ranges-apply/rApply(): [THROW_ID_07] ranges array, second input arg. has ${o}th element, array ${w(r)}. Its second element is not a non-negative integer or string index, but ${typeof r[1]}, equal to: ${w(r[1],4)}.`);if(typeof r[1]=="string"&&(s[o]===r&&(s[o]=[...r]),s[o][1]=Number(r[1])),s[o][0]>s[o][1])throw new RangeError(`ranges-apply/rApply(): [THROW_ID_08] ranges array, second input arg. has ${o}th element, array ${w(r)}. Its first index (${s[o][0]}) must not be greater than its second index (${s[o][1]}).`)}});let l=Kr(s),i=l?.length||0;if(l&&i>0){let r=e.slice(l[i-1][1]);e=l.reduce((o,c,m,p)=>{let A=m===0?0:p[m-1][1],T=p[m][0];return`${o}${e.slice(A,T)}${p[m][2]??""}`},""),e+=r}return e}function Pe(e,t=1){let n=" ";function s(i){return i.length<2?i:Array.from(i).reverse().join("")}function l(i,r,o){let c=o?`
|
|
43
|
+
`:"\r",m=o?"\r":`
|
|
44
|
+
`;if(!i)return i;let p=0,A="";for(let T=0,q=i.length;T<q;T++)(i[T]===c||i[T]===m&&i[T-1]!==c)&&p++,`\r
|
|
45
|
+
`.includes(i[T])||i[T]===n?i[T]===n?A+=i[T]:i[T]===c?p<=r&&(A+=i[T],i[T+1]===m&&(A+=i[T+1],T++)):i[T]===m&&i?.[T-1]!==c&&p<=r&&(A+=i[T]):!i[T+1]&&!p&&(A+=" ");return A}if(typeof e=="string"&&e.length){let i=e.trim();if(i.length===e.length)return e;let r=1;typeof t=="number"&&Number.isInteger(t)&&t>=0&&(r=t);let o="",c="";if(!i)o=e;else if(!e[0].trim()){for(let p=0,A=e.length;p<A;p++)if(e[p].trim()){o=e.slice(0,p);break}}let m=e[e.length-1];if(i&&(m.trim()===""||m===n)){for(let p=e.length;p--;)if(e[p].trim()){c=e.slice(p+1);break}}return`${l(o,r,!1)}${i}${s(l(s(c),r,!0))}`}return e}var We={mergeType:1,progressFn:null,joinRangesThatTouchEdges:!0};function Tr(e,t,n){return t===void 0||e===null?e:t===null?null:e===void 0||n?t:e+t}function Qr(e,t){function n(f){return!!f&&typeof f=="object"&&!Array.isArray(f)}if(!Array.isArray(e)||!e.length)return null;if(t&&!n(t))throw new TypeError(`ranges-push/rMerge(): [THROW_ID_07] the second input argument must be a plain object. It was given as:
|
|
46
|
+
${w(t,4)} (type ${typeof t})`);let s=t?.progressFn??We.progressFn,l=t?.mergeType??We.mergeType,i=t?.joinRangesThatTouchEdges??We.joinRangesThatTouchEdges;if(s&&n(s)&&!Object.keys(s).length)s=null;else if(s&&typeof s!="function")throw new TypeError(`ranges-push/rMerge(): [THROW_ID_08] resolvedOpts.progressFn must be a function! It was given of a type: "${typeof s}", equal to ${w(s,4)}`);if(l!==1&&l!==2&&l!=="1"&&l!=="2")throw new TypeError(`ranges-push/rMerge(): [THROW_ID_09] resolvedOpts.mergeType was customised to a wrong thing! It was given of a type: "${typeof l}", equal to ${w(l,4)}`);if(typeof i!="boolean")throw new TypeError(`ranges-push/rMerge(): [THROW_ID_10] resolvedOpts.joinRangesThatTouchEdges was customised to a wrong thing! It was given of a type: "${typeof i}", equal to ${w(i,4)}`);let r=[];for(let f of e)Array.isArray(f)&&(f[2]!==void 0||f[0]!==f[1])&&r.push([...f]);let o,c,m;s?o=we(r,{progressFn:f=>{m=Math.floor(f/5),m!==c&&(c=m,s?.(m))}}):o=we(r);let p=o.length-1,A=+l==2,T=o.length;for(let f=p;f>=0;f--){let u=o[f];for(s&&f<p&&(m=Math.floor((1-(f+1)/p)*78)+21,m!==c&&m>c&&(c=m,s(m)));T<o.length;){let k=o[T],O=k[0]===u[0];if(!O&&(i?k[0]>u[1]:k[0]>=u[1]))break;let D=k[1]>=u[1];D&&(u[1]=k[1]),k[2]===null?u[2]=null:k[2]!==void 0&&(O||D)&&(u[2]=Tr(u[2],k[2],A&&O)),T+=1}T-=1,o[T]=u}let q=o.length-T;for(let f=0;f<q;f++)o[f]=o[T+f];return o.length=q,o.length?o:null}var me=Object.freeze({limitToBeAddedWhitespace:!1,limitLinebreaksCount:1,mergeType:1});function U(e){if(ve(e))return e;if(typeof e=="string"&&/^\d+$/.test(e)){let t=Number(e);return ve(t)?t:null}return null}function qr(e){if(!Array.isArray(e))return`a ranges batch must contain only range arrays; received ${w(e,4)}`;if(e.length>3)return`a range must contain at most three values; received ${w(e,4)}`;let[t,n,s]=e;if(t==null&&n==null)return;if(t!=null&&n==null)return`the first index is set (${w(t)}) but the second index is not (${w(n)})`;if(t==null&&n!=null)return`the second index is set (${w(n)}) but the first index is not (${w(t)})`;let l=U(t),i=U(n);if(l===null)return`the first index must be a natural number, zero, or a digit-only numeric string; received ${w(t,4)} (type ${typeof t})`;if(i===null)return`the second index must be a natural number, zero, or a digit-only numeric string; received ${w(n,4)} (type ${typeof n})`;if(Me(s)&&!Z(s)&&!Ar(s))return`the third value must be a string, number, null, or undefined; received ${w(s,4)} (type ${typeof s})`;if(l>i)return`the first index (${l}) must not be greater than the second index (${i})`}function Xr(e){if(e.length>3)return{error:`expected at most three arguments but received ${e.length}`,ranges:[]};if(e.length<=1&&Array.isArray(e[0])){let n=e[0];if(!n.length)return{ranges:[]};e=Array.isArray(n[0])?n:[n]}else e=[e];let t=[];for(let n of e){let s=qr(n);if(s)return{error:s,ranges:[]};let[l,i,r]=n;if(l==null&&i==null)continue;let o=U(l),c=U(i);t.push(r!==void 0&&!(Z(r)&&!r.length)?[o,c,r]:[o,c])}return{ranges:t}}function et(e){return e[2]===void 0&&e[0]===e[1]}function rt(e){let t=-1;for(let n=0,s=e.length;n<s;n++){let l=e[n];if(Array.isArray(l)){if(l[0]<t)return!1;t=l[0]}}return!0}var tt=class{constructor(e){if(e!=null&&!pe(e))throw new TypeError(`ranges-push/Ranges/constructor(): [THROW_ID_01] The options argument must be a plain object. It was given as ${w(e,4)} (type ${typeof e}).`);if(e===void 0){this.opts=me,this.ranges=[];return}let t=e,n=t.limitToBeAddedWhitespace===void 0?me.limitToBeAddedWhitespace:t.limitToBeAddedWhitespace,s=t.limitLinebreaksCount===void 0?me.limitLinebreaksCount:t.limitLinebreaksCount,l=t.mergeType===void 0?me.mergeType:t.mergeType,i=l==="1"?1:l==="2"?2:l,r;if(typeof n!="boolean"?r=`opts.limitToBeAddedWhitespace must be a boolean; received ${w(n,4)} (type ${typeof n})`:ve(s)?i!==1&&i!==2&&(r=`opts.mergeType must be 1, 2, "1", or "2"; received ${w(l,4)} (type ${typeof l})`):r=`opts.limitLinebreaksCount must be a natural number or zero; received ${w(s,4)} (type ${typeof s})`,r)throw new TypeError(`ranges-push/Ranges/constructor(): [THROW_ID_02] ${r}.`);let o=Object.freeze({limitToBeAddedWhitespace:n,limitLinebreaksCount:s,mergeType:i});this.opts=o,this.ranges=[]}ranges;opts;currentCache=null;rangeListsMatch(e,t){if(!Array.isArray(e))return t===null;if(!Array.isArray(t)||e.length!==t[0])return!1;let n=1;for(let s=0,l=e.length;s<l;s++){let i=e[s];if(!Array.isArray(i)){if(t[n++]!==-1||i!==t[n++])return!1;continue}if(i.length!==t[n++])return!1;for(let r=0;r<i.length;r++)if(i[r]!==t[n++])return!1}return n===t.length}snapshotRanges(e){if(!Array.isArray(e))return null;let t=new Array(1+e.length*4);t[0]=e.length;let n=1;for(let s=0,l=e.length;s<l;s++){let i=e[s];if(Array.isArray(i)){t[n++]=i.length;for(let r=0;r<i.length;r++)t[n++]=i[r]}else t[n++]=-1,t[n++]=i}return t.length=n,t}currentStateMatchesSnapshot(){let e=this.currentCache;return e!==null&&this.rangeListsMatch(this.ranges,e.rangesSnapshot)&&this.rangeListsMatch(e.result,e.resultSnapshot)}recordCurrentSnapshot(e){let t=this.snapshotRanges(this.ranges);this.currentCache={rangesSnapshot:t,result:e,resultSnapshot:e===this.ranges?t:this.snapshotRanges(e)}}invalidateCurrentCache(){this.currentCache=null}addValidated(e,t,n){this.invalidateCurrentCache();let s=this.last();if(Me(this.ranges)&&Array.isArray(s)&&e===s[1]){if(s[1]=t,n!==void 0&&!(Z(n)&&!n.length)){let i=Tr(s[2],n,this.opts.mergeType===2&&s[0]===e);this.opts.limitToBeAddedWhitespace&&typeof i=="string"&&(i=Pe(i,this.opts.limitLinebreaksCount)),Z(i)&&!i.length||(s[2]=i)}return}this.ranges||(this.ranges=[]);let l=n!==void 0?[e,t,typeof n=="string"&&this.opts.limitToBeAddedWhitespace?Pe(n,this.opts.limitLinebreaksCount):n]:[e,t];this.ranges.push(l)}add(e,t,n){let s=arguments.length,l;if(s>3)l=`expected at most three arguments but received ${s}`;else if(s===1&&Array.isArray(e)){let i=Array.isArray(e[0])?e:[e];for(let r=0,o=i.length;r<o&&(l=qr(i[r]),!l);r++);if(!l)for(let r=0,o=i.length;r<o;r++){let[c,m,p]=i[r];c==null&&m==null||this.addValidated(U(c),U(m),Z(p)&&!p.length?void 0:p)}}else{if(e==null&&t==null)return;if(e!=null&&t==null)l=`the first index is set (${w(e)}) but the second index is not (${w(t)})`;else if(e==null&&t!=null)l=`the second index is set (${w(t)}) but the first index is not (${w(e)})`;else{let i=U(e),r=U(t);i===null?l=`the first index must be a natural number, zero, or a digit-only numeric string; received ${w(e,4)} (type ${typeof e})`:r===null?l=`the second index must be a natural number, zero, or a digit-only numeric string; received ${w(t,4)} (type ${typeof t})`:Me(n)&&!Z(n)&&!Ar(n)?l=`the third value must be a string, number, null, or undefined; received ${w(n,4)} (type ${typeof n})`:i>r?l=`the first index (${i}) must not be greater than the second index (${r})`:this.addValidated(i,r,Z(n)&&!n.length?void 0:n)}}if(l)throw new TypeError(`ranges-push/Ranges/add(): [THROW_ID_03] ${l}.`)}push(e,t,n){this.add.apply(this,arguments)}current(){if(this.currentStateMatchesSnapshot())return this.currentCache?.result??null;if(Array.isArray(this.ranges)&&this.ranges.length){this.ranges=Qr(this.ranges,this.opts.mergeType===1?void 0:{mergeType:2});let e=this.ranges;return e&&this.opts.limitToBeAddedWhitespace&&(e=e.map(t=>typeof t[2]=="string"?[t[0],t[1],Pe(t[2],this.opts.limitLinebreaksCount)]:t)),this.recordCurrentSnapshot(e),e}return this.recordCurrentSnapshot(null),null}firstCovers(e){if(!ve(e))throw new TypeError(`ranges-push/Ranges/firstCovers(): [THROW_ID_04] the input argument must be a natural number or zero! It was given as ${w(e,4)} (type ${typeof e})`);if(!Array.isArray(this.ranges)||!this.ranges.length)return!1;let t=rt(this.ranges)?this.ranges:this.ranges.filter(s=>Array.isArray(s)).slice().sort((s,l)=>s[0]-l[0]||s[1]-l[1]),n=null;for(let s=0,l=t.length;s<l;s++){let i=t[s];if(!(!Array.isArray(i)||et(i))){if(n===null){if(i[0]!==0)return!1;n=i[1]}else{if(i[0]>n)break;i[1]>n&&(n=i[1])}if(n>=e)return!0}}return n!==null&&n>=e}wipe(){this.ranges=[],this.invalidateCurrentCache()}replace(e){if(Array.isArray(e)&&e.length)if(Array.isArray(e[0])){let t=Xr([e]);if(t.error)throw new TypeError(`ranges-push/Ranges/replace(): [THROW_ID_06] ${t.error}.`);this.ranges=t.ranges,this.invalidateCurrentCache()}else throw new Error(`ranges-push/Ranges/replace(): [THROW_ID_05] Single range was given but we expected array of arrays! The first element, ${w(e[0],4)} should be an array.`);else this.ranges=[],this.invalidateCurrentCache()}last(){return Array.isArray(this.ranges)&&this.ranges.length?this.ranges[this.ranges.length-1]:null}};function Fe(e){return e===32||e>=9&&e<=13||e===160||e===5760||e>=8192&&e<=8202||e===8232||e===8233||e===8239||e===8287||e===12288||e===65279}function nt(e,t){return t==null?0:typeof t!="number"||!Number.isInteger(t)||t<0?null:t>e?e:t}function at(e,t){return t===-1?-1:nt(e,t)}function M(e,t=0){if(typeof e!="string"||!e.length)return null;let n=at(e.length,t);if(n===null||n+1>=e.length)return null;let s=n+1;if(!Fe(e.charCodeAt(s)))return s;if(s+=1,s>=e.length)return null;if(!Fe(e.charCodeAt(s)))return s;for(s+=1;s<e.length;s++)if(!Fe(e.charCodeAt(s)))return s;return null}var st="13.7.1";function it(e){return e>96&&e<123||e>64&&e<91||e>47&&e<58||e===45||e===95}function C(e){return e===32||e>8&&e<14?!0:e<128?!1:e===160||e===5760||e>8191&&e<8203||e===8232||e===8233||e===8239||e===8287||e===12288||e===65279}function lt(e,t,n){if(e>96&&e<123||e>64&&e<91)return!0;if(!(e>=128))return!1;let s=t[n];return s.toLowerCase()!==s.toUpperCase()}function ot(e){for(let t=0,n=e.length;t<n;t++)if(e.charCodeAt(t)!==45)return!1;return!0}function pr(e,t){let n=0;for(let s in e)if(++n>t)return!0;return!1}function gr(e,t){if(!e)return[];if(Array.isArray(e))return e.length?e.filter(n=>typeof n=="string"&&n.trim()):e;if(typeof e=="string")return e.trim()?[e]:[];throw new TypeError(`string-strip-html/stripHtml(): [THROW_ID_08] ${t} must be array containing zero or more strings or something falsy. Currently it's equal to: ${e}, that a type of ${typeof e}.`)}function fr(e,t,n,s){for(let l=t,i=e.length;l<i;l++){if(e.startsWith(n,l))return!0;if(e.startsWith(s,l))return!1}return!1}function dr(e,t,n){let s=!e?.quotes,l=!s&&!fr(t,n+1,e.quotes.value,">"),i=l&&e.quotes.next!==-1,r=i&&fr(t,e.quotes.next-1,e.quotes.value,">");return s||l&&i&&r}function ut(e,t){return(t.match(new RegExp(e,"g"))||[]).length}var ye=new Set(["!doctype","abbr","address","area","article","aside","audio","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","doctype","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","param","picture","pre","progress","rb","rp","rt","rtc","ruby","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","ul","var","video","wbr","xml"]),je=new Set(["a","b","i","p","q","s","u"]),Ue=new Set([".",",",";","!","?"]),ct=new Set(['"',"("]),_t=new Set([";",".",":","!"]),hr=new Set([".",",","?",";",")","…",'"',"»"]),pt=new Set(["a","abbr","acronym","audio","b","bdi","bdo","big","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","select","slot","small","span","strong","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"]),Ot=st,mr=32,yr=33,Ve=34,ie=37,ze=39,J=47,Y=60,ce=61,_e=62,br={ignoreTags:[],ignoreTagsWithTheirContents:[],onlyStripTags:[],stripTogetherWithTheirContents:["script","style","xml"],skipHtmlDecoding:!1,trimOnlySpaces:!1,stripRecognisedHTMLOnly:!1,dumpLinkHrefsNearby:{enabled:!1,putOnNewLine:!1,wrapHeads:"",wrapTails:""},ignoreIndentations:!1,cb:null,reportProgressFunc:null,reportProgressFuncFrom:0,reportProgressFuncTo:100};function gt(e,t){let n=Date.now(),s=[],l=[],i=[],r={},o,c="";function m(){r={attributes:[]},o=void 0,c=""}function p(a){return typeof a.name!="string"?"":a!==r?a.name.toLowerCase():(o!==a.name&&(o=a.name,c=a.name.toLowerCase()),c)}m();let A=null,T=null,q=null,f=!1,u={},k=0;function O(){u={},k=0}let D=null,S={tagName:"",hrefValue:"",openingTagEnds:void 0},R="",K=!1,ge=null,Q=null,X=!0,z=-1,Ae=0,ee=[];function fe(a,_,v){let b=p(r);if(Array.isArray(_.stripTogetherWithTheirContents)&&(_.stripTogetherWithTheirContents.includes("*")||_.stripTogetherWithTheirContents.includes(b)))if(r.slashPresent&&Array.isArray(s)&&s.some(h=>p(h)===b)){for(let h=s.length;h--;)if(p(s[h])===b){let y=r.lastClosingBracketAt===a?a+1:a;hr.has(e[a])?I(r,[s[h].lastOpeningBracketAt,y,null],"tag",typeof r.lastClosingBracketAt=="number"?"complete":"incomplete",r.lastOpeningBracketAt,typeof r.lastClosingBracketAt=="number"?r.lastClosingBracketAt+1:te(a)?a:a+1):I(r,[s[h].lastOpeningBracketAt,y,""],"tag",typeof r.lastClosingBracketAt=="number"?"complete":"incomplete",r.lastOpeningBracketAt,typeof r.lastClosingBracketAt=="number"?r.lastClosingBracketAt+1:te(a)?a:a+1),s.splice(h,1);break}}else r.slashPresent||s.push(r);else Array.isArray(_.ignoreTagsWithTheirContents)&&_.ignoreTagsWithTheirContents.length&&Ze(a,_,r)&&(X=!1)}function Or(a){a=Qe(a);let _=E.ranges,v=_?_.length:0;if(!v)return!1;let b=v-1,h=!1;for(;Ae<b;){let x=_[Ae];Ae+=1,Je(x)&&((z===-1?x[0]===0:x[0]<=z)?x[1]>z&&(z=x[1],h=!0):ee.push(x))}h&&(z=Ye(z,!0));let y=z,d=_[b];return Je(d)&&(y===-1?d[0]===0:d[0]<=y)&&d[1]>y&&(y=Ye(d[1],!1)),y!==-1&&y>=a}function Je(a){return Array.isArray(a)&&(a[2]!==void 0||a[0]!==a[1])}function Ye(a,_){let v=!0;for(;v&&ee.length;){v=!1;let b=0;for(let h=0,y=ee.length;h<y;h++){let d=ee[h];d[0]<=a?d[1]>a&&(a=d[1],v=!0):_&&(ee[b]=d,b+=1)}_&&(ee.length=b)}return a}function re(a,_,v,b,h,y){if(typeof v=="number"&&Or(v))return"";if(e.length===b&&y&&!g?.dumpLinkHrefsNearby?.enabled)return null;let d="";if(Number.isInteger(v)&&v<h&&(d+=a.slice(v,h)),Number.isInteger(b)&&b>y+1){let B=a.slice(y+1,b);b&&!M(e,b-1)&&(B=B.trimRight()),B.includes(`
|
|
47
|
+
`)&&te(b,a)?d+=" ":d+=B}let x=!hr.has(a[_]),L=a[b-1]!==">"||!a[v].trim(),ae=!ct.has(a[h-1]),Ne=!_t.has(a[_]);if((x||L&&ae&&Ne)&&(L||ae)&&a[_]!=="!"&&(!pt.has(p(r))||typeof v=="number"&&v<h||typeof b=="number"&&b>y+1)){let B=0;for(let W=d.indexOf(`
|
|
48
|
+
`);W!==-1&&B<3;W=d.indexOf(`
|
|
49
|
+
`,W+1))B+=1;return B?B===1?`
|
|
50
|
+
`:B===2?`
|
|
51
|
+
|
|
52
|
+
`:`
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
`:" "}return""}function Te(a,_){if(a.dumpLinkHrefsNearby?.enabled&&S.tagName&&S.tagName.toLowerCase()===p(r)&&r.lastOpeningBracketAt&&(S.openingTagEnds&&r.lastOpeningBracketAt>S.openingTagEnds||!S.openingTagEnds)&&(K=!0),K){let v=a.dumpLinkHrefsNearby?.putOnNewLine?`
|
|
56
|
+
|
|
57
|
+
`:"";R=`${v}${S.hrefValue}`,(typeof _!="number"||M(e,_-1))&&(R+=v)}}function te(a,_){return a==null?!1:_?_.charCodeAt(a)===Y&&_.charCodeAt(a+1)!==ie:e.charCodeAt(a)===Y&&e.charCodeAt(a+1)!==ie}function qe(a){return a!=null&&e.charCodeAt(a)===_e&&e.charCodeAt(a-1)!==ie}function Er(a){if(e.charCodeAt(a)!==Y)return!1;let _=M(e,a);if(_===null||e.charCodeAt(_)!==47)return!1;let v=M(e,_);if(v===null||(e.charCodeAt(v)|32)!==115||(e.charCodeAt(v+1)|32)!==99||(e.charCodeAt(v+2)|32)!==114||(e.charCodeAt(v+3)|32)!==105||(e.charCodeAt(v+4)|32)!==112||(e.charCodeAt(v+5)|32)!==116)return!1;let b=e.charCodeAt(v+6);return Number.isNaN(b)||C(b)||b===47||b===_e||b===Y}function Ze(a,_,v){if(!_.ignoreTagsWithTheirContents.length)return!1;if(_.ignoreTagsWithTheirContents.includes("*"))return!0;let b=typeof v.name=="string"?v.name.toLowerCase():"";if(!_.ignoreTagsWithTheirContents.includes(b))return!1;ge===null&&(ge=kt(e));let h=ge.indexOf(`<${b}`,a),y=ge.indexOf(`</${b}`,a);return!v.slashPresent&&y===-1||v.slashPresent&&!l.some(d=>p(d)===b)||y>-1&&h>-1&&h<y?!1:_.ignoreTagsWithTheirContents.includes(b)}if(typeof e!="string")throw new TypeError(`string-strip-html/stripHtml(): [THROW_ID_01] Input must be string! Currently it's: ${(typeof e).toLowerCase()}, equal to:
|
|
58
|
+
${w(e,4)}`);if(t)if(pe(t)){if(t.reportProgressFunc&&typeof t.reportProgressFunc!="function")throw new Error(`string-strip-html/stripHtml(): [THROW_ID_03] The Optional Options Object's key reportProgressFunc, callback function, should be a function but it was given as type ${typeof t.reportProgressFunc}, equal to ${w(t.reportProgressFunc,4)}`);if(typeof t.dumpLinkHrefsNearby=="boolean"&&t.dumpLinkHrefsNearby!=null)throw new Error(`string-strip-html/stripHtml(): [THROW_ID_04] The Optional Options Object's key should be a plain object but it was given as type ${typeof t.dumpLinkHrefsNearby}, equal to ${w(t.dumpLinkHrefsNearby,4)}`)}else throw new TypeError(`string-strip-html/stripHtml(): [THROW_ID_02] Optional Options Object must be a plain object! Currently it's: ${(typeof t).toLowerCase()}, equal to:
|
|
59
|
+
${w(t,4)}`);function ke(){K&&(S={tagName:"",hrefValue:"",openingTagEnds:void 0},K=!1)}let Oe=!!t?.cb,g={...br,...t,dumpLinkHrefsNearby:Object.assign({},br.dumpLinkHrefsNearby,t?.dumpLinkHrefsNearby)};if(Ir(g,"returnRangesOnly"))throw new TypeError("string-strip-html/stripHtml(): [THROW_ID_05] The Optional Options Object's key returnRangesOnly has been removed from the API since v.5 release.");if(g.reportProgressFunc){if(typeof g.reportProgressFuncFrom!="number")throw new Error(`string-strip-html/stripHtml(): [THROW_ID_06] The Optional Options Object's key reportProgressFuncFrom, callback function's "from" range, should be a number but it was given as type ${typeof g.reportProgressFuncFrom}, equal to ${w(g.reportProgressFuncFrom,4)}`);if(typeof g.reportProgressFuncTo!="number")throw new Error(`string-strip-html/stripHtml(): [THROW_ID_07] The Optional Options Object's key reportProgressFuncTo, callback function's "to" range, should be a number but it was given as type ${typeof g.reportProgressFuncTo}, equal to ${w(g.reportProgressFuncTo,4)}`)}let Ee=gr(g.ignoreTags,"resolvedOpts.ignoreTags");g.ignoreTags=Ee.length?Ee.map(a=>a.toLowerCase()):Ee;let xe=gr(g.onlyStripTags,"resolvedOpts.onlyStripTags");g.onlyStripTags=xe.length?xe.map(a=>a.toLowerCase()):xe,Array.isArray(g.ignoreTagsWithTheirContents)&&g.ignoreTagsWithTheirContents.length&&(g.ignoreTagsWithTheirContents=g.ignoreTagsWithTheirContents.map(a=>typeof a=="string"?a.toLowerCase():a));let Ce=!!g.onlyStripTags.length;g.onlyStripTags.length&&g.ignoreTags.length&&(g.onlyStripTags=Nr(g.onlyStripTags,g.ignoreTags)),g.stripTogetherWithTheirContents?typeof g.stripTogetherWithTheirContents=="string"&&g.stripTogetherWithTheirContents.length&&(g.stripTogetherWithTheirContents=[g.stripTogetherWithTheirContents]):g.stripTogetherWithTheirContents=[];let le={};if(g.stripTogetherWithTheirContents&&Array.isArray(g.stripTogetherWithTheirContents)&&g.stripTogetherWithTheirContents.length&&!g.stripTogetherWithTheirContents.every((a,_)=>typeof a!="string"?(le.el=a,le.i=_,!1):!0))throw new TypeError(`string-strip-html/stripHtml(): [THROW_ID_09] Optional Options Object's key stripTogetherWithTheirContents was set to contain not just string elements! For example, element at index ${le.i} has a value ${le.el} which is not string but ${(typeof le.el).toLowerCase()}.`);Array.isArray(g.stripTogetherWithTheirContents)&&(g.stripTogetherWithTheirContents=g.stripTogetherWithTheirContents.map(a=>a.toLowerCase()));let Ke=!!(g.stripRecognisedHTMLOnly||g.ignoreTags.length||g.ignoreTagsWithTheirContents.length||Ce);if(g.cb&&typeof g.cb!="function")throw new TypeError(`string-strip-html/stripHtml(): [THROW_ID_10] The Optional Options Object's key cb should be a function or something falsy but it was given as type ${typeof g.cb}, equal to ${w(g.cb,4)}`);let E=kr(),Se=!0;function I(a,_,v,b,h,y){let d=_?$?Ge(_,e,$):_:null;if(!Oe){d&&E.push(d);return}if($){let x={tag:mt(a,v,b,h,y,e,$),deleteFrom:d?d[0]:null,deleteTo:d?d[1]:null,insert:d?d[2]:null,rangesArr:E,proposedReturn:d?[...d]:null},L=Se,ae=L?At(E.current()):null;g.cb?.(x),L&&!Tt(E.current(),qt(ae,d))&&(Se=!1)}}let G=e,oe=g.skipHtmlDecoding||!e.includes("&")?null:ft(e);oe&&(e=_r(e,oe));let $=oe||Oe?dt(G,e,oe):null;function Qe(a){return $?N(a,e,$).idx:a}function Le(a){E.push($?Ge(a,e,$):a)}let F=!1,H=!1,P=null,Xe=0,er=-1,rr=!1,ne=e.length,ue=G.length,xr=Math.floor(ue/2);function $e(a){let _=$?Math.max(0,V(a+1,e,$).idx-1):a;if(!(_<=er)){if(er=_,ue>1e3&&ue<2e3)!rr&&_>=xr&&(rr=!0,g.reportProgressFunc?.(g.reportProgressFuncFrom+Math.floor((g.reportProgressFuncTo-g.reportProgressFuncFrom)/2)));else if(ue>=2e3){let v=g.reportProgressFuncFrom+Math.floor(_/ue*(g.reportProgressFuncTo-g.reportProgressFuncFrom));v!==Xe&&(Xe=v,g.reportProgressFunc?.(v))}}}function De(){m(),O(),H=!1}function Re(){r.name?.length===6&&p(r)==="script"&&(F=!r.slashPresent),P=null,De()}function tr(a,_,v){let b=p(r),h=g.ignoreTags.includes(b),y=Ze(a,g,r);if(!(!X||g.stripRecognisedHTMLOnly&&typeof r.name=="string"&&!ye.has(b)&&!je.has(b)||!Ce&&(h||y)||Ce&&!g.onlyStripTags.includes(b)||g.ignoreTagsWithTheirContents.includes(b)))return!1;if(y)if(r.slashPresent){for(let d=l.length;d--;)if(l[d].name?.toLowerCase()===b){l.splice(d,1);break}l.length||(X=!0)}else X&&(X=!1),l.push(r);return I(r,null,"tag",_,r.lastOpeningBracketAt,v),P=null,De(),!0}for(let a=0;a<ne;a++){let _=e.charCodeAt(a),v=_===Y&&e.charCodeAt(a+1)!==ie,b=_===_e&&e.charCodeAt(a-1)!==ie;if(g.reportProgressFunc&&$e(a),Q===null&&_!==mr&&r.lastClosingBracketAt&&r.lastClosingBracketAt<a&&(r.attributes!==void 0||pr(r,1))&&(Q=a),!F&&_===ie&&e[a-1]==="{"&&e.includes("%}",a+1)){q=null;let h=e.indexOf("%}",a)-1;if(h>a){a=h,g.reportProgressFunc&&$e(a);continue}}if(!F&&b&&(!r||!pr(r,1))&&a>1){for(let h=a;h--;)if(e[h-1]===void 0||qe(h)){let y=e[h-1]===void 0?h:h+1,d=e.slice(y,a+1)||"",x=d.trim(),L=lr(x.split(/\s+/,1)[0]||"","/>"),ae=lr(x,"/>"),Ne=L.toLowerCase();if((d.includes("/>")||d.includes("/ >")||d.includes('="')||d.includes("='"))&&e!==`<${ae}>`&&ye.has(Ne)&>(`<${x}>`,{skipHtmlDecoding:!0,cb:null,reportProgressFunc:null}).result===""){(!i.length||i[i.length-1][0]!==r.lastOpeningBracketAt)&&i.push([y,a+1]);let B=re(e,a,y,a+1,y,a+1),W=a+1;if(e[W]&&C(e.charCodeAt(W))){for(let de=W;de<ne;de++)if(!C(e.charCodeAt(de))){W=de;break}}let Cr=d.indexOf(L),ar=y+Cr;I({name:L,nameStarts:ar,nameEnds:ar+L.length,nameContainsLetters:!0},[y,W,B],"tag","inferred",y,a+1)}break}}if(!H&&_===J&&!r.quotes?.value&&!(typeof u.equalsAt=="number"&&u.valueEnds===void 0)&&Number.isInteger(r.lastOpeningBracketAt)&&!Number.isInteger(r.lastClosingBracketAt)&&(r.slashPresent=a),_===Ve||_===ze)if(!H&&r.nameStarts&&r?.quotes?.value===e[a])if(D=a,u.valueStarts===void 0)O(),r.quotes=void 0;else{u.valueEnds=a,u.value=e.slice(u.valueStarts,a),r.attributes.push(u),O(),r.quotes=void 0;let h;g.dumpLinkHrefsNearby?.enabled&&!s.length&&r.attributes.some(y=>typeof y.name=="string"&&y.name.toLowerCase()==="href"?(h=`${g.dumpLinkHrefsNearby?.wrapHeads||""}${y.value}${g.dumpLinkHrefsNearby?.wrapTails||""}`,!0):!1)&&(S={tagName:r.name,hrefValue:h,openingTagEnds:void 0})}else!H&&!r.quotes&&r.nameStarts&&u.valueStarts===void 0&&(r.quotes={},r.quotes.value=e[a],r.quotes.start=a,r.quotes.next=e.indexOf(e[a],a+1),k=0,u.nameStarts&&u.nameEnds&&u.nameEnds<a&&u.nameStarts<a&&!u.valueStarts&&(u.name=e.slice(u.nameStarts,u.nameEnds)));if(r.nameStarts!==void 0&&r.nameEnds===void 0&&(C(_)||!it(_))){if(r.nameEnds=a,r.name=e.slice(r.nameStarts,r.nameEnds+(!b&&_!==J&&e[a+1]===void 0?1:0)),e[r.nameStarts-1]!=="!"&&ot(r.name)||r.name.charCodeAt(0)>47&&r.name.charCodeAt(0)<58){r={};continue}if(typeof r.name=="string"&&p(r)==="doctype"&&(H=!0),v){Te(g);let h=re(e,a,r.leftOuterWhitespace,a,r.lastOpeningBracketAt,a);I(r,[r.leftOuterWhitespace,a,`${h}${R}${h}`],"tag","incomplete",r.lastOpeningBracketAt,a),ke(),fe(a,g),Re()}}if(u.nameEnds&&u.equalsAt&&!u.valueStarts&&r.quotes?.start&&r.quotes.start<a&&!r.quotes.end&&(u.valueStarts=a),k&&(k===1&&u.valueStarts===void 0&&u.equalsAt<a&&!C(_)&&_!==Ve&&_!==ze&&_!==ce&&!v&&!b&&(u.valueStarts=a,k=2),k===2&&(C(_)||b||e[a+1]===void 0)&&(u.valueEnds=C(_)||b?a:a+1,u.value=e.slice(u.valueStarts,u.valueEnds),g.dumpLinkHrefsNearby?.enabled&&!s.length&&typeof u.name=="string"&&u.name.toLowerCase()==="href"&&(S={tagName:r.name,hrefValue:`${g.dumpLinkHrefsNearby.wrapHeads||""}${u.value}${g.dumpLinkHrefsNearby.wrapTails||""}`,openingTagEnds:void 0}),r.attributes.push(u),O())),_===ce&&u.nameEnds&&!u.valueStarts&&!u.equalsAt&&!r.quotes&&(u.equalsAt=a,k=1),u.nameEnds&&u.nameStarts&&!u.valueStarts&&!u.equalsAt&&!C(_)&&_!==ce&&!r.quotes&&(r.attributes.push(u),O()),u.nameStarts&&!u.nameEnds&&!r.quotes&&(H&&`'"`.includes(e[u.nameStarts])?u.nameStarts<a&&e[a]===e[u.nameStarts]&&(u.nameEnds=a+1,u.name=e.slice(u.nameStarts,u.nameEnds)):C(_)?(u.nameEnds=a,u.name=e.slice(u.nameStarts,u.nameEnds)):_===ce?u.equalsAt||(u.nameEnds=a,u.equalsAt=a,k=1,u.name=e.slice(u.nameStarts,u.nameEnds)):(_===J||b||v)&&(u.nameEnds=a,u.name=e.slice(u.nameStarts,u.nameEnds),r.attributes.push(u),O())),C(e.charCodeAt(a-1))&&D!==a&&!C(_)&&_!==Y&&_!==_e&&_!==J&&_!==yr&&!u.nameStarts&&r.nameEnds<a&&!r.lastClosingBracketAt&&!r.quotes&&(u.nameStarts=a),_===J&&r.lastOpeningBracketAt!==null&&r.lastOpeningBracketAt<a&&r.onlyPlausible&&(r.onlyPlausible=!1),r.lastOpeningBracketAt!==null&&r.lastOpeningBracketAt<a&&_!==J&&(r.onlyPlausible===void 0&&((C(_)||v)&&!r.slashPresent?r.onlyPlausible=!0:r.onlyPlausible=!1),!C(_)&&r.nameStarts===void 0&&!v&&_!==J&&!b&&_!==yr&&(_>96&&_<123||_>64&&_<91||_===45||_===63||_===95?(r.nameStarts=a,r.nameContainsLetters=!1):(m(),O()))),r.nameStarts&&!r.quotes&<(_,e,a)&&(r.nameContainsLetters=!0),b&&(dr(r,e,a)||r.quotes.value&&typeof r.lastOpeningBracketAt=="number"&&ut(r.quotes.value,e.slice(r.lastOpeningBracketAt,a))%2===1&&!e.slice(r.lastOpeningBracketAt+1,a).includes("<")&&!e.slice(r.lastOpeningBracketAt+1,a).includes(">"))&&r.lastOpeningBracketAt!==void 0&&(r.lastClosingBracketAt=a,Q=null,Object.keys(u).length&&(r.attributes.push(u),O()),g.dumpLinkHrefsNearby?.enabled&&S.tagName&&!S.openingTagEnds&&(S.openingTagEnds=a)),(!H||_===_e)&&r.lastOpeningBracketAt!==void 0){if(r.lastClosingBracketAt===void 0){if(r.lastOpeningBracketAt<a&&!v&&(e[a+1]===void 0||te(a+1)&&!r?.quotes?.value)&&r.nameContainsLetters&&typeof r.nameStarts=="number"){let h=!1;if(r.nameEnds??=a+1,r.name=e.slice(r.nameStarts,r.nameEnds).toLowerCase(),(!i.length||i[i.length-1][0]!==r.lastOpeningBracketAt)&&i.push([r.lastOpeningBracketAt,a+1]),Ke&&tr(a,"incomplete",a+1))continue;if((ye.has(r.name)||je.has(r.name))&&(r.onlyPlausible===!1||r.onlyPlausible===!0&&r.attributes.length)||e[a+1]===void 0&&r.onlyPlausible!==!0){Te(g);let y=re(e,a,r.leftOuterWhitespace,a+1,r.lastOpeningBracketAt,r.lastClosingBracketAt);F&&r.name?.length===6&&p(r)==="script"&&r.slashPresent&&(F=!1);let d;y===null||R===null?d=null:d=`${y}${R}${y}`,I(r,[r.leftOuterWhitespace,a+1,d],"tag","incomplete",r.lastOpeningBracketAt,a+1),h=!0,ke(),fe(a,g)}h?Re():(P=r.onlyPlausible===!1?P??r.leftOuterWhitespace:null,De())}}else if(a>r.lastClosingBracketAt&&!C(_)||e[a+1]===void 0||g.ignoreIndentations&&`\r
|
|
60
|
+
`.includes(e[a])){let h=r.lastClosingBracketAt===a?a+1:a;if(g.trimOnlySpaces&&h===ne-1&&Q!==null&&Q<a&&(h=Q),(!i.length||i[i.length-1][0]!==r.lastOpeningBracketAt)&&i.push([r.lastOpeningBracketAt,r.lastClosingBracketAt+1]),!(Ke&&tr(a,"complete",r.lastClosingBracketAt+1)))if(!r.onlyPlausible||r.attributes.length===0&&r.name&&(ye.has(p(r))||je.has(p(r)))||r.attributes?.some(y=>y.equalsAt)){let y=re(e,a,r.leftOuterWhitespace,h,r.lastOpeningBracketAt,r.lastClosingBracketAt);R="",K=!1,Te(g,h);let d;typeof R=="string"&&R.length?(d=`${y}${R}${y===`
|
|
61
|
+
|
|
62
|
+
`?`
|
|
63
|
+
`:y}`,h===r.lastClosingBracketAt+1&&(!e[h]||!Ue.has(e[h]))&&(d+=" "),r.leftOuterWhitespace===r.lastOpeningBracketAt&&E.last()&&E.last()[1]<Qe(r.lastOpeningBracketAt)&&(!g?.dumpLinkHrefsNearby?.putOnNewLine||!Ue.has(e[h]))&&(d=` ${d}`)):d=y,d!==null&&(r.leftOuterWhitespace===0||!M(e,h-1))&&(!g.dumpLinkHrefsNearby?.enabled||p(r)!=="a")&&(d=void 0);let x=0;if(K&&Ue.has(e[h])){g.dumpLinkHrefsNearby?.putOnNewLine&&(d=`${e[h]}${d||""}`);let L=M(e,h);L&&d?.endsWith(`
|
|
64
|
+
`)?x+=L-a:(!L||L>a)&&x++}I(r,[r.leftOuterWhitespace,h+x,d],"tag","complete",r.lastOpeningBracketAt,r.lastClosingBracketAt+1),ke(),fe(a,g),P=null}else r={},P=null;b||(r={})}H&&(H=!1)}if((!F||_===Y&&Er(a))&&v&&!te(a-1)&&!`'"`.includes(e[a+1])&&(!`'"`.includes(e[a+2])||/\w/.test(e[a+1]))&&!(e[a+1]==="c"&&e[a+2]===":")&&!(e[a+1]==="f"&&e[a+2]==="m"&&e[a+3]==="t"&&e[a+4]===":")&&!(e[a+1]==="s"&&e[a+2]==="q"&&e[a+3]==="l"&&e[a+4]===":")&&!(e[a+1]==="x"&&e[a+2]===":")&&!(e[a+1]==="f"&&e[a+2]==="n"&&e[a+3]===":")&&dr(r,e,a)){if(qe(M(e,a)))continue;if(r.nameEnds&&r.nameEnds<a&&!r.lastClosingBracketAt&&(r.onlyPlausible===!0&&r.attributes?.length||r.onlyPlausible===!1)){let h=re(e,a,r.leftOuterWhitespace,a,r.lastOpeningBracketAt,a);I(r,[r.leftOuterWhitespace,a,h],"tag","incomplete",r.lastOpeningBracketAt,a),fe(a,g),Re()}if(r.lastOpeningBracketAt!==void 0&&r.onlyPlausible&&r.name&&!r.quotes&&(r.lastOpeningBracketAt=void 0,r.name=void 0,r.onlyPlausible=!1),(r.lastOpeningBracketAt===void 0||!r.onlyPlausible)&&!r.quotes&&(r.lastOpeningBracketAt=a,r.slashPresent=!1,r.attributes=[],A===null?r.leftOuterWhitespace=a:g.trimOnlySpaces&&A===0?r.leftOuterWhitespace=T||a:r.leftOuterWhitespace=A,P!==null&&(r.leftOuterWhitespace=P),e.startsWith("!--",a+1)||e.startsWith("![CDATA[",a+1))){let h=!0;e[a+2]==="-"&&(h=!1);let y;for(let d=a;d<ne;d++)if(g.reportProgressFunc&&$e(d),d>1&&(!y&&h&&e.startsWith("]]>",d-2)||!h&&e.startsWith("-->",d-2))&&(y=d),y&&(y<d&&!C(e.charCodeAt(d))||e[d+1]===void 0)){let x=d;(e[d+1]===void 0&&C(e.charCodeAt(d))||e[d]===">")&&(x+=1),(!i.length||i[i.length-1][0]!==r.lastOpeningBracketAt)&&i.push([r.lastOpeningBracketAt,y+1]);let L=re(e,d,r.leftOuterWhitespace,x,r.lastOpeningBracketAt,y);I(r,[r.leftOuterWhitespace,x,L],h?"cdata":"comment",void 0,r.lastOpeningBracketAt,y+1),P=null,a=d-1,e[d]===">"&&(a=d),_=e.charCodeAt(a),v=te(a),b=qe(a),r={},O();break}}}if(C(_)||_===847)A===null&&(A=a,r.lastOpeningBracketAt!==void 0&&r.lastOpeningBracketAt<a&&r.nameStarts&&r.nameStarts<r.lastOpeningBracketAt&&a===r.lastOpeningBracketAt+1&&!s.some(h=>p(h)===p(r))&&(r.onlyPlausible=!0,r.name=void 0,r.nameStarts=void 0)),(_===10||_===13)&&(q=a,f&&(f=!1));else if(A!==null&&(!r.quotes&&u.valueStarts===void 0&&u.equalsAt>A-1&&u.nameEnds&&u.equalsAt>u.nameEnds&&_!==ce&&_!==Ve&&_!==ze&&(pe(u)&&r.attributes.push(u),O(),r.equalsSpottedAt=void 0),A=null),!f&&(f=!0,X&&!F&&typeof q=="number"&&a&&q<a-1)){if(e.slice(q+1,a).trim())q=null;else if(!g.ignoreIndentations){let h=E.last(),y=$?Ge([q+1,a],e,$):[q+1,a];(!h||h[0]>y[0]||h[1]!==y[1])&&E.push(y)}}_===mr?T===null&&(T=a):T!==null&&(T=null),r.name?.length===6&&p(r)==="script"&&(F=!r.slashPresent)}if(e&&!g.ignoreIndentations&&(g.trimOnlySpaces&&e[0]===" "||!g.trimOnlySpaces&&C(e.charCodeAt(0))))for(let a=0;a<ne;a++)if(g.trimOnlySpaces&&e[a]!==" "||!g.trimOnlySpaces&&!C(e.charCodeAt(a))){Le([0,a]);break}else e[a+1]||Le([0,a+1]);if(e&&(g.trimOnlySpaces&&e[~-e.length]===" "||!g.trimOnlySpaces&&C(e.charCodeAt(~-e.length)))){for(let a=e.length;a--;)if(g.trimOnlySpaces&&e[a]!==" "||!g.trimOnlySpaces&&!C(e.charCodeAt(a))){Le([a+1,ne]);break}}let j=E.current();if((!Oe||Se)&&j){if(j[0]&&!j[0][0]){j[0][1];let a=E.ranges?.[0]?.[2];E.ranges[0]=[E.ranges[0][0],E.ranges[0][1]],a?.trim()&&E.ranges[0].push(a)}if(j[j.length-1]?.[1]===G.length&&(j[j.length-1][0],E.ranges)){let a=E.ranges[E.ranges.length-1][0];G[a-1]&&(g.trimOnlySpaces&&G[a-1]===" "||!g.trimOnlySpaces&&C(G.charCodeAt(a-1)))&&(a-=1);let _=E.ranges[E.ranges.length-1][2];E.ranges[E.ranges.length-1]=[a,E.ranges[E.ranges.length-1][1]],_?.trim()&&E.ranges[E.ranges.length-1].push(_.trimRight())}}let Be=bt(oe,E.current()),nr=$?vt(i,e,$):i;return{log:{timeTakenInMilliseconds:Date.now()-n},result:_r(G,Be),ranges:Be,allTagLocations:nr,filteredTagLocations:wt(nr,Be)}}function ft(e){let t=/&(?:#?[^;\W]+;)+/g,n=[],s;for(s=t.exec(e);s;s=t.exec(e)){let l=s[0],i=ur(l,{requireSemicolon:!0});for(;l!==i;)l=i,i=ur(l,{requireSemicolon:!0});l!==s[0]&&n.push([s.index,s.index+s[0].length,l])}return n.length?n:null}function dt(e,t,n){if(!n)return[{decodedFrom:0,decodedTo:t.length,originalFrom:0,originalTo:e.length,replacement:!1}];let s=[],l=0,i=0;return n.forEach(([r,o,c])=>{if(l<r){let p=r-l;s.push({decodedFrom:i,decodedTo:i+p,originalFrom:l,originalTo:r,replacement:!1}),i+=p}let m=c||"";s.push({decodedFrom:i,decodedTo:i+m.length,originalFrom:r,originalTo:o,replacement:!0}),i+=m.length,l=o}),l<e.length&&s.push({decodedFrom:i,decodedTo:t.length,originalFrom:l,originalTo:e.length,replacement:!1}),s}function N(e,t,n){let s=0,l=n.length-1,i;for(;s<=l;){let r=s+l>>1,o=n[r];if(e<o.decodedFrom)l=r-1;else if(e>=o.decodedTo)s=r+1;else{i=o;break}}return i?i.replacement?{idx:i.originalFrom,prefix:t.slice(i.decodedFrom,e),segment:i}:{idx:i.originalFrom+e-i.decodedFrom,prefix:"",segment:i}:{idx:n.length?n[n.length-1].originalTo:0,prefix:"",segment:void 0}}function V(e,t,n){if(!e)return{idx:0,suffix:"",segment:void 0};let s=0,l=n.length-1,i;for(;s<=l;){let r=s+l>>1,o=n[r];if(e<=o.decodedFrom)l=r-1;else if(e>o.decodedTo)s=r+1;else{i=o;break}}return i?i.replacement?{idx:i.originalTo,suffix:t.slice(e,i.decodedTo),segment:i}:{idx:i.originalFrom+e-i.decodedFrom,suffix:"",segment:i}:{idx:n.length?n[n.length-1].originalTo:0,suffix:"",segment:void 0}}function Ge(e,t,n){let[s,l,i]=e,r=N(s,t,n),o=V(l,t,n),c=e.length===3;if(r.prefix||o.suffix){let m=`${r.prefix}${i||""}${o.suffix}`;return m?[r.idx,o.idx,m]:c?[r.idx,o.idx,i]:[r.idx,o.idx]}return c?[r.idx,o.idx,i]:[r.idx,o.idx]}function ht(e,t,n){let s={};return typeof e.nameStarts=="number"&&(s.nameStarts=N(e.nameStarts,t,n).idx),typeof e.nameEnds=="number"&&(s.nameEnds=V(e.nameEnds,t,n).idx),typeof e.equalsAt=="number"&&(s.equalsAt=N(e.equalsAt,t,n).idx),typeof e.name=="string"&&(s.name=e.name),typeof e.valueStarts=="number"&&(s.valueStarts=N(e.valueStarts,t,n).idx),typeof e.valueEnds=="number"&&(s.valueEnds=V(e.valueEnds,t,n).idx),typeof e.value=="string"&&(s.value=e.value),s}function mt(e,t,n,s,l,i,r){let o=N(s,i,r).idx,c=V(l,i,r).idx;if(t!=="tag")return{kind:t,start:o,end:c};let m=typeof e.name=="string"?e.name:typeof e.nameStarts=="number"&&typeof e.nameEnds=="number"?i.slice(e.nameStarts,e.nameEnds):"",p=typeof e.nameStarts=="number"?N(e.nameStarts,i,r).idx:o,A=typeof e.nameEnds=="number"?V(e.nameEnds,i,r).idx:p+m.length,T=typeof e.nameContainsLetters=="boolean"?e.nameContainsLetters:/[A-Za-z]/.test(m);if(n==="inferred")return{kind:"tag",status:"inferred",start:o,end:c,nameStarts:p,nameContainsLetters:T,nameEnds:A,name:m};let q={kind:"tag",start:o,end:c,attributes:Array.isArray(e.attributes)?e.attributes.map(k=>ht(k,i,r)):[],slashPresent:typeof e.slashPresent=="number"?N(e.slashPresent,i,r).idx:!1,leftOuterWhitespace:typeof e.leftOuterWhitespace=="number"?N(e.leftOuterWhitespace,i,r).idx:o,onlyPlausible:typeof e.onlyPlausible=="boolean"?e.onlyPlausible:!1,nameStarts:p,nameContainsLetters:T,nameEnds:A,name:m},f=typeof e.lastOpeningBracketAt=="number"?N(e.lastOpeningBracketAt,i,r).idx:o;if(n==="incomplete")return{...q,status:"incomplete",lastOpeningBracketAt:f};let u=typeof e.lastClosingBracketAt=="number"?V(e.lastClosingBracketAt+1,i,r).idx-1:c-1;return{...q,status:"complete",lastOpeningBracketAt:f,lastClosingBracketAt:u}}function yt(e){let t=[...e].sort((s,l)=>s[0]-l[0]||s[1]-l[1]),n=[];return t.forEach(s=>{let l=n.length?n[n.length-1]:void 0;if(l&&l[1]===s[0]){let i=`${l[2]||""}${s[2]||""}`;l[1]=s[1],i?l[2]=i:l.length=2}else n.push([...s])}),n.length?n:null}function bt(e,t){if(!e)return t;let n=t||[],s=e.filter(([l,i])=>!n.some(([r,o])=>r<i&&o>l));return yt([...s,...n])}function vt(e,t,n){return e.map(([s,l])=>[N(s,t,n).idx,V(l,t,n).idx])}function wt(e,t){if(!t)return[];let n=[],s=0;for(let l=0;l<e.length;l++){let i=e[l],r=i[0],o=i[1];for(;s<t.length&&t[s][1]<=r;)s+=1;let c=s,m=r;for(;c<t.length&&t[c][0]<=m;){if(m=Math.max(m,t[c][1]),m>=o){n.push(i);break}c+=1}}return n}function kr(){return new tt({limitToBeAddedWhitespace:!0,limitLinebreaksCount:2})}function At(e){return e?e.map(t=>[...t]):null}function Tt(e,t){return e===null||t===null?e===t:e.length===t.length&&e.every((n,s)=>n.length===t[s].length&&n.every((l,i)=>l===t[s][i]))}function qt(e,t){let n=kr();return e?.forEach(s=>{n.push([...s])}),t&&n.push([...t]),n.current()}function kt(e){let t="",n=0;for(let s=0;s<e.length;s++){let l=e.charCodeAt(s);l>64&&l<91&&(t+=`${e.slice(n,s)}${String.fromCharCode(l+32)}`,n=s+1)}return n?t+e.slice(n):e}export{br as defaults,gt as stripHtml,Ot as version};
|
package/dist/strip.d.ts
CHANGED
|
@@ -2,38 +2,72 @@ import { Ranges as Ranges$1 } from 'ranges-push';
|
|
|
2
2
|
type Range = [from: number, to: number] | [from: number, to: number, whatToInsert: string | null | undefined];
|
|
3
3
|
type Ranges = Range[] | null;
|
|
4
4
|
interface Attribute {
|
|
5
|
-
nameStarts
|
|
6
|
-
nameEnds
|
|
7
|
-
equalsAt?: number;
|
|
8
|
-
name
|
|
9
|
-
valueStarts?: number;
|
|
10
|
-
valueEnds?: number;
|
|
11
|
-
value?: string;
|
|
5
|
+
readonly nameStarts?: number;
|
|
6
|
+
readonly nameEnds?: number;
|
|
7
|
+
readonly equalsAt?: number;
|
|
8
|
+
readonly name?: string;
|
|
9
|
+
readonly valueStarts?: number;
|
|
10
|
+
readonly valueEnds?: number;
|
|
11
|
+
readonly value?: string;
|
|
12
12
|
}
|
|
13
|
-
interface
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
lastOpeningBracketAt: number;
|
|
17
|
-
slashPresent: number;
|
|
18
|
-
leftOuterWhitespace: number;
|
|
19
|
-
onlyPlausible: boolean;
|
|
20
|
-
nameStarts: number;
|
|
21
|
-
nameContainsLetters: boolean;
|
|
22
|
-
nameEnds: number;
|
|
23
|
-
name: string;
|
|
13
|
+
interface TokenBase {
|
|
14
|
+
readonly start: number;
|
|
15
|
+
readonly end: number;
|
|
24
16
|
}
|
|
17
|
+
interface NamedTagBase extends TokenBase {
|
|
18
|
+
readonly kind: "tag";
|
|
19
|
+
readonly attributes: readonly Attribute[];
|
|
20
|
+
readonly slashPresent: number | false;
|
|
21
|
+
readonly leftOuterWhitespace: number;
|
|
22
|
+
readonly onlyPlausible: boolean;
|
|
23
|
+
readonly nameStarts: number;
|
|
24
|
+
readonly nameContainsLetters: boolean;
|
|
25
|
+
readonly nameEnds: number;
|
|
26
|
+
readonly name: string;
|
|
27
|
+
}
|
|
28
|
+
interface CompleteTag extends NamedTagBase {
|
|
29
|
+
readonly status: "complete";
|
|
30
|
+
readonly lastClosingBracketAt: number;
|
|
31
|
+
readonly lastOpeningBracketAt: number;
|
|
32
|
+
}
|
|
33
|
+
interface IncompleteTag extends NamedTagBase {
|
|
34
|
+
readonly status: "incomplete";
|
|
35
|
+
readonly lastClosingBracketAt?: never;
|
|
36
|
+
readonly lastOpeningBracketAt: number;
|
|
37
|
+
}
|
|
38
|
+
interface InferredTag extends TokenBase {
|
|
39
|
+
readonly kind: "tag";
|
|
40
|
+
readonly status: "inferred";
|
|
41
|
+
readonly nameStarts: number;
|
|
42
|
+
readonly nameContainsLetters: boolean;
|
|
43
|
+
readonly nameEnds: number;
|
|
44
|
+
readonly name: string;
|
|
45
|
+
}
|
|
46
|
+
interface CommentTag extends TokenBase {
|
|
47
|
+
readonly kind: "comment";
|
|
48
|
+
}
|
|
49
|
+
interface CdataTag extends TokenBase {
|
|
50
|
+
readonly kind: "cdata";
|
|
51
|
+
}
|
|
52
|
+
type CallbackToken = CompleteTag | IncompleteTag | InferredTag | CommentTag | CdataTag;
|
|
53
|
+
type Tag = CallbackToken;
|
|
54
|
+
type CallbackRange = readonly [from: number, to: number, whatToInsert: string | null | undefined];
|
|
25
55
|
interface CbObj {
|
|
26
|
-
tag: Tag;
|
|
27
|
-
deleteFrom: null | number;
|
|
28
|
-
deleteTo: null | number;
|
|
29
|
-
insert: null | undefined | string;
|
|
30
|
-
rangesArr: Ranges$1;
|
|
31
|
-
proposedReturn:
|
|
56
|
+
readonly tag: Tag;
|
|
57
|
+
readonly deleteFrom: null | number;
|
|
58
|
+
readonly deleteTo: null | number;
|
|
59
|
+
readonly insert: null | undefined | string;
|
|
60
|
+
readonly rangesArr: Ranges$1;
|
|
61
|
+
readonly proposedReturn: CallbackRange | null;
|
|
32
62
|
}
|
|
33
63
|
interface Opts {
|
|
64
|
+
/** HTML and custom/XML-looking tag names match case-insensitively. */
|
|
34
65
|
ignoreTags: string[];
|
|
66
|
+
/** HTML and custom/XML-looking tag names match case-insensitively. */
|
|
35
67
|
ignoreTagsWithTheirContents: string[];
|
|
68
|
+
/** HTML and custom/XML-looking tag names match case-insensitively. */
|
|
36
69
|
onlyStripTags: string[];
|
|
70
|
+
/** HTML and custom/XML-looking tag names match case-insensitively. */
|
|
37
71
|
stripTogetherWithTheirContents: string[];
|
|
38
72
|
skipHtmlDecoding: boolean;
|
|
39
73
|
trimOnlySpaces: boolean;
|
|
@@ -52,12 +86,14 @@ interface Opts {
|
|
|
52
86
|
}
|
|
53
87
|
declare const defaults: Opts;
|
|
54
88
|
interface Res {
|
|
89
|
+
/** Best-effort elapsed time for user-facing completion feedback. */
|
|
55
90
|
log: {
|
|
56
91
|
timeTakenInMilliseconds: number;
|
|
57
92
|
};
|
|
58
93
|
result: string;
|
|
59
94
|
ranges: Ranges;
|
|
60
95
|
allTagLocations: [number, number][];
|
|
96
|
+
/** Original tag spans fully consumed by the returned ranges. */
|
|
61
97
|
filteredTagLocations: [number, number][];
|
|
62
98
|
}
|
|
63
99
|
/**
|
package/dist/strip.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{stripHtml as l,defaults as p}from"./packem_shared/stripHtml-
|
|
1
|
+
import{stripHtml as l,defaults as p}from"./packem_shared/stripHtml-DQfmQ2o_.js";export{l as stripHtml,p as stripHtmlDefaultOptions};
|
package/package.json
CHANGED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import{g as Qe}from"./_commonjsHelpers-CqkleIqs.js";import{decode as Ae}from"./decode-DCH9idAU.js";var ae,we;function et(){if(we)return ae;we=1,ae=r;function e(a){return a instanceof Buffer?Buffer.from(a):new a.constructor(a.buffer.slice(),a.byteOffset,a.length)}function r(a){if(a=a||{},a.circles)return o(a);const g=new Map;if(g.set(Date,i=>new Date(i)),g.set(Map,(i,b)=>new Map(u(Array.from(i),b))),g.set(Set,(i,b)=>new Set(u(Array.from(i),b))),a.constructorHandlers)for(const i of a.constructorHandlers)g.set(i[0],i[1]);let s=null;return a.proto?y:t;function u(i,b){const h=Object.keys(i),p=new Array(h.length);for(let l=0;l<h.length;l++){const O=h[l],w=i[O];typeof w!="object"||w===null?p[O]=w:w.constructor!==Object&&(s=g.get(w.constructor))?p[O]=s(w,b):ArrayBuffer.isView(w)?p[O]=e(w):p[O]=b(w)}return p}function t(i){if(typeof i!="object"||i===null)return i;if(Array.isArray(i))return u(i,t);if(i.constructor!==Object&&(s=g.get(i.constructor)))return s(i,t);const b={};for(const h in i){if(Object.hasOwnProperty.call(i,h)===!1)continue;const p=i[h];typeof p!="object"||p===null?b[h]=p:p.constructor!==Object&&(s=g.get(p.constructor))?b[h]=s(p,t):ArrayBuffer.isView(p)?b[h]=e(p):b[h]=t(p)}return b}function y(i){if(typeof i!="object"||i===null)return i;if(Array.isArray(i))return u(i,y);if(i.constructor!==Object&&(s=g.get(i.constructor)))return s(i,y);const b={};for(const h in i){const p=i[h];typeof p!="object"||p===null?b[h]=p:p.constructor!==Object&&(s=g.get(p.constructor))?b[h]=s(p,y):ArrayBuffer.isView(p)?b[h]=e(p):b[h]=y(p)}return b}}function o(a){const g=[],s=[],u=new Map;if(u.set(Date,h=>new Date(h)),u.set(Map,(h,p)=>new Map(y(Array.from(h),p))),u.set(Set,(h,p)=>new Set(y(Array.from(h),p))),a.constructorHandlers)for(const h of a.constructorHandlers)u.set(h[0],h[1]);let t=null;return a.proto?b:i;function y(h,p){const l=Object.keys(h),O=new Array(l.length);for(let w=0;w<l.length;w++){const $=l[w],S=h[$];if(typeof S!="object"||S===null)O[$]=S;else if(S.constructor!==Object&&(t=u.get(S.constructor)))O[$]=t(S,p);else if(ArrayBuffer.isView(S))O[$]=e(S);else{const C=g.indexOf(S);C!==-1?O[$]=s[C]:O[$]=p(S)}}return O}function i(h){if(typeof h!="object"||h===null)return h;if(Array.isArray(h))return y(h,i);if(h.constructor!==Object&&(t=u.get(h.constructor)))return t(h,i);const p={};g.push(h),s.push(p);for(const l in h){if(Object.hasOwnProperty.call(h,l)===!1)continue;const O=h[l];if(typeof O!="object"||O===null)p[l]=O;else if(O.constructor!==Object&&(t=u.get(O.constructor)))p[l]=t(O,i);else if(ArrayBuffer.isView(O))p[l]=e(O);else{const w=g.indexOf(O);w!==-1?p[l]=s[w]:p[l]=i(O)}}return g.pop(),s.pop(),p}function b(h){if(typeof h!="object"||h===null)return h;if(Array.isArray(h))return y(h,b);if(h.constructor!==Object&&(t=u.get(h.constructor)))return t(h,b);const p={};g.push(h),s.push(p);for(const l in h){const O=h[l];if(typeof O!="object"||O===null)p[l]=O;else if(O.constructor!==Object&&(t=u.get(O.constructor)))p[l]=t(O,b);else if(ArrayBuffer.isView(O))p[l]=e(O);else{const w=g.indexOf(O);w!==-1?p[l]=s[w]:p[l]=b(O)}}return g.pop(),s.pop(),p}}return ae}var tt=et();const Pe=Qe(tt);Pe();function ce(e){if(e==null||typeof e!="object")return!1;let r=Object.getPrototypeOf(e);return r!==null&&r!==Object.prototype&&Object.getPrototypeOf(r)!==null?!1:!(Symbol.iterator in e)&&!(Symbol.toStringTag in e)}function D(e){return typeof e=="string"}function rt(e){return Number.isFinite(e)}function x(e){return Number.isSafeInteger(e)&&e>=0}function W(e){return e!=null}function nt(e,r){return ce(e)&&D(r)&&r in e}var st=typeof global=="object"&&global&&global.Object===Object&&global,at=typeof self=="object"&&self&&self.Object===Object&&self,he=st||at||Function("return this")(),L=he.Symbol,qe=Object.prototype,it=qe.hasOwnProperty,ot=qe.toString,V=L?L.toStringTag:void 0;function lt(e){var r=it.call(e,V),o=e[V];try{e[V]=void 0;var a=!0}catch{}var g=ot.call(e);return a&&(r?e[V]=o:delete e[V]),g}var ut=Object.prototype,gt=ut.toString;function ct(e){return gt.call(e)}var ft="[object Null]",pt="[object Undefined]",_e=L?L.toStringTag:void 0;function xe(e){return e==null?e===void 0?pt:ft:_e&&_e in Object(e)?lt(e):ct(e)}function De(e){return e!=null&&typeof e=="object"}var ht="[object Symbol]";function dt(e){return typeof e=="symbol"||De(e)&&xe(e)==ht}function mt(e,r){for(var o=-1,a=e==null?0:e.length,g=Array(a);++o<a;)g[o]=r(e[o],o,e);return g}var yt=Array.isArray,Se=L?L.prototype:void 0,$e=Se?Se.toString:void 0;function de(e){if(typeof e=="string")return e;if(yt(e))return mt(e,de)+"";if(dt(e))return $e?$e.call(e):"";var r=e+"";return r=="0"&&1/e==-1/0?"-0":r}var bt=/\s/;function Ot(e){for(var r=e.length;r--&&bt.test(e.charAt(r)););return r}var Tt=/^\s+/;function vt(e){return e&&e.slice(0,Ot(e)+1).replace(Tt,"")}function Le(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}function Me(e){return e}var At="[object AsyncFunction]",wt="[object Function]",_t="[object GeneratorFunction]",St="[object Proxy]";function Je(e){if(!Le(e))return!1;var r=xe(e);return r==wt||r==_t||r==At||r==St}var ie=he["__core-js_shared__"],ke=(function(){var e=/[^.]+$/.exec(ie&&ie.keys&&ie.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function $t(e){return!!ke&&ke in e}var kt=Function.prototype,Et=kt.toString;function Ct(e){if(e!=null){try{return Et.call(e)}catch{}try{return e+""}catch{}}return""}var jt=/[\\^$.*+?()[\]{}|]/g,Rt=/^\[object .+?Constructor\]$/,Nt=Function.prototype,Ft=Object.prototype,Ht=Nt.toString,Wt=Ft.hasOwnProperty,It=RegExp("^"+Ht.call(Wt).replace(jt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Bt(e){if(!Le(e)||$t(e))return!1;var r=Je(e)?It:Rt;return r.test(Ct(e))}function Pt(e,r){return e?.[r]}function me(e,r){var o=Pt(e,r);return Bt(o)?o:void 0}function qt(e,r,o){switch(o.length){case 0:return e.call(r);case 1:return e.call(r,o[0]);case 2:return e.call(r,o[0],o[1]);case 3:return e.call(r,o[0],o[1],o[2])}return e.apply(r,o)}var xt=800,Dt=16,Lt=Date.now;function Mt(e){var r=0,o=0;return function(){var a=Lt(),g=Dt-(a-o);if(o=a,g>0){if(++r>=xt)return arguments[0]}else r=0;return e.apply(void 0,arguments)}}function Jt(e){return function(){return e}}var Ee=(function(){try{var e=me(Object,"defineProperty");return e({},"",{}),e}catch{}})(),zt=Ee?function(e,r){return Ee(e,"toString",{configurable:!0,enumerable:!1,value:Jt(r),writable:!0})}:Me,Vt=Mt(zt);function Gt(e,r,o,a){for(var g=e.length,s=o+-1;++s<g;)if(r(e[s],s,e))return s;return-1}function Ut(e){return e!==e}function Zt(e,r,o){for(var a=o-1,g=e.length;++a<g;)if(e[a]===r)return a;return-1}function ye(e,r,o){return r===r?Zt(e,r,o):Gt(e,Ut,o)}function Kt(e,r){var o=e==null?0:e.length;return!!o&&ye(e,r,0)>-1}function Xt(e,r){return e===r||e!==e&&r!==r}var Ce=Math.max;function Yt(e,r,o){return r=Ce(r===void 0?e.length-1:r,0),function(){for(var a=arguments,g=-1,s=Ce(a.length-r,0),u=Array(s);++g<s;)u[g]=a[r+g];g=-1;for(var t=Array(r+1);++g<r;)t[g]=a[g];return t[r]=o(u),qt(e,this,t)}}function Qt(e,r){return Vt(Yt(e,r,Me),e+"")}var er=9007199254740991;function tr(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=er}function rr(e){return e!=null&&tr(e.length)&&!Je(e)}var U=me(Object,"create");function nr(){this.__data__=U?U(null):{},this.size=0}function sr(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}var ar="__lodash_hash_undefined__",ir=Object.prototype,or=ir.hasOwnProperty;function lr(e){var r=this.__data__;if(U){var o=r[e];return o===ar?void 0:o}return or.call(r,e)?r[e]:void 0}var ur=Object.prototype,gr=ur.hasOwnProperty;function cr(e){var r=this.__data__;return U?r[e]!==void 0:gr.call(r,e)}var fr="__lodash_hash_undefined__";function pr(e,r){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=U&&r===void 0?fr:r,this}function B(e){var r=-1,o=e==null?0:e.length;for(this.clear();++r<o;){var a=e[r];this.set(a[0],a[1])}}B.prototype.clear=nr;B.prototype.delete=sr;B.prototype.get=lr;B.prototype.has=cr;B.prototype.set=pr;function hr(){this.__data__=[],this.size=0}function ee(e,r){for(var o=e.length;o--;)if(Xt(e[o][0],r))return o;return-1}var dr=Array.prototype,mr=dr.splice;function yr(e){var r=this.__data__,o=ee(r,e);if(o<0)return!1;var a=r.length-1;return o==a?r.pop():mr.call(r,o,1),--this.size,!0}function br(e){var r=this.__data__,o=ee(r,e);return o<0?void 0:r[o][1]}function Or(e){return ee(this.__data__,e)>-1}function Tr(e,r){var o=this.__data__,a=ee(o,e);return a<0?(++this.size,o.push([e,r])):o[a][1]=r,this}function M(e){var r=-1,o=e==null?0:e.length;for(this.clear();++r<o;){var a=e[r];this.set(a[0],a[1])}}M.prototype.clear=hr;M.prototype.delete=yr;M.prototype.get=br;M.prototype.has=Or;M.prototype.set=Tr;var vr=me(he,"Map");function Ar(){this.size=0,this.__data__={hash:new B,map:new(vr||M),string:new B}}function wr(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}function te(e,r){var o=e.__data__;return wr(r)?o[typeof r=="string"?"string":"hash"]:o.map}function _r(e){var r=te(this,e).delete(e);return this.size-=r?1:0,r}function Sr(e){return te(this,e).get(e)}function $r(e){return te(this,e).has(e)}function kr(e,r){var o=te(this,e),a=o.size;return o.set(e,r),this.size+=o.size==a?0:1,this}function J(e){var r=-1,o=e==null?0:e.length;for(this.clear();++r<o;){var a=e[r];this.set(a[0],a[1])}}J.prototype.clear=Ar;J.prototype.delete=_r;J.prototype.get=Sr;J.prototype.has=$r;J.prototype.set=kr;function Er(e){return e==null?"":de(e)}function Cr(e,r,o){var a=-1,g=e.length;r<0&&(r=-r>g?0:g+r),o=o>g?g:o,o<0&&(o+=g),g=r>o?0:o-r>>>0,r>>>=0;for(var s=Array(g);++a<g;)s[a]=e[a+r];return s}function jr(e,r,o){var a=e.length;return o=o===void 0?a:o,!r&&o>=a?e:Cr(e,r,o)}var Rr="\\ud800-\\udfff",Nr="\\u0300-\\u036f",Fr="\\ufe20-\\ufe2f",Hr="\\u20d0-\\u20ff",Wr=Nr+Fr+Hr,Ir="\\ufe0e\\ufe0f",Br="\\u200d",Pr=RegExp("["+Br+Rr+Wr+Ir+"]");function qr(e){return Pr.test(e)}function xr(e){return e.split("")}var ze="\\ud800-\\udfff",Dr="\\u0300-\\u036f",Lr="\\ufe20-\\ufe2f",Mr="\\u20d0-\\u20ff",Jr=Dr+Lr+Mr,zr="\\ufe0e\\ufe0f",Vr="["+ze+"]",fe="["+Jr+"]",pe="\\ud83c[\\udffb-\\udfff]",Gr="(?:"+fe+"|"+pe+")",Ve="[^"+ze+"]",Ge="(?:\\ud83c[\\udde6-\\uddff]){2}",Ue="[\\ud800-\\udbff][\\udc00-\\udfff]",Ur="\\u200d",Ze=Gr+"?",Ke="["+zr+"]?",Zr="(?:"+Ur+"(?:"+[Ve,Ge,Ue].join("|")+")"+Ke+Ze+")*",Kr=Ke+Ze+Zr,Xr="(?:"+[Ve+fe+"?",fe,Ge,Ue,Vr].join("|")+")",Yr=RegExp(pe+"(?="+pe+")|"+Xr+Kr,"g");function Qr(e){return e.match(Yr)||[]}function je(e){return qr(e)?Qr(e):xr(e)}var en="__lodash_hash_undefined__";function tn(e){return this.__data__.set(e,en),this}function rn(e){return this.__data__.has(e)}function Y(e){var r=-1,o=e==null?0:e.length;for(this.__data__=new J;++r<o;)this.add(e[r])}Y.prototype.add=Y.prototype.push=tn;Y.prototype.has=rn;function nn(e,r){return e.has(r)}function sn(e){return De(e)&&rr(e)}var an=200;function on(e,r,o,a){var g=-1,s=Kt,u=!0,t=e.length,y=[],i=r.length;if(!t)return y;r.length>=an&&(s=nn,u=!1,r=new Y(r));e:for(;++g<t;){var b=e[g],h=b;if(b=b!==0?b:0,u&&h===h){for(var p=i;p--;)if(r[p]===h)continue e;y.push(b)}else s(r,h,a)||y.push(b)}return y}function ln(e,r){for(var o=e.length;o--&&ye(r,e[o],0)>-1;);return o}function un(e,r){for(var o=-1,a=e.length;++o<a&&ye(r,e[o],0)>-1;);return o}function Re(e,r,o){if(e=Er(e),e&&r===void 0)return vt(e);if(!e||!(r=de(r)))return e;var a=je(e),g=je(r),s=un(a,g),u=ln(a,g)+1;return jr(a,s,u).join("")}var gn=Qt(function(e,r){return sn(e)?on(e,r):[]}),cn={strictlyTwoElementsInRangeArrays:!1,progressFn:null};function Q(e,r){if(!Array.isArray(e)||!e.length)return e;let o={...cn,...r},a,g;if(o.strictlyTwoElementsInRangeArrays&&!e.every((t,y)=>!Array.isArray(t)||t.length!==2?(a=y,g=t.length,!1):!0))throw new TypeError(`ranges-sort: [THROW_ID_03] The first argument should be an array and must consist of arrays which are natural number indexes representing TWO string index ranges. However, ${a}th range (${JSON.stringify(e[a],null,4)}) has not two but ${g} elements!`);if(!e.every((t,y)=>!Array.isArray(t)||!Number.isInteger(t[0])||t[0]<0||!Number.isInteger(t[1])||t[1]<0?(a=y,!1):!0))throw new TypeError(`ranges-sort: [THROW_ID_04] The first argument should be an array and must consist of arrays which are natural number indexes representing string index ranges. However, ${a}th range (${JSON.stringify(e[a],null,4)}) does not consist of only natural numbers!`);let s=e.length**2,u=0;return Array.from(e).sort((t,y)=>(o.progressFn&&(u+=1,o.progressFn(Math.floor(u*100/s))),t[0]===y[0]?t[1]<y[1]?-1:t[1]>y[1]?1:0:t[0]<y[0]?-1:1))}var Ne={mergeType:1,progressFn:null,joinRangesThatTouchEdges:!0};function fn(e,r){function o(i){return!!i&&typeof i=="object"&&!Array.isArray(i)}if(!Array.isArray(e)||!e.length)return null;let a;if(r)if(o(r)){if(a={...Ne,...r},a.progressFn&&o(a.progressFn)&&!Object.keys(a.progressFn).length)a.progressFn=null;else if(a.progressFn&&typeof a.progressFn!="function")throw new Error(`ranges-merge: [THROW_ID_01] opts.progressFn must be a function! It was given of a type: "${typeof a.progressFn}", equal to ${JSON.stringify(a.progressFn,null,4)}`);if(![1,2,"1","2"].includes(a.mergeType))throw new Error(`ranges-merge: [THROW_ID_02] opts.mergeType was customised to a wrong thing! It was given of a type: "${typeof a.mergeType}", equal to ${JSON.stringify(a.mergeType,null,4)}`);if(typeof a.joinRangesThatTouchEdges!="boolean")throw new Error(`ranges-merge: [THROW_ID_04] opts.joinRangesThatTouchEdges was customised to a wrong thing! It was given of a type: "${typeof a.joinRangesThatTouchEdges}", equal to ${JSON.stringify(a.joinRangesThatTouchEdges,null,4)}`)}else throw new Error(`emlint: [THROW_ID_03] the second input argument must be a plain object. It was given as:
|
|
2
|
-
${JSON.stringify(r,null,4)} (type ${typeof r})`);else a={...Ne};let g=e.filter(i=>Array.isArray(i)).map(i=>[...i]).filter(i=>i[2]!==void 0||i[0]!==i[1]),s,u,t;a.progressFn?s=Q(g,{progressFn:i=>{t=Math.floor(i/5),t!==u&&(u=t,a.progressFn(t))}}):s=Q(g);let y=s.length-1;for(let i=y;i>0;i--)a.progressFn&&(t=Math.floor((1-i/y)*78)+21,t!==u&&t>u&&(u=t,a.progressFn(t))),(s[i][0]<=s[i-1][0]||!a.joinRangesThatTouchEdges&&s[i][0]<s[i-1][1]||a.joinRangesThatTouchEdges&&s[i][0]<=s[i-1][1])&&(s[i-1][0]=Math.min(s[i][0],s[i-1][0]),s[i-1][1]=Math.max(s[i][1],s[i-1][1]),s[i][2]!==void 0&&(s[i-1][0]>=s[i][0]||s[i-1][1]<=s[i][1])&&s[i-1][2]!==null&&(s[i][2]===null&&s[i-1][2]!==null?s[i-1][2]=null:s[i-1][2]!=null?+a.mergeType==2&&s[i-1][0]===s[i][0]?s[i-1][2]=s[i][2]:s[i-1][2]+=s[i][2]:s[i-1][2]=s[i][2]),s.splice(i,1),i=s.length);return s.length?s:null}var pn="Invariant failed";function hn(e,r){if(!e)throw new Error(pn)}function dn(e,r,o){if(arguments.length===0)throw new Error("ranges-apply: [THROW_ID_01] inputs missing!");if(typeof e!="string")throw new TypeError(`ranges-apply: [THROW_ID_02] first input argument must be a string! Currently it's: ${typeof e}, equal to: ${JSON.stringify(e,null,4)}`);if(r&&!Array.isArray(r))throw new TypeError(`ranges-apply: [THROW_ID_03] second input argument must be an array (or null)! Currently it's: ${typeof r}, equal to: ${JSON.stringify(r,null,4)}`);if(!r?.filter(u=>u).length)return e;let a;Array.isArray(r)&&Number.isInteger(r[0])&&Number.isInteger(r[1])?a=[Array.from(r)]:a=Array.from(r),a.length,a.filter(u=>u).forEach((u,t)=>{if(!Array.isArray(u))throw new TypeError(`ranges-apply: [THROW_ID_05] ranges array, second input arg., has ${t}th element not an array: ${JSON.stringify(u,null,4)}, which is ${typeof u}`);if(!Number.isInteger(u[0])){if(!Number.isInteger(+u[0])||+u[0]<0)throw new TypeError(`ranges-apply: [THROW_ID_06] ranges array, second input arg. has ${t}th element, array ${JSON.stringify(u,null,0)}. Its first element is not an integer, string index, but ${typeof u[0]}, equal to: ${JSON.stringify(u[0],null,4)}.`);a[t][0]=+a[t][0]}if(!Number.isInteger(u[1])){if(!Number.isInteger(+u[1])||+u[1]<0)throw new TypeError(`ranges-apply: [THROW_ID_07] ranges array, second input arg. has ${t}th element, array ${JSON.stringify(u,null,0)}. Its second element is not an integer, string index, but ${typeof u[1]}, equal to: ${JSON.stringify(u[1],null,4)}.`);a[t][1]=+a[t][1]}});let g=fn(a,{progressFn:u=>{}});hn(g);let s=g.length;if(s>0){let u=e.slice(g[s-1][1]);e=g.reduce((t,y,i,b)=>{let h=i===0?0:b[i-1][1],p=b[i][0];return`${t}${e.slice(h,p)}${b[i][2]||""}`},""),e+=u}return e}function oe(e,r=1){let o=" ";function a(s){return Array.from(s).reverse().join("")}function g(s,u,t){let y=t?`
|
|
3
|
-
`:"\r",i=t?"\r":`
|
|
4
|
-
`;if(!s)return s;let b=0,h="";for(let p=0,l=s.length;p<l;p++)(s[p]===y||s[p]===i&&s[p-1]!==y)&&b++,`\r
|
|
5
|
-
`.includes(s[p])||s[p]===o?s[p]===o?h+=s[p]:s[p]===y?b<=u&&(h+=s[p],s[p+1]===i&&(h+=s[p+1],p++)):s[p]===i&&s?.[p-1]!==y&&b<=u&&(h+=s[p]):!s[p+1]&&!b&&(h+=" ");return h}if(typeof e=="string"&&e.length){let s=1;typeof+r=="number"&&Number.isInteger(+r)&&+r>=0&&(s=+r);let u="",t="";if(!e.trim())u=e;else if(!e[0].trim()){for(let y=0,i=e.length;y<i;y++)if(e[y].trim()){u=e.slice(0,y);break}}if(e.trim()&&(e.slice(-1).trim()===""||e.slice(-1)===o)){for(let y=e.length;y--;)if(e[y].trim()){t=e.slice(y+1);break}}return`${g(u,s,!1)}${e.trim()}${a(g(a(t),s,!0))}`}return e}var Fe={mergeType:1,progressFn:null,joinRangesThatTouchEdges:!0};function mn(e,r){function o(i){return!!i&&typeof i=="object"&&!Array.isArray(i)}if(!Array.isArray(e)||!e.length)return null;let a;if(r)if(o(r)){if(a={...Fe,...r},a.progressFn&&o(a.progressFn)&&!Object.keys(a.progressFn).length)a.progressFn=null;else if(a.progressFn&&typeof a.progressFn!="function")throw new Error(`ranges-merge: [THROW_ID_01] resolvedOpts.progressFn must be a function! It was given of a type: "${typeof a.progressFn}", equal to ${JSON.stringify(a.progressFn,null,4)}`);if(![1,2,"1","2"].includes(a.mergeType))throw new Error(`ranges-merge: [THROW_ID_02] resolvedOpts.mergeType was customised to a wrong thing! It was given of a type: "${typeof a.mergeType}", equal to ${JSON.stringify(a.mergeType,null,4)}`);if(typeof a.joinRangesThatTouchEdges!="boolean")throw new Error(`ranges-merge: [THROW_ID_04] resolvedOpts.joinRangesThatTouchEdges was customised to a wrong thing! It was given of a type: "${typeof a.joinRangesThatTouchEdges}", equal to ${JSON.stringify(a.joinRangesThatTouchEdges,null,4)}`)}else throw new Error(`ranges-merge: [THROW_ID_03] the second input argument must be a plain object. It was given as:
|
|
6
|
-
${JSON.stringify(r,null,4)} (type ${typeof r})`);else a={...Fe};let g=e.filter(i=>Array.isArray(i)).map(i=>[...i]).filter(i=>i[2]!==void 0||i[0]!==i[1]),s,u,t;a.progressFn?s=Q(g,{progressFn:i=>{t=Math.floor(i/5),t!==u&&(u=t,a.progressFn!=null&&a.progressFn(t))}}):s=Q(g);let y=s.length-1;for(let i=y;i>0;i--)a.progressFn&&(t=Math.floor((1-i/y)*78)+21,t!==u&&t>u&&(u=t,a.progressFn(t))),(s[i][0]<=s[i-1][0]||!a.joinRangesThatTouchEdges&&s[i][0]<s[i-1][1]||a.joinRangesThatTouchEdges&&s[i][0]<=s[i-1][1])&&(s[i-1][0]=Math.min(s[i][0],s[i-1][0]),s[i-1][1]=Math.max(s[i][1],s[i-1][1]),s[i][2]!==void 0&&(s[i-1][0]>=s[i][0]||s[i-1][1]<=s[i][1])&&s[i-1][2]!==null&&(s[i][2]===null&&s[i-1][2]!==null?s[i-1][2]=null:s[i-1][2]!=null?+(a||{})?.mergeType==2&&s[i-1][0]===s[i][0]?s[i-1][2]=s[i][2]:s[i-1][2]+=s[i][2]:s[i-1][2]=s[i][2]),s.splice(i,1),i=s.length);return s.length?s:null}var yn={limitToBeAddedWhitespace:!1,limitLinebreaksCount:1,mergeType:1},bn=class{constructor(e){let r={...yn,...e};if(r.mergeType&&r.mergeType!==1&&r.mergeType!==2)if(D(r.mergeType)&&r.mergeType.trim()==="1")r.mergeType=1;else if(D(r.mergeType)&&r.mergeType.trim()==="2")r.mergeType=2;else throw new Error(`ranges-push: [THROW_ID_02] opts.mergeType was customised to a wrong thing! It was given of a type: "${typeof r.mergeType}", equal to ${JSON.stringify(r.mergeType,null,4)}`);this.opts=r,this.ranges=[]}ranges;opts;add(e,r,o){if(e==null&&r==null)return;if(W(e)&&!W(r)){if(Array.isArray(e)){if(e.length){if(e.some(s=>Array.isArray(s))){e.forEach(s=>{Array.isArray(s)&&this.add(...s)});return}e.length&&x(+e[0])&&x(+e[1])&&this.add(...e)}return}throw new TypeError(`ranges-push/Ranges/add(): [THROW_ID_12] the first input argument, "from" is set (${JSON.stringify(e,null,0)}) but second-one, "to" is not (${JSON.stringify(r,null,0)})`)}else if(!W(e)&&W(r))throw new TypeError(`ranges-push/Ranges/add(): [THROW_ID_13] the second input argument, "to" is set (${JSON.stringify(r,null,0)}) but first-one, "from" is not (${JSON.stringify(e,null,0)})`);let a=+e,g=+r;if(x(a)&&x(g)){if(W(o)&&!D(o)&&!rt(o))throw new TypeError(`ranges-push/Ranges/add(): [THROW_ID_08] The third argument, the value to add, was given not as string but ${typeof o}, equal to:
|
|
7
|
-
${JSON.stringify(o,null,4)}`);if(W(this.ranges)&&Array.isArray(this.last())&&a===this.last()[1]){if(this.last()[1]=g,this.last()[2],this.last()[2]!==null&&W(o)){let s=this.last()[2]&&this.last()[2].length&&(!this.opts?.mergeType||this.opts.mergeType===1)?`${this.last()[2]}${o}`:o;this.opts.limitToBeAddedWhitespace&&(s=oe(s,this.opts.limitLinebreaksCount)),D(s)&&!s.length||(this.last()[2]=s)}}else{this.ranges||(this.ranges=[]);let s=o!==void 0&&!(D(o)&&!o.length)?[a,g,o&&this.opts.limitToBeAddedWhitespace?oe(o,this.opts.limitLinebreaksCount):o]:[a,g];this.ranges.push(s)}}else throw x(a)&&a>=0?new TypeError(`ranges-push/Ranges/add(): [THROW_ID_10] "to" value, the second input argument, must be a natural number or zero! Currently it's of a type "${typeof g}" equal to: ${JSON.stringify(g,null,4)}`):new TypeError(`ranges-push/Ranges/add(): [THROW_ID_09] "from" value, the first input argument, must be a natural number or zero! Currently it's of a type "${typeof a}" equal to: ${JSON.stringify(a,null,4)}`)}push(e,r,o){this.add(e,r,o)}current(){return Array.isArray(this.ranges)&&this.ranges.length?(this.ranges=mn(this.ranges,{mergeType:this.opts.mergeType}),this.ranges&&this.opts.limitToBeAddedWhitespace?this.ranges.map(e=>W(e[2])?[e[0],e[1],oe(e[2],this.opts.limitLinebreaksCount)]:e):this.ranges):null}wipe(){this.ranges=[]}replace(e){if(Array.isArray(e)&&e.length)if(Array.isArray(e[0])&&x(e[0][0]))this.ranges=Array.from(e);else throw new Error(`ranges-push/Ranges/replace(): [THROW_ID_11] Single range was given but we expected array of arrays! The first element, ${JSON.stringify(e[0],null,4)} should be an array and its first element should be an integer, a string index.`);else this.ranges=[]}last(){return Array.isArray(this.ranges)&&this.ranges.length?this.ranges[this.ranges.length-1]:null}};Pe();var le=" ";function On({str:e,idx:r=0,stopAtNewlines:o=!1,stopAtRawNbsp:a=!1}){if(typeof e!="string"||!e.length||((!r||typeof r!="number")&&(r=0),!e[r+1]))return null;if(e[r+1]&&(e[r+1].trim()||o&&`
|
|
8
|
-
\r`.includes(e[r+1])||a&&e[r+1]===le))return r+1;if(e[r+2]&&(e[r+2].trim()||o&&`
|
|
9
|
-
\r`.includes(e[r+2])||a&&e[r+2]===le))return r+2;for(let g=r+1,s=e.length;g<s;g++)if(e[g].trim()||o&&`
|
|
10
|
-
\r`.includes(e[g])||a&&e[g]===le)return g;return null}function E(e,r=0){return On({str:e,idx:r,stopAtNewlines:!1,stopAtRawNbsp:!1})}function Tn(e){return/[-_A-Za-z0-9]/.test(e)}function He(e,r){if(!e)return[];if(Array.isArray(e))return e.filter(o=>typeof o=="string"&&o.trim());if(typeof e=="string")return e.trim()?[e]:[];throw new TypeError(`string-strip-html/stripHtml(): [THROW_ID_05] ${r} must be array containing zero or more strings or something falsey. Currently it's equal to: ${e}, that a type of ${typeof e}.`)}function X(e,r,o,a){for(let g=r,s=e.length;g<s;g++){if(e.startsWith(o,g))return!0;if(e.startsWith(a,g))return!1}return!1}function We(e,r,o){return e?.quotes,e?.quotes?.value&&X(r,o+1,e.quotes.value,">"),e?.quotes?.next,X(r,e?.quotes?.next-1,e?.quotes?.value,">"),!e?.quotes||!X(r,o+1,e.quotes.value,">")&&e?.quotes?.next!==-1&&X(r,e?.quotes?.next-1,e?.quotes?.value,">")}function vn(e,r){return(r.match(new RegExp(e,"g"))||[]).length}var G=new Set(["!doctype","abbr","address","area","article","aside","audio","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","doctype","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","param","picture","pre","progress","rb","rp","rt","rtc","ruby","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","ul","var","video","wbr","xml"]),ue=new Set(["a","b","i","p","q","s","u"]),ge=new Set([".",",",";","!","?"]),Ie=new Set([".",",","?",";",")","…",'"',"»"]),An=new Set(["a","abbr","acronym","audio","b","bdi","bdo","big","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","select","slot","small","span","strong","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"]),wn="13.5.3",kn=wn,Be={ignoreTags:[],ignoreTagsWithTheirContents:[],onlyStripTags:[],stripTogetherWithTheirContents:["script","style","xml"],skipHtmlDecoding:!1,trimOnlySpaces:!1,stripRecognisedHTMLOnly:!1,dumpLinkHrefsNearby:{enabled:!1,putOnNewLine:!1,wrapHeads:"",wrapTails:""},ignoreIndentations:!1,cb:null,reportProgressFunc:null,reportProgressFuncFrom:0,reportProgressFuncTo:100};function _n(e,r){let o=Date.now(),a=[],g=[],s=[],u=[],t={};function y(){t={attributes:[]}}y();let i=null,b=null,h=null,p=!1,l={},O={tagName:"",hrefValue:"",openingTagEnds:void 0},w="",$=!1,S=null,C=!0;function Z(n,f,m){if(Array.isArray(f.stripTogetherWithTheirContents)&&(f.stripTogetherWithTheirContents.includes(t.name)||f.stripTogetherWithTheirContents.includes("*")))if(t.slashPresent&&Array.isArray(a)&&a.some(d=>d.name===t.name)){for(let d=a.length;d--;)if(a[d].name===t.name){u=u.filter(([v,_])=>(v<a[d].lastOpeningBracketAt||v>=n+1)&&(_<=a[d].lastOpeningBracketAt||_>n+1));let A=n+1;t.lastClosingBracketAt&&(A=t.lastClosingBracketAt+1),u.push([a[d].lastOpeningBracketAt,A]),Ie.has(e[n])&&f.cb?f.cb({tag:t,deleteFrom:a[d].lastOpeningBracketAt,deleteTo:n+1,insert:null,rangesArr:m,proposedReturn:[a[d].lastOpeningBracketAt,n,null]}):f.cb&&f.cb({tag:t,deleteFrom:a[d].lastOpeningBracketAt,deleteTo:n,insert:"",rangesArr:m,proposedReturn:[a[d].lastOpeningBracketAt,n,""]}),a.splice(d,1);break}}else t.slashPresent||a.push(t);else Array.isArray(f.ignoreTagsWithTheirContents)&&ne(n,f,t)&&(C=!1)}function P(n,f,m,d,A,v){if(Array.isArray(T.current())&&typeof m=="number"&&T.current()[0][0]===0&&T.current()[0][1]>=m)return"";if(e.length===d&&v&&!c?.dumpLinkHrefsNearby?.enabled)return null;let _="";if(Number.isInteger(m)&&m<A&&(_+=n.slice(m,A)),Number.isInteger(d)&&d>v+1){let R=n.slice(v+1,d);d&&!E(e,d-1)&&(R=R.trimEnd()),R.includes(`
|
|
11
|
-
`)&&j(d,n)?_+=" ":_+=R}let q=!Ie.has(n[f]),Te=n[d-1]!==">"||!n[m].trim(),ve=!['"',"("].includes(n[A-1]),Ye=![";",".",":","!"].includes(n[f]);if((q||Te&&ve&&Ye)&&(Te||ve)&&n[f]!=="!"&&(!An.has(t.name)||typeof m=="number"&&m<A||typeof d=="number"&&d>v+1)){let R=_.match(/\n/g);return Array.isArray(R)&&R.length?R.length===1?`
|
|
12
|
-
`:R.length===2?`
|
|
13
|
-
|
|
14
|
-
`:`
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
`:" "}return""}function re(n,f){if(n.dumpLinkHrefsNearby?.enabled&&O.tagName&&O.tagName===t.name&&t.lastOpeningBracketAt&&(O.openingTagEnds&&t.lastOpeningBracketAt>O.openingTagEnds||!O.openingTagEnds)&&($=!0),$){let m=n.dumpLinkHrefsNearby?.putOnNewLine?`
|
|
18
|
-
|
|
19
|
-
`:"";w=`${m}${O.hrefValue}`,(typeof f!="number"||E(e,f-1))&&(w+=m)}}function j(n,f){return f?f[n]==="<"&&f[n+1]!=="%":e[n]==="<"&&e[n+1]!=="%"}function N(n){return e[n]===">"&&e[n-1]!=="%"}function ne(n,f,m){if(f.ignoreTagsWithTheirContents.includes("*"))return!0;let d=e.indexOf(`<${m.name}`,n),A=e.indexOf(`</${m.name}`,n);return!m.slashPresent&&A===-1||m.slashPresent&&!g.some(v=>v.name===m.name)||A>-1&&d>-1&&d<A?!1:f.ignoreTagsWithTheirContents.includes(m.name)}if(typeof e!="string")throw new TypeError(`string-strip-html/stripHtml(): [THROW_ID_01] Input must be string! Currently it's: ${(typeof e).toLowerCase()}, equal to:
|
|
20
|
-
${JSON.stringify(e,null,4)}`);if(r)if(ce(r)){if(r.reportProgressFunc&&typeof r.reportProgressFunc!="function")throw new Error(`string-strip-html/stripHtml(): [THROW_ID_03] The Optional Options Object's key reportProgressFunc, callback function, should be a function but it was given as type ${typeof r.reportProgressFunc}, equal to ${JSON.stringify(r.reportProgressFunc,null,4)}`);if(typeof r.dumpLinkHrefsNearby=="boolean"&&r.dumpLinkHrefsNearby!=null)throw new Error(`string-strip-html/stripHtml(): [THROW_ID_04] The Optional Options Object's key should be a plain object but it was given as type ${typeof r.dumpLinkHrefsNearby}, equal to ${JSON.stringify(r.dumpLinkHrefsNearby,null,4)}`)}else throw new TypeError(`string-strip-html/stripHtml(): [THROW_ID_02] Optional Options Object must be a plain object! Currently it's: ${(typeof r).toLowerCase()}, equal to:
|
|
21
|
-
${JSON.stringify(r,null,4)}`);function se(){$&&(O={tagName:"",hrefValue:"",openingTagEnds:void 0},$=!1)}let c={...Be,...r,dumpLinkHrefsNearby:Object.assign({},Be.dumpLinkHrefsNearby,r?.dumpLinkHrefsNearby)};if(nt(c,"returnRangesOnly"))throw new TypeError("string-strip-html/stripHtml(): [THROW_ID_05] The Optional Options Object's key returnRangesOnly has been removed from the API since v.5 release.");if(c.reportProgressFunc){if(typeof c.reportProgressFuncFrom!="number")throw new Error(`string-strip-html/stripHtml(): [THROW_ID_06] The Optional Options Object's key reportProgressFuncFrom, callback function's "from" range, should be a number but it was given as type ${typeof c.reportProgressFuncFrom}, equal to ${JSON.stringify(c.reportProgressFuncFrom,null,4)}`);if(typeof c.reportProgressFuncTo!="number")throw new Error(`string-strip-html/stripHtml(): [THROW_ID_07] The Optional Options Object's key reportProgressFuncTo, callback function's "to" range, should be a number but it was given as type ${typeof c.reportProgressFuncTo}, equal to ${JSON.stringify(c.reportProgressFuncTo,null,4)}`)}c.ignoreTags=He(c.ignoreTags,"resolvedOpts.ignoreTags"),c.onlyStripTags=He(c.onlyStripTags,"resolvedOpts.onlyStripTags");let be=!!c.onlyStripTags.length;c.onlyStripTags.length&&c.ignoreTags.length&&(c.onlyStripTags=gn(c.onlyStripTags,...c.ignoreTags)),c.stripTogetherWithTheirContents?typeof c.stripTogetherWithTheirContents=="string"&&c.stripTogetherWithTheirContents.length&&(c.stripTogetherWithTheirContents=[c.stripTogetherWithTheirContents]):c.stripTogetherWithTheirContents=[];let z={};if(c.stripTogetherWithTheirContents&&Array.isArray(c.stripTogetherWithTheirContents)&&c.stripTogetherWithTheirContents.length&&!c.stripTogetherWithTheirContents.every((n,f)=>typeof n!="string"?(z.el=n,z.i=f,!1):!0))throw new TypeError(`string-strip-html/stripHtml(): [THROW_ID_08] Optional Options Object's key stripTogetherWithTheirContents was set to contain not just string elements! For example, element at index ${z.i} has a value ${z.el} which is not string but ${(typeof z.el).toLowerCase()}.`);c.cb||(c.cb=({rangesArr:n,proposedReturn:f})=>{f&&n.push(...f)});let T=new bn({limitToBeAddedWhitespace:!0,limitLinebreaksCount:2});if(!c.skipHtmlDecoding)for(;e!==Ae(e,{scope:"strict"});)e=Ae(e,{scope:"strict"});let I=!1,F=!1,K=0,Oe=0,k=e.length,Xe=Math.floor(k/2);for(let n=0;n<k;n++){if(c.reportProgressFunc&&(k>1e3&&k<2e3?n===Xe&&c.reportProgressFunc(Math.floor((c.reportProgressFuncTo-c.reportProgressFuncFrom)/2)):k>=2e3&&(K=c.reportProgressFuncFrom+Math.floor(n/k*(c.reportProgressFuncTo-c.reportProgressFuncFrom)),K!==Oe&&(Oe=K,c.reportProgressFunc(K)))),Object.keys(t).length>1&&t.lastClosingBracketAt&&t.lastClosingBracketAt<n&&e[n]!==" "&&S===null&&(S=n),!I&&e[n]==="%"&&e[n-1]==="{"&&e.includes("%}",n+1)){h=null;let f=e.indexOf("%}",n)-1;if(f>n){n=f;continue}}if(!I&&N(n)&&(!t||Object.keys(t).length<2)&&n>1){for(let f=n;f--;)if(e[f-1]===void 0||N(f)){let m=e[f-1]===void 0?f:f+1,d=e.slice(m,n+1)||"";if((d.includes("/>")||d.includes("/ >")||d.includes('="')||d.includes("='"))&&e!==`<${Re(d.trim(),"/>")}>`&&[...G].some(A=>Re(d.trim().split(/\s+/).filter(v=>v.trim()).filter((v,_)=>_===0),"/>").toLowerCase()===A)&&_n(`<${d.trim()}>`,c).result===""){(!s.length||s[s.length-1][0]!==t.lastOpeningBracketAt)&&s.push([m,n+1]),(!u.length||u[u.length-1][0]!==t.lastOpeningBracketAt)&&u.push([m,n+1]);let A=P(e,n,m,n+1,m,n+1),v=n+1;if(e[v]&&!e[v].trim()){for(let _=v;_<k;_++)if(e[_].trim()){v=_;break}}c.cb({tag:t,deleteFrom:m,deleteTo:v,insert:A,rangesArr:T,proposedReturn:[m,v,A]})}break}}if(!F&&e[n]==="/"&&!t.quotes?.value&&Number.isInteger(t.lastOpeningBracketAt)&&!Number.isInteger(t.lastClosingBracketAt)&&(t.slashPresent=n),e[n]==='"'||e[n]==="'")if(!F&&t.nameStarts&&t?.quotes?.value===e[n])if(l.valueStarts===void 0)l={},delete t.quotes;else{l.valueEnds=n,l.value=e.slice(l.valueStarts,n),t.attributes.push(l),l={},delete t.quotes;let f;c.dumpLinkHrefsNearby?.enabled&&!a.length&&t.attributes.some(m=>{if(typeof m.name=="string"&&m.name.toLowerCase()==="href")return f=`${c.dumpLinkHrefsNearby?.wrapHeads||""}${m.value}${c.dumpLinkHrefsNearby?.wrapTails||""}`,!0})&&(O={tagName:t.name,hrefValue:f,openingTagEnds:void 0})}else!F&&!t.quotes&&t.nameStarts&&(t.quotes={},t.quotes.value=e[n],t.quotes.start=n,t.quotes.next=e.indexOf(e[n],n+1),l.nameStarts&&l.nameEnds&&l.nameEnds<n&&l.nameStarts<n&&!l.valueStarts&&(l.name=e.slice(l.nameStarts,l.nameEnds)));if(t.nameStarts!==void 0&&t.nameEnds===void 0&&(!e[n].trim()||!Tn(e[n]))){if(t.nameEnds=n,t.name=e.slice(t.nameStarts,t.nameEnds+(!N(n)&&e[n]!=="/"&&e[n+1]===void 0?1:0)),e[t.nameStarts-1]!=="!"&&!t.name.replace(/-/g,"").length||/^\d+$/.test(t.name[0])){t={};continue}if(typeof t.name=="string"&&t.name.toLowerCase()==="doctype"&&(F=!0),j(n)){re(c);let f=P(e,n,t.leftOuterWhitespace,n,t.lastOpeningBracketAt,n);(c.stripTogetherWithTheirContents.includes(t.name)||c.stripTogetherWithTheirContents.includes("*"))&&(u=u.filter(([m,d])=>!(m===t.leftOuterWhitespace&&d===n))),c.cb({tag:t,deleteFrom:t.leftOuterWhitespace,deleteTo:n,insert:`${f}${w}${f}`,rangesArr:T,proposedReturn:[t.leftOuterWhitespace,n,`${f}${w}${f}`]}),se(),Z(n,c,T)}}if(t.quotes?.start&&t.quotes.start<n&&!t.quotes.end&&l.nameEnds&&l.equalsAt&&!l.valueStarts&&(l.valueStarts=n),!t.quotes&&l.nameEnds&&e[n]==="="&&!l.valueStarts&&!l.equalsAt&&(l.equalsAt=n),!t.quotes&&l.nameStarts&&l.nameEnds&&!l.valueStarts&&e[n].trim()&&e[n]!=="="&&(t.attributes.push(l),l={}),!t.quotes&&l.nameStarts&&!l.nameEnds&&(F&&`'"`.includes(e[l.nameStarts])?l.nameStarts<n&&e[n]===e[l.nameStarts]&&(l.nameEnds=n+1,l.name=e.slice(l.nameStarts,l.nameEnds)):e[n].trim()?e[n]==="="?l.equalsAt||(l.nameEnds=n,l.equalsAt=n,l.name=e.slice(l.nameStarts,l.nameEnds)):e[n]==="/"||N(n)?(l.nameEnds=n,l.name=e.slice(l.nameStarts,l.nameEnds),t.attributes.push(l),l={}):j(n)&&(l.nameEnds=n,l.name=e.slice(l.nameStarts,l.nameEnds),t.attributes.push(l),l={}):(l.nameEnds=n,l.name=e.slice(l.nameStarts,l.nameEnds))),!t.quotes&&t.nameEnds<n&&!e[n-1].trim()&&e[n].trim()&&!"<>/!".includes(e[n])&&!l.nameStarts&&!t.lastClosingBracketAt&&(l.nameStarts=n),t.lastOpeningBracketAt!==null&&t.lastOpeningBracketAt<n&&e[n]==="/"&&t.onlyPlausible&&(t.onlyPlausible=!1),t.lastOpeningBracketAt!==null&&t.lastOpeningBracketAt<n&&e[n]!=="/"&&(t.onlyPlausible===void 0&&((!e[n].trim()||j(n))&&!t.slashPresent?t.onlyPlausible=!0:t.onlyPlausible=!1),e[n].trim()&&t.nameStarts===void 0&&!j(n)&&e[n]!=="/"&&!N(n)&&e[n]!=="!"&&(t.nameStarts=n,t.nameContainsLetters=!1)),t.nameStarts&&!t.quotes&&typeof e[n]=="string"&&e[n].toLowerCase()!==e[n].toUpperCase()&&(t.nameContainsLetters=!0),N(n)&&(We(t,e,n)||t.quotes.value&&typeof t.lastOpeningBracketAt=="number"&&vn(t.quotes.value,e.slice(t.lastOpeningBracketAt,n))%2===1&&!e.slice(t.lastOpeningBracketAt+1,n).includes("<")&&!e.slice(t.lastOpeningBracketAt+1,n).includes(">"))&&t.lastOpeningBracketAt!==void 0&&(t.lastClosingBracketAt=n,S=null,Object.keys(l).length&&(t.attributes.push(l),l={}),c.dumpLinkHrefsNearby?.enabled&&O.tagName&&!O.openingTagEnds&&(O.openingTagEnds=n)),(!F||e[n]===">")&&t.lastOpeningBracketAt!==void 0){if(t.lastClosingBracketAt===void 0){if(t.lastOpeningBracketAt<n&&!j(n)&&(e[n+1]===void 0||j(n+1)&&!t?.quotes?.value)&&t.nameContainsLetters&&typeof t.nameStarts=="number"){if(t.name=e.slice(t.nameStarts,t.nameEnds||n+1).toLowerCase(),(!s.length||s[s.length-1][0]!==t.lastOpeningBracketAt)&&s.push([t.lastOpeningBracketAt,n+1]),c.ignoreTags.includes(t.name)||ne(n,c,t)||!G.has(t.name)&&(t.onlyPlausible||c.stripRecognisedHTMLOnly)){t={},l={};continue}if((G.has(t.name)||ue.has(t.name))&&(t.onlyPlausible===!1||t.onlyPlausible===!0&&t.attributes.length)||e[n+1]===void 0){re(c);let f=P(e,n,t.leftOuterWhitespace,n+1,t.lastOpeningBracketAt,t.lastClosingBracketAt);I&&t.name==="script"&&t.slashPresent&&(I=!1);let m;f===null||w===null?m=null:m=`${f}${w}${f}`,c.cb({tag:t,deleteFrom:t.leftOuterWhitespace,deleteTo:n+1,insert:m,rangesArr:T,proposedReturn:[t.leftOuterWhitespace,n+1,m]}),se(),Z(n,c,T)}if(!u.length||u[u.length-1][0]!==t.lastOpeningBracketAt&&u[u.length-1][1]!==n+1)if(c.stripTogetherWithTheirContents.includes(t.name)||c.stripTogetherWithTheirContents.includes("*")){let f;for(let m=a.length;m--;)a[m].name===t.name&&(f=a[m]);f?(u=u.filter(([m])=>m!==f.lastOpeningBracketAt),u.push([f.lastOpeningBracketAt,n+1])):u.push([t.lastOpeningBracketAt,n+1])}else u.push([t.lastOpeningBracketAt,n+1])}}else if(n>t.lastClosingBracketAt&&e[n].trim()||e[n+1]===void 0||c.ignoreIndentations&&`\r
|
|
22
|
-
`.includes(e[n])){let f=t.lastClosingBracketAt===n?n+1:n;c.trimOnlySpaces&&f===k-1&&S!==null&&S<n&&(f=S),(!s.length||s[s.length-1][0]!==t.lastOpeningBracketAt)&&s.push([t.lastOpeningBracketAt,t.lastClosingBracketAt+1]);let m=c.ignoreTags.includes(t.name),d=ne(n,c,t);if(!C||c.stripRecognisedHTMLOnly&&typeof t.name=="string"&&!G.has(t.name.toLowerCase())&&!ue.has(t.name.toLowerCase())||!be&&(m||d)||be&&!c.onlyStripTags.includes(t.name)||c.ignoreTagsWithTheirContents.includes(t.name)){if(d)if(t.slashPresent){for(let A=g.length;A--;)if(g[A].name===t.name){g.splice(A,1);break}g.length||(C=!0)}else C&&(C=!1),g.push(t);c.cb({tag:t,deleteFrom:null,deleteTo:null,insert:null,rangesArr:T,proposedReturn:null}),t={},l={}}else if(!t.onlyPlausible||t.attributes.length===0&&t.name&&(G.has(t.name.toLowerCase())||ue.has(t.name.toLowerCase()))||t.attributes?.some(A=>A.equalsAt)){(!u.length||u[u.length-1][0]!==t.lastOpeningBracketAt)&&u.push([t.lastOpeningBracketAt,t.lastClosingBracketAt+1]);let A=P(e,n,t.leftOuterWhitespace,f,t.lastOpeningBracketAt,t.lastClosingBracketAt);w="",$=!1,re(c,f);let v;typeof w=="string"&&w.length?(v=`${A}${w}${A===`
|
|
23
|
-
|
|
24
|
-
`?`
|
|
25
|
-
`:A}`,f===t.lastClosingBracketAt+1&&(!e[f]||!ge.has(e[f]))&&(v+=" "),t.leftOuterWhitespace===t.lastOpeningBracketAt&&T.last()&&T.last()[1]<t.lastOpeningBracketAt&&(!c?.dumpLinkHrefsNearby?.putOnNewLine||!ge.has(e[f]))&&(v=" "+v)):v=A,v!==null&&(t.leftOuterWhitespace===0||!E(e,f-1))&&(!c.dumpLinkHrefsNearby?.enabled||t.name!=="a")&&(v=void 0);let _=0;if($&&ge.has(e[f])){c.dumpLinkHrefsNearby?.putOnNewLine&&(v=`${e[f]}${v||""}`);let q=E(e,f);q&&v?.endsWith(`
|
|
26
|
-
`)?_+=q-n:(!q||q>n)&&_++}c.cb({tag:t,deleteFrom:t.leftOuterWhitespace,deleteTo:f+_,insert:v,rangesArr:T,proposedReturn:[t.leftOuterWhitespace,f+_,v]}),se(),Z(n,c,T)}else t={};N(n)||(t={})}F&&(F=!1)}if((!I||e[n]==="<"&&E(e,E(e,n))&&e[E(e,n)]==="/"&&e.startsWith("script",E(e,E(e,n))))&&j(n)&&!j(n-1)&&!`'"`.includes(e[n+1])&&(!`'"`.includes(e[n+2])||/\w/.test(e[n+1]))&&!(e[n+1]==="c"&&e[n+2]===":")&&!(e[n+1]==="f"&&e[n+2]==="m"&&e[n+3]==="t"&&e[n+4]===":")&&!(e[n+1]==="s"&&e[n+2]==="q"&&e[n+3]==="l"&&e[n+4]===":")&&!(e[n+1]==="x"&&e[n+2]===":")&&!(e[n+1]==="f"&&e[n+2]==="n"&&e[n+3]===":")&&We(t,e,n)){if(N(E(e,n)))continue;if(t.nameEnds&&t.nameEnds<n&&!t.lastClosingBracketAt&&(t.onlyPlausible===!0&&t.attributes?.length||t.onlyPlausible===!1)){let f=P(e,n,t.leftOuterWhitespace,n,t.lastOpeningBracketAt,n);c.cb({tag:t,deleteFrom:t.leftOuterWhitespace,deleteTo:n,insert:f,rangesArr:T,proposedReturn:[t.leftOuterWhitespace,n,f]}),Z(n,c,T),t={},l={}}if(t.lastOpeningBracketAt!==void 0&&t.onlyPlausible&&t.name&&!t.quotes&&(t.lastOpeningBracketAt=void 0,t.name=void 0,t.onlyPlausible=!1),(t.lastOpeningBracketAt===void 0||!t.onlyPlausible)&&!t.quotes&&(t.lastOpeningBracketAt=n,t.slashPresent=!1,t.attributes=[],i===null?t.leftOuterWhitespace=n:c.trimOnlySpaces&&i===0?t.leftOuterWhitespace=b||n:t.leftOuterWhitespace=i,`${e[n+1]}${e[n+2]}${e[n+3]}`=="!--"||`${e[n+1]}${e[n+2]}${e[n+3]}${e[n+4]}${e[n+5]}${e[n+6]}${e[n+7]}${e[n+8]}`=="![CDATA[")){let f=!0;e[n+2]==="-"&&(f=!1);let m;for(let d=n;d<k;d++)if((!m&&f&&`${e[d-2]}${e[d-1]}${e[d]}`=="]]>"||!f&&`${e[d-2]}${e[d-1]}${e[d]}`=="-->")&&(m=d),m&&(m<d&&e[d].trim()||e[d+1]===void 0)){let A=d;(e[d+1]===void 0&&!e[d].trim()||e[d]===">")&&(A+=1),(!s.length||s[s.length-1][0]!==t.lastOpeningBracketAt)&&s.push([t.lastOpeningBracketAt,m+1]),(!u.length||u[u.length-1][0]!==t.lastOpeningBracketAt)&&u.push([t.lastOpeningBracketAt,m+1]);let v=P(e,d,t.leftOuterWhitespace,A,t.lastOpeningBracketAt,m);c.cb({tag:t,deleteFrom:t.leftOuterWhitespace,deleteTo:A,insert:v,rangesArr:T,proposedReturn:[t.leftOuterWhitespace,A,v]}),n=d-1,e[d]===">"&&(n=d),t={},l={};break}}}!e[n].trim()||e[n].charCodeAt(0)===847?(i===null&&(i=n,t.lastOpeningBracketAt!==void 0&&t.lastOpeningBracketAt<n&&t.nameStarts&&t.nameStarts<t.lastOpeningBracketAt&&n===t.lastOpeningBracketAt+1&&!a.some(f=>f.name===t.name)&&(t.onlyPlausible=!0,t.name=void 0,t.nameStarts=void 0)),(e[n]===`
|
|
27
|
-
`||e[n]==="\r")&&(h=n,p&&(p=!1))):(i!==null&&(!t.quotes&&l.equalsAt>i-1&&l.nameEnds&&l.equalsAt>l.nameEnds&&e[n]!=='"'&&e[n]!=="'"&&(ce(l)&&t.attributes.push(l),l={},t.equalsSpottedAt=void 0),i=null),p||(p=!0,C&&!I&&typeof h=="number"&&n&&h<n-1&&(e.slice(h+1,n).trim()?h=null:c.ignoreIndentations||T.push([h+1,n])))),e[n]===" "?b===null&&(b=n):b!==null&&(b=null),t.name==="script"&&(I=!t.slashPresent)}if(e&&!c.ignoreIndentations&&(c.trimOnlySpaces&&e[0]===" "||!c.trimOnlySpaces&&!e[0].trim()))for(let n=0;n<k;n++)if(c.trimOnlySpaces&&e[n]!==" "||!c.trimOnlySpaces&&e[n].trim()){T.push([0,n]);break}else e[n+1]||T.push([0,n+1]);if(e&&(c.trimOnlySpaces&&e[~-e.length]===" "||!c.trimOnlySpaces&&!e[~-e.length].trim())){for(let n=e.length;n--;)if(c.trimOnlySpaces&&e[n]!==" "||!c.trimOnlySpaces&&e[n].trim()){T.push([n+1,k]);break}}let H=T.current();if(!r?.cb&&H&&(H[0]&&!H[0][0]&&(H[0][1],T.ranges[0]=[T.ranges[0][0],T.ranges[0][1]]),H[H.length-1]?.[1]===e.length&&(H[H.length-1][0],T.ranges))){let n=T.ranges[T.ranges.length-1][0];e[n-1]&&(c.trimOnlySpaces&&e[n-1]===" "||!c.trimOnlySpaces&&!e[n-1].trim())&&(n-=1);let f=T.ranges[T.ranges.length-1][2];T.ranges[T.ranges.length-1]=[n,T.ranges[T.ranges.length-1][1]],f?.trim()&&T.ranges[T.ranges.length-1].push(f.trimEnd())}return{log:{timeTakenInMilliseconds:Date.now()-o},result:dn(e,T.current()),ranges:T.current(),allTagLocations:s,filteredTagLocations:u}}export{Be as defaults,_n as stripHtml,kn as version};
|