@savvy-web/silk 3.10.2 → 3.10.4
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/changesets-changelog.cjs +608 -116
- package/changesets-changelog.js +611 -118
- package/changesets-markdownlint.cjs +608 -116
- package/changesets-markdownlint.js +611 -118
- package/package.json +5 -5
- package/tsconfig/node/dist/tsconfig.tsbuildinfo +1 -1
package/changesets-changelog.cjs
CHANGED
|
@@ -2925,7 +2925,7 @@ const DependencyTableRowSchema = effect.Schema.Struct({
|
|
|
2925
2925
|
*/
|
|
2926
2926
|
const DependencyTableSchema = effect.Schema.Array(DependencyTableRowSchema).check(effect.Schema.isMinLength(1));
|
|
2927
2927
|
//#endregion
|
|
2928
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
2928
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/MarkdownNode.js
|
|
2929
2929
|
/**
|
|
2930
2930
|
* A single point in a source document: 1-based `line` and `column`, 0-based
|
|
2931
2931
|
* `offset`.
|
|
@@ -3249,6 +3249,8 @@ const PhrasingContent = effect.Schema.suspend(() => effect.Schema.Union([
|
|
|
3249
3249
|
InlineCode,
|
|
3250
3250
|
Link,
|
|
3251
3251
|
LinkReference,
|
|
3252
|
+
MdxJsxTextElement,
|
|
3253
|
+
MdxTextExpression,
|
|
3252
3254
|
Strong,
|
|
3253
3255
|
Text
|
|
3254
3256
|
]));
|
|
@@ -3492,6 +3494,8 @@ const FlowContent = effect.Schema.suspend(() => effect.Schema.Union([
|
|
|
3492
3494
|
Heading,
|
|
3493
3495
|
Html,
|
|
3494
3496
|
List,
|
|
3497
|
+
MdxFlowExpression,
|
|
3498
|
+
MdxJsxFlowElement,
|
|
3495
3499
|
Paragraph,
|
|
3496
3500
|
Table,
|
|
3497
3501
|
ThematicBreak
|
|
@@ -3506,6 +3510,147 @@ const FlowContent = effect.Schema.suspend(() => effect.Schema.Union([
|
|
|
3506
3510
|
*/
|
|
3507
3511
|
const ListContent = effect.Schema.suspend(() => effect.Schema.Union([ListItem]));
|
|
3508
3512
|
/**
|
|
3513
|
+
* MdxJsxAttributeValueExpression — a JSX attribute value written as an
|
|
3514
|
+
* expression (`<a b={c} />`); `value` holds the expression source text
|
|
3515
|
+
* between the braces, never evaluated or parsed.
|
|
3516
|
+
*
|
|
3517
|
+
* The primary construction path is a JSON-encoded prop:
|
|
3518
|
+
* `MdxJsxAttributeValueExpression.make({ value: JSON.stringify(props) })`.
|
|
3519
|
+
*
|
|
3520
|
+
* @public
|
|
3521
|
+
*/
|
|
3522
|
+
var MdxJsxAttributeValueExpression = class extends effect.Schema.Class("MdxJsxAttributeValueExpression")({
|
|
3523
|
+
type: effect.Schema.tag("mdxJsxAttributeValueExpression"),
|
|
3524
|
+
value: effect.Schema.String,
|
|
3525
|
+
position: NodePosition
|
|
3526
|
+
}) {};
|
|
3527
|
+
/**
|
|
3528
|
+
* MdxJsxAttribute — a named JSX attribute (`<a b="c" />`). `value` is a
|
|
3529
|
+
* string literal, a {@link MdxJsxAttributeValueExpression}, or — for a
|
|
3530
|
+
* boolean attribute (`<a b />`) — absent or `null`, both of which the
|
|
3531
|
+
* mdast-util-mdx-jsx contract spells (its parser writes `null`; absence is
|
|
3532
|
+
* the constructed-tree spelling). The serializer treats the two identically.
|
|
3533
|
+
*
|
|
3534
|
+
* `name` must be non-empty — an attribute without a name has no MDX spelling,
|
|
3535
|
+
* so the schema refuses it at construction and decode (the oracle's
|
|
3536
|
+
* serialize-time crash, moved to the admission boundary).
|
|
3537
|
+
*
|
|
3538
|
+
* @public
|
|
3539
|
+
*/
|
|
3540
|
+
var MdxJsxAttribute = class extends effect.Schema.Class("MdxJsxAttribute")(effect.Schema.Struct({
|
|
3541
|
+
type: effect.Schema.tag("mdxJsxAttribute"),
|
|
3542
|
+
name: effect.Schema.String,
|
|
3543
|
+
value: effect.Schema.optionalKey(effect.Schema.NullOr(effect.Schema.Union([MdxJsxAttributeValueExpression, effect.Schema.String]))),
|
|
3544
|
+
position: NodePosition
|
|
3545
|
+
}).pipe(effect.Schema.check(effect.Schema.makeFilter((attribute) => attribute.name.length === 0 ? "an MDX JSX attribute requires a non-empty name" : void 0)))) {};
|
|
3546
|
+
/**
|
|
3547
|
+
* MdxJsxExpressionAttribute — a JSX attribute written whole as an expression
|
|
3548
|
+
* (`<a {...b} />`); `value` holds the expression source text between the
|
|
3549
|
+
* braces.
|
|
3550
|
+
*
|
|
3551
|
+
* @public
|
|
3552
|
+
*/
|
|
3553
|
+
var MdxJsxExpressionAttribute = class extends effect.Schema.Class("MdxJsxExpressionAttribute")({
|
|
3554
|
+
type: effect.Schema.tag("mdxJsxExpressionAttribute"),
|
|
3555
|
+
value: effect.Schema.String,
|
|
3556
|
+
position: NodePosition
|
|
3557
|
+
}) {};
|
|
3558
|
+
/**
|
|
3559
|
+
* The union of every node that may appear in a JSX element's `attributes`
|
|
3560
|
+
* array. A real `Schema.Union` for the construction pass-through documented
|
|
3561
|
+
* on `RowContent`.
|
|
3562
|
+
*
|
|
3563
|
+
* Attribute carriers are node-shaped values — they carry `type` and
|
|
3564
|
+
* `position` per the mdast-util-mdx-jsx contract — but they are **not tree
|
|
3565
|
+
* content**: they never appear in a `children` array, so they are excluded
|
|
3566
|
+
* from `MarkdownNode` and invisible to the visitor and to
|
|
3567
|
+
* `MarkdownDocument.find`.
|
|
3568
|
+
*
|
|
3569
|
+
* @public
|
|
3570
|
+
*/
|
|
3571
|
+
const MdxJsxAttributeContent = effect.Schema.Union([MdxJsxAttribute, MdxJsxExpressionAttribute]);
|
|
3572
|
+
/**
|
|
3573
|
+
* MdxJsxFlowElement — a JSX element in flow (block) position (`<Component />`
|
|
3574
|
+
* on its own lines). `name` is `null` for a fragment (`<></>`); children are
|
|
3575
|
+
* flow content, per the oracle's `BlockContent | DefinitionContent` model.
|
|
3576
|
+
*
|
|
3577
|
+
* A fragment cannot carry attributes — that shape has no MDX spelling — so
|
|
3578
|
+
* the schema refuses it at construction and decode. A **named** element's
|
|
3579
|
+
* name must be non-empty on the same terms: `""` has no MDX spelling either
|
|
3580
|
+
* (the oracle's parser only ever produces a real name or `null`, and its
|
|
3581
|
+
* serializer treats a falsy name as the fragment), so `null` is the one
|
|
3582
|
+
* fragment spelling and the empty string fails typed.
|
|
3583
|
+
*
|
|
3584
|
+
* @public
|
|
3585
|
+
*/
|
|
3586
|
+
var MdxJsxFlowElement = class extends effect.Schema.Class("MdxJsxFlowElement")(effect.Schema.Struct({
|
|
3587
|
+
type: effect.Schema.tag("mdxJsxFlowElement"),
|
|
3588
|
+
name: effect.Schema.NullOr(effect.Schema.String),
|
|
3589
|
+
attributes: effect.Schema.Array(MdxJsxAttributeContent),
|
|
3590
|
+
children: effect.Schema.Array(effect.Schema.suspend(() => FlowContent)),
|
|
3591
|
+
position: NodePosition
|
|
3592
|
+
}).pipe(effect.Schema.check(effect.Schema.makeFilter((element) => {
|
|
3593
|
+
if (element.name !== null && element.name.length === 0) return "an MDX JSX element requires a non-empty name (`null` is the fragment spelling)";
|
|
3594
|
+
return element.name === null && element.attributes.length > 0 ? "an MDX JSX fragment cannot carry attributes" : void 0;
|
|
3595
|
+
})))) {};
|
|
3596
|
+
/**
|
|
3597
|
+
* MdxJsxTextElement — a JSX element in text (phrasing) position
|
|
3598
|
+
* (`a <b>c</b> d`). `name` is `null` for a fragment; children are phrasing
|
|
3599
|
+
* content. Refuses attributes on a fragment and an empty-string name, on the
|
|
3600
|
+
* same terms as {@link MdxJsxFlowElement}.
|
|
3601
|
+
*
|
|
3602
|
+
* @public
|
|
3603
|
+
*/
|
|
3604
|
+
var MdxJsxTextElement = class extends effect.Schema.Class("MdxJsxTextElement")(effect.Schema.Struct({
|
|
3605
|
+
type: effect.Schema.tag("mdxJsxTextElement"),
|
|
3606
|
+
name: effect.Schema.NullOr(effect.Schema.String),
|
|
3607
|
+
attributes: effect.Schema.Array(MdxJsxAttributeContent),
|
|
3608
|
+
children: effect.Schema.Array(effect.Schema.suspend(() => PhrasingContent)),
|
|
3609
|
+
position: NodePosition
|
|
3610
|
+
}).pipe(effect.Schema.check(effect.Schema.makeFilter((element) => {
|
|
3611
|
+
if (element.name !== null && element.name.length === 0) return "an MDX JSX element requires a non-empty name (`null` is the fragment spelling)";
|
|
3612
|
+
return element.name === null && element.attributes.length > 0 ? "an MDX JSX fragment cannot carry attributes" : void 0;
|
|
3613
|
+
})))) {};
|
|
3614
|
+
/**
|
|
3615
|
+
* MdxFlowExpression — an expression in flow (block) position (`{a + b}` on
|
|
3616
|
+
* its own lines); `value` holds the expression source text between the
|
|
3617
|
+
* braces.
|
|
3618
|
+
*
|
|
3619
|
+
* @public
|
|
3620
|
+
*/
|
|
3621
|
+
var MdxFlowExpression = class extends effect.Schema.Class("MdxFlowExpression")({
|
|
3622
|
+
type: effect.Schema.tag("mdxFlowExpression"),
|
|
3623
|
+
value: effect.Schema.String,
|
|
3624
|
+
position: NodePosition
|
|
3625
|
+
}) {};
|
|
3626
|
+
/**
|
|
3627
|
+
* MdxTextExpression — an expression in text (phrasing) position
|
|
3628
|
+
* (`a {b} c`); `value` holds the expression source text between the braces.
|
|
3629
|
+
*
|
|
3630
|
+
* @public
|
|
3631
|
+
*/
|
|
3632
|
+
var MdxTextExpression = class extends effect.Schema.Class("MdxTextExpression")({
|
|
3633
|
+
type: effect.Schema.tag("mdxTextExpression"),
|
|
3634
|
+
value: effect.Schema.String,
|
|
3635
|
+
position: NodePosition
|
|
3636
|
+
}) {};
|
|
3637
|
+
/**
|
|
3638
|
+
* MdxjsEsm — an MDX ESM block (`import`/`export` statements); `value` holds
|
|
3639
|
+
* the statement source verbatim.
|
|
3640
|
+
*
|
|
3641
|
+
* Only ever a child of {@link Root}, per the mdast-util-mdxjs-esm content
|
|
3642
|
+
* registration — ESM cannot nest inside a JSX element or any other
|
|
3643
|
+
* container. As with the frontmatter head node, the constraint is structural
|
|
3644
|
+
* (the `Root` children union admits it, no other union does), not validated.
|
|
3645
|
+
*
|
|
3646
|
+
* @public
|
|
3647
|
+
*/
|
|
3648
|
+
var MdxjsEsm = class extends effect.Schema.Class("MdxjsEsm")({
|
|
3649
|
+
type: effect.Schema.tag("mdxjsEsm"),
|
|
3650
|
+
value: effect.Schema.String,
|
|
3651
|
+
position: NodePosition
|
|
3652
|
+
}) {};
|
|
3653
|
+
/**
|
|
3509
3654
|
* The frontmatter formats the capture recognizes, keyed by their opening
|
|
3510
3655
|
* fence: `---` is yaml, `+++` is toml and `---json` is json.
|
|
3511
3656
|
*
|
|
@@ -3556,13 +3701,18 @@ const FrontmatterContent = effect.Schema.suspend(() => Frontmatter);
|
|
|
3556
3701
|
* mdast leaves a root's content model open; a parsed markdown document is
|
|
3557
3702
|
* flow content, optionally headed by one {@link Frontmatter} node — mdast's
|
|
3558
3703
|
* `FlowContentFrontmatter` merge, which admits frontmatter at the root and
|
|
3559
|
-
* nowhere else.
|
|
3704
|
+
* nowhere else. {@link MdxjsEsm} is likewise admitted at the root and nowhere
|
|
3705
|
+
* else, per mdast-util-mdxjs-esm's `RootContentMap` registration.
|
|
3560
3706
|
*
|
|
3561
3707
|
* @public
|
|
3562
3708
|
*/
|
|
3563
3709
|
var Root = class extends effect.Schema.Class("Root")({
|
|
3564
3710
|
type: effect.Schema.tag("root"),
|
|
3565
|
-
children: effect.Schema.Array(effect.Schema.suspend(() => effect.Schema.Union([
|
|
3711
|
+
children: effect.Schema.Array(effect.Schema.suspend(() => effect.Schema.Union([
|
|
3712
|
+
Frontmatter,
|
|
3713
|
+
MdxjsEsm,
|
|
3714
|
+
FlowContent
|
|
3715
|
+
]))),
|
|
3566
3716
|
position: NodePosition
|
|
3567
3717
|
}) {};
|
|
3568
3718
|
effect.Schema.suspend(() => effect.Schema.Union([
|
|
@@ -3570,12 +3720,67 @@ effect.Schema.suspend(() => effect.Schema.Union([
|
|
|
3570
3720
|
FrontmatterContent,
|
|
3571
3721
|
FlowContent,
|
|
3572
3722
|
ListContent,
|
|
3723
|
+
MdxjsEsm,
|
|
3573
3724
|
PhrasingContent,
|
|
3574
3725
|
RowContent,
|
|
3575
3726
|
TableContent
|
|
3576
3727
|
]));
|
|
3577
3728
|
//#endregion
|
|
3578
|
-
//#region ../../node_modules/.pnpm/@effected+
|
|
3729
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/frontmatter.js
|
|
3730
|
+
const FENCES = /* @__PURE__ */ new Map([
|
|
3731
|
+
["---", {
|
|
3732
|
+
format: "yaml",
|
|
3733
|
+
close: "---"
|
|
3734
|
+
}],
|
|
3735
|
+
["+++", {
|
|
3736
|
+
format: "toml",
|
|
3737
|
+
close: "+++"
|
|
3738
|
+
}],
|
|
3739
|
+
["---json", {
|
|
3740
|
+
format: "json",
|
|
3741
|
+
close: "---"
|
|
3742
|
+
}]
|
|
3743
|
+
]);
|
|
3744
|
+
/**
|
|
3745
|
+
* Scan the head of a preprocessed document for a frontmatter block.
|
|
3746
|
+
*
|
|
3747
|
+
* `lines` is the preprocessor's line table (U+0000 already replaced,
|
|
3748
|
+
* terminators stripped, absolute `start` offsets); `text` is the original
|
|
3749
|
+
* source, consulted only for the terminators between value lines — a
|
|
3750
|
+
* terminator can never contain U+0000, so slicing it from the source is
|
|
3751
|
+
* exact, and the value keeps CRLF interiors verbatim while the line content
|
|
3752
|
+
* keeps the preprocessor's U+FFFD replacement.
|
|
3753
|
+
*
|
|
3754
|
+
* Returns `null` when the document has no frontmatter — which is the common
|
|
3755
|
+
* case and never an error.
|
|
3756
|
+
*/
|
|
3757
|
+
const scanFrontmatter = (lines, text) => {
|
|
3758
|
+
const opening = lines[0];
|
|
3759
|
+
if (opening === void 0 || opening.start !== 0) return null;
|
|
3760
|
+
const rule = FENCES.get(opening.text);
|
|
3761
|
+
if (rule === void 0) return null;
|
|
3762
|
+
for (let index = 1; index < lines.length; index += 1) {
|
|
3763
|
+
const line = lines[index];
|
|
3764
|
+
if (line === void 0 || line.text !== rule.close) continue;
|
|
3765
|
+
const parts = [];
|
|
3766
|
+
for (let inner = 1; inner < index; inner += 1) {
|
|
3767
|
+
const current = lines[inner];
|
|
3768
|
+
const next = lines[inner + 1];
|
|
3769
|
+
if (current === void 0 || next === void 0) break;
|
|
3770
|
+
parts.push(current.text);
|
|
3771
|
+
if (inner + 1 < index) parts.push(text.slice(current.start + current.text.length, next.start));
|
|
3772
|
+
}
|
|
3773
|
+
return {
|
|
3774
|
+
format: rule.format,
|
|
3775
|
+
value: parts.join(""),
|
|
3776
|
+
lineCount: index + 1,
|
|
3777
|
+
endOffset: line.start + line.text.length
|
|
3778
|
+
};
|
|
3779
|
+
}
|
|
3780
|
+
return null;
|
|
3781
|
+
};
|
|
3782
|
+
//#endregion
|
|
3783
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncNode.js
|
|
3579
3784
|
/**
|
|
3580
3785
|
* Discriminator values for JSONC AST node types: the JSON value types
|
|
3581
3786
|
* (`string`/`number`/`boolean`/`null`), the structural types
|
|
@@ -3750,7 +3955,7 @@ function evaluateNode(node, depth) {
|
|
|
3750
3955
|
}
|
|
3751
3956
|
}
|
|
3752
3957
|
//#endregion
|
|
3753
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
3958
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/scanner.js
|
|
3754
3959
|
const isWhitespace = (ch) => ch === 32 || ch === 9 || ch === 11 || ch === 12 || ch === 160 || ch === 65279;
|
|
3755
3960
|
const isLineBreak$1 = (ch) => ch === 10 || ch === 13 || ch === 8232 || ch === 8233;
|
|
3756
3961
|
const isDigit$2 = (ch) => ch >= 48 && ch <= 57;
|
|
@@ -4044,7 +4249,7 @@ const createScanner$1 = (text, ignoreTrivia = false) => {
|
|
|
4044
4249
|
};
|
|
4045
4250
|
};
|
|
4046
4251
|
//#endregion
|
|
4047
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
4252
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/skip.js
|
|
4048
4253
|
/**
|
|
4049
4254
|
* Iteratively consume the value beginning at the cursor's current token and
|
|
4050
4255
|
* return its tight end offset (excludes trailing whitespace/comments).
|
|
@@ -4074,7 +4279,7 @@ const skipBalancedValue = (cursor) => {
|
|
|
4074
4279
|
return end;
|
|
4075
4280
|
};
|
|
4076
4281
|
//#endregion
|
|
4077
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
4282
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/parser.js
|
|
4078
4283
|
/**
|
|
4079
4284
|
* The public parse-error code vocabulary. The facade builds its `@public`
|
|
4080
4285
|
* `JsoncParseErrorCode` schema from this array; the parser produces these codes
|
|
@@ -4487,7 +4692,7 @@ const parseTree$2 = (text, flags) => {
|
|
|
4487
4692
|
};
|
|
4488
4693
|
};
|
|
4489
4694
|
//#endregion
|
|
4490
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
4695
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/Jsonc.js
|
|
4491
4696
|
/**
|
|
4492
4697
|
* The single public parse-error code vocabulary, appearing as the `code` field
|
|
4493
4698
|
* of {@link JsoncParseErrorDetail}.
|
|
@@ -5091,7 +5296,7 @@ var JsoncEdit = class extends effect.Schema.Class("JsoncEdit")({
|
|
|
5091
5296
|
}
|
|
5092
5297
|
};
|
|
5093
5298
|
//#endregion
|
|
5094
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
5299
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/navigate.js
|
|
5095
5300
|
/**
|
|
5096
5301
|
* Resolve `path` against `text`, returning where the target is (or where it
|
|
5097
5302
|
* would be inserted). `path` must be non-empty — the whole-document case is
|
|
@@ -5218,7 +5423,7 @@ function navigate(text, path) {
|
|
|
5218
5423
|
return { _tag: "NoOp" };
|
|
5219
5424
|
}
|
|
5220
5425
|
//#endregion
|
|
5221
|
-
//#region ../../node_modules/.pnpm/@effected+jsonc@0.
|
|
5426
|
+
//#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncModifier.js
|
|
5222
5427
|
/**
|
|
5223
5428
|
* Raised when `JsoncModifier.modify` cannot navigate the requested path: the
|
|
5224
5429
|
* value at `depth` is not the container kind (`expected`) the next path segment
|
|
@@ -5346,7 +5551,7 @@ var JsoncModifier = class {
|
|
|
5346
5551
|
});
|
|
5347
5552
|
};
|
|
5348
5553
|
//#endregion
|
|
5349
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5554
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/carriers.js
|
|
5350
5555
|
/**
|
|
5351
5556
|
* P1's error-code vocabulary. Widens as later phases add parse-error kinds;
|
|
5352
5557
|
* P1 registers exactly one, the hardening-guard trip.
|
|
@@ -5386,7 +5591,7 @@ var GuardExceeded$1 = class extends Error {
|
|
|
5386
5591
|
/** Narrows `unknown` to {@link GuardExceeded}; never a bare `instanceof` at a call site. */
|
|
5387
5592
|
const isGuardExceeded$1 = (u) => u instanceof GuardExceeded$1;
|
|
5388
5593
|
//#endregion
|
|
5389
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5594
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/MarkdownDiagnostic.js
|
|
5390
5595
|
/**
|
|
5391
5596
|
* Error codes `Markdown.parse`/`MarkdownDocument.parse` can fail with. P1
|
|
5392
5597
|
* registers exactly the hardening-guard trip; later phases widen the union
|
|
@@ -5466,7 +5671,7 @@ function lineChar(text, offset) {
|
|
|
5466
5671
|
};
|
|
5467
5672
|
}
|
|
5468
5673
|
//#endregion
|
|
5469
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5674
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blockTypes.js
|
|
5470
5675
|
/** Narrow materialized children to the flow content most constructs contain. */
|
|
5471
5676
|
const flowChildren = (children) => children.filter((child) => child.type !== "root" && child.type !== "listItem" && child.type !== "tableRow" && child.type !== "tableCell");
|
|
5472
5677
|
/** Narrow materialized children to the list items a list contains. */
|
|
@@ -5491,7 +5696,7 @@ const makeBlockNode = (type, startOffset, startLine, depth = 0) => ({
|
|
|
5491
5696
|
data: {}
|
|
5492
5697
|
});
|
|
5493
5698
|
//#endregion
|
|
5494
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5699
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/preprocess.js
|
|
5495
5700
|
/**
|
|
5496
5701
|
* Split `text` into lines, preserving each line's absolute start offset.
|
|
5497
5702
|
*
|
|
@@ -5545,7 +5750,7 @@ const peekCode = (line, position) => position >= 0 && position < line.length ? l
|
|
|
5545
5750
|
*/
|
|
5546
5751
|
const columnsToNextTabStop = (column) => 4 - column % 4;
|
|
5547
5752
|
//#endregion
|
|
5548
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5753
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/htmlTags.js
|
|
5549
5754
|
const TAGNAME = "[A-Za-z][A-Za-z0-9-]*";
|
|
5550
5755
|
/** An opening tag, with any attributes and an optional self-closing slash. */
|
|
5551
5756
|
const OPENTAG = `<${TAGNAME}(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*/?>`;
|
|
@@ -5556,7 +5761,7 @@ const HTMLTAG = `(?:${OPENTAG}|${CLOSETAG}|<!-->|<!--->|<!--[\\s\\S]*?-->|[<][?]
|
|
|
5556
5761
|
/** {@link HTMLTAG}, anchored for matching at a cursor. */
|
|
5557
5762
|
const reHtmlTag = new RegExp(`^${HTMLTAG}`);
|
|
5558
5763
|
//#endregion
|
|
5559
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5764
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/htmlBlock.js
|
|
5560
5765
|
const C_LESSTHAN$3 = 60;
|
|
5561
5766
|
const reHtmlBlockOpen = [
|
|
5562
5767
|
/./,
|
|
@@ -5622,7 +5827,7 @@ const htmlBlockStart = {
|
|
|
5622
5827
|
}
|
|
5623
5828
|
};
|
|
5624
5829
|
//#endregion
|
|
5625
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5830
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/atxHeading.js
|
|
5626
5831
|
const reATXHeadingMarker = /^#{1,6}(?:[ \t]+|$)/;
|
|
5627
5832
|
const reOnlyTrailingHashes = /^[ \t]*#+[ \t]*$/;
|
|
5628
5833
|
const reClosingHashes = /[ \t]+#+[ \t]*$/;
|
|
@@ -5672,7 +5877,7 @@ const atxHeadingStart = {
|
|
|
5672
5877
|
}
|
|
5673
5878
|
};
|
|
5674
5879
|
//#endregion
|
|
5675
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5880
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/blockquote.js
|
|
5676
5881
|
const C_GREATERTHAN = 62;
|
|
5677
5882
|
/** Blockquote: continues while each line carries its `>` marker. */
|
|
5678
5883
|
const blockquoteConstruct = {
|
|
@@ -5706,11 +5911,11 @@ const blockquoteStart = {
|
|
|
5706
5911
|
}
|
|
5707
5912
|
};
|
|
5708
5913
|
//#endregion
|
|
5709
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5914
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/entityMap.js
|
|
5710
5915
|
/** The HTML5 named character references, keyed without `&` or `;`. */
|
|
5711
5916
|
const ENTITY_MAP = new Map(JSON.parse("[[\"AElig\",\"Æ\"],[\"AMP\",\"&\"],[\"Aacute\",\"Á\"],[\"Abreve\",\"Ă\"],[\"Acirc\",\"Â\"],[\"Acy\",\"А\"],[\"Afr\",\"𝔄\"],[\"Agrave\",\"À\"],[\"Alpha\",\"Α\"],[\"Amacr\",\"Ā\"],[\"And\",\"⩓\"],[\"Aogon\",\"Ą\"],[\"Aopf\",\"𝔸\"],[\"ApplyFunction\",\"\"],[\"Aring\",\"Å\"],[\"Ascr\",\"𝒜\"],[\"Assign\",\"≔\"],[\"Atilde\",\"Ã\"],[\"Auml\",\"Ä\"],[\"Backslash\",\"∖\"],[\"Barv\",\"⫧\"],[\"Barwed\",\"⌆\"],[\"Bcy\",\"Б\"],[\"Because\",\"∵\"],[\"Bernoullis\",\"ℬ\"],[\"Beta\",\"Β\"],[\"Bfr\",\"𝔅\"],[\"Bopf\",\"𝔹\"],[\"Breve\",\"˘\"],[\"Bscr\",\"ℬ\"],[\"Bumpeq\",\"≎\"],[\"CHcy\",\"Ч\"],[\"COPY\",\"©\"],[\"Cacute\",\"Ć\"],[\"Cap\",\"⋒\"],[\"CapitalDifferentialD\",\"ⅅ\"],[\"Cayleys\",\"ℭ\"],[\"Ccaron\",\"Č\"],[\"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\",\"Ð\"],[\"Eacute\",\"É\"],[\"Ecaron\",\"Ě\"],[\"Ecirc\",\"Ê\"],[\"Ecy\",\"Э\"],[\"Edot\",\"Ė\"],[\"Efr\",\"𝔈\"],[\"Egrave\",\"È\"],[\"Element\",\"∈\"],[\"Emacr\",\"Ē\"],[\"EmptySmallSquare\",\"◻\"],[\"EmptyVerySmallSquare\",\"▫\"],[\"Eogon\",\"Ę\"],[\"Eopf\",\"𝔼\"],[\"Epsilon\",\"Ε\"],[\"Equal\",\"⩵\"],[\"EqualTilde\",\"≂\"],[\"Equilibrium\",\"⇌\"],[\"Escr\",\"ℰ\"],[\"Esim\",\"⩳\"],[\"Eta\",\"Η\"],[\"Euml\",\"Ë\"],[\"Exists\",\"∃\"],[\"ExponentialE\",\"ⅇ\"],[\"Fcy\",\"Ф\"],[\"Ffr\",\"𝔉\"],[\"FilledSmallSquare\",\"◼\"],[\"FilledVerySmallSquare\",\"▪\"],[\"Fopf\",\"𝔽\"],[\"ForAll\",\"∀\"],[\"Fouriertrf\",\"ℱ\"],[\"Fscr\",\"ℱ\"],[\"GJcy\",\"Ѓ\"],[\"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\",\"Í\"],[\"Icirc\",\"Î\"],[\"Icy\",\"И\"],[\"Idot\",\"İ\"],[\"Ifr\",\"ℑ\"],[\"Igrave\",\"Ì\"],[\"Im\",\"ℑ\"],[\"Imacr\",\"Ī\"],[\"ImaginaryI\",\"ⅈ\"],[\"Implies\",\"⇒\"],[\"Int\",\"∬\"],[\"Integral\",\"∫\"],[\"Intersection\",\"⋂\"],[\"InvisibleComma\",\"\"],[\"InvisibleTimes\",\"\"],[\"Iogon\",\"Į\"],[\"Iopf\",\"𝕀\"],[\"Iota\",\"Ι\"],[\"Iscr\",\"ℐ\"],[\"Itilde\",\"Ĩ\"],[\"Iukcy\",\"І\"],[\"Iuml\",\"Ï\"],[\"Jcirc\",\"Ĵ\"],[\"Jcy\",\"Й\"],[\"Jfr\",\"𝔍\"],[\"Jopf\",\"𝕁\"],[\"Jscr\",\"𝒥\"],[\"Jsercy\",\"Ј\"],[\"Jukcy\",\"Є\"],[\"KHcy\",\"Х\"],[\"KJcy\",\"Ќ\"],[\"Kappa\",\"Κ\"],[\"Kcedil\",\"Ķ\"],[\"Kcy\",\"К\"],[\"Kfr\",\"𝔎\"],[\"Kopf\",\"𝕂\"],[\"Kscr\",\"𝒦\"],[\"LJcy\",\"Љ\"],[\"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\",\"\\n\"],[\"Nfr\",\"𝔑\"],[\"NoBreak\",\"\"],[\"NonBreakingSpace\",\"\xA0\"],[\"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\",\"Ñ\"],[\"Nu\",\"Ν\"],[\"OElig\",\"Œ\"],[\"Oacute\",\"Ó\"],[\"Ocirc\",\"Ô\"],[\"Ocy\",\"О\"],[\"Odblac\",\"Ő\"],[\"Ofr\",\"𝔒\"],[\"Ograve\",\"Ò\"],[\"Omacr\",\"Ō\"],[\"Omega\",\"Ω\"],[\"Omicron\",\"Ο\"],[\"Oopf\",\"𝕆\"],[\"OpenCurlyDoubleQuote\",\"“\"],[\"OpenCurlyQuote\",\"‘\"],[\"Or\",\"⩔\"],[\"Oscr\",\"𝒪\"],[\"Oslash\",\"Ø\"],[\"Otilde\",\"Õ\"],[\"Otimes\",\"⨷\"],[\"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\",\"\\\"\"],[\"Qfr\",\"𝔔\"],[\"Qopf\",\"ℚ\"],[\"Qscr\",\"𝒬\"],[\"RBarr\",\"⤐\"],[\"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\",\"Þ\"],[\"TRADE\",\"™\"],[\"TSHcy\",\"Ћ\"],[\"TScy\",\"Ц\"],[\"Tab\",\"\\t\"],[\"Tau\",\"Τ\"],[\"Tcaron\",\"Ť\"],[\"Tcedil\",\"Ţ\"],[\"Tcy\",\"Т\"],[\"Tfr\",\"𝔗\"],[\"Therefore\",\"∴\"],[\"Theta\",\"Θ\"],[\"ThickSpace\",\" \"],[\"ThinSpace\",\" \"],[\"Tilde\",\"∼\"],[\"TildeEqual\",\"≃\"],[\"TildeFullEqual\",\"≅\"],[\"TildeTilde\",\"≈\"],[\"Topf\",\"𝕋\"],[\"TripleDot\",\"⃛\"],[\"Tscr\",\"𝒯\"],[\"Tstrok\",\"Ŧ\"],[\"Uacute\",\"Ú\"],[\"Uarr\",\"↟\"],[\"Uarrocir\",\"⥉\"],[\"Ubrcy\",\"Ў\"],[\"Ubreve\",\"Ŭ\"],[\"Ucirc\",\"Û\"],[\"Ucy\",\"У\"],[\"Udblac\",\"Ű\"],[\"Ufr\",\"𝔘\"],[\"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\",\"Ü\"],[\"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\",\"Ý\"],[\"Ycirc\",\"Ŷ\"],[\"Ycy\",\"Ы\"],[\"Yfr\",\"𝔜\"],[\"Yopf\",\"𝕐\"],[\"Yscr\",\"𝒴\"],[\"Yuml\",\"Ÿ\"],[\"ZHcy\",\"Ж\"],[\"Zacute\",\"Ź\"],[\"Zcaron\",\"Ž\"],[\"Zcy\",\"З\"],[\"Zdot\",\"Ż\"],[\"ZeroWidthSpace\",\"\"],[\"Zeta\",\"Ζ\"],[\"Zfr\",\"ℨ\"],[\"Zopf\",\"ℤ\"],[\"Zscr\",\"𝒵\"],[\"aacute\",\"á\"],[\"abreve\",\"ă\"],[\"ac\",\"∾\"],[\"acE\",\"∾̳\"],[\"acd\",\"∿\"],[\"acirc\",\"â\"],[\"acute\",\"´\"],[\"acy\",\"а\"],[\"aelig\",\"æ\"],[\"af\",\"\"],[\"afr\",\"𝔞\"],[\"agrave\",\"à\"],[\"alefsym\",\"ℵ\"],[\"aleph\",\"ℵ\"],[\"alpha\",\"α\"],[\"amacr\",\"ā\"],[\"amalg\",\"⨿\"],[\"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\",\"å\"],[\"ascr\",\"𝒶\"],[\"ast\",\"*\"],[\"asymp\",\"≈\"],[\"asympeq\",\"≍\"],[\"atilde\",\"ã\"],[\"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\",\"¦\"],[\"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\",\"ç\"],[\"ccirc\",\"ĉ\"],[\"ccups\",\"⩌\"],[\"ccupssm\",\"⩐\"],[\"cdot\",\"ċ\"],[\"cedil\",\"¸\"],[\"cemptyv\",\"⦲\"],[\"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\",\"©\"],[\"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\",\"¤\"],[\"curvearrowleft\",\"↶\"],[\"curvearrowright\",\"↷\"],[\"cuvee\",\"⋎\"],[\"cuwed\",\"⋏\"],[\"cwconint\",\"∲\"],[\"cwint\",\"∱\"],[\"cylcty\",\"⌭\"],[\"dArr\",\"⇓\"],[\"dHar\",\"⥥\"],[\"dagger\",\"†\"],[\"daleth\",\"ℸ\"],[\"darr\",\"↓\"],[\"dash\",\"‐\"],[\"dashv\",\"⊣\"],[\"dbkarow\",\"⤏\"],[\"dblac\",\"˝\"],[\"dcaron\",\"ď\"],[\"dcy\",\"д\"],[\"dd\",\"ⅆ\"],[\"ddagger\",\"‡\"],[\"ddarr\",\"⇊\"],[\"ddotseq\",\"⩷\"],[\"deg\",\"°\"],[\"delta\",\"δ\"],[\"demptyv\",\"⦱\"],[\"dfisht\",\"⥿\"],[\"dfr\",\"𝔡\"],[\"dharl\",\"⇃\"],[\"dharr\",\"⇂\"],[\"diam\",\"⋄\"],[\"diamond\",\"⋄\"],[\"diamondsuit\",\"♦\"],[\"diams\",\"♦\"],[\"die\",\"¨\"],[\"digamma\",\"ϝ\"],[\"disin\",\"⋲\"],[\"div\",\"÷\"],[\"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\",\"é\"],[\"easter\",\"⩮\"],[\"ecaron\",\"ě\"],[\"ecir\",\"≖\"],[\"ecirc\",\"ê\"],[\"ecolon\",\"≕\"],[\"ecy\",\"э\"],[\"edot\",\"ė\"],[\"ee\",\"ⅇ\"],[\"efDot\",\"≒\"],[\"efr\",\"𝔢\"],[\"eg\",\"⪚\"],[\"egrave\",\"è\"],[\"egs\",\"⪖\"],[\"egsdot\",\"⪘\"],[\"el\",\"⪙\"],[\"elinters\",\"⏧\"],[\"ell\",\"ℓ\"],[\"els\",\"⪕\"],[\"elsdot\",\"⪗\"],[\"emacr\",\"ē\"],[\"empty\",\"∅\"],[\"emptyset\",\"∅\"],[\"emptyv\",\"∅\"],[\"emsp\",\" \"],[\"emsp13\",\" \"],[\"emsp14\",\" \"],[\"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\",\"ð\"],[\"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\",\"½\"],[\"frac13\",\"⅓\"],[\"frac14\",\"¼\"],[\"frac15\",\"⅕\"],[\"frac16\",\"⅙\"],[\"frac18\",\"⅛\"],[\"frac23\",\"⅔\"],[\"frac25\",\"⅖\"],[\"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\",\">\"],[\"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\",\"í\"],[\"ic\",\"\"],[\"icirc\",\"î\"],[\"icy\",\"и\"],[\"iecy\",\"е\"],[\"iexcl\",\"¡\"],[\"iff\",\"⇔\"],[\"ifr\",\"𝔦\"],[\"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\",\"¿\"],[\"iscr\",\"𝒾\"],[\"isin\",\"∈\"],[\"isinE\",\"⋹\"],[\"isindot\",\"⋵\"],[\"isins\",\"⋴\"],[\"isinsv\",\"⋳\"],[\"isinv\",\"∈\"],[\"it\",\"\"],[\"itilde\",\"ĩ\"],[\"iukcy\",\"і\"],[\"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\",\"«\"],[\"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\",\"<\"],[\"ltcc\",\"⪦\"],[\"ltcir\",\"⩹\"],[\"ltdot\",\"⋖\"],[\"lthree\",\"⋋\"],[\"ltimes\",\"⋉\"],[\"ltlarr\",\"⥶\"],[\"ltquest\",\"⩻\"],[\"ltrPar\",\"⦖\"],[\"ltri\",\"◃\"],[\"ltrie\",\"⊴\"],[\"ltrif\",\"◂\"],[\"lurdshar\",\"⥊\"],[\"luruhar\",\"⥦\"],[\"lvertneqq\",\"≨︀\"],[\"lvnE\",\"≨︀\"],[\"mDDot\",\"∺\"],[\"macr\",\"¯\"],[\"male\",\"♂\"],[\"malt\",\"✠\"],[\"maltese\",\"✠\"],[\"map\",\"↦\"],[\"mapsto\",\"↦\"],[\"mapstodown\",\"↧\"],[\"mapstoleft\",\"↤\"],[\"mapstoup\",\"↥\"],[\"marker\",\"▮\"],[\"mcomma\",\"⨩\"],[\"mcy\",\"м\"],[\"mdash\",\"—\"],[\"measuredangle\",\"∡\"],[\"mfr\",\"𝔪\"],[\"mho\",\"℧\"],[\"micro\",\"µ\"],[\"mid\",\"∣\"],[\"midast\",\"*\"],[\"midcir\",\"⫰\"],[\"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\",\"\xA0\"],[\"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\",\"¬\"],[\"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\",\"ñ\"],[\"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\",\"ó\"],[\"oast\",\"⊛\"],[\"ocir\",\"⊚\"],[\"ocirc\",\"ô\"],[\"ocy\",\"о\"],[\"odash\",\"⊝\"],[\"odblac\",\"ő\"],[\"odiv\",\"⨸\"],[\"odot\",\"⊙\"],[\"odsold\",\"⦼\"],[\"oelig\",\"œ\"],[\"ofcir\",\"⦿\"],[\"ofr\",\"𝔬\"],[\"ogon\",\"˛\"],[\"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\",\"ª\"],[\"ordm\",\"º\"],[\"origof\",\"⊶\"],[\"oror\",\"⩖\"],[\"orslope\",\"⩗\"],[\"orv\",\"⩛\"],[\"oscr\",\"ℴ\"],[\"oslash\",\"ø\"],[\"osol\",\"⊘\"],[\"otilde\",\"õ\"],[\"otimes\",\"⊗\"],[\"otimesas\",\"⨶\"],[\"ouml\",\"ö\"],[\"ovbar\",\"⌽\"],[\"par\",\"∥\"],[\"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\",\"±\"],[\"plussim\",\"⨦\"],[\"plustwo\",\"⨧\"],[\"pm\",\"±\"],[\"pointint\",\"⨕\"],[\"popf\",\"𝕡\"],[\"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\",\"\\\"\"],[\"rAarr\",\"⇛\"],[\"rArr\",\"⇒\"],[\"rAtail\",\"⤜\"],[\"rBarr\",\"⤏\"],[\"rHar\",\"⥤\"],[\"race\",\"∽̱\"],[\"racute\",\"ŕ\"],[\"radic\",\"√\"],[\"raemptyv\",\"⦳\"],[\"rang\",\"⟩\"],[\"rangd\",\"⦒\"],[\"range\",\"⦥\"],[\"rangle\",\"⟩\"],[\"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\",\"®\"],[\"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\",\"§\"],[\"semi\",\";\"],[\"seswar\",\"⤩\"],[\"setminus\",\"∖\"],[\"setmn\",\"∖\"],[\"sext\",\"✶\"],[\"sfr\",\"𝔰\"],[\"sfrown\",\"⌢\"],[\"sharp\",\"♯\"],[\"shchcy\",\"щ\"],[\"shcy\",\"ш\"],[\"shortmid\",\"∣\"],[\"shortparallel\",\"∥\"],[\"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\",\"♪\"],[\"sup\",\"⊃\"],[\"sup1\",\"¹\"],[\"sup2\",\"²\"],[\"sup3\",\"³\"],[\"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\",\"ß\"],[\"target\",\"⌖\"],[\"tau\",\"τ\"],[\"tbrk\",\"⎴\"],[\"tcaron\",\"ť\"],[\"tcedil\",\"ţ\"],[\"tcy\",\"т\"],[\"tdot\",\"⃛\"],[\"telrec\",\"⌕\"],[\"tfr\",\"𝔱\"],[\"there4\",\"∴\"],[\"therefore\",\"∴\"],[\"theta\",\"θ\"],[\"thetasym\",\"ϑ\"],[\"thetav\",\"ϑ\"],[\"thickapprox\",\"≈\"],[\"thicksim\",\"∼\"],[\"thinsp\",\" \"],[\"thkap\",\"≈\"],[\"thksim\",\"∼\"],[\"thorn\",\"þ\"],[\"tilde\",\"˜\"],[\"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\",\"ú\"],[\"uarr\",\"↑\"],[\"ubrcy\",\"ў\"],[\"ubreve\",\"ŭ\"],[\"ucirc\",\"û\"],[\"ucy\",\"у\"],[\"udarr\",\"⇅\"],[\"udblac\",\"ű\"],[\"udhar\",\"⥮\"],[\"ufisht\",\"⥾\"],[\"ufr\",\"𝔲\"],[\"ugrave\",\"ù\"],[\"uharl\",\"↿\"],[\"uharr\",\"↾\"],[\"uhblk\",\"▀\"],[\"ulcorn\",\"⌜\"],[\"ulcorner\",\"⌜\"],[\"ulcrop\",\"⌏\"],[\"ultri\",\"◸\"],[\"umacr\",\"ū\"],[\"uml\",\"¨\"],[\"uogon\",\"ų\"],[\"uopf\",\"𝕦\"],[\"uparrow\",\"↑\"],[\"updownarrow\",\"↕\"],[\"upharpoonleft\",\"↿\"],[\"upharpoonright\",\"↾\"],[\"uplus\",\"⊎\"],[\"upsi\",\"υ\"],[\"upsih\",\"ϒ\"],[\"upsilon\",\"υ\"],[\"upuparrows\",\"⇈\"],[\"urcorn\",\"⌝\"],[\"urcorner\",\"⌝\"],[\"urcrop\",\"⌎\"],[\"uring\",\"ů\"],[\"urtri\",\"◹\"],[\"uscr\",\"𝓊\"],[\"utdot\",\"⋰\"],[\"utilde\",\"ũ\"],[\"utri\",\"▵\"],[\"utrif\",\"▴\"],[\"uuarr\",\"⇈\"],[\"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\",\"ý\"],[\"yacy\",\"я\"],[\"ycirc\",\"ŷ\"],[\"ycy\",\"ы\"],[\"yen\",\"¥\"],[\"yfr\",\"𝔶\"],[\"yicy\",\"ї\"],[\"yopf\",\"𝕪\"],[\"yscr\",\"𝓎\"],[\"yucy\",\"ю\"],[\"yuml\",\"ÿ\"],[\"zacute\",\"ź\"],[\"zcaron\",\"ž\"],[\"zcy\",\"з\"],[\"zdot\",\"ż\"],[\"zeetrf\",\"ℨ\"],[\"zeta\",\"ζ\"],[\"zfr\",\"𝔷\"],[\"zhcy\",\"ж\"],[\"zigrarr\",\"⇝\"],[\"zopf\",\"𝕫\"],[\"zscr\",\"𝓏\"],[\"zwj\",\"\"],[\"zwnj\",\"\"]]"));
|
|
5712
5917
|
//#endregion
|
|
5713
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5918
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/entities.js
|
|
5714
5919
|
/** The largest code point Unicode defines. */
|
|
5715
5920
|
const MAX_CODE_POINT = 1114111;
|
|
5716
5921
|
/**
|
|
@@ -5732,7 +5937,7 @@ const decodeEntity = (entity) => {
|
|
|
5732
5937
|
return String.fromCodePoint(code);
|
|
5733
5938
|
};
|
|
5734
5939
|
//#endregion
|
|
5735
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5940
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/unescape.js
|
|
5736
5941
|
/** The punctuation set a backslash may escape, per the spec. */
|
|
5737
5942
|
const ESCAPABLE$1 = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
|
|
5738
5943
|
/** One entity, in any of the three spec forms. */
|
|
@@ -5746,7 +5951,7 @@ const unescapeChar = (source) => {
|
|
|
5746
5951
|
/** Replace every backslash escape and character reference with its literal. */
|
|
5747
5952
|
const unescapeString = (source) => reBackslashOrAmp.test(source) ? source.replace(reEntityOrEscapedChar, unescapeChar) : source;
|
|
5748
5953
|
//#endregion
|
|
5749
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
5954
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/code.js
|
|
5750
5955
|
const reBlankLine = /^[ \t]*$/;
|
|
5751
5956
|
const reClosingCodeFence = /^(?:`{3,}|~{3,})(?=[ \t]*$)/;
|
|
5752
5957
|
/**
|
|
@@ -5830,7 +6035,7 @@ const codeConstruct = {
|
|
|
5830
6035
|
}
|
|
5831
6036
|
};
|
|
5832
6037
|
//#endregion
|
|
5833
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6038
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/document.js
|
|
5834
6039
|
/** The document root: contains everything except a bare list item. */
|
|
5835
6040
|
const documentConstruct = {
|
|
5836
6041
|
type: "document",
|
|
@@ -5843,7 +6048,7 @@ const documentConstruct = {
|
|
|
5843
6048
|
})
|
|
5844
6049
|
};
|
|
5845
6050
|
//#endregion
|
|
5846
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6051
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/fencedCode.js
|
|
5847
6052
|
const reCodeFence = /^`{3,}(?!.*`)|^~{3,}/;
|
|
5848
6053
|
const fenceCharOf = (char) => char === "`" || char === "~" ? char : void 0;
|
|
5849
6054
|
/** The fenced-code block start: three or more backticks or tildes. */
|
|
@@ -5867,7 +6072,7 @@ const fencedCodeStart = {
|
|
|
5867
6072
|
}
|
|
5868
6073
|
};
|
|
5869
6074
|
//#endregion
|
|
5870
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6075
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/patterns.js
|
|
5871
6076
|
const stickyCache = /* @__PURE__ */ new WeakMap();
|
|
5872
6077
|
const globalCache = /* @__PURE__ */ new WeakMap();
|
|
5873
6078
|
const clone = (pattern, flag, dropCaret) => {
|
|
@@ -5891,7 +6096,7 @@ const globalOf = (pattern) => {
|
|
|
5891
6096
|
return made;
|
|
5892
6097
|
};
|
|
5893
6098
|
//#endregion
|
|
5894
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6099
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/references.js
|
|
5895
6100
|
const ESCAPABLE = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
|
|
5896
6101
|
const ESCAPED_CHAR = `\\\\${ESCAPABLE}`;
|
|
5897
6102
|
const reLinkTitle = new RegExp(`^(?:"(${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\"\\x00])*"|'(${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\'\\x00])*'|\\((${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\()\\x00])*\\))`);
|
|
@@ -6065,7 +6270,7 @@ const parseReference = (text) => {
|
|
|
6065
6270
|
};
|
|
6066
6271
|
};
|
|
6067
6272
|
//#endregion
|
|
6068
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6273
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/footnoteDefinition.js
|
|
6069
6274
|
/**
|
|
6070
6275
|
* `_scan_footnote_definition` from `src/scanners.re`:
|
|
6071
6276
|
*
|
|
@@ -6142,7 +6347,7 @@ const footnoteDefinitionStart = {
|
|
|
6142
6347
|
}
|
|
6143
6348
|
};
|
|
6144
6349
|
//#endregion
|
|
6145
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6350
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/indentedCode.js
|
|
6146
6351
|
/** The indented-code block start: four columns of indentation. */
|
|
6147
6352
|
const indentedCodeStart = {
|
|
6148
6353
|
name: "indentedCode",
|
|
@@ -6156,7 +6361,7 @@ const indentedCodeStart = {
|
|
|
6156
6361
|
}
|
|
6157
6362
|
};
|
|
6158
6363
|
//#endregion
|
|
6159
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6364
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/segments.js
|
|
6160
6365
|
/**
|
|
6161
6366
|
* The absolute source offset of `textIndex` within a segmented content run.
|
|
6162
6367
|
*
|
|
@@ -6190,7 +6395,7 @@ const sliceWithSegments = (segments, from, to) => {
|
|
|
6190
6395
|
return sliced;
|
|
6191
6396
|
};
|
|
6192
6397
|
//#endregion
|
|
6193
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6398
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/linkReferenceDefinition.js
|
|
6194
6399
|
const C_OPEN_BRACKET$1 = 91;
|
|
6195
6400
|
/**
|
|
6196
6401
|
* Split every leading link reference definition out of `block`, inserting one
|
|
@@ -6255,7 +6460,7 @@ const definitionConstruct = {
|
|
|
6255
6460
|
}
|
|
6256
6461
|
};
|
|
6257
6462
|
//#endregion
|
|
6258
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6463
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/list.js
|
|
6259
6464
|
const reBulletListMarker = /^[*+-]/;
|
|
6260
6465
|
const reOrderedListMarker = /^(\d{1,9})([.)])/;
|
|
6261
6466
|
const reNonSpace$1 = /[^ \t\f\v\r\n]/;
|
|
@@ -6408,7 +6613,7 @@ const listItemStart = {
|
|
|
6408
6613
|
}
|
|
6409
6614
|
};
|
|
6410
6615
|
//#endregion
|
|
6411
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6616
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/paragraph.js
|
|
6412
6617
|
/** Paragraph: absorbs lines until a blank one, and contains nothing. */
|
|
6413
6618
|
const paragraphConstruct = {
|
|
6414
6619
|
type: "paragraph",
|
|
@@ -6430,7 +6635,7 @@ const paragraphConstruct = {
|
|
|
6430
6635
|
}
|
|
6431
6636
|
};
|
|
6432
6637
|
//#endregion
|
|
6433
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6638
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/setextHeading.js
|
|
6434
6639
|
const reSetextHeadingLine = /^(?:=+|-+)[ \t]*$/;
|
|
6435
6640
|
/** The setext heading block start: a run of `=` or `-` under a paragraph. */
|
|
6436
6641
|
const setextHeadingStart = {
|
|
@@ -6450,7 +6655,7 @@ const setextHeadingStart = {
|
|
|
6450
6655
|
}
|
|
6451
6656
|
};
|
|
6452
6657
|
//#endregion
|
|
6453
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6658
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/table.js
|
|
6454
6659
|
/**
|
|
6455
6660
|
* Upstream's `MAX_AUTOCOMPLETED_CELLS`: the ceiling on cells the parser
|
|
6456
6661
|
* invents to pad short rows, which is what stops a wide header followed by a
|
|
@@ -6821,7 +7026,7 @@ const tableCellConstruct = {
|
|
|
6821
7026
|
}
|
|
6822
7027
|
};
|
|
6823
7028
|
//#endregion
|
|
6824
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7029
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/taskListItem.js
|
|
6825
7030
|
/**
|
|
6826
7031
|
* `_scan_tasklist`, as the generated scanner accepts it.
|
|
6827
7032
|
*
|
|
@@ -6855,7 +7060,7 @@ const taskListItemStart = {
|
|
|
6855
7060
|
}
|
|
6856
7061
|
};
|
|
6857
7062
|
//#endregion
|
|
6858
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7063
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/thematicBreak.js
|
|
6859
7064
|
const reThematicBreak = /^(?:\*[ \t]*){3,}$|^(?:_[ \t]*){3,}$|^(?:-[ \t]*){3,}$/;
|
|
6860
7065
|
const markerCharOf$1 = (char) => char === "-" || char === "_" || char === "*" ? char : void 0;
|
|
6861
7066
|
/** Thematic break: one line, no children. */
|
|
@@ -6886,7 +7091,7 @@ const thematicBreakStart = {
|
|
|
6886
7091
|
}
|
|
6887
7092
|
};
|
|
6888
7093
|
//#endregion
|
|
6889
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7094
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blockRegistry.js
|
|
6890
7095
|
const constructTable = (constructs) => new Map(constructs.map((construct) => [construct.type, construct]));
|
|
6891
7096
|
const commonmarkDialect$1 = {
|
|
6892
7097
|
constructs: constructTable([
|
|
@@ -6958,61 +7163,7 @@ const blockDialect = (dialect) => {
|
|
|
6958
7163
|
return found;
|
|
6959
7164
|
};
|
|
6960
7165
|
//#endregion
|
|
6961
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
6962
|
-
const FENCES = /* @__PURE__ */ new Map([
|
|
6963
|
-
["---", {
|
|
6964
|
-
format: "yaml",
|
|
6965
|
-
close: "---"
|
|
6966
|
-
}],
|
|
6967
|
-
["+++", {
|
|
6968
|
-
format: "toml",
|
|
6969
|
-
close: "+++"
|
|
6970
|
-
}],
|
|
6971
|
-
["---json", {
|
|
6972
|
-
format: "json",
|
|
6973
|
-
close: "---"
|
|
6974
|
-
}]
|
|
6975
|
-
]);
|
|
6976
|
-
/**
|
|
6977
|
-
* Scan the head of a preprocessed document for a frontmatter block.
|
|
6978
|
-
*
|
|
6979
|
-
* `lines` is the preprocessor's line table (U+0000 already replaced,
|
|
6980
|
-
* terminators stripped, absolute `start` offsets); `text` is the original
|
|
6981
|
-
* source, consulted only for the terminators between value lines — a
|
|
6982
|
-
* terminator can never contain U+0000, so slicing it from the source is
|
|
6983
|
-
* exact, and the value keeps CRLF interiors verbatim while the line content
|
|
6984
|
-
* keeps the preprocessor's U+FFFD replacement.
|
|
6985
|
-
*
|
|
6986
|
-
* Returns `null` when the document has no frontmatter — which is the common
|
|
6987
|
-
* case and never an error.
|
|
6988
|
-
*/
|
|
6989
|
-
const scanFrontmatter = (lines, text) => {
|
|
6990
|
-
const opening = lines[0];
|
|
6991
|
-
if (opening === void 0 || opening.start !== 0) return null;
|
|
6992
|
-
const rule = FENCES.get(opening.text);
|
|
6993
|
-
if (rule === void 0) return null;
|
|
6994
|
-
for (let index = 1; index < lines.length; index += 1) {
|
|
6995
|
-
const line = lines[index];
|
|
6996
|
-
if (line === void 0 || line.text !== rule.close) continue;
|
|
6997
|
-
const parts = [];
|
|
6998
|
-
for (let inner = 1; inner < index; inner += 1) {
|
|
6999
|
-
const current = lines[inner];
|
|
7000
|
-
const next = lines[inner + 1];
|
|
7001
|
-
if (current === void 0 || next === void 0) break;
|
|
7002
|
-
parts.push(current.text);
|
|
7003
|
-
if (inner + 1 < index) parts.push(text.slice(current.start + current.text.length, next.start));
|
|
7004
|
-
}
|
|
7005
|
-
return {
|
|
7006
|
-
format: rule.format,
|
|
7007
|
-
value: parts.join(""),
|
|
7008
|
-
lineCount: index + 1,
|
|
7009
|
-
endOffset: line.start + line.text.length
|
|
7010
|
-
};
|
|
7011
|
-
}
|
|
7012
|
-
return null;
|
|
7013
|
-
};
|
|
7014
|
-
//#endregion
|
|
7015
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/lineIndex.js
|
|
7166
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/lineIndex.js
|
|
7016
7167
|
/**
|
|
7017
7168
|
* A precomputed index of line-start offsets over a fixed source text,
|
|
7018
7169
|
* answering `positionAt(offset)` in `O(log n)` via binary search rather than
|
|
@@ -7086,7 +7237,7 @@ var LineIndex = class LineIndex {
|
|
|
7086
7237
|
}
|
|
7087
7238
|
};
|
|
7088
7239
|
//#endregion
|
|
7089
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7240
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlineNode.js
|
|
7090
7241
|
/** Open a node with no links. */
|
|
7091
7242
|
const makeInlineNode = (type, start, end, value = "") => ({
|
|
7092
7243
|
type,
|
|
@@ -7138,7 +7289,7 @@ const childrenOf = (node) => {
|
|
|
7138
7289
|
return children;
|
|
7139
7290
|
};
|
|
7140
7291
|
//#endregion
|
|
7141
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7292
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/emphasis.js
|
|
7142
7293
|
const C_ASTERISK$1 = 42;
|
|
7143
7294
|
const C_UNDERSCORE$1 = 95;
|
|
7144
7295
|
const rePunctuation = /^[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~\p{P}\p{S}]/u;
|
|
@@ -7215,7 +7366,7 @@ const emphasisConstruct = {
|
|
|
7215
7366
|
parse: (scanner) => handleDelim(scanner, scanner.peek())
|
|
7216
7367
|
};
|
|
7217
7368
|
//#endregion
|
|
7218
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7369
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/strikethrough.js
|
|
7219
7370
|
/**
|
|
7220
7371
|
* Consume a `~` run as literal text and, when it is a viable one- or
|
|
7221
7372
|
* two-tilde run, push it onto the shared delimiter stack.
|
|
@@ -7289,7 +7440,7 @@ const strikethroughConstruct = {
|
|
|
7289
7440
|
parse: (scanner) => handleTilde(scanner)
|
|
7290
7441
|
};
|
|
7291
7442
|
//#endregion
|
|
7292
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7443
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/autolink.js
|
|
7293
7444
|
const C_LESSTHAN$1 = 60;
|
|
7294
7445
|
const reEmailAutolink = /^<([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/;
|
|
7295
7446
|
const reAutolink = /^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\0- ]*>/i;
|
|
@@ -7321,7 +7472,7 @@ const autolinkConstruct = {
|
|
|
7321
7472
|
}
|
|
7322
7473
|
};
|
|
7323
7474
|
//#endregion
|
|
7324
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7475
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/autolinkLiteral.js
|
|
7325
7476
|
const C_LOWER_W = 119;
|
|
7326
7477
|
const C_COLON = 58;
|
|
7327
7478
|
/** `cmark_isspace`: ASCII only, deliberately — upstream's URL scan uses it. */
|
|
@@ -7691,7 +7842,7 @@ const linkifyEmails = (root) => {
|
|
|
7691
7842
|
}
|
|
7692
7843
|
};
|
|
7693
7844
|
//#endregion
|
|
7694
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7845
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/codeSpan.js
|
|
7695
7846
|
const C_BACKTICK$1 = 96;
|
|
7696
7847
|
const reTicksHere = /^`+/;
|
|
7697
7848
|
const reNewline = /\n/gm;
|
|
@@ -7719,7 +7870,7 @@ const codeSpanConstruct = {
|
|
|
7719
7870
|
}
|
|
7720
7871
|
};
|
|
7721
7872
|
//#endregion
|
|
7722
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7873
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/entity.js
|
|
7723
7874
|
const C_AMPERSAND = 38;
|
|
7724
7875
|
const reEntityHere = new RegExp(`^${ENTITY}`, "i");
|
|
7725
7876
|
/** A named, decimal or hexadecimal character reference. */
|
|
@@ -7735,7 +7886,7 @@ const entityConstruct = {
|
|
|
7735
7886
|
}
|
|
7736
7887
|
};
|
|
7737
7888
|
//#endregion
|
|
7738
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7889
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/escape.js
|
|
7739
7890
|
const C_BACKSLASH = 92;
|
|
7740
7891
|
const C_NEWLINE$1 = 10;
|
|
7741
7892
|
const reEscapable = new RegExp(`^${ESCAPABLE$1}`);
|
|
@@ -7764,7 +7915,7 @@ const escapeConstruct = {
|
|
|
7764
7915
|
}
|
|
7765
7916
|
};
|
|
7766
7917
|
//#endregion
|
|
7767
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
7918
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/link.js
|
|
7768
7919
|
const C_BANG = 33;
|
|
7769
7920
|
const C_CARET$1 = 94;
|
|
7770
7921
|
const C_OPEN_BRACKET = 91;
|
|
@@ -7971,7 +8122,7 @@ const makeLinkCloseConstruct = (onNoMatch) => ({
|
|
|
7971
8122
|
/** `]` — closes a link or image, or stays literal. The CommonMark spelling. */
|
|
7972
8123
|
const linkCloseConstruct = makeLinkCloseConstruct();
|
|
7973
8124
|
//#endregion
|
|
7974
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8125
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/footnoteReference.js
|
|
7975
8126
|
const C_CARET = 94;
|
|
7976
8127
|
/**
|
|
7977
8128
|
* Whether the bracket that just closed looks like `[^...]` with something
|
|
@@ -8028,7 +8179,7 @@ const gfmLinkCloseConstruct = makeLinkCloseConstruct(footnoteReferenceFallback);
|
|
|
8028
8179
|
*/
|
|
8029
8180
|
const gfmImageOpenConstruct = makeImageOpenConstruct(false);
|
|
8030
8181
|
//#endregion
|
|
8031
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8182
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/lineBreak.js
|
|
8032
8183
|
const C_NEWLINE = 10;
|
|
8033
8184
|
const reInitialSpace = /^ */;
|
|
8034
8185
|
/** A soft or hard line break. */
|
|
@@ -8049,7 +8200,7 @@ const lineBreakConstruct = {
|
|
|
8049
8200
|
}
|
|
8050
8201
|
};
|
|
8051
8202
|
//#endregion
|
|
8052
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8203
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/rawHtml.js
|
|
8053
8204
|
const C_LESSTHAN = 60;
|
|
8054
8205
|
/** The raw-HTML forms that scan forward for a fixed closing sequence. */
|
|
8055
8206
|
const UNTERMINATED_FORMS = [
|
|
@@ -8071,7 +8222,7 @@ const rawHtmlConstruct = {
|
|
|
8071
8222
|
}
|
|
8072
8223
|
};
|
|
8073
8224
|
//#endregion
|
|
8074
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8225
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/text.js
|
|
8075
8226
|
const reMain = /^[^\n`[\]\\!<&*_'"]+/;
|
|
8076
8227
|
const reMainGfm = /^[^\n`[\]\\!<&*_'"~w:]+/;
|
|
8077
8228
|
/** Consume a run of ordinary characters, stopping before any construct's. */
|
|
@@ -8091,7 +8242,7 @@ const textConstruct = runConstruct("text", reMain);
|
|
|
8091
8242
|
/** Ordinary text under `gfm`, which has three more characters to yield to. */
|
|
8092
8243
|
const gfmTextConstruct = runConstruct("text", reMainGfm);
|
|
8093
8244
|
//#endregion
|
|
8094
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8245
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlineRegistry.js
|
|
8095
8246
|
const triggerTable = (constructs) => {
|
|
8096
8247
|
const table = /* @__PURE__ */ new Map();
|
|
8097
8248
|
for (const construct of constructs) for (const trigger of construct.triggers) {
|
|
@@ -8144,7 +8295,7 @@ const inlineDialect = (dialect) => {
|
|
|
8144
8295
|
return found;
|
|
8145
8296
|
};
|
|
8146
8297
|
//#endregion
|
|
8147
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8298
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlineParser.js
|
|
8148
8299
|
const C_UNDERSCORE = 95;
|
|
8149
8300
|
const C_ASTERISK = 42;
|
|
8150
8301
|
const reTrailingSpaces = / +$/;
|
|
@@ -8538,12 +8689,14 @@ var InlineParser = class {
|
|
|
8538
8689
|
*/
|
|
8539
8690
|
const parseInlines = (source, refmap, position, dialect = "commonmark", footnoteLabels = /* @__PURE__ */ new Set()) => new InlineParser(source, inlineDialect(dialect), position, refmap, footnoteLabels).parse();
|
|
8540
8691
|
//#endregion
|
|
8541
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8692
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/rawInline.js
|
|
8542
8693
|
const reWhitespace = /\s/;
|
|
8543
8694
|
const reCmarkSpace = /[ \t\n\r]/;
|
|
8544
8695
|
/**
|
|
8545
8696
|
* Trim `text` the way commonmark.js does before inline parsing, carrying the
|
|
8546
8697
|
* segment table along so the surviving characters keep their source offsets.
|
|
8698
|
+
* Exported for the phrasing-level parse entry point (`phrasing.ts`), which
|
|
8699
|
+
* prepares content the same way a paragraph does.
|
|
8547
8700
|
*/
|
|
8548
8701
|
const trimWithSegments = (text, segments, whitespace) => {
|
|
8549
8702
|
let start = 0;
|
|
@@ -8591,7 +8744,7 @@ const prepareInline = (block, position, refmap, dialect = "commonmark", footnote
|
|
|
8591
8744
|
};
|
|
8592
8745
|
};
|
|
8593
8746
|
//#endregion
|
|
8594
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
8747
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blockParser.js
|
|
8595
8748
|
/** Upstream's cheap pre-filter: a line that cannot start any block. */
|
|
8596
8749
|
const reMaybeSpecial = /^[#`~*+_=<>0-9-]/;
|
|
8597
8750
|
var BlockParser = class {
|
|
@@ -8998,7 +9151,56 @@ var BlockParser = class {
|
|
|
8998
9151
|
*/
|
|
8999
9152
|
const parseBlocks = (text, dialect = "commonmark", frontmatter = false) => new BlockParser(text, blockDialect(dialect), dialect, frontmatter).parse();
|
|
9000
9153
|
//#endregion
|
|
9001
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
9154
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/phrasing.js
|
|
9155
|
+
const EMPTY_REFMAP = /* @__PURE__ */ new Map();
|
|
9156
|
+
const EMPTY_FOOTNOTE_LABELS = /* @__PURE__ */ new Set();
|
|
9157
|
+
/**
|
|
9158
|
+
* Parse a text fragment as a single paragraph's inline content.
|
|
9159
|
+
*/
|
|
9160
|
+
const parsePhrasingText = (text, dialect) => {
|
|
9161
|
+
const lines = preprocessLines(text);
|
|
9162
|
+
const segments = [];
|
|
9163
|
+
let content = "";
|
|
9164
|
+
for (const line of lines) {
|
|
9165
|
+
segments.push({
|
|
9166
|
+
textOffset: content.length,
|
|
9167
|
+
sourceOffset: line.start,
|
|
9168
|
+
length: line.text.length
|
|
9169
|
+
});
|
|
9170
|
+
content += `${line.text}\n`;
|
|
9171
|
+
}
|
|
9172
|
+
const trimmed = trimWithSegments(content, segments, /\s/);
|
|
9173
|
+
if (trimmed.text.length === 0) return [];
|
|
9174
|
+
const first = trimmed.segments[0];
|
|
9175
|
+
const startOffset = first === void 0 ? 0 : first.sourceOffset;
|
|
9176
|
+
const lineIndex = LineIndex.fromLineStarts(text, lines.map((line) => line.start));
|
|
9177
|
+
const sourceLength = text.length;
|
|
9178
|
+
const positionOf = (start, end) => {
|
|
9179
|
+
const clampedStart = Math.min(Math.max(start, 0), sourceLength);
|
|
9180
|
+
const clampedEnd = Math.min(Math.max(end, clampedStart), sourceLength);
|
|
9181
|
+
const startPoint = lineIndex.positionAt(clampedStart);
|
|
9182
|
+
const endPoint = lineIndex.positionAt(clampedEnd);
|
|
9183
|
+
return Position.make({
|
|
9184
|
+
start: Point.make({
|
|
9185
|
+
line: startPoint.line,
|
|
9186
|
+
column: startPoint.column,
|
|
9187
|
+
offset: clampedStart
|
|
9188
|
+
}),
|
|
9189
|
+
end: Point.make({
|
|
9190
|
+
line: endPoint.line,
|
|
9191
|
+
column: endPoint.column,
|
|
9192
|
+
offset: clampedEnd
|
|
9193
|
+
})
|
|
9194
|
+
});
|
|
9195
|
+
};
|
|
9196
|
+
return parseInlines({
|
|
9197
|
+
text: trimmed.text,
|
|
9198
|
+
startOffset,
|
|
9199
|
+
segments: trimmed.segments
|
|
9200
|
+
}, EMPTY_REFMAP, positionOf, dialect, EMPTY_FOOTNOTE_LABELS);
|
|
9201
|
+
};
|
|
9202
|
+
//#endregion
|
|
9203
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/stringify.js
|
|
9002
9204
|
const FLOW_CONTEXT = {
|
|
9003
9205
|
singleLine: false,
|
|
9004
9206
|
inTable: false,
|
|
@@ -9070,7 +9272,7 @@ const isSchemeColon = (value, index) => {
|
|
|
9070
9272
|
* Escape one text value into `out`, tracking line starts. Returns whether the
|
|
9071
9273
|
* emission ended at a line start.
|
|
9072
9274
|
*/
|
|
9073
|
-
const escapeText = (value, context, atLineStart) => {
|
|
9275
|
+
const escapeText = (value, context, atLineStart, mdx) => {
|
|
9074
9276
|
let out = "";
|
|
9075
9277
|
let lineStart = atLineStart;
|
|
9076
9278
|
for (let index = 0; index < value.length; index += 1) {
|
|
@@ -9123,6 +9325,10 @@ const escapeText = (value, context, atLineStart) => {
|
|
|
9123
9325
|
out += `\\${char}`;
|
|
9124
9326
|
continue;
|
|
9125
9327
|
}
|
|
9328
|
+
if (mdx && char === "{") {
|
|
9329
|
+
out += "\\{";
|
|
9330
|
+
continue;
|
|
9331
|
+
}
|
|
9126
9332
|
if (context.inHeading && char === "#") {
|
|
9127
9333
|
out += "\\#";
|
|
9128
9334
|
continue;
|
|
@@ -9212,7 +9418,7 @@ const serializeInlines = (children, context, state, startsLine, junctionGuard) =
|
|
|
9212
9418
|
};
|
|
9213
9419
|
switch (child.type) {
|
|
9214
9420
|
case "text": {
|
|
9215
|
-
const escaped = escapeText(child.value, context, atLineStart);
|
|
9421
|
+
const escaped = escapeText(child.value, context, atLineStart, state.mdx);
|
|
9216
9422
|
out += escaped.text;
|
|
9217
9423
|
atLineStart = escaped.atLineStart;
|
|
9218
9424
|
break;
|
|
@@ -9289,12 +9495,126 @@ const serializeInlines = (children, context, state, startsLine, junctionGuard) =
|
|
|
9289
9495
|
case "footnoteReference":
|
|
9290
9496
|
out += `[^${escapeLabel(child.label ?? child.identifier)}]`;
|
|
9291
9497
|
atLineStart = false;
|
|
9498
|
+
break;
|
|
9499
|
+
case "mdxJsxTextElement":
|
|
9500
|
+
out += serializeMdxJsxText(child, context, state);
|
|
9501
|
+
atLineStart = false;
|
|
9502
|
+
break;
|
|
9503
|
+
case "mdxTextExpression":
|
|
9504
|
+
out += mdxExpression(child.value);
|
|
9505
|
+
atLineStart = false;
|
|
9292
9506
|
}
|
|
9293
9507
|
index += 1;
|
|
9294
9508
|
unguard(state);
|
|
9295
9509
|
}
|
|
9296
9510
|
return out;
|
|
9297
9511
|
};
|
|
9512
|
+
/** The tag string of every MDX node type. */
|
|
9513
|
+
const MDX_NODE_TYPES = /* @__PURE__ */ new Set([
|
|
9514
|
+
"mdxJsxFlowElement",
|
|
9515
|
+
"mdxJsxTextElement",
|
|
9516
|
+
"mdxFlowExpression",
|
|
9517
|
+
"mdxTextExpression",
|
|
9518
|
+
"mdxjsEsm"
|
|
9519
|
+
]);
|
|
9520
|
+
/** Whether the tree carries any MDX node — iterative, deliberately unguarded. */
|
|
9521
|
+
const treeContainsMdx = (root) => {
|
|
9522
|
+
const stack = [root];
|
|
9523
|
+
while (stack.length > 0) {
|
|
9524
|
+
const node = stack.pop();
|
|
9525
|
+
if (MDX_NODE_TYPES.has(node.type)) return true;
|
|
9526
|
+
if (node.children !== void 0) for (const child of node.children) stack.push(child);
|
|
9527
|
+
}
|
|
9528
|
+
return false;
|
|
9529
|
+
};
|
|
9530
|
+
/**
|
|
9531
|
+
* The oracle's `indentLines` line model (mdast-util-to-markdown
|
|
9532
|
+
* `lib/util/indent-lines.js`): lines split on every terminator spelling
|
|
9533
|
+
* (`\r\n`, `\n`, bare `\r`), terminators preserved verbatim between the
|
|
9534
|
+
* mapped lines, and `blank` meaning an empty line — so a blank CRLF line
|
|
9535
|
+
* stays bare instead of having a retained `\r` treated as content.
|
|
9536
|
+
*/
|
|
9537
|
+
const mapMdxLines = (value, map) => {
|
|
9538
|
+
const eol = /\r?\n|\r/g;
|
|
9539
|
+
const result = [];
|
|
9540
|
+
let start = 0;
|
|
9541
|
+
let index = 0;
|
|
9542
|
+
for (let match = eol.exec(value); match !== null; match = eol.exec(value)) {
|
|
9543
|
+
const line = value.slice(start, match.index);
|
|
9544
|
+
result.push(map(line, index, line === ""), match[0]);
|
|
9545
|
+
start = match.index + match[0].length;
|
|
9546
|
+
index += 1;
|
|
9547
|
+
}
|
|
9548
|
+
const last = value.slice(start);
|
|
9549
|
+
result.push(map(last, index, last === ""));
|
|
9550
|
+
return result.join("");
|
|
9551
|
+
};
|
|
9552
|
+
/**
|
|
9553
|
+
* Serialize an MDX expression body between braces. Continuation lines take
|
|
9554
|
+
* the oracle's two-space indent; the first line and blank lines take none.
|
|
9555
|
+
*/
|
|
9556
|
+
const mdxExpression = (value) => `{${mapMdxLines(value, (line, index, blank) => index === 0 || blank ? line : ` ${line}`)}}`;
|
|
9557
|
+
/**
|
|
9558
|
+
* Serialize one JSX attribute. A `null` or absent value is a boolean
|
|
9559
|
+
* attribute; a string value is quoted with `"` (the oracle default), the
|
|
9560
|
+
* quote itself escaped as `"` exactly as `stringify-entities` spells
|
|
9561
|
+
* it; an expression value goes between braces.
|
|
9562
|
+
*/
|
|
9563
|
+
const serializeMdxAttribute = (attribute) => {
|
|
9564
|
+
if (attribute.type === "mdxJsxExpressionAttribute") return `{${attribute.value}}`;
|
|
9565
|
+
const value = attribute.value;
|
|
9566
|
+
if (value === void 0 || value === null) return attribute.name;
|
|
9567
|
+
if (typeof value === "string") return `${attribute.name}="${value.replaceAll("\"", """)}"`;
|
|
9568
|
+
return `${attribute.name}={${value.value}}`;
|
|
9569
|
+
};
|
|
9570
|
+
/** Serialize a text (phrasing) JSX element. */
|
|
9571
|
+
const serializeMdxJsxText = (node, context, state) => {
|
|
9572
|
+
const attributes = node.attributes.map(serializeMdxAttribute);
|
|
9573
|
+
const selfClosing = node.name !== null && node.children.length === 0;
|
|
9574
|
+
let out = `<${node.name ?? ""}`;
|
|
9575
|
+
if (attributes.length > 0) out += ` ${attributes.join(" ")}`;
|
|
9576
|
+
if (selfClosing) return `${out} />`;
|
|
9577
|
+
out += ">";
|
|
9578
|
+
out += serializeInlines(node.children, context, state, false);
|
|
9579
|
+
out += `</${node.name ?? ""}>`;
|
|
9580
|
+
return out;
|
|
9581
|
+
};
|
|
9582
|
+
/** Prefix every line of a rendered child block; blank lines stay bare. */
|
|
9583
|
+
const indentBlockLines = (content, indent) => mapMdxLines(content, (line, _index, blank) => blank ? line : `${indent}${line}`);
|
|
9584
|
+
/**
|
|
9585
|
+
* Serialize a flow (block) JSX element: opening tag (attributes on their own
|
|
9586
|
+
* lines when one carries a line ending), children as indented block layout,
|
|
9587
|
+
* closing tag — the oracle's `mdxElement` flow branch.
|
|
9588
|
+
*/
|
|
9589
|
+
const serializeMdxJsxFlow = (node, state) => {
|
|
9590
|
+
const currentIndent = " ".repeat(state.jsxDepth);
|
|
9591
|
+
const attributes = node.attributes.map(serializeMdxAttribute);
|
|
9592
|
+
const selfClosing = node.name !== null && node.children.length === 0;
|
|
9593
|
+
const attributesOnOneLine = attributes.join(" ");
|
|
9594
|
+
const attributesOnTheirOwnLine = /[\r\n]/.test(attributesOnOneLine);
|
|
9595
|
+
let value = `${currentIndent}<${node.name ?? ""}`;
|
|
9596
|
+
if (attributesOnTheirOwnLine) value += `\n${attributes.map((attribute) => `${currentIndent} ${attribute}`).join("\n")}\n${currentIndent}`;
|
|
9597
|
+
else if (attributesOnOneLine !== "") value += ` ${attributesOnOneLine}`;
|
|
9598
|
+
if (selfClosing) value += `${attributesOnTheirOwnLine ? "" : " "}/`;
|
|
9599
|
+
value += ">";
|
|
9600
|
+
if (node.children.length > 0) {
|
|
9601
|
+
state.jsxDepth += 1;
|
|
9602
|
+
const childIndent = " ".repeat(state.jsxDepth);
|
|
9603
|
+
const parts = node.children.map((child) => {
|
|
9604
|
+
if (child.type === "mdxJsxFlowElement") {
|
|
9605
|
+
guard(state, child);
|
|
9606
|
+
const rendered = serializeMdxJsxFlow(child, state);
|
|
9607
|
+
unguard(state);
|
|
9608
|
+
return rendered;
|
|
9609
|
+
}
|
|
9610
|
+
return indentBlockLines(serializeBlocks([child], state), childIndent);
|
|
9611
|
+
});
|
|
9612
|
+
state.jsxDepth -= 1;
|
|
9613
|
+
value += `\n${parts.join("\n\n")}\n`;
|
|
9614
|
+
}
|
|
9615
|
+
if (!selfClosing) value += `${currentIndent}</${node.name ?? ""}>`;
|
|
9616
|
+
return value;
|
|
9617
|
+
};
|
|
9298
9618
|
/** Prefix every line of `content`; blank lines take the trimmed prefix. */
|
|
9299
9619
|
const prefixLines = (content, prefix, blankPrefix) => content.split("\n").map((line) => line === "" ? blankPrefix : `${prefix}${line}`).join("\n");
|
|
9300
9620
|
/** First line gets `marker`, continuation lines get spaces of its width. */
|
|
@@ -9379,7 +9699,10 @@ const effectiveListMarker = (list, flipped) => {
|
|
|
9379
9699
|
};
|
|
9380
9700
|
const serializeListItem = (item, marker, state, tight) => {
|
|
9381
9701
|
guard(state, item);
|
|
9702
|
+
const savedJsxDepth = state.jsxDepth;
|
|
9703
|
+
state.jsxDepth = 0;
|
|
9382
9704
|
const inner = serializeBlocks(item.children, state, tight);
|
|
9705
|
+
state.jsxDepth = savedJsxDepth;
|
|
9383
9706
|
unguard(state);
|
|
9384
9707
|
const content = `${item.checked === void 0 ? "" : item.checked ? "[x] " : "[ ] "}${inner}`;
|
|
9385
9708
|
if (content === "") return marker.trimEnd();
|
|
@@ -9453,7 +9776,10 @@ const serializeBlocks = (children, state, tight = false) => {
|
|
|
9453
9776
|
previousListMarker = void 0;
|
|
9454
9777
|
break;
|
|
9455
9778
|
case "blockquote": {
|
|
9779
|
+
const savedJsxDepth = state.jsxDepth;
|
|
9780
|
+
state.jsxDepth = 0;
|
|
9456
9781
|
const inner = serializeBlocks(child.children, state);
|
|
9782
|
+
state.jsxDepth = savedJsxDepth;
|
|
9457
9783
|
parts.push(prefixLines(inner, "> ", ">"));
|
|
9458
9784
|
previousListMarker = void 0;
|
|
9459
9785
|
break;
|
|
@@ -9483,6 +9809,17 @@ const serializeBlocks = (children, state, tight = false) => {
|
|
|
9483
9809
|
previousListMarker = void 0;
|
|
9484
9810
|
break;
|
|
9485
9811
|
}
|
|
9812
|
+
case "mdxJsxFlowElement":
|
|
9813
|
+
parts.push(serializeMdxJsxFlow(child, state));
|
|
9814
|
+
previousListMarker = void 0;
|
|
9815
|
+
break;
|
|
9816
|
+
case "mdxFlowExpression":
|
|
9817
|
+
parts.push(mdxExpression(child.value));
|
|
9818
|
+
previousListMarker = void 0;
|
|
9819
|
+
break;
|
|
9820
|
+
case "mdxjsEsm":
|
|
9821
|
+
parts.push(child.value);
|
|
9822
|
+
previousListMarker = void 0;
|
|
9486
9823
|
}
|
|
9487
9824
|
previous = child;
|
|
9488
9825
|
nodes.push(child);
|
|
@@ -9508,11 +9845,16 @@ const serializeBlocks = (children, state, tight = false) => {
|
|
|
9508
9845
|
* empty for an empty root and ends with exactly one newline otherwise.
|
|
9509
9846
|
*/
|
|
9510
9847
|
const stringifyTree = (root) => {
|
|
9511
|
-
const
|
|
9848
|
+
const state = {
|
|
9849
|
+
depth: 0,
|
|
9850
|
+
jsxDepth: 0,
|
|
9851
|
+
mdx: treeContainsMdx(root)
|
|
9852
|
+
};
|
|
9853
|
+
const body = serializeBlocks(root.children, state);
|
|
9512
9854
|
return body === "" ? "" : `${body}\n`;
|
|
9513
9855
|
};
|
|
9514
9856
|
//#endregion
|
|
9515
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
9857
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/Markdown.js
|
|
9516
9858
|
/**
|
|
9517
9859
|
* The markdown dialects the parser can be pointed at. `"gfm"` — CommonMark
|
|
9518
9860
|
* 0.31.2 plus the GitHub extensions (tables, strikethrough, autolink
|
|
@@ -9666,6 +10008,79 @@ var Markdown = class Markdown {
|
|
|
9666
10008
|
*/
|
|
9667
10009
|
static parse = effect.Effect.fn("Markdown.parse")((text, options) => effect.Effect.fromResult(Markdown.parseResult(text, options)));
|
|
9668
10010
|
/**
|
|
10011
|
+
* Parse a text fragment as a single paragraph's inline content,
|
|
10012
|
+
* synchronously, as a `Result` — the phrasing-level twin of
|
|
10013
|
+
* {@link Markdown.parseResult}, for callers holding already-markdown
|
|
10014
|
+
* prose (a link-carrying sentence, a backtick span) who want its
|
|
10015
|
+
* phrasing nodes without a full document parse and a paragraph splice.
|
|
10016
|
+
*
|
|
10017
|
+
* @remarks
|
|
10018
|
+
* The whole input is prepared exactly the way the block pass prepares one
|
|
10019
|
+
* paragraph's content — leading and trailing whitespace trimmed, line
|
|
10020
|
+
* terminators normalized to `\n` — and handed to the inline pass, so the
|
|
10021
|
+
* result matches the `children` of the paragraph a full parse of the same
|
|
10022
|
+
* fragment would produce. Node positions are correct relative to the
|
|
10023
|
+
* input string.
|
|
10024
|
+
*
|
|
10025
|
+
* Two consequences of the single-paragraph contract:
|
|
10026
|
+
*
|
|
10027
|
+
* - **Blank lines do not break blocks.** A `\n\n` in the input stays
|
|
10028
|
+
* inline content (literal newlines in a text node); nothing at this
|
|
10029
|
+
* level opens a heading, list or code block — `# foo` is the text
|
|
10030
|
+
* `# foo`.
|
|
10031
|
+
* - **No reference context exists.** The fragment carries no definitions,
|
|
10032
|
+
* so `[foo]`, `![foo]` and `[^foo]` remain literal text — the same
|
|
10033
|
+
* result a full parse of the isolated fragment produces.
|
|
10034
|
+
*
|
|
10035
|
+
* `options.dialect` selects the inline dialect (default `"gfm"`);
|
|
10036
|
+
* `options.frontmatter` has no effect at phrasing level. Failure is rare
|
|
10037
|
+
* by design, on {@link Markdown.parseResult}'s terms: only a
|
|
10038
|
+
* hardening-guard trip (delimiter or bracket nesting past the cap) fails.
|
|
10039
|
+
*
|
|
10040
|
+
* @example
|
|
10041
|
+
* ```ts
|
|
10042
|
+
* import { Markdown } from "@effected/markdown";
|
|
10043
|
+
* import { Result } from "effect";
|
|
10044
|
+
*
|
|
10045
|
+
* const ok = Markdown.parsePhrasingResult("see [the docs](./docs.md)");
|
|
10046
|
+
* if (Result.isSuccess(ok)) {
|
|
10047
|
+
* console.log(ok.success.map((node) => node.type)); // => ["text", "link"]
|
|
10048
|
+
* }
|
|
10049
|
+
* ```
|
|
10050
|
+
*
|
|
10051
|
+
* @param text - The prose fragment to parse.
|
|
10052
|
+
* @param options - Optional {@link MarkdownParseOptions}; the dialect
|
|
10053
|
+
* defaults to `"gfm"`.
|
|
10054
|
+
* @returns A `Result` succeeding with the fragment's phrasing content, or
|
|
10055
|
+
* failing with {@link MarkdownParseError}.
|
|
10056
|
+
*/
|
|
10057
|
+
static parsePhrasingResult(text, options) {
|
|
10058
|
+
try {
|
|
10059
|
+
return effect.Result.succeed(parsePhrasingText(text, dialectOf(options)));
|
|
10060
|
+
} catch (caught) {
|
|
10061
|
+
if (isGuardExceeded$1(caught)) return effect.Result.fail(new MarkdownParseError({ diagnostic: MarkdownDiagnostic.fromRaw(text, {
|
|
10062
|
+
code: caught.reason,
|
|
10063
|
+
message: caught.message,
|
|
10064
|
+
offset: caught.offset,
|
|
10065
|
+
length: 0
|
|
10066
|
+
}) }));
|
|
10067
|
+
throw caught;
|
|
10068
|
+
}
|
|
10069
|
+
}
|
|
10070
|
+
/**
|
|
10071
|
+
* Parse a text fragment as a single paragraph's inline content. Defined
|
|
10072
|
+
* in terms of {@link Markdown.parsePhrasingResult} — synchronous callers
|
|
10073
|
+
* can use that variant directly; the single-paragraph contract (blank
|
|
10074
|
+
* lines stay inline, references never form) is documented there.
|
|
10075
|
+
*
|
|
10076
|
+
* @param text - The prose fragment to parse.
|
|
10077
|
+
* @param options - Optional {@link MarkdownParseOptions}; the dialect
|
|
10078
|
+
* defaults to `"gfm"`.
|
|
10079
|
+
* @returns An `Effect` that succeeds with the fragment's phrasing
|
|
10080
|
+
* content, or fails with {@link MarkdownParseError}.
|
|
10081
|
+
*/
|
|
10082
|
+
static parsePhrasing = effect.Effect.fn("Markdown.parsePhrasing")((text, options) => effect.Effect.fromResult(Markdown.parsePhrasingResult(text, options)));
|
|
10083
|
+
/**
|
|
9669
10084
|
* Serialize a {@link Root} tree to canonical markdown, synchronously, as a
|
|
9670
10085
|
* `Result`. The pure primitive twin of {@link Markdown.stringify}, on the
|
|
9671
10086
|
* same terms as {@link Markdown.parseResult}.
|
|
@@ -9725,6 +10140,18 @@ var Markdown = class Markdown {
|
|
|
9725
10140
|
* post-decode walk that reaches nested nodes. The choice then leaves the
|
|
9726
10141
|
* emitter entirely and no output depends on a node's neighbours.
|
|
9727
10142
|
*
|
|
10143
|
+
* **MDX nodes (constructed trees only — the parser reads no MDX syntax)**
|
|
10144
|
+
* serialize to valid MDX with the mdast-util-mdx defaults, and these
|
|
10145
|
+
* choices are part of the same stability commitment: attribute values
|
|
10146
|
+
* quote with `"` (the quote escaped as `"`), an empty element
|
|
10147
|
+
* self-closes spaced (`<a />`), a fragment is `<></>`, flow children take
|
|
10148
|
+
* block layout indented two spaces per JSX ancestor, attributes move onto
|
|
10149
|
+
* their own lines only when one carries a line ending, expressions emit
|
|
10150
|
+
* `{expr}` with two-space continuation indent, and ESM values emit
|
|
10151
|
+
* verbatim. A tree containing any MDX node additionally escapes `{` in
|
|
10152
|
+
* text — MDX makes it significant — while a tree with none serializes
|
|
10153
|
+
* byte-identically to the table above.
|
|
10154
|
+
*
|
|
9728
10155
|
* To *normalize* a document to different choices — a `-` list rewritten to
|
|
9729
10156
|
* `*`, setext headings rewritten to ATX — use `MarkdownFormat` with
|
|
9730
10157
|
* `MarkdownFormattingOptions`. That is the configurable surface; this one
|
|
@@ -9803,7 +10230,7 @@ var Markdown = class Markdown {
|
|
|
9803
10230
|
static MarkdownFromString = Markdown.fromString();
|
|
9804
10231
|
};
|
|
9805
10232
|
//#endregion
|
|
9806
|
-
//#region ../../node_modules/.pnpm/@effected+markdown@0.
|
|
10233
|
+
//#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/Mdast.js
|
|
9807
10234
|
/**
|
|
9808
10235
|
* The remark-ecosystem interop boundary: projection between this package's
|
|
9809
10236
|
* node classes and plain mdast JSON.
|
|
@@ -10007,8 +10434,40 @@ const projectNode = (node) => {
|
|
|
10007
10434
|
value: node.value,
|
|
10008
10435
|
position
|
|
10009
10436
|
};
|
|
10437
|
+
case "mdxJsxFlowElement":
|
|
10438
|
+
case "mdxJsxTextElement": return {
|
|
10439
|
+
type: node.type,
|
|
10440
|
+
name: node.name,
|
|
10441
|
+
attributes: node.attributes.map((attribute) => projectMdxAttribute(attribute)),
|
|
10442
|
+
children: projectChildren(node.children),
|
|
10443
|
+
position
|
|
10444
|
+
};
|
|
10445
|
+
case "mdxFlowExpression":
|
|
10446
|
+
case "mdxTextExpression":
|
|
10447
|
+
case "mdxjsEsm": return {
|
|
10448
|
+
type: node.type,
|
|
10449
|
+
value: node.value,
|
|
10450
|
+
position
|
|
10451
|
+
};
|
|
10010
10452
|
}
|
|
10011
10453
|
};
|
|
10454
|
+
const projectMdxAttribute = (attribute) => {
|
|
10455
|
+
if (attribute.type === "mdxJsxExpressionAttribute") return {
|
|
10456
|
+
type: "mdxJsxExpressionAttribute",
|
|
10457
|
+
value: attribute.value,
|
|
10458
|
+
position: projectPosition(attribute.position)
|
|
10459
|
+
};
|
|
10460
|
+
const value = attribute.value;
|
|
10461
|
+
return {
|
|
10462
|
+
type: "mdxJsxAttribute",
|
|
10463
|
+
name: attribute.name,
|
|
10464
|
+
value: value === void 0 || value === null ? null : typeof value === "string" ? value : {
|
|
10465
|
+
type: "mdxJsxAttributeValueExpression",
|
|
10466
|
+
value: value.value
|
|
10467
|
+
},
|
|
10468
|
+
position: projectPosition(attribute.position)
|
|
10469
|
+
};
|
|
10470
|
+
};
|
|
10012
10471
|
/** The frontmatter literal node types foreign mdast spells per format. */
|
|
10013
10472
|
const frontmatterTypes = /* @__PURE__ */ new Map([
|
|
10014
10473
|
["yaml", "yaml"],
|
|
@@ -10072,7 +10531,10 @@ const admittedFields = {
|
|
|
10072
10531
|
"spread"
|
|
10073
10532
|
],
|
|
10074
10533
|
listItem: ["spread", "checked"],
|
|
10075
|
-
table: ["align"]
|
|
10534
|
+
table: ["align"],
|
|
10535
|
+
mdxFlowExpression: ["value"],
|
|
10536
|
+
mdxTextExpression: ["value"],
|
|
10537
|
+
mdxjsEsm: ["value"]
|
|
10076
10538
|
};
|
|
10077
10539
|
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
10078
10540
|
const completePoint = (value) => isRecord(value) && typeof value.line === "number" && typeof value.column === "number" && typeof value.offset === "number";
|
|
@@ -10105,6 +10567,13 @@ const normalizeNode = (value) => {
|
|
|
10105
10567
|
value: value.value,
|
|
10106
10568
|
position: normalizePosition(value.position)
|
|
10107
10569
|
};
|
|
10570
|
+
if (type === "mdxJsxFlowElement" || type === "mdxJsxTextElement") return {
|
|
10571
|
+
type,
|
|
10572
|
+
name: value.name,
|
|
10573
|
+
attributes: Array.isArray(value.attributes) ? value.attributes.map(normalizeMdxAttribute) : value.attributes,
|
|
10574
|
+
children: Array.isArray(value.children) ? value.children.map(normalizeNode) : value.children,
|
|
10575
|
+
position: normalizePosition(value.position)
|
|
10576
|
+
};
|
|
10108
10577
|
const admitted = admittedFields[type];
|
|
10109
10578
|
if (admitted === void 0) return value;
|
|
10110
10579
|
const normalized = { type };
|
|
@@ -10120,6 +10589,29 @@ const normalizeNode = (value) => {
|
|
|
10120
10589
|
normalized.position = normalizePosition(value.position);
|
|
10121
10590
|
return normalized;
|
|
10122
10591
|
};
|
|
10592
|
+
const normalizeMdxAttribute = (value) => {
|
|
10593
|
+
if (!isRecord(value) || typeof value.type !== "string") return value;
|
|
10594
|
+
if (value.type === "mdxJsxExpressionAttribute") return {
|
|
10595
|
+
type: "mdxJsxExpressionAttribute",
|
|
10596
|
+
value: value.value,
|
|
10597
|
+
position: normalizePosition(value.position)
|
|
10598
|
+
};
|
|
10599
|
+
if (value.type === "mdxJsxAttribute") {
|
|
10600
|
+
const raw = value.value;
|
|
10601
|
+
const normalized = {
|
|
10602
|
+
type: "mdxJsxAttribute",
|
|
10603
|
+
name: value.name,
|
|
10604
|
+
position: normalizePosition(value.position)
|
|
10605
|
+
};
|
|
10606
|
+
if (raw !== void 0) normalized.value = isRecord(raw) && raw.type === "mdxJsxAttributeValueExpression" ? {
|
|
10607
|
+
type: "mdxJsxAttributeValueExpression",
|
|
10608
|
+
value: raw.value,
|
|
10609
|
+
position: normalizePosition(raw.position)
|
|
10610
|
+
} : raw;
|
|
10611
|
+
return normalized;
|
|
10612
|
+
}
|
|
10613
|
+
return value;
|
|
10614
|
+
};
|
|
10123
10615
|
const decodeRoot = effect.Schema.decodeUnknownResult(Root);
|
|
10124
10616
|
/**
|
|
10125
10617
|
* The mdast projection facade — the remark-ecosystem interop boundary.
|