@gmb/bitmark-parser-generator 5.31.1 → 5.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -449,6 +449,8 @@ var BitType2 = {
449
449
  pageSectionFolder: "page-section-folder",
450
450
  pageShopInShop: "page-shop-in-shop",
451
451
  pageSpecial: "page-special",
452
+ pageEnd: "page-end",
453
+ pageStart: "page-start",
452
454
  pageSubpage: "page-subpage",
453
455
  pageSubscribe: "page-subscribe",
454
456
  parameters: "parameters",
@@ -3135,11 +3137,16 @@ var CARDSETS = {
3135
3137
  exportJsonKey: { "@bit": { heading: { forKeys: "$" } } }
3136
3138
  },
3137
3139
  {
3140
+ // Axis-side `[@isCaseSensitive]` is a cascade SOURCE
3141
+ // only: it must fire (so value-side cells inherit via
3142
+ // `$ancestor`) but emit nothing itself — emission is
3143
+ // owned by the value-side's cell-nested rule
3144
+ // (`cells[$s].isCaseSensitive`, PLAN-122). The earlier
3145
+ // flat `$ancestor` rule here double-emitted at bit
3146
+ // scope and broke the `optimize(fullize(x)) ==
3147
+ // optimize(x)` law on match-matrix.
3138
3148
  key: ConfigKey.property_isCaseSensitive,
3139
- exportJsonKey: [
3140
- { "@absent": { isCaseSensitive: "$ancestor" } },
3141
- { isCaseSensitive: "$" }
3142
- ],
3149
+ exportJsonKey: {},
3143
3150
  description: "Property to indicate if the match is case sensitive.",
3144
3151
  format: TagFormat.boolean
3145
3152
  }
@@ -5019,18 +5026,16 @@ var GROUPS = {
5019
5026
  description: "Item, lead, page number, margin number, instruction and hint tags"
5020
5027
  },
5021
5028
  {
5022
- // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2: cascade-fired
5023
- // `@example` from the bit header marks EVERY choice with
5024
- // `isExample: true` (matches BPG output), but only the
5025
- // FIRST correct choice gets `example: true` (BPG
5026
- // `fillBooleanExample(..., firstCorrectOnly=true)`).
5027
- //
5028
- // Two `@absent` rules, picked first-match-wins:
5029
- // 1. Verbose form gated on `@parent.isCorrect=true` with
5030
- // `maxEmits:1` fires once for the first correct.
5031
- // 2. Plain `@absent` fires on every remaining entry
5032
- // (subsequent corrects and all incorrects), emitting
5033
- // `isExample` only.
5029
+ // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2, corrected by
5030
+ // bpg 5.31 probing: cascade-fired `@example` decorates only
5031
+ // the FIRST correct choice (`example: true` via the
5032
+ // `@parent.isCorrect`-gated `@absent` rule, `maxEmits:1`
5033
+ // BPG `fillBooleanExample(..., firstCorrectOnly=true)`).
5034
+ // There is deliberately NO plain `@absent` rule: an ancestor
5035
+ // bare example must leave the remaining choices untouched
5036
+ // (a plain `@absent` decoration broke the
5037
+ // `optimize(fullize(x)) == optimize(x)` law the
5038
+ // synthesized `isExample` keys survived re-optimization).
5034
5039
  // The `serialize_cards` cascade-counter scope holds the cap
5035
5040
  // across the whole cardset.
5036
5041
  // @card scope-shift writes choice-container isExample (e.g.
@@ -5058,13 +5063,6 @@ var GROUPS = {
5058
5063
  "@card": { isExample: true }
5059
5064
  }
5060
5065
  },
5061
- {
5062
- "@absent": {
5063
- isExample: true,
5064
- "@bit": { isExample: true },
5065
- "@card": { isExample: true }
5066
- }
5067
- },
5068
5066
  {
5069
5067
  isExample: true,
5070
5068
  example: "$",
@@ -5106,11 +5104,13 @@ var GROUPS = {
5106
5104
  description: "Item, lead, page number, margin number, instruction and hint tags"
5107
5105
  },
5108
5106
  {
5109
- // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2: cascade-fired
5110
- // `@example` on a `-` (incorrect choice) emits
5111
- // `isExample: true` only — no `example` (BPG fixtures show
5112
- // `isExample` on every choice, but `example` only on the
5113
- // first correct via firstCorrectOnly cascade).
5107
+ // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2, corrected by
5108
+ // bpg 5.31 probing: an ancestor bare `@example` leaves
5109
+ // incorrect choices UNTOUCHED — no cascade decoration at
5110
+ // all (no `@absent` rule; a plain `@absent isExample`
5111
+ // decoration broke the `optimize(fullize(x)) ==
5112
+ // optimize(x)` law). Only an explicit `[@example]` on the
5113
+ // choice itself emits.
5114
5114
  // @card scope-shift writes choice-container isExample.
5115
5115
  key: ConfigKey.property_example,
5116
5116
  jsonKey: "example",
@@ -5123,13 +5123,6 @@ var GROUPS = {
5123
5123
  "@card": { isExample: true }
5124
5124
  }
5125
5125
  },
5126
- {
5127
- "@absent": {
5128
- isExample: true,
5129
- "@bit": { isExample: true },
5130
- "@card": { isExample: true }
5131
- }
5132
- },
5133
5126
  {
5134
5127
  isExample: true,
5135
5128
  example: "$",
@@ -5137,7 +5130,7 @@ var GROUPS = {
5137
5130
  "@card": { isExample: true }
5138
5131
  }
5139
5132
  ],
5140
- description: "An example for the true/false statement/question (incorrect entry \u2014 isExample only on cascade)",
5133
+ description: "An example for the true/false statement/question (incorrect entry \u2014 no cascade decoration: an ancestor bare example leaves incorrect choices untouched, bpg 5.31)",
5141
5134
  format: TagFormat.boolean,
5142
5135
  nullable: true
5143
5136
  }
@@ -7196,7 +7189,9 @@ var BITS = {
7196
7189
  description: "Common tags for quiz bits"
7197
7190
  },
7198
7191
  {
7199
- exportJsonKey: { title: "$" },
7192
+ maxCount: 2,
7193
+ jsonKey: "title|multi(count=2, key=subtitle)",
7194
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
7200
7195
  key: ConfigKey.tag_title,
7201
7196
  description: "The title of the flashcard quiz"
7202
7197
  },
@@ -7301,7 +7296,9 @@ var BITS = {
7301
7296
  description: "Article bit, used for articles / paragraphs",
7302
7297
  tags: [
7303
7298
  {
7304
- exportJsonKey: { title: "$" },
7299
+ maxCount: 2,
7300
+ jsonKey: "title|multi(count=2, key=subtitle)",
7301
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
7305
7302
  key: ConfigKey.tag_title,
7306
7303
  description: "The title of the article"
7307
7304
  }
@@ -9267,7 +9264,9 @@ var BITS = {
9267
9264
  description: "Example bit, used to provide examples in articles or books",
9268
9265
  tags: [
9269
9266
  {
9270
- exportJsonKey: { title: "$" },
9267
+ maxCount: 2,
9268
+ jsonKey: "title|multi(count=2, key=subtitle)",
9269
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
9271
9270
  key: ConfigKey.tag_title,
9272
9271
  description: "The title of the example"
9273
9272
  },
@@ -11868,7 +11867,9 @@ var BITS = {
11868
11867
  description: "Page bit, used to create pages in articles or books",
11869
11868
  tags: [
11870
11869
  {
11871
- exportJsonKey: { title: "$" },
11870
+ maxCount: 2,
11871
+ jsonKey: "title|multi(count=2, key=subtitle)",
11872
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
11872
11873
  key: ConfigKey.tag_title,
11873
11874
  description: "Title of the page, used to display the page title"
11874
11875
  },
@@ -11968,6 +11969,16 @@ var BITS = {
11968
11969
  baseBitType: BitType2.pageSubpage,
11969
11970
  description: "Page special bit, used to create special pages in articles or books"
11970
11971
  },
11972
+ [BitType2.pageEnd]: {
11973
+ since: "5.33.0",
11974
+ baseBitType: BitType2.article,
11975
+ description: "Page end bit, used to mark the end of a page section in articles or books"
11976
+ },
11977
+ [BitType2.pageStart]: {
11978
+ since: "5.33.0",
11979
+ baseBitType: BitType2.article,
11980
+ description: "Page start bit, used to mark the start of a page section in articles or books"
11981
+ },
11971
11982
  [BitType2.pagePerson]: {
11972
11983
  since: "1.5.16",
11973
11984
  baseBitType: BitType2._standard,
@@ -12326,7 +12337,9 @@ var BITS = {
12326
12337
  description: "Review note bit, used to create review notes in articles or books",
12327
12338
  tags: [
12328
12339
  {
12329
- exportJsonKey: { title: "$" },
12340
+ maxCount: 2,
12341
+ jsonKey: "title|multi(count=2, key=subtitle)",
12342
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
12330
12343
  key: ConfigKey.tag_title,
12331
12344
  description: "Title of the review note, used to display the note title"
12332
12345
  },
@@ -13912,7 +13925,7 @@ var instance2 = new Config();
13912
13925
  // src/generated/package_info.ts
13913
13926
  var PACKAGE_INFO = {
13914
13927
  "name": "@gmb/bitmark-parser-generator",
13915
- "version": "5.31.1",
13928
+ "version": "5.33.0",
13916
13929
  "author": "Get More Brain Ltd",
13917
13930
  "license": "ISC",
13918
13931
  "description": "A bitmark parser and generator using Peggy.js"
@@ -14187,6 +14200,7 @@ var TextMarkType = {
14187
14200
  del: "del",
14188
14201
  underline: "underline",
14189
14202
  doubleUnderline: "doubleUnderline",
14203
+ smallcaps: "smallcaps",
14190
14204
  circle: "circle",
14191
14205
  languageEmRed: "languageEmRed",
14192
14206
  languageEmOrange: "languageEmOrange",
@@ -14218,7 +14232,10 @@ var TextMarkType = {
14218
14232
  code: "code",
14219
14233
  timer: "timer",
14220
14234
  duration: "duration",
14235
+ // legacy: no longer produced by the parser (>= 8.41.1), accepted as generator input
14221
14236
  color: "color",
14237
+ // legacy: no longer produced by the parser (>= 8.41.1, now textStyle), accepted as generator input
14238
+ textStyle: "textStyle",
14222
14239
  colorPicker: "colorPicker",
14223
14240
  comment: "comment"
14224
14241
  };
@@ -15803,6 +15820,7 @@ var INLINE_MARK_TYPES = [
15803
15820
  TextMarkType.del,
15804
15821
  TextMarkType.underline,
15805
15822
  TextMarkType.doubleUnderline,
15823
+ TextMarkType.smallcaps,
15806
15824
  TextMarkType.circle,
15807
15825
  TextMarkType.languageEmRed,
15808
15826
  TextMarkType.languageEmOrange,
@@ -15833,11 +15851,24 @@ var INLINE_MARK_TYPES = [
15833
15851
  TextMarkType.var,
15834
15852
  TextMarkType.code,
15835
15853
  TextMarkType.timer,
15836
- TextMarkType.duration,
15837
15854
  TextMarkType.color,
15855
+ // legacy input, written as color: (same as textStyle)
15856
+ TextMarkType.textStyle,
15838
15857
  TextMarkType.colorPicker,
15839
15858
  TextMarkType.comment
15840
15859
  ];
15860
+ var HIGHLIGHT_COLORS = [
15861
+ "orange",
15862
+ "yellow",
15863
+ "green",
15864
+ "blue",
15865
+ "purple",
15866
+ "pink",
15867
+ "brown",
15868
+ "white",
15869
+ "black",
15870
+ "gray"
15871
+ ];
15841
15872
  var INDENTATION_REGEX = new RegExp(/(\n|\r\n)/, "g");
15842
15873
  var LINK_REGEX = new RegExp(/https?:\/\/|mailto:(.*)/, "g");
15843
15874
  var LINK_BREAKSCAPE_REGEX = new RegExp(/\]/, "g");
@@ -16401,14 +16432,16 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16401
16432
  this.writeMarkTextWrapper(INLINE_MARK);
16402
16433
  return;
16403
16434
  }
16404
- const singleMark = node.marks.length === 1 && forceSingleMark;
16405
- const markStartEnd = node.marks.reduce(
16435
+ const marks = this.getWritableMarks(node.marks);
16436
+ if (marks.length === 0) return;
16437
+ const singleMark = marks.length === 1 && forceSingleMark;
16438
+ const markStartEnd = marks.reduce(
16406
16439
  (acc, mark) => {
16407
16440
  if (acc) return acc;
16408
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16441
+ if (this.isStandardMark(mark)) {
16409
16442
  if (singleMark) return STANDARD_MARKS[mark.type];
16410
16443
  return INLINE_MARK;
16411
- } else if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) {
16444
+ } else if (this.isInlineMark(mark)) {
16412
16445
  return INLINE_MARK;
16413
16446
  } else {
16414
16447
  }
@@ -16423,8 +16456,8 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16423
16456
  this.writeMarkTextWrapper(markStartEnd);
16424
16457
  }
16425
16458
  if (stage == Stage.between) {
16426
- for (const mark of node.marks) {
16427
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16459
+ for (const mark of marks) {
16460
+ if (this.isStandardMark(mark)) {
16428
16461
  if (!singleMark) {
16429
16462
  this.writeInlineMarkStartEnd();
16430
16463
  this.writeInlineMark(mark);
@@ -16453,7 +16486,7 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16453
16486
  } else if (TextMarkType.symbol === mark.type) {
16454
16487
  this.writeInlineMarkStartEnd();
16455
16488
  this.writeSymbolMark(mark);
16456
- } else if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) {
16489
+ } else if (this.isInlineMark(mark)) {
16457
16490
  this.writeInlineMarkStartEnd();
16458
16491
  this.writeInlineMark(mark);
16459
16492
  } else {
@@ -16462,12 +16495,12 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16462
16495
  }
16463
16496
  if (stage == Stage.exit) {
16464
16497
  let inlineMarkWritten = false;
16465
- for (const mark of node.marks) {
16466
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16498
+ for (const mark of marks) {
16499
+ if (this.isStandardMark(mark)) {
16467
16500
  if (!singleMark) {
16468
16501
  inlineMarkWritten = true;
16469
16502
  }
16470
- } else if (TextMarkType.comment === mark.type || TextMarkType.link === mark.type || TextMarkType.ref === mark.type || TextMarkType.xref === mark.type || TextMarkType.footnote === mark.type || TextMarkType.footnoteStar === mark.type || INLINE_MARK_TYPES.indexOf(mark.type) !== -1) {
16503
+ } else if (TextMarkType.comment === mark.type || TextMarkType.link === mark.type || TextMarkType.ref === mark.type || TextMarkType.xref === mark.type || TextMarkType.footnote === mark.type || TextMarkType.footnoteStar === mark.type || this.isInlineMark(mark)) {
16471
16504
  inlineMarkWritten = true;
16472
16505
  } else {
16473
16506
  }
@@ -16548,8 +16581,15 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16548
16581
  if (node.attrs == null || !node.attrs.src) return;
16549
16582
  const attrs = node.attrs;
16550
16583
  const inlineImage = node.type === TextNodeType.imageInline;
16584
+ let ignoreAttributes;
16585
+ if (inlineImage) {
16586
+ ignoreAttributes = /* @__PURE__ */ new Set(["alt", "zoomDisabled", "title"]);
16587
+ const a = attrs;
16588
+ if (a.alignmentVertical === "top") ignoreAttributes.add("alignmentVertical");
16589
+ if (a.size === "line-height") ignoreAttributes.add("size");
16590
+ }
16551
16591
  const mediaAttrs = this.getMediaAttrs(inlineImage ? "imageInline" : "image", attrs, {
16552
- ignoreAttributes: inlineImage ? /* @__PURE__ */ new Set(["alt", "zoomDisabled", "title"]) : void 0
16592
+ ignoreAttributes
16553
16593
  });
16554
16594
  let s = "";
16555
16595
  if (inlineImage) {
@@ -16579,16 +16619,87 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16579
16619
  if (s) this.write(s);
16580
16620
  }
16581
16621
  writeInlineMark(mark) {
16582
- let s = `${mark.type}`;
16583
- if (mark.attrs) {
16584
- for (const [k, v] of Object.entries(mark.attrs)) {
16585
- if (k === "language" && v !== "plain text" || k === "color" || k === "propertyRef" || k === "name" || k === "duration") {
16586
- s = `${s}:${v}`;
16622
+ const attrs = mark.attrs ?? {};
16623
+ let s;
16624
+ switch (mark.type) {
16625
+ case TextMarkType.textStyle:
16626
+ case TextMarkType.color:
16627
+ s = `color:${attrs.color ?? ""}`;
16628
+ break;
16629
+ case TextMarkType.timer:
16630
+ s = attrs.name ? `timer:${attrs.name}` : "timer";
16631
+ s += `|duration:${attrs.duration ?? ""}`;
16632
+ break;
16633
+ case TextMarkType.highlight:
16634
+ case TextMarkType.userHighlight:
16635
+ s = attrs.color ? `${mark.type}|color:${attrs.color}` : `${mark.type}`;
16636
+ break;
16637
+ default: {
16638
+ s = `${mark.type}`;
16639
+ for (const [k, v] of Object.entries(attrs)) {
16640
+ if (k === "language" && v !== "plain text" || k === "propertyRef" || k === "name") {
16641
+ s = `${s}:${v}`;
16642
+ }
16587
16643
  }
16588
16644
  }
16589
16645
  }
16590
16646
  this.write(s);
16591
16647
  }
16648
+ /**
16649
+ * Resolve the marks of a text node into the marks that will actually be written.
16650
+ *
16651
+ * - Merges a legacy standalone 'duration' mark into its sibling 'timer' mark.
16652
+ * - Drops marks the current grammar cannot express (standalone 'duration', 'timer'
16653
+ * without a duration).
16654
+ * - Moves a 'textStyle'/'color' mark before a preceding bare 'highlight'/'userHighlight'
16655
+ * mark when its color is a valid highlight color; written in the original order the
16656
+ * output would re-parse as a highlight-with-color compound mark and change meaning.
16657
+ */
16658
+ getWritableMarks(nodeMarks) {
16659
+ const attrsOf = (m) => m.attrs ?? {};
16660
+ let marks = [...nodeMarks];
16661
+ const timer = marks.find((m) => m.type === TextMarkType.timer);
16662
+ const duration = marks.find((m) => m.type === TextMarkType.duration);
16663
+ if (timer && duration && !attrsOf(timer).duration) {
16664
+ marks = marks.map(
16665
+ (m) => m === timer ? {
16666
+ ...timer,
16667
+ attrs: { ...attrsOf(timer), duration: attrsOf(duration).duration }
16668
+ } : m
16669
+ );
16670
+ }
16671
+ marks = marks.filter((m) => {
16672
+ if (m.type === TextMarkType.duration) return false;
16673
+ if (m.type === TextMarkType.timer) return !!attrsOf(m).duration;
16674
+ return true;
16675
+ });
16676
+ const isBareHighlight = (m) => (m.type === TextMarkType.highlight || m.type === TextMarkType.userHighlight) && !attrsOf(m).color;
16677
+ const isHighlightColorStyle = (m) => (m.type === TextMarkType.textStyle || m.type === TextMarkType.color) && HIGHLIGHT_COLORS.indexOf(attrsOf(m).color) !== -1;
16678
+ for (let i = 0; i < marks.length - 1; i++) {
16679
+ if (isBareHighlight(marks[i]) && isHighlightColorStyle(marks[i + 1])) {
16680
+ const tmp = marks[i];
16681
+ marks[i] = marks[i + 1];
16682
+ marks[i + 1] = tmp;
16683
+ }
16684
+ }
16685
+ return marks;
16686
+ }
16687
+ /**
16688
+ * True if the mark is written using its standard form (e.g. **bold**, !!highlight!!)
16689
+ * when it is the only mark. A highlight mark with a color attribute is excluded - it
16690
+ * can only be expressed using the inline chain form (==text==|highlight|color:x|).
16691
+ */
16692
+ isStandardMark(mark) {
16693
+ if (STANDARD_MARK_TYPES.indexOf(mark.type) === -1) return false;
16694
+ return !(mark.attrs && mark.attrs.color);
16695
+ }
16696
+ /**
16697
+ * True if the mark is written using the inline chain form (==text==|mark|).
16698
+ */
16699
+ isInlineMark(mark) {
16700
+ if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) return true;
16701
+ return mark.type === TextMarkType.highlight && !!(mark.attrs && mark.attrs.color);
16702
+ }
16592
16703
  writeCommentMark(mark) {
16593
16704
  const comment = mark.comment || "";
16594
16705
  const s = `#${comment}`;
@@ -16793,7 +16904,7 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16793
16904
  };
16794
16905
 
16795
16906
  // src/generated/parser/text/text-peggy-parser.js
16796
- var VERSION = "8.37.3";
16907
+ var VERSION = "8.41.1";
16797
16908
  function unbreakscape(str) {
16798
16909
  if (typeof str !== "string") return null;
16799
16910
  return instance3.unbreakscape(str);
@@ -17008,87 +17119,88 @@ function peg$parse(input, options) {
17008
17119
  const peg$c60 = "var:";
17009
17120
  const peg$c61 = "code:";
17010
17121
  const peg$c62 = "timer";
17011
- const peg$c63 = "timer:";
17012
- const peg$c64 = "duration:";
17013
- const peg$c65 = "P";
17014
- const peg$c66 = "color:";
17015
- const peg$c67 = "colorPicker:";
17016
- const peg$c68 = "|\u25BA";
17017
- const peg$c69 = "bold";
17018
- const peg$c70 = "italic";
17019
- const peg$c71 = "light";
17020
- const peg$c72 = "highlightOrange";
17021
- const peg$c73 = "highlightYellow";
17022
- const peg$c74 = "highlightGreen";
17023
- const peg$c75 = "highlightBlue";
17024
- const peg$c76 = "highlightPurple";
17025
- const peg$c77 = "highlightPink";
17026
- const peg$c78 = "highlightBrown";
17027
- const peg$c79 = "highlightBlack";
17028
- const peg$c80 = "highlightWhite";
17029
- const peg$c81 = "highlightGray";
17030
- const peg$c82 = "highlight";
17031
- const peg$c83 = "strike";
17032
- const peg$c84 = "subscript";
17033
- const peg$c85 = "superscript";
17034
- const peg$c86 = "ins";
17035
- const peg$c87 = "del";
17036
- const peg$c88 = "underline";
17037
- const peg$c89 = "doubleUnderline";
17038
- const peg$c90 = "circle";
17039
- const peg$c91 = "languageEmRed";
17040
- const peg$c92 = "languageEmOrange";
17041
- const peg$c93 = "languageEmYellow";
17042
- const peg$c94 = "languageEmGreen";
17043
- const peg$c95 = "languageEmBlue";
17044
- const peg$c96 = "languageEmPurple";
17045
- const peg$c97 = "languageEmPink";
17046
- const peg$c98 = "languageEmBrown";
17047
- const peg$c99 = "languageEmBlack";
17048
- const peg$c100 = "languageEmWhite";
17049
- const peg$c101 = "languageEmGray";
17050
- const peg$c102 = "languageEm";
17051
- const peg$c103 = "userUnderline";
17052
- const peg$c104 = "userDoubleUnderline";
17053
- const peg$c105 = "userStrike";
17054
- const peg$c106 = "userCircle";
17055
- const peg$c107 = "userHighlight";
17056
- const peg$c108 = "notranslate";
17057
- const peg$c109 = "aqua";
17058
- const peg$c110 = "black";
17059
- const peg$c111 = "blue";
17060
- const peg$c112 = "brown";
17061
- const peg$c113 = "fuchsia";
17062
- const peg$c114 = "lightgrey";
17063
- const peg$c115 = "gray";
17064
- const peg$c116 = "darkgray";
17065
- const peg$c117 = "green";
17066
- const peg$c118 = "lime";
17067
- const peg$c119 = "magenta";
17068
- const peg$c120 = "maroon";
17069
- const peg$c121 = "navy";
17070
- const peg$c122 = "olive";
17071
- const peg$c123 = "orange";
17072
- const peg$c124 = "pink";
17073
- const peg$c125 = "purple";
17074
- const peg$c126 = "red";
17075
- const peg$c127 = "silver";
17076
- const peg$c128 = "teal";
17077
- const peg$c129 = "violet";
17078
- const peg$c130 = "white";
17079
- const peg$c131 = "yellow";
17080
- const peg$c132 = "*";
17081
- const peg$c133 = "_";
17082
- const peg$c134 = "`";
17083
- const peg$c135 = "!";
17084
- const peg$c136 = "[!";
17085
- const peg$c137 = "]";
17086
- const peg$c138 = "\n";
17087
- const peg$c139 = "\r\n";
17088
- const peg$c140 = "http";
17089
- const peg$c141 = "s";
17090
- const peg$c142 = "://";
17091
- const peg$c143 = "mailto:";
17122
+ const peg$c63 = "duration:";
17123
+ const peg$c64 = "P";
17124
+ const peg$c65 = "timer:";
17125
+ const peg$c66 = "highlight";
17126
+ const peg$c67 = "color:";
17127
+ const peg$c68 = "userHighlight";
17128
+ const peg$c69 = "colorPicker:";
17129
+ const peg$c70 = "|\u25BA";
17130
+ const peg$c71 = "bold";
17131
+ const peg$c72 = "italic";
17132
+ const peg$c73 = "light";
17133
+ const peg$c74 = "highlightOrange";
17134
+ const peg$c75 = "highlightYellow";
17135
+ const peg$c76 = "highlightGreen";
17136
+ const peg$c77 = "highlightBlue";
17137
+ const peg$c78 = "highlightPurple";
17138
+ const peg$c79 = "highlightPink";
17139
+ const peg$c80 = "highlightBrown";
17140
+ const peg$c81 = "highlightBlack";
17141
+ const peg$c82 = "highlightWhite";
17142
+ const peg$c83 = "highlightGray";
17143
+ const peg$c84 = "strike";
17144
+ const peg$c85 = "subscript";
17145
+ const peg$c86 = "superscript";
17146
+ const peg$c87 = "ins";
17147
+ const peg$c88 = "del";
17148
+ const peg$c89 = "underline";
17149
+ const peg$c90 = "doubleUnderline";
17150
+ const peg$c91 = "smallcaps";
17151
+ const peg$c92 = "circle";
17152
+ const peg$c93 = "languageEmRed";
17153
+ const peg$c94 = "languageEmOrange";
17154
+ const peg$c95 = "languageEmYellow";
17155
+ const peg$c96 = "languageEmGreen";
17156
+ const peg$c97 = "languageEmBlue";
17157
+ const peg$c98 = "languageEmPurple";
17158
+ const peg$c99 = "languageEmPink";
17159
+ const peg$c100 = "languageEmBrown";
17160
+ const peg$c101 = "languageEmBlack";
17161
+ const peg$c102 = "languageEmWhite";
17162
+ const peg$c103 = "languageEmGray";
17163
+ const peg$c104 = "languageEm";
17164
+ const peg$c105 = "userUnderline";
17165
+ const peg$c106 = "userDoubleUnderline";
17166
+ const peg$c107 = "userStrike";
17167
+ const peg$c108 = "userCircle";
17168
+ const peg$c109 = "notranslate";
17169
+ const peg$c110 = "aqua";
17170
+ const peg$c111 = "black";
17171
+ const peg$c112 = "blue";
17172
+ const peg$c113 = "brown";
17173
+ const peg$c114 = "fuchsia";
17174
+ const peg$c115 = "lightgrey";
17175
+ const peg$c116 = "gray";
17176
+ const peg$c117 = "darkgray";
17177
+ const peg$c118 = "green";
17178
+ const peg$c119 = "lime";
17179
+ const peg$c120 = "magenta";
17180
+ const peg$c121 = "maroon";
17181
+ const peg$c122 = "navy";
17182
+ const peg$c123 = "olive";
17183
+ const peg$c124 = "orange";
17184
+ const peg$c125 = "pink";
17185
+ const peg$c126 = "purple";
17186
+ const peg$c127 = "red";
17187
+ const peg$c128 = "silver";
17188
+ const peg$c129 = "teal";
17189
+ const peg$c130 = "violet";
17190
+ const peg$c131 = "white";
17191
+ const peg$c132 = "yellow";
17192
+ const peg$c133 = "*";
17193
+ const peg$c134 = "_";
17194
+ const peg$c135 = "`";
17195
+ const peg$c136 = "!";
17196
+ const peg$c137 = "[!";
17197
+ const peg$c138 = "]";
17198
+ const peg$c139 = "\n";
17199
+ const peg$c140 = "\r\n";
17200
+ const peg$c141 = "http";
17201
+ const peg$c142 = "s";
17202
+ const peg$c143 = "://";
17203
+ const peg$c144 = "mailto:";
17092
17204
  const peg$r0 = /^[ \t]/;
17093
17205
  const peg$r1 = /^[0-9]/;
17094
17206
  const peg$r2 = /^[\r\u2028-\u2029]/;
@@ -17161,91 +17273,92 @@ function peg$parse(input, options) {
17161
17273
  const peg$e64 = peg$literalExpectation("var:", false);
17162
17274
  const peg$e65 = peg$literalExpectation("code:", false);
17163
17275
  const peg$e66 = peg$literalExpectation("timer", false);
17164
- const peg$e67 = peg$literalExpectation("timer:", false);
17165
- const peg$e68 = peg$literalExpectation("duration:", false);
17166
- const peg$e69 = peg$literalExpectation("P", false);
17167
- const peg$e70 = peg$literalExpectation("color:", false);
17168
- const peg$e71 = peg$literalExpectation("colorPicker:", false);
17169
- const peg$e72 = peg$literalExpectation("|\u25BA", false);
17170
- const peg$e73 = peg$literalExpectation("bold", false);
17171
- const peg$e74 = peg$literalExpectation("italic", false);
17172
- const peg$e75 = peg$literalExpectation("light", false);
17173
- const peg$e76 = peg$literalExpectation("highlightOrange", false);
17174
- const peg$e77 = peg$literalExpectation("highlightYellow", false);
17175
- const peg$e78 = peg$literalExpectation("highlightGreen", false);
17176
- const peg$e79 = peg$literalExpectation("highlightBlue", false);
17177
- const peg$e80 = peg$literalExpectation("highlightPurple", false);
17178
- const peg$e81 = peg$literalExpectation("highlightPink", false);
17179
- const peg$e82 = peg$literalExpectation("highlightBrown", false);
17180
- const peg$e83 = peg$literalExpectation("highlightBlack", false);
17181
- const peg$e84 = peg$literalExpectation("highlightWhite", false);
17182
- const peg$e85 = peg$literalExpectation("highlightGray", false);
17183
- const peg$e86 = peg$literalExpectation("highlight", false);
17184
- const peg$e87 = peg$literalExpectation("strike", false);
17185
- const peg$e88 = peg$literalExpectation("subscript", false);
17186
- const peg$e89 = peg$literalExpectation("superscript", false);
17187
- const peg$e90 = peg$literalExpectation("ins", false);
17188
- const peg$e91 = peg$literalExpectation("del", false);
17189
- const peg$e92 = peg$literalExpectation("underline", false);
17190
- const peg$e93 = peg$literalExpectation("doubleUnderline", false);
17191
- const peg$e94 = peg$literalExpectation("circle", false);
17192
- const peg$e95 = peg$literalExpectation("languageEmRed", false);
17193
- const peg$e96 = peg$literalExpectation("languageEmOrange", false);
17194
- const peg$e97 = peg$literalExpectation("languageEmYellow", false);
17195
- const peg$e98 = peg$literalExpectation("languageEmGreen", false);
17196
- const peg$e99 = peg$literalExpectation("languageEmBlue", false);
17197
- const peg$e100 = peg$literalExpectation("languageEmPurple", false);
17198
- const peg$e101 = peg$literalExpectation("languageEmPink", false);
17199
- const peg$e102 = peg$literalExpectation("languageEmBrown", false);
17200
- const peg$e103 = peg$literalExpectation("languageEmBlack", false);
17201
- const peg$e104 = peg$literalExpectation("languageEmWhite", false);
17202
- const peg$e105 = peg$literalExpectation("languageEmGray", false);
17203
- const peg$e106 = peg$literalExpectation("languageEm", false);
17204
- const peg$e107 = peg$literalExpectation("userUnderline", false);
17205
- const peg$e108 = peg$literalExpectation("userDoubleUnderline", false);
17206
- const peg$e109 = peg$literalExpectation("userStrike", false);
17207
- const peg$e110 = peg$literalExpectation("userCircle", false);
17208
- const peg$e111 = peg$literalExpectation("userHighlight", false);
17209
- const peg$e112 = peg$literalExpectation("notranslate", false);
17210
- const peg$e113 = peg$literalExpectation("aqua", false);
17211
- const peg$e114 = peg$literalExpectation("black", false);
17212
- const peg$e115 = peg$literalExpectation("blue", false);
17213
- const peg$e116 = peg$literalExpectation("brown", false);
17214
- const peg$e117 = peg$literalExpectation("fuchsia", false);
17215
- const peg$e118 = peg$literalExpectation("lightgrey", false);
17216
- const peg$e119 = peg$literalExpectation("gray", false);
17217
- const peg$e120 = peg$literalExpectation("darkgray", false);
17218
- const peg$e121 = peg$literalExpectation("green", false);
17219
- const peg$e122 = peg$literalExpectation("lime", false);
17220
- const peg$e123 = peg$literalExpectation("magenta", false);
17221
- const peg$e124 = peg$literalExpectation("maroon", false);
17222
- const peg$e125 = peg$literalExpectation("navy", false);
17223
- const peg$e126 = peg$literalExpectation("olive", false);
17224
- const peg$e127 = peg$literalExpectation("orange", false);
17225
- const peg$e128 = peg$literalExpectation("pink", false);
17226
- const peg$e129 = peg$literalExpectation("purple", false);
17227
- const peg$e130 = peg$literalExpectation("red", false);
17228
- const peg$e131 = peg$literalExpectation("silver", false);
17229
- const peg$e132 = peg$literalExpectation("teal", false);
17230
- const peg$e133 = peg$literalExpectation("violet", false);
17231
- const peg$e134 = peg$literalExpectation("white", false);
17232
- const peg$e135 = peg$literalExpectation("yellow", false);
17233
- const peg$e136 = peg$literalExpectation("*", false);
17234
- const peg$e137 = peg$literalExpectation("_", false);
17235
- const peg$e138 = peg$literalExpectation("`", false);
17236
- const peg$e139 = peg$literalExpectation("!", false);
17237
- const peg$e140 = peg$literalExpectation("[!", false);
17238
- const peg$e141 = peg$literalExpectation("]", false);
17239
- const peg$e142 = peg$otherExpectation("Line Terminator");
17240
- const peg$e143 = peg$literalExpectation("\n", false);
17241
- const peg$e144 = peg$literalExpectation("\r\n", false);
17242
- const peg$e145 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
17243
- const peg$e146 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
17244
- const peg$e147 = peg$literalExpectation("http", false);
17245
- const peg$e148 = peg$literalExpectation("s", false);
17246
- const peg$e149 = peg$literalExpectation("://", false);
17247
- const peg$e150 = peg$literalExpectation("mailto:", false);
17248
- const peg$e151 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
17276
+ const peg$e67 = peg$literalExpectation("duration:", false);
17277
+ const peg$e68 = peg$literalExpectation("P", false);
17278
+ const peg$e69 = peg$literalExpectation("timer:", false);
17279
+ const peg$e70 = peg$literalExpectation("highlight", false);
17280
+ const peg$e71 = peg$literalExpectation("color:", false);
17281
+ const peg$e72 = peg$literalExpectation("userHighlight", false);
17282
+ const peg$e73 = peg$literalExpectation("colorPicker:", false);
17283
+ const peg$e74 = peg$literalExpectation("|\u25BA", false);
17284
+ const peg$e75 = peg$literalExpectation("bold", false);
17285
+ const peg$e76 = peg$literalExpectation("italic", false);
17286
+ const peg$e77 = peg$literalExpectation("light", false);
17287
+ const peg$e78 = peg$literalExpectation("highlightOrange", false);
17288
+ const peg$e79 = peg$literalExpectation("highlightYellow", false);
17289
+ const peg$e80 = peg$literalExpectation("highlightGreen", false);
17290
+ const peg$e81 = peg$literalExpectation("highlightBlue", false);
17291
+ const peg$e82 = peg$literalExpectation("highlightPurple", false);
17292
+ const peg$e83 = peg$literalExpectation("highlightPink", false);
17293
+ const peg$e84 = peg$literalExpectation("highlightBrown", false);
17294
+ const peg$e85 = peg$literalExpectation("highlightBlack", false);
17295
+ const peg$e86 = peg$literalExpectation("highlightWhite", false);
17296
+ const peg$e87 = peg$literalExpectation("highlightGray", false);
17297
+ const peg$e88 = peg$literalExpectation("strike", false);
17298
+ const peg$e89 = peg$literalExpectation("subscript", false);
17299
+ const peg$e90 = peg$literalExpectation("superscript", false);
17300
+ const peg$e91 = peg$literalExpectation("ins", false);
17301
+ const peg$e92 = peg$literalExpectation("del", false);
17302
+ const peg$e93 = peg$literalExpectation("underline", false);
17303
+ const peg$e94 = peg$literalExpectation("doubleUnderline", false);
17304
+ const peg$e95 = peg$literalExpectation("smallcaps", false);
17305
+ const peg$e96 = peg$literalExpectation("circle", false);
17306
+ const peg$e97 = peg$literalExpectation("languageEmRed", false);
17307
+ const peg$e98 = peg$literalExpectation("languageEmOrange", false);
17308
+ const peg$e99 = peg$literalExpectation("languageEmYellow", false);
17309
+ const peg$e100 = peg$literalExpectation("languageEmGreen", false);
17310
+ const peg$e101 = peg$literalExpectation("languageEmBlue", false);
17311
+ const peg$e102 = peg$literalExpectation("languageEmPurple", false);
17312
+ const peg$e103 = peg$literalExpectation("languageEmPink", false);
17313
+ const peg$e104 = peg$literalExpectation("languageEmBrown", false);
17314
+ const peg$e105 = peg$literalExpectation("languageEmBlack", false);
17315
+ const peg$e106 = peg$literalExpectation("languageEmWhite", false);
17316
+ const peg$e107 = peg$literalExpectation("languageEmGray", false);
17317
+ const peg$e108 = peg$literalExpectation("languageEm", false);
17318
+ const peg$e109 = peg$literalExpectation("userUnderline", false);
17319
+ const peg$e110 = peg$literalExpectation("userDoubleUnderline", false);
17320
+ const peg$e111 = peg$literalExpectation("userStrike", false);
17321
+ const peg$e112 = peg$literalExpectation("userCircle", false);
17322
+ const peg$e113 = peg$literalExpectation("notranslate", false);
17323
+ const peg$e114 = peg$literalExpectation("aqua", false);
17324
+ const peg$e115 = peg$literalExpectation("black", false);
17325
+ const peg$e116 = peg$literalExpectation("blue", false);
17326
+ const peg$e117 = peg$literalExpectation("brown", false);
17327
+ const peg$e118 = peg$literalExpectation("fuchsia", false);
17328
+ const peg$e119 = peg$literalExpectation("lightgrey", false);
17329
+ const peg$e120 = peg$literalExpectation("gray", false);
17330
+ const peg$e121 = peg$literalExpectation("darkgray", false);
17331
+ const peg$e122 = peg$literalExpectation("green", false);
17332
+ const peg$e123 = peg$literalExpectation("lime", false);
17333
+ const peg$e124 = peg$literalExpectation("magenta", false);
17334
+ const peg$e125 = peg$literalExpectation("maroon", false);
17335
+ const peg$e126 = peg$literalExpectation("navy", false);
17336
+ const peg$e127 = peg$literalExpectation("olive", false);
17337
+ const peg$e128 = peg$literalExpectation("orange", false);
17338
+ const peg$e129 = peg$literalExpectation("pink", false);
17339
+ const peg$e130 = peg$literalExpectation("purple", false);
17340
+ const peg$e131 = peg$literalExpectation("red", false);
17341
+ const peg$e132 = peg$literalExpectation("silver", false);
17342
+ const peg$e133 = peg$literalExpectation("teal", false);
17343
+ const peg$e134 = peg$literalExpectation("violet", false);
17344
+ const peg$e135 = peg$literalExpectation("white", false);
17345
+ const peg$e136 = peg$literalExpectation("yellow", false);
17346
+ const peg$e137 = peg$literalExpectation("*", false);
17347
+ const peg$e138 = peg$literalExpectation("_", false);
17348
+ const peg$e139 = peg$literalExpectation("`", false);
17349
+ const peg$e140 = peg$literalExpectation("!", false);
17350
+ const peg$e141 = peg$literalExpectation("[!", false);
17351
+ const peg$e142 = peg$literalExpectation("]", false);
17352
+ const peg$e143 = peg$otherExpectation("Line Terminator");
17353
+ const peg$e144 = peg$literalExpectation("\n", false);
17354
+ const peg$e145 = peg$literalExpectation("\r\n", false);
17355
+ const peg$e146 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
17356
+ const peg$e147 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
17357
+ const peg$e148 = peg$literalExpectation("http", false);
17358
+ const peg$e149 = peg$literalExpectation("s", false);
17359
+ const peg$e150 = peg$literalExpectation("://", false);
17360
+ const peg$e151 = peg$literalExpectation("mailto:", false);
17361
+ const peg$e152 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
17249
17362
  function peg$f0() {
17250
17363
  return VERSION;
17251
17364
  }
@@ -17521,7 +17634,7 @@ function peg$parse(input, options) {
17521
17634
  return { attrs: { formula: unbreakscape(t) }, type: "latex" };
17522
17635
  }
17523
17636
  function peg$f57(alt, u, ch) {
17524
- return { attrs: { alt, src: (u.pr + u.t).trim(), ...Object.assign({}, ...ch), zoomDisabled: true }, type: "imageInline" };
17637
+ return { attrs: { alt, src: (u.pr + u.t).trim(), "alignmentVertical": "top", size: "line-height", ...Object.assign({}, ...ch), zoomDisabled: true }, type: "imageInline" };
17525
17638
  }
17526
17639
  function peg$f58(t, marks) {
17527
17640
  if (!marks) marks = [];
@@ -17600,59 +17713,62 @@ function peg$parse(input, options) {
17600
17713
  function peg$f82(lang) {
17601
17714
  return { type: "code", attrs: { language: lang.trim().toLowerCase() } };
17602
17715
  }
17603
- function peg$f83() {
17604
- return { type: "timer", attrs: { name: "" } };
17716
+ function peg$f83(d) {
17717
+ return { type: "timer", attrs: { name: "", duration: d.trim() } };
17605
17718
  }
17606
- function peg$f84(str) {
17607
- return { type: "timer", attrs: { name: str.trim() } };
17719
+ function peg$f84(str, d) {
17720
+ return { type: "timer", attrs: { name: str.trim(), duration: d.trim() } };
17608
17721
  }
17609
- function peg$f85(str) {
17610
- return { type: "duration", attrs: { duration: str } };
17722
+ function peg$f85(color) {
17723
+ return { type: "highlight", attrs: { color } };
17611
17724
  }
17612
17725
  function peg$f86(color) {
17613
- return { type: "color", attrs: { color } };
17726
+ return { type: "userHighlight", attrs: { color } };
17614
17727
  }
17615
- function peg$f87(str) {
17728
+ function peg$f87(color) {
17729
+ return { type: "textStyle", attrs: { color } };
17730
+ }
17731
+ function peg$f88(str) {
17616
17732
  return { type: "colorPicker", attrs: { propertyRef: str.trim() } };
17617
17733
  }
17618
- function peg$f88(style) {
17734
+ function peg$f89(style) {
17619
17735
  return { type: style };
17620
17736
  }
17621
- function peg$f89(str) {
17737
+ function peg$f90(str) {
17622
17738
  return { type: "comment", comment: str };
17623
17739
  }
17624
- function peg$f90(r) {
17740
+ function peg$f91(r) {
17625
17741
  return r.trim();
17626
17742
  }
17627
- function peg$f91(bs) {
17743
+ function peg$f92(bs) {
17628
17744
  return [{ type: "paragraph", content: bs, attrs: {} }];
17629
17745
  }
17630
- function peg$f92(first, more) {
17746
+ function peg$f93(first, more) {
17631
17747
  const cleaned_ = cleanEmptyTextNodes(first ? [first, ...more.flat()] : more.flat());
17632
17748
  return cleaned_;
17633
17749
  }
17634
- function peg$f93() {
17750
+ function peg$f94() {
17635
17751
  return { "type": "hardBreak" };
17636
17752
  }
17637
- function peg$f94(t) {
17753
+ function peg$f95(t) {
17638
17754
  return { text: unbreakscape(t), type: "text" };
17639
17755
  }
17640
- function peg$f95(t) {
17756
+ function peg$f96(t) {
17641
17757
  return { index: +t, type: "bit" };
17642
17758
  }
17643
- function peg$f96(t) {
17759
+ function peg$f97(t) {
17644
17760
  return { marks: [{ type: "bold" }], text: unbreakscape(t), type: "text" };
17645
17761
  }
17646
- function peg$f97(t) {
17762
+ function peg$f98(t) {
17647
17763
  return { marks: [{ type: "italic" }], text: unbreakscape(t), type: "text" };
17648
17764
  }
17649
- function peg$f98(t) {
17765
+ function peg$f99(t) {
17650
17766
  return { marks: [{ type: "light" }], text: unbreakscape(t), type: "text" };
17651
17767
  }
17652
- function peg$f99(t) {
17768
+ function peg$f100(t) {
17653
17769
  return { marks: [{ type: "highlight" }], text: unbreakscape(t), type: "text" };
17654
17770
  }
17655
- function peg$f100(pr, t) {
17771
+ function peg$f101(pr, t) {
17656
17772
  return { pr, t };
17657
17773
  }
17658
17774
  let peg$currPos = options.peg$currPos | 0;
@@ -22522,7 +22638,7 @@ function peg$parse(input, options) {
22522
22638
  return s0;
22523
22639
  }
22524
22640
  function peg$parseAttrChainItem() {
22525
- let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
22641
+ let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;
22526
22642
  s0 = peg$currPos;
22527
22643
  if (input.substr(peg$currPos, 5) === peg$c52) {
22528
22644
  s1 = peg$c52;
@@ -23490,8 +23606,110 @@ function peg$parse(input, options) {
23490
23606
  if (s1 !== peg$FAILED) {
23491
23607
  s2 = peg$parseBlockTag();
23492
23608
  if (s2 !== peg$FAILED) {
23493
- peg$savedPos = s0;
23494
- s0 = peg$f83();
23609
+ if (input.substr(peg$currPos, 9) === peg$c63) {
23610
+ s3 = peg$c63;
23611
+ peg$currPos += 9;
23612
+ } else {
23613
+ s3 = peg$FAILED;
23614
+ if (peg$silentFails === 0) {
23615
+ peg$fail(peg$e67);
23616
+ }
23617
+ }
23618
+ if (s3 !== peg$FAILED) {
23619
+ s4 = peg$currPos;
23620
+ s5 = peg$currPos;
23621
+ if (input.charCodeAt(peg$currPos) === 80) {
23622
+ s6 = peg$c64;
23623
+ peg$currPos++;
23624
+ } else {
23625
+ s6 = peg$FAILED;
23626
+ if (peg$silentFails === 0) {
23627
+ peg$fail(peg$e68);
23628
+ }
23629
+ }
23630
+ if (s6 !== peg$FAILED) {
23631
+ s7 = peg$currPos;
23632
+ s8 = [];
23633
+ s9 = peg$currPos;
23634
+ s10 = peg$currPos;
23635
+ peg$silentFails++;
23636
+ s11 = peg$parseBlockTag();
23637
+ peg$silentFails--;
23638
+ if (s11 === peg$FAILED) {
23639
+ s10 = void 0;
23640
+ } else {
23641
+ peg$currPos = s10;
23642
+ s10 = peg$FAILED;
23643
+ }
23644
+ if (s10 !== peg$FAILED) {
23645
+ s11 = peg$parsechar();
23646
+ if (s11 !== peg$FAILED) {
23647
+ s10 = [s10, s11];
23648
+ s9 = s10;
23649
+ } else {
23650
+ peg$currPos = s9;
23651
+ s9 = peg$FAILED;
23652
+ }
23653
+ } else {
23654
+ peg$currPos = s9;
23655
+ s9 = peg$FAILED;
23656
+ }
23657
+ while (s9 !== peg$FAILED) {
23658
+ s8.push(s9);
23659
+ s9 = peg$currPos;
23660
+ s10 = peg$currPos;
23661
+ peg$silentFails++;
23662
+ s11 = peg$parseBlockTag();
23663
+ peg$silentFails--;
23664
+ if (s11 === peg$FAILED) {
23665
+ s10 = void 0;
23666
+ } else {
23667
+ peg$currPos = s10;
23668
+ s10 = peg$FAILED;
23669
+ }
23670
+ if (s10 !== peg$FAILED) {
23671
+ s11 = peg$parsechar();
23672
+ if (s11 !== peg$FAILED) {
23673
+ s10 = [s10, s11];
23674
+ s9 = s10;
23675
+ } else {
23676
+ peg$currPos = s9;
23677
+ s9 = peg$FAILED;
23678
+ }
23679
+ } else {
23680
+ peg$currPos = s9;
23681
+ s9 = peg$FAILED;
23682
+ }
23683
+ }
23684
+ s7 = input.substring(s7, peg$currPos);
23685
+ s6 = [s6, s7];
23686
+ s5 = s6;
23687
+ } else {
23688
+ peg$currPos = s5;
23689
+ s5 = peg$FAILED;
23690
+ }
23691
+ if (s5 !== peg$FAILED) {
23692
+ s4 = input.substring(s4, peg$currPos);
23693
+ } else {
23694
+ s4 = s5;
23695
+ }
23696
+ if (s4 !== peg$FAILED) {
23697
+ s5 = peg$parseBlockTag();
23698
+ if (s5 !== peg$FAILED) {
23699
+ peg$savedPos = s0;
23700
+ s0 = peg$f83(s4);
23701
+ } else {
23702
+ peg$currPos = s0;
23703
+ s0 = peg$FAILED;
23704
+ }
23705
+ } else {
23706
+ peg$currPos = s0;
23707
+ s0 = peg$FAILED;
23708
+ }
23709
+ } else {
23710
+ peg$currPos = s0;
23711
+ s0 = peg$FAILED;
23712
+ }
23495
23713
  } else {
23496
23714
  peg$currPos = s0;
23497
23715
  s0 = peg$FAILED;
@@ -23502,13 +23720,13 @@ function peg$parse(input, options) {
23502
23720
  }
23503
23721
  if (s0 === peg$FAILED) {
23504
23722
  s0 = peg$currPos;
23505
- if (input.substr(peg$currPos, 6) === peg$c63) {
23506
- s1 = peg$c63;
23723
+ if (input.substr(peg$currPos, 6) === peg$c65) {
23724
+ s1 = peg$c65;
23507
23725
  peg$currPos += 6;
23508
23726
  } else {
23509
23727
  s1 = peg$FAILED;
23510
23728
  if (peg$silentFails === 0) {
23511
- peg$fail(peg$e67);
23729
+ peg$fail(peg$e69);
23512
23730
  }
23513
23731
  }
23514
23732
  if (s1 !== peg$FAILED) {
@@ -23568,110 +23786,156 @@ function peg$parse(input, options) {
23568
23786
  s2 = input.substring(s2, peg$currPos);
23569
23787
  s3 = peg$parseBlockTag();
23570
23788
  if (s3 !== peg$FAILED) {
23571
- peg$savedPos = s0;
23572
- s0 = peg$f84(s2);
23573
- } else {
23574
- peg$currPos = s0;
23575
- s0 = peg$FAILED;
23576
- }
23577
- } else {
23578
- peg$currPos = s0;
23579
- s0 = peg$FAILED;
23580
- }
23581
- if (s0 === peg$FAILED) {
23582
- s0 = peg$currPos;
23583
- if (input.substr(peg$currPos, 9) === peg$c64) {
23584
- s1 = peg$c64;
23585
- peg$currPos += 9;
23586
- } else {
23587
- s1 = peg$FAILED;
23588
- if (peg$silentFails === 0) {
23589
- peg$fail(peg$e68);
23590
- }
23591
- }
23592
- if (s1 !== peg$FAILED) {
23593
- s2 = peg$currPos;
23594
- s3 = peg$currPos;
23595
- if (input.charCodeAt(peg$currPos) === 80) {
23596
- s4 = peg$c65;
23597
- peg$currPos++;
23789
+ if (input.substr(peg$currPos, 9) === peg$c63) {
23790
+ s4 = peg$c63;
23791
+ peg$currPos += 9;
23598
23792
  } else {
23599
23793
  s4 = peg$FAILED;
23600
23794
  if (peg$silentFails === 0) {
23601
- peg$fail(peg$e69);
23795
+ peg$fail(peg$e67);
23602
23796
  }
23603
23797
  }
23604
23798
  if (s4 !== peg$FAILED) {
23605
23799
  s5 = peg$currPos;
23606
- s6 = [];
23607
- s7 = peg$currPos;
23608
- s8 = peg$currPos;
23609
- peg$silentFails++;
23610
- s9 = peg$parseBlockTag();
23611
- peg$silentFails--;
23612
- if (s9 === peg$FAILED) {
23613
- s8 = void 0;
23800
+ s6 = peg$currPos;
23801
+ if (input.charCodeAt(peg$currPos) === 80) {
23802
+ s7 = peg$c64;
23803
+ peg$currPos++;
23614
23804
  } else {
23615
- peg$currPos = s8;
23616
- s8 = peg$FAILED;
23617
- }
23618
- if (s8 !== peg$FAILED) {
23619
- s9 = peg$parsechar();
23620
- if (s9 !== peg$FAILED) {
23621
- s8 = [s8, s9];
23622
- s7 = s8;
23623
- } else {
23624
- peg$currPos = s7;
23625
- s7 = peg$FAILED;
23626
- }
23627
- } else {
23628
- peg$currPos = s7;
23629
23805
  s7 = peg$FAILED;
23806
+ if (peg$silentFails === 0) {
23807
+ peg$fail(peg$e68);
23808
+ }
23630
23809
  }
23631
- while (s7 !== peg$FAILED) {
23632
- s6.push(s7);
23633
- s7 = peg$currPos;
23810
+ if (s7 !== peg$FAILED) {
23634
23811
  s8 = peg$currPos;
23812
+ s9 = [];
23813
+ s10 = peg$currPos;
23814
+ s11 = peg$currPos;
23635
23815
  peg$silentFails++;
23636
- s9 = peg$parseBlockTag();
23816
+ s12 = peg$parseBlockTag();
23637
23817
  peg$silentFails--;
23638
- if (s9 === peg$FAILED) {
23639
- s8 = void 0;
23818
+ if (s12 === peg$FAILED) {
23819
+ s11 = void 0;
23640
23820
  } else {
23641
- peg$currPos = s8;
23642
- s8 = peg$FAILED;
23821
+ peg$currPos = s11;
23822
+ s11 = peg$FAILED;
23643
23823
  }
23644
- if (s8 !== peg$FAILED) {
23645
- s9 = peg$parsechar();
23646
- if (s9 !== peg$FAILED) {
23647
- s8 = [s8, s9];
23648
- s7 = s8;
23824
+ if (s11 !== peg$FAILED) {
23825
+ s12 = peg$parsechar();
23826
+ if (s12 !== peg$FAILED) {
23827
+ s11 = [s11, s12];
23828
+ s10 = s11;
23649
23829
  } else {
23650
- peg$currPos = s7;
23651
- s7 = peg$FAILED;
23830
+ peg$currPos = s10;
23831
+ s10 = peg$FAILED;
23652
23832
  }
23653
23833
  } else {
23654
- peg$currPos = s7;
23655
- s7 = peg$FAILED;
23834
+ peg$currPos = s10;
23835
+ s10 = peg$FAILED;
23836
+ }
23837
+ while (s10 !== peg$FAILED) {
23838
+ s9.push(s10);
23839
+ s10 = peg$currPos;
23840
+ s11 = peg$currPos;
23841
+ peg$silentFails++;
23842
+ s12 = peg$parseBlockTag();
23843
+ peg$silentFails--;
23844
+ if (s12 === peg$FAILED) {
23845
+ s11 = void 0;
23846
+ } else {
23847
+ peg$currPos = s11;
23848
+ s11 = peg$FAILED;
23849
+ }
23850
+ if (s11 !== peg$FAILED) {
23851
+ s12 = peg$parsechar();
23852
+ if (s12 !== peg$FAILED) {
23853
+ s11 = [s11, s12];
23854
+ s10 = s11;
23855
+ } else {
23856
+ peg$currPos = s10;
23857
+ s10 = peg$FAILED;
23858
+ }
23859
+ } else {
23860
+ peg$currPos = s10;
23861
+ s10 = peg$FAILED;
23862
+ }
23656
23863
  }
23864
+ s8 = input.substring(s8, peg$currPos);
23865
+ s7 = [s7, s8];
23866
+ s6 = s7;
23867
+ } else {
23868
+ peg$currPos = s6;
23869
+ s6 = peg$FAILED;
23870
+ }
23871
+ if (s6 !== peg$FAILED) {
23872
+ s5 = input.substring(s5, peg$currPos);
23873
+ } else {
23874
+ s5 = s6;
23875
+ }
23876
+ if (s5 !== peg$FAILED) {
23877
+ s6 = peg$parseBlockTag();
23878
+ if (s6 !== peg$FAILED) {
23879
+ peg$savedPos = s0;
23880
+ s0 = peg$f84(s2, s5);
23881
+ } else {
23882
+ peg$currPos = s0;
23883
+ s0 = peg$FAILED;
23884
+ }
23885
+ } else {
23886
+ peg$currPos = s0;
23887
+ s0 = peg$FAILED;
23657
23888
  }
23658
- s5 = input.substring(s5, peg$currPos);
23659
- s4 = [s4, s5];
23660
- s3 = s4;
23661
23889
  } else {
23662
- peg$currPos = s3;
23663
- s3 = peg$FAILED;
23890
+ peg$currPos = s0;
23891
+ s0 = peg$FAILED;
23664
23892
  }
23665
- if (s3 !== peg$FAILED) {
23666
- s2 = input.substring(s2, peg$currPos);
23667
- } else {
23668
- s2 = s3;
23893
+ } else {
23894
+ peg$currPos = s0;
23895
+ s0 = peg$FAILED;
23896
+ }
23897
+ } else {
23898
+ peg$currPos = s0;
23899
+ s0 = peg$FAILED;
23900
+ }
23901
+ if (s0 === peg$FAILED) {
23902
+ s0 = peg$currPos;
23903
+ if (input.substr(peg$currPos, 9) === peg$c66) {
23904
+ s1 = peg$c66;
23905
+ peg$currPos += 9;
23906
+ } else {
23907
+ s1 = peg$FAILED;
23908
+ if (peg$silentFails === 0) {
23909
+ peg$fail(peg$e70);
23669
23910
  }
23911
+ }
23912
+ if (s1 !== peg$FAILED) {
23913
+ s2 = peg$parseBlockTag();
23670
23914
  if (s2 !== peg$FAILED) {
23671
- s3 = peg$parseBlockTag();
23915
+ if (input.substr(peg$currPos, 6) === peg$c67) {
23916
+ s3 = peg$c67;
23917
+ peg$currPos += 6;
23918
+ } else {
23919
+ s3 = peg$FAILED;
23920
+ if (peg$silentFails === 0) {
23921
+ peg$fail(peg$e71);
23922
+ }
23923
+ }
23672
23924
  if (s3 !== peg$FAILED) {
23673
- peg$savedPos = s0;
23674
- s0 = peg$f85(s2);
23925
+ s4 = peg$parseHighlightColor();
23926
+ if (s4 !== peg$FAILED) {
23927
+ s5 = peg$parseBlockTag();
23928
+ if (s5 !== peg$FAILED) {
23929
+ peg$savedPos = s0;
23930
+ s0 = peg$f85(s4);
23931
+ } else {
23932
+ peg$currPos = s0;
23933
+ s0 = peg$FAILED;
23934
+ }
23935
+ } else {
23936
+ peg$currPos = s0;
23937
+ s0 = peg$FAILED;
23938
+ }
23675
23939
  } else {
23676
23940
  peg$currPos = s0;
23677
23941
  s0 = peg$FAILED;
@@ -23686,22 +23950,42 @@ function peg$parse(input, options) {
23686
23950
  }
23687
23951
  if (s0 === peg$FAILED) {
23688
23952
  s0 = peg$currPos;
23689
- if (input.substr(peg$currPos, 6) === peg$c66) {
23690
- s1 = peg$c66;
23691
- peg$currPos += 6;
23953
+ if (input.substr(peg$currPos, 13) === peg$c68) {
23954
+ s1 = peg$c68;
23955
+ peg$currPos += 13;
23692
23956
  } else {
23693
23957
  s1 = peg$FAILED;
23694
23958
  if (peg$silentFails === 0) {
23695
- peg$fail(peg$e70);
23959
+ peg$fail(peg$e72);
23696
23960
  }
23697
23961
  }
23698
23962
  if (s1 !== peg$FAILED) {
23699
- s2 = peg$parseColor();
23963
+ s2 = peg$parseBlockTag();
23700
23964
  if (s2 !== peg$FAILED) {
23701
- s3 = peg$parseBlockTag();
23965
+ if (input.substr(peg$currPos, 6) === peg$c67) {
23966
+ s3 = peg$c67;
23967
+ peg$currPos += 6;
23968
+ } else {
23969
+ s3 = peg$FAILED;
23970
+ if (peg$silentFails === 0) {
23971
+ peg$fail(peg$e71);
23972
+ }
23973
+ }
23702
23974
  if (s3 !== peg$FAILED) {
23703
- peg$savedPos = s0;
23704
- s0 = peg$f86(s2);
23975
+ s4 = peg$parseHighlightColor();
23976
+ if (s4 !== peg$FAILED) {
23977
+ s5 = peg$parseBlockTag();
23978
+ if (s5 !== peg$FAILED) {
23979
+ peg$savedPos = s0;
23980
+ s0 = peg$f86(s4);
23981
+ } else {
23982
+ peg$currPos = s0;
23983
+ s0 = peg$FAILED;
23984
+ }
23985
+ } else {
23986
+ peg$currPos = s0;
23987
+ s0 = peg$FAILED;
23988
+ }
23705
23989
  } else {
23706
23990
  peg$currPos = s0;
23707
23991
  s0 = peg$FAILED;
@@ -23716,9 +24000,9 @@ function peg$parse(input, options) {
23716
24000
  }
23717
24001
  if (s0 === peg$FAILED) {
23718
24002
  s0 = peg$currPos;
23719
- if (input.substr(peg$currPos, 12) === peg$c67) {
24003
+ if (input.substr(peg$currPos, 6) === peg$c67) {
23720
24004
  s1 = peg$c67;
23721
- peg$currPos += 12;
24005
+ peg$currPos += 6;
23722
24006
  } else {
23723
24007
  s1 = peg$FAILED;
23724
24008
  if (peg$silentFails === 0) {
@@ -23726,34 +24010,38 @@ function peg$parse(input, options) {
23726
24010
  }
23727
24011
  }
23728
24012
  if (s1 !== peg$FAILED) {
23729
- s2 = peg$currPos;
23730
- s3 = [];
23731
- s4 = peg$currPos;
23732
- s5 = peg$currPos;
23733
- peg$silentFails++;
23734
- s6 = peg$parseBlockTag();
23735
- peg$silentFails--;
23736
- if (s6 === peg$FAILED) {
23737
- s5 = void 0;
23738
- } else {
23739
- peg$currPos = s5;
23740
- s5 = peg$FAILED;
23741
- }
23742
- if (s5 !== peg$FAILED) {
23743
- s6 = peg$parsechar();
23744
- if (s6 !== peg$FAILED) {
23745
- s5 = [s5, s6];
23746
- s4 = s5;
24013
+ s2 = peg$parseColor();
24014
+ if (s2 !== peg$FAILED) {
24015
+ s3 = peg$parseBlockTag();
24016
+ if (s3 !== peg$FAILED) {
24017
+ peg$savedPos = s0;
24018
+ s0 = peg$f87(s2);
23747
24019
  } else {
23748
- peg$currPos = s4;
23749
- s4 = peg$FAILED;
24020
+ peg$currPos = s0;
24021
+ s0 = peg$FAILED;
23750
24022
  }
23751
24023
  } else {
23752
- peg$currPos = s4;
23753
- s4 = peg$FAILED;
24024
+ peg$currPos = s0;
24025
+ s0 = peg$FAILED;
24026
+ }
24027
+ } else {
24028
+ peg$currPos = s0;
24029
+ s0 = peg$FAILED;
24030
+ }
24031
+ if (s0 === peg$FAILED) {
24032
+ s0 = peg$currPos;
24033
+ if (input.substr(peg$currPos, 12) === peg$c69) {
24034
+ s1 = peg$c69;
24035
+ peg$currPos += 12;
24036
+ } else {
24037
+ s1 = peg$FAILED;
24038
+ if (peg$silentFails === 0) {
24039
+ peg$fail(peg$e73);
24040
+ }
23754
24041
  }
23755
- while (s4 !== peg$FAILED) {
23756
- s3.push(s4);
24042
+ if (s1 !== peg$FAILED) {
24043
+ s2 = peg$currPos;
24044
+ s3 = [];
23757
24045
  s4 = peg$currPos;
23758
24046
  s5 = peg$currPos;
23759
24047
  peg$silentFails++;
@@ -23778,50 +24066,8 @@ function peg$parse(input, options) {
23778
24066
  peg$currPos = s4;
23779
24067
  s4 = peg$FAILED;
23780
24068
  }
23781
- }
23782
- s2 = input.substring(s2, peg$currPos);
23783
- s3 = peg$parseBlockTag();
23784
- if (s3 !== peg$FAILED) {
23785
- peg$savedPos = s0;
23786
- s0 = peg$f87(s2);
23787
- } else {
23788
- peg$currPos = s0;
23789
- s0 = peg$FAILED;
23790
- }
23791
- } else {
23792
- peg$currPos = s0;
23793
- s0 = peg$FAILED;
23794
- }
23795
- if (s0 === peg$FAILED) {
23796
- s0 = peg$currPos;
23797
- s1 = peg$parseAlternativeStyleTags();
23798
- if (s1 !== peg$FAILED) {
23799
- s2 = peg$parseBlockTag();
23800
- if (s2 !== peg$FAILED) {
23801
- peg$savedPos = s0;
23802
- s0 = peg$f88(s1);
23803
- } else {
23804
- peg$currPos = s0;
23805
- s0 = peg$FAILED;
23806
- }
23807
- } else {
23808
- peg$currPos = s0;
23809
- s0 = peg$FAILED;
23810
- }
23811
- if (s0 === peg$FAILED) {
23812
- s0 = peg$currPos;
23813
- if (input.charCodeAt(peg$currPos) === 35) {
23814
- s1 = peg$c21;
23815
- peg$currPos++;
23816
- } else {
23817
- s1 = peg$FAILED;
23818
- if (peg$silentFails === 0) {
23819
- peg$fail(peg$e25);
23820
- }
23821
- }
23822
- if (s1 !== peg$FAILED) {
23823
- s2 = peg$currPos;
23824
- s3 = [];
24069
+ while (s4 !== peg$FAILED) {
24070
+ s3.push(s4);
23825
24071
  s4 = peg$currPos;
23826
24072
  s5 = peg$currPos;
23827
24073
  peg$silentFails++;
@@ -23846,8 +24092,50 @@ function peg$parse(input, options) {
23846
24092
  peg$currPos = s4;
23847
24093
  s4 = peg$FAILED;
23848
24094
  }
23849
- while (s4 !== peg$FAILED) {
23850
- s3.push(s4);
24095
+ }
24096
+ s2 = input.substring(s2, peg$currPos);
24097
+ s3 = peg$parseBlockTag();
24098
+ if (s3 !== peg$FAILED) {
24099
+ peg$savedPos = s0;
24100
+ s0 = peg$f88(s2);
24101
+ } else {
24102
+ peg$currPos = s0;
24103
+ s0 = peg$FAILED;
24104
+ }
24105
+ } else {
24106
+ peg$currPos = s0;
24107
+ s0 = peg$FAILED;
24108
+ }
24109
+ if (s0 === peg$FAILED) {
24110
+ s0 = peg$currPos;
24111
+ s1 = peg$parseAlternativeStyleTags();
24112
+ if (s1 !== peg$FAILED) {
24113
+ s2 = peg$parseBlockTag();
24114
+ if (s2 !== peg$FAILED) {
24115
+ peg$savedPos = s0;
24116
+ s0 = peg$f89(s1);
24117
+ } else {
24118
+ peg$currPos = s0;
24119
+ s0 = peg$FAILED;
24120
+ }
24121
+ } else {
24122
+ peg$currPos = s0;
24123
+ s0 = peg$FAILED;
24124
+ }
24125
+ if (s0 === peg$FAILED) {
24126
+ s0 = peg$currPos;
24127
+ if (input.charCodeAt(peg$currPos) === 35) {
24128
+ s1 = peg$c21;
24129
+ peg$currPos++;
24130
+ } else {
24131
+ s1 = peg$FAILED;
24132
+ if (peg$silentFails === 0) {
24133
+ peg$fail(peg$e25);
24134
+ }
24135
+ }
24136
+ if (s1 !== peg$FAILED) {
24137
+ s2 = peg$currPos;
24138
+ s3 = [];
23851
24139
  s4 = peg$currPos;
23852
24140
  s5 = peg$currPos;
23853
24141
  peg$silentFails++;
@@ -23872,19 +24160,46 @@ function peg$parse(input, options) {
23872
24160
  peg$currPos = s4;
23873
24161
  s4 = peg$FAILED;
23874
24162
  }
23875
- }
23876
- s2 = input.substring(s2, peg$currPos);
23877
- s3 = peg$parseBlockTag();
23878
- if (s3 !== peg$FAILED) {
23879
- peg$savedPos = s0;
23880
- s0 = peg$f89(s2);
24163
+ while (s4 !== peg$FAILED) {
24164
+ s3.push(s4);
24165
+ s4 = peg$currPos;
24166
+ s5 = peg$currPos;
24167
+ peg$silentFails++;
24168
+ s6 = peg$parseBlockTag();
24169
+ peg$silentFails--;
24170
+ if (s6 === peg$FAILED) {
24171
+ s5 = void 0;
24172
+ } else {
24173
+ peg$currPos = s5;
24174
+ s5 = peg$FAILED;
24175
+ }
24176
+ if (s5 !== peg$FAILED) {
24177
+ s6 = peg$parsechar();
24178
+ if (s6 !== peg$FAILED) {
24179
+ s5 = [s5, s6];
24180
+ s4 = s5;
24181
+ } else {
24182
+ peg$currPos = s4;
24183
+ s4 = peg$FAILED;
24184
+ }
24185
+ } else {
24186
+ peg$currPos = s4;
24187
+ s4 = peg$FAILED;
24188
+ }
24189
+ }
24190
+ s2 = input.substring(s2, peg$currPos);
24191
+ s3 = peg$parseBlockTag();
24192
+ if (s3 !== peg$FAILED) {
24193
+ peg$savedPos = s0;
24194
+ s0 = peg$f90(s2);
24195
+ } else {
24196
+ peg$currPos = s0;
24197
+ s0 = peg$FAILED;
24198
+ }
23881
24199
  } else {
23882
24200
  peg$currPos = s0;
23883
24201
  s0 = peg$FAILED;
23884
24202
  }
23885
- } else {
23886
- peg$currPos = s0;
23887
- s0 = peg$FAILED;
23888
24203
  }
23889
24204
  }
23890
24205
  }
@@ -23918,13 +24233,13 @@ function peg$parse(input, options) {
23918
24233
  function peg$parseRef() {
23919
24234
  let s0, s1, s2, s3, s4, s5, s6;
23920
24235
  s0 = peg$currPos;
23921
- if (input.substr(peg$currPos, 2) === peg$c68) {
23922
- s1 = peg$c68;
24236
+ if (input.substr(peg$currPos, 2) === peg$c70) {
24237
+ s1 = peg$c70;
23923
24238
  peg$currPos += 2;
23924
24239
  } else {
23925
24240
  s1 = peg$FAILED;
23926
24241
  if (peg$silentFails === 0) {
23927
- peg$fail(peg$e72);
24242
+ peg$fail(peg$e74);
23928
24243
  }
23929
24244
  }
23930
24245
  if (s1 !== peg$FAILED) {
@@ -23983,7 +24298,7 @@ function peg$parse(input, options) {
23983
24298
  }
23984
24299
  s2 = input.substring(s2, peg$currPos);
23985
24300
  peg$savedPos = s0;
23986
- s0 = peg$f90(s2);
24301
+ s0 = peg$f91(s2);
23987
24302
  } else {
23988
24303
  peg$currPos = s0;
23989
24304
  s0 = peg$FAILED;
@@ -23992,403 +24307,414 @@ function peg$parse(input, options) {
23992
24307
  }
23993
24308
  function peg$parseAlternativeStyleTags() {
23994
24309
  let s0;
23995
- if (input.substr(peg$currPos, 4) === peg$c69) {
23996
- s0 = peg$c69;
24310
+ if (input.substr(peg$currPos, 4) === peg$c71) {
24311
+ s0 = peg$c71;
23997
24312
  peg$currPos += 4;
23998
24313
  } else {
23999
24314
  s0 = peg$FAILED;
24000
24315
  if (peg$silentFails === 0) {
24001
- peg$fail(peg$e73);
24316
+ peg$fail(peg$e75);
24002
24317
  }
24003
24318
  }
24004
24319
  if (s0 === peg$FAILED) {
24005
- if (input.substr(peg$currPos, 6) === peg$c70) {
24006
- s0 = peg$c70;
24320
+ if (input.substr(peg$currPos, 6) === peg$c72) {
24321
+ s0 = peg$c72;
24007
24322
  peg$currPos += 6;
24008
24323
  } else {
24009
24324
  s0 = peg$FAILED;
24010
24325
  if (peg$silentFails === 0) {
24011
- peg$fail(peg$e74);
24326
+ peg$fail(peg$e76);
24012
24327
  }
24013
24328
  }
24014
24329
  if (s0 === peg$FAILED) {
24015
- if (input.substr(peg$currPos, 5) === peg$c71) {
24016
- s0 = peg$c71;
24330
+ if (input.substr(peg$currPos, 5) === peg$c73) {
24331
+ s0 = peg$c73;
24017
24332
  peg$currPos += 5;
24018
24333
  } else {
24019
24334
  s0 = peg$FAILED;
24020
24335
  if (peg$silentFails === 0) {
24021
- peg$fail(peg$e75);
24336
+ peg$fail(peg$e77);
24022
24337
  }
24023
24338
  }
24024
24339
  if (s0 === peg$FAILED) {
24025
- if (input.substr(peg$currPos, 15) === peg$c72) {
24026
- s0 = peg$c72;
24340
+ if (input.substr(peg$currPos, 15) === peg$c74) {
24341
+ s0 = peg$c74;
24027
24342
  peg$currPos += 15;
24028
24343
  } else {
24029
24344
  s0 = peg$FAILED;
24030
24345
  if (peg$silentFails === 0) {
24031
- peg$fail(peg$e76);
24346
+ peg$fail(peg$e78);
24032
24347
  }
24033
24348
  }
24034
24349
  if (s0 === peg$FAILED) {
24035
- if (input.substr(peg$currPos, 15) === peg$c73) {
24036
- s0 = peg$c73;
24350
+ if (input.substr(peg$currPos, 15) === peg$c75) {
24351
+ s0 = peg$c75;
24037
24352
  peg$currPos += 15;
24038
24353
  } else {
24039
24354
  s0 = peg$FAILED;
24040
24355
  if (peg$silentFails === 0) {
24041
- peg$fail(peg$e77);
24356
+ peg$fail(peg$e79);
24042
24357
  }
24043
24358
  }
24044
24359
  if (s0 === peg$FAILED) {
24045
- if (input.substr(peg$currPos, 14) === peg$c74) {
24046
- s0 = peg$c74;
24360
+ if (input.substr(peg$currPos, 14) === peg$c76) {
24361
+ s0 = peg$c76;
24047
24362
  peg$currPos += 14;
24048
24363
  } else {
24049
24364
  s0 = peg$FAILED;
24050
24365
  if (peg$silentFails === 0) {
24051
- peg$fail(peg$e78);
24366
+ peg$fail(peg$e80);
24052
24367
  }
24053
24368
  }
24054
24369
  if (s0 === peg$FAILED) {
24055
- if (input.substr(peg$currPos, 13) === peg$c75) {
24056
- s0 = peg$c75;
24370
+ if (input.substr(peg$currPos, 13) === peg$c77) {
24371
+ s0 = peg$c77;
24057
24372
  peg$currPos += 13;
24058
24373
  } else {
24059
24374
  s0 = peg$FAILED;
24060
24375
  if (peg$silentFails === 0) {
24061
- peg$fail(peg$e79);
24376
+ peg$fail(peg$e81);
24062
24377
  }
24063
24378
  }
24064
24379
  if (s0 === peg$FAILED) {
24065
- if (input.substr(peg$currPos, 15) === peg$c76) {
24066
- s0 = peg$c76;
24380
+ if (input.substr(peg$currPos, 15) === peg$c78) {
24381
+ s0 = peg$c78;
24067
24382
  peg$currPos += 15;
24068
24383
  } else {
24069
24384
  s0 = peg$FAILED;
24070
24385
  if (peg$silentFails === 0) {
24071
- peg$fail(peg$e80);
24386
+ peg$fail(peg$e82);
24072
24387
  }
24073
24388
  }
24074
24389
  if (s0 === peg$FAILED) {
24075
- if (input.substr(peg$currPos, 13) === peg$c77) {
24076
- s0 = peg$c77;
24390
+ if (input.substr(peg$currPos, 13) === peg$c79) {
24391
+ s0 = peg$c79;
24077
24392
  peg$currPos += 13;
24078
24393
  } else {
24079
24394
  s0 = peg$FAILED;
24080
24395
  if (peg$silentFails === 0) {
24081
- peg$fail(peg$e81);
24396
+ peg$fail(peg$e83);
24082
24397
  }
24083
24398
  }
24084
24399
  if (s0 === peg$FAILED) {
24085
- if (input.substr(peg$currPos, 14) === peg$c78) {
24086
- s0 = peg$c78;
24400
+ if (input.substr(peg$currPos, 14) === peg$c80) {
24401
+ s0 = peg$c80;
24087
24402
  peg$currPos += 14;
24088
24403
  } else {
24089
24404
  s0 = peg$FAILED;
24090
24405
  if (peg$silentFails === 0) {
24091
- peg$fail(peg$e82);
24406
+ peg$fail(peg$e84);
24092
24407
  }
24093
24408
  }
24094
24409
  if (s0 === peg$FAILED) {
24095
- if (input.substr(peg$currPos, 14) === peg$c79) {
24096
- s0 = peg$c79;
24410
+ if (input.substr(peg$currPos, 14) === peg$c81) {
24411
+ s0 = peg$c81;
24097
24412
  peg$currPos += 14;
24098
24413
  } else {
24099
24414
  s0 = peg$FAILED;
24100
24415
  if (peg$silentFails === 0) {
24101
- peg$fail(peg$e83);
24416
+ peg$fail(peg$e85);
24102
24417
  }
24103
24418
  }
24104
24419
  if (s0 === peg$FAILED) {
24105
- if (input.substr(peg$currPos, 14) === peg$c80) {
24106
- s0 = peg$c80;
24420
+ if (input.substr(peg$currPos, 14) === peg$c82) {
24421
+ s0 = peg$c82;
24107
24422
  peg$currPos += 14;
24108
24423
  } else {
24109
24424
  s0 = peg$FAILED;
24110
24425
  if (peg$silentFails === 0) {
24111
- peg$fail(peg$e84);
24426
+ peg$fail(peg$e86);
24112
24427
  }
24113
24428
  }
24114
24429
  if (s0 === peg$FAILED) {
24115
- if (input.substr(peg$currPos, 13) === peg$c81) {
24116
- s0 = peg$c81;
24430
+ if (input.substr(peg$currPos, 13) === peg$c83) {
24431
+ s0 = peg$c83;
24117
24432
  peg$currPos += 13;
24118
24433
  } else {
24119
24434
  s0 = peg$FAILED;
24120
24435
  if (peg$silentFails === 0) {
24121
- peg$fail(peg$e85);
24436
+ peg$fail(peg$e87);
24122
24437
  }
24123
24438
  }
24124
24439
  if (s0 === peg$FAILED) {
24125
- if (input.substr(peg$currPos, 9) === peg$c82) {
24126
- s0 = peg$c82;
24440
+ if (input.substr(peg$currPos, 9) === peg$c66) {
24441
+ s0 = peg$c66;
24127
24442
  peg$currPos += 9;
24128
24443
  } else {
24129
24444
  s0 = peg$FAILED;
24130
24445
  if (peg$silentFails === 0) {
24131
- peg$fail(peg$e86);
24446
+ peg$fail(peg$e70);
24132
24447
  }
24133
24448
  }
24134
24449
  if (s0 === peg$FAILED) {
24135
- if (input.substr(peg$currPos, 6) === peg$c83) {
24136
- s0 = peg$c83;
24450
+ if (input.substr(peg$currPos, 6) === peg$c84) {
24451
+ s0 = peg$c84;
24137
24452
  peg$currPos += 6;
24138
24453
  } else {
24139
24454
  s0 = peg$FAILED;
24140
24455
  if (peg$silentFails === 0) {
24141
- peg$fail(peg$e87);
24456
+ peg$fail(peg$e88);
24142
24457
  }
24143
24458
  }
24144
24459
  if (s0 === peg$FAILED) {
24145
- if (input.substr(peg$currPos, 9) === peg$c84) {
24146
- s0 = peg$c84;
24460
+ if (input.substr(peg$currPos, 9) === peg$c85) {
24461
+ s0 = peg$c85;
24147
24462
  peg$currPos += 9;
24148
24463
  } else {
24149
24464
  s0 = peg$FAILED;
24150
24465
  if (peg$silentFails === 0) {
24151
- peg$fail(peg$e88);
24466
+ peg$fail(peg$e89);
24152
24467
  }
24153
24468
  }
24154
24469
  if (s0 === peg$FAILED) {
24155
- if (input.substr(peg$currPos, 11) === peg$c85) {
24156
- s0 = peg$c85;
24470
+ if (input.substr(peg$currPos, 11) === peg$c86) {
24471
+ s0 = peg$c86;
24157
24472
  peg$currPos += 11;
24158
24473
  } else {
24159
24474
  s0 = peg$FAILED;
24160
24475
  if (peg$silentFails === 0) {
24161
- peg$fail(peg$e89);
24476
+ peg$fail(peg$e90);
24162
24477
  }
24163
24478
  }
24164
24479
  if (s0 === peg$FAILED) {
24165
- if (input.substr(peg$currPos, 3) === peg$c86) {
24166
- s0 = peg$c86;
24480
+ if (input.substr(peg$currPos, 3) === peg$c87) {
24481
+ s0 = peg$c87;
24167
24482
  peg$currPos += 3;
24168
24483
  } else {
24169
24484
  s0 = peg$FAILED;
24170
24485
  if (peg$silentFails === 0) {
24171
- peg$fail(peg$e90);
24486
+ peg$fail(peg$e91);
24172
24487
  }
24173
24488
  }
24174
24489
  if (s0 === peg$FAILED) {
24175
- if (input.substr(peg$currPos, 3) === peg$c87) {
24176
- s0 = peg$c87;
24490
+ if (input.substr(peg$currPos, 3) === peg$c88) {
24491
+ s0 = peg$c88;
24177
24492
  peg$currPos += 3;
24178
24493
  } else {
24179
24494
  s0 = peg$FAILED;
24180
24495
  if (peg$silentFails === 0) {
24181
- peg$fail(peg$e91);
24496
+ peg$fail(peg$e92);
24182
24497
  }
24183
24498
  }
24184
24499
  if (s0 === peg$FAILED) {
24185
- if (input.substr(peg$currPos, 9) === peg$c88) {
24186
- s0 = peg$c88;
24500
+ if (input.substr(peg$currPos, 9) === peg$c89) {
24501
+ s0 = peg$c89;
24187
24502
  peg$currPos += 9;
24188
24503
  } else {
24189
24504
  s0 = peg$FAILED;
24190
24505
  if (peg$silentFails === 0) {
24191
- peg$fail(peg$e92);
24506
+ peg$fail(peg$e93);
24192
24507
  }
24193
24508
  }
24194
24509
  if (s0 === peg$FAILED) {
24195
- if (input.substr(peg$currPos, 15) === peg$c89) {
24196
- s0 = peg$c89;
24510
+ if (input.substr(peg$currPos, 15) === peg$c90) {
24511
+ s0 = peg$c90;
24197
24512
  peg$currPos += 15;
24198
24513
  } else {
24199
24514
  s0 = peg$FAILED;
24200
24515
  if (peg$silentFails === 0) {
24201
- peg$fail(peg$e93);
24516
+ peg$fail(peg$e94);
24202
24517
  }
24203
24518
  }
24204
24519
  if (s0 === peg$FAILED) {
24205
- if (input.substr(peg$currPos, 6) === peg$c90) {
24206
- s0 = peg$c90;
24207
- peg$currPos += 6;
24520
+ if (input.substr(peg$currPos, 9) === peg$c91) {
24521
+ s0 = peg$c91;
24522
+ peg$currPos += 9;
24208
24523
  } else {
24209
24524
  s0 = peg$FAILED;
24210
24525
  if (peg$silentFails === 0) {
24211
- peg$fail(peg$e94);
24526
+ peg$fail(peg$e95);
24212
24527
  }
24213
24528
  }
24214
24529
  if (s0 === peg$FAILED) {
24215
- if (input.substr(peg$currPos, 13) === peg$c91) {
24216
- s0 = peg$c91;
24217
- peg$currPos += 13;
24530
+ if (input.substr(peg$currPos, 6) === peg$c92) {
24531
+ s0 = peg$c92;
24532
+ peg$currPos += 6;
24218
24533
  } else {
24219
24534
  s0 = peg$FAILED;
24220
24535
  if (peg$silentFails === 0) {
24221
- peg$fail(peg$e95);
24536
+ peg$fail(peg$e96);
24222
24537
  }
24223
24538
  }
24224
24539
  if (s0 === peg$FAILED) {
24225
- if (input.substr(peg$currPos, 16) === peg$c92) {
24226
- s0 = peg$c92;
24227
- peg$currPos += 16;
24540
+ if (input.substr(peg$currPos, 13) === peg$c93) {
24541
+ s0 = peg$c93;
24542
+ peg$currPos += 13;
24228
24543
  } else {
24229
24544
  s0 = peg$FAILED;
24230
24545
  if (peg$silentFails === 0) {
24231
- peg$fail(peg$e96);
24546
+ peg$fail(peg$e97);
24232
24547
  }
24233
24548
  }
24234
24549
  if (s0 === peg$FAILED) {
24235
- if (input.substr(peg$currPos, 16) === peg$c93) {
24236
- s0 = peg$c93;
24550
+ if (input.substr(peg$currPos, 16) === peg$c94) {
24551
+ s0 = peg$c94;
24237
24552
  peg$currPos += 16;
24238
24553
  } else {
24239
24554
  s0 = peg$FAILED;
24240
24555
  if (peg$silentFails === 0) {
24241
- peg$fail(peg$e97);
24556
+ peg$fail(peg$e98);
24242
24557
  }
24243
24558
  }
24244
24559
  if (s0 === peg$FAILED) {
24245
- if (input.substr(peg$currPos, 15) === peg$c94) {
24246
- s0 = peg$c94;
24247
- peg$currPos += 15;
24560
+ if (input.substr(peg$currPos, 16) === peg$c95) {
24561
+ s0 = peg$c95;
24562
+ peg$currPos += 16;
24248
24563
  } else {
24249
24564
  s0 = peg$FAILED;
24250
24565
  if (peg$silentFails === 0) {
24251
- peg$fail(peg$e98);
24566
+ peg$fail(peg$e99);
24252
24567
  }
24253
24568
  }
24254
24569
  if (s0 === peg$FAILED) {
24255
- if (input.substr(peg$currPos, 14) === peg$c95) {
24256
- s0 = peg$c95;
24257
- peg$currPos += 14;
24570
+ if (input.substr(peg$currPos, 15) === peg$c96) {
24571
+ s0 = peg$c96;
24572
+ peg$currPos += 15;
24258
24573
  } else {
24259
24574
  s0 = peg$FAILED;
24260
24575
  if (peg$silentFails === 0) {
24261
- peg$fail(peg$e99);
24576
+ peg$fail(peg$e100);
24262
24577
  }
24263
24578
  }
24264
24579
  if (s0 === peg$FAILED) {
24265
- if (input.substr(peg$currPos, 16) === peg$c96) {
24266
- s0 = peg$c96;
24267
- peg$currPos += 16;
24580
+ if (input.substr(peg$currPos, 14) === peg$c97) {
24581
+ s0 = peg$c97;
24582
+ peg$currPos += 14;
24268
24583
  } else {
24269
24584
  s0 = peg$FAILED;
24270
24585
  if (peg$silentFails === 0) {
24271
- peg$fail(peg$e100);
24586
+ peg$fail(peg$e101);
24272
24587
  }
24273
24588
  }
24274
24589
  if (s0 === peg$FAILED) {
24275
- if (input.substr(peg$currPos, 14) === peg$c97) {
24276
- s0 = peg$c97;
24277
- peg$currPos += 14;
24590
+ if (input.substr(peg$currPos, 16) === peg$c98) {
24591
+ s0 = peg$c98;
24592
+ peg$currPos += 16;
24278
24593
  } else {
24279
24594
  s0 = peg$FAILED;
24280
24595
  if (peg$silentFails === 0) {
24281
- peg$fail(peg$e101);
24596
+ peg$fail(peg$e102);
24282
24597
  }
24283
24598
  }
24284
24599
  if (s0 === peg$FAILED) {
24285
- if (input.substr(peg$currPos, 15) === peg$c98) {
24286
- s0 = peg$c98;
24287
- peg$currPos += 15;
24600
+ if (input.substr(peg$currPos, 14) === peg$c99) {
24601
+ s0 = peg$c99;
24602
+ peg$currPos += 14;
24288
24603
  } else {
24289
24604
  s0 = peg$FAILED;
24290
24605
  if (peg$silentFails === 0) {
24291
- peg$fail(peg$e102);
24606
+ peg$fail(peg$e103);
24292
24607
  }
24293
24608
  }
24294
24609
  if (s0 === peg$FAILED) {
24295
- if (input.substr(peg$currPos, 15) === peg$c99) {
24296
- s0 = peg$c99;
24610
+ if (input.substr(peg$currPos, 15) === peg$c100) {
24611
+ s0 = peg$c100;
24297
24612
  peg$currPos += 15;
24298
24613
  } else {
24299
24614
  s0 = peg$FAILED;
24300
24615
  if (peg$silentFails === 0) {
24301
- peg$fail(peg$e103);
24616
+ peg$fail(peg$e104);
24302
24617
  }
24303
24618
  }
24304
24619
  if (s0 === peg$FAILED) {
24305
- if (input.substr(peg$currPos, 15) === peg$c100) {
24306
- s0 = peg$c100;
24620
+ if (input.substr(peg$currPos, 15) === peg$c101) {
24621
+ s0 = peg$c101;
24307
24622
  peg$currPos += 15;
24308
24623
  } else {
24309
24624
  s0 = peg$FAILED;
24310
24625
  if (peg$silentFails === 0) {
24311
- peg$fail(peg$e104);
24626
+ peg$fail(peg$e105);
24312
24627
  }
24313
24628
  }
24314
24629
  if (s0 === peg$FAILED) {
24315
- if (input.substr(peg$currPos, 14) === peg$c101) {
24316
- s0 = peg$c101;
24317
- peg$currPos += 14;
24630
+ if (input.substr(peg$currPos, 15) === peg$c102) {
24631
+ s0 = peg$c102;
24632
+ peg$currPos += 15;
24318
24633
  } else {
24319
24634
  s0 = peg$FAILED;
24320
24635
  if (peg$silentFails === 0) {
24321
- peg$fail(peg$e105);
24636
+ peg$fail(peg$e106);
24322
24637
  }
24323
24638
  }
24324
24639
  if (s0 === peg$FAILED) {
24325
- if (input.substr(peg$currPos, 10) === peg$c102) {
24326
- s0 = peg$c102;
24327
- peg$currPos += 10;
24640
+ if (input.substr(peg$currPos, 14) === peg$c103) {
24641
+ s0 = peg$c103;
24642
+ peg$currPos += 14;
24328
24643
  } else {
24329
24644
  s0 = peg$FAILED;
24330
24645
  if (peg$silentFails === 0) {
24331
- peg$fail(peg$e106);
24646
+ peg$fail(peg$e107);
24332
24647
  }
24333
24648
  }
24334
24649
  if (s0 === peg$FAILED) {
24335
- if (input.substr(peg$currPos, 13) === peg$c103) {
24336
- s0 = peg$c103;
24337
- peg$currPos += 13;
24650
+ if (input.substr(peg$currPos, 10) === peg$c104) {
24651
+ s0 = peg$c104;
24652
+ peg$currPos += 10;
24338
24653
  } else {
24339
24654
  s0 = peg$FAILED;
24340
24655
  if (peg$silentFails === 0) {
24341
- peg$fail(peg$e107);
24656
+ peg$fail(peg$e108);
24342
24657
  }
24343
24658
  }
24344
24659
  if (s0 === peg$FAILED) {
24345
- if (input.substr(peg$currPos, 19) === peg$c104) {
24346
- s0 = peg$c104;
24347
- peg$currPos += 19;
24660
+ if (input.substr(peg$currPos, 13) === peg$c105) {
24661
+ s0 = peg$c105;
24662
+ peg$currPos += 13;
24348
24663
  } else {
24349
24664
  s0 = peg$FAILED;
24350
24665
  if (peg$silentFails === 0) {
24351
- peg$fail(peg$e108);
24666
+ peg$fail(peg$e109);
24352
24667
  }
24353
24668
  }
24354
24669
  if (s0 === peg$FAILED) {
24355
- if (input.substr(peg$currPos, 10) === peg$c105) {
24356
- s0 = peg$c105;
24357
- peg$currPos += 10;
24670
+ if (input.substr(peg$currPos, 19) === peg$c106) {
24671
+ s0 = peg$c106;
24672
+ peg$currPos += 19;
24358
24673
  } else {
24359
24674
  s0 = peg$FAILED;
24360
24675
  if (peg$silentFails === 0) {
24361
- peg$fail(peg$e109);
24676
+ peg$fail(peg$e110);
24362
24677
  }
24363
24678
  }
24364
24679
  if (s0 === peg$FAILED) {
24365
- if (input.substr(peg$currPos, 10) === peg$c106) {
24366
- s0 = peg$c106;
24680
+ if (input.substr(peg$currPos, 10) === peg$c107) {
24681
+ s0 = peg$c107;
24367
24682
  peg$currPos += 10;
24368
24683
  } else {
24369
24684
  s0 = peg$FAILED;
24370
24685
  if (peg$silentFails === 0) {
24371
- peg$fail(peg$e110);
24686
+ peg$fail(peg$e111);
24372
24687
  }
24373
24688
  }
24374
24689
  if (s0 === peg$FAILED) {
24375
- if (input.substr(peg$currPos, 13) === peg$c107) {
24376
- s0 = peg$c107;
24377
- peg$currPos += 13;
24690
+ if (input.substr(peg$currPos, 10) === peg$c108) {
24691
+ s0 = peg$c108;
24692
+ peg$currPos += 10;
24378
24693
  } else {
24379
24694
  s0 = peg$FAILED;
24380
24695
  if (peg$silentFails === 0) {
24381
- peg$fail(peg$e111);
24696
+ peg$fail(peg$e112);
24382
24697
  }
24383
24698
  }
24384
24699
  if (s0 === peg$FAILED) {
24385
- if (input.substr(peg$currPos, 11) === peg$c108) {
24386
- s0 = peg$c108;
24387
- peg$currPos += 11;
24700
+ if (input.substr(peg$currPos, 13) === peg$c68) {
24701
+ s0 = peg$c68;
24702
+ peg$currPos += 13;
24388
24703
  } else {
24389
24704
  s0 = peg$FAILED;
24390
24705
  if (peg$silentFails === 0) {
24391
- peg$fail(peg$e112);
24706
+ peg$fail(peg$e72);
24707
+ }
24708
+ }
24709
+ if (s0 === peg$FAILED) {
24710
+ if (input.substr(peg$currPos, 11) === peg$c109) {
24711
+ s0 = peg$c109;
24712
+ peg$currPos += 11;
24713
+ } else {
24714
+ s0 = peg$FAILED;
24715
+ if (peg$silentFails === 0) {
24716
+ peg$fail(peg$e113);
24717
+ }
24392
24718
  }
24393
24719
  }
24394
24720
  }
@@ -24434,233 +24760,233 @@ function peg$parse(input, options) {
24434
24760
  }
24435
24761
  function peg$parseColor() {
24436
24762
  let s0;
24437
- if (input.substr(peg$currPos, 4) === peg$c109) {
24438
- s0 = peg$c109;
24763
+ if (input.substr(peg$currPos, 4) === peg$c110) {
24764
+ s0 = peg$c110;
24439
24765
  peg$currPos += 4;
24440
24766
  } else {
24441
24767
  s0 = peg$FAILED;
24442
24768
  if (peg$silentFails === 0) {
24443
- peg$fail(peg$e113);
24769
+ peg$fail(peg$e114);
24444
24770
  }
24445
24771
  }
24446
24772
  if (s0 === peg$FAILED) {
24447
- if (input.substr(peg$currPos, 5) === peg$c110) {
24448
- s0 = peg$c110;
24773
+ if (input.substr(peg$currPos, 5) === peg$c111) {
24774
+ s0 = peg$c111;
24449
24775
  peg$currPos += 5;
24450
24776
  } else {
24451
24777
  s0 = peg$FAILED;
24452
24778
  if (peg$silentFails === 0) {
24453
- peg$fail(peg$e114);
24779
+ peg$fail(peg$e115);
24454
24780
  }
24455
24781
  }
24456
24782
  if (s0 === peg$FAILED) {
24457
- if (input.substr(peg$currPos, 4) === peg$c111) {
24458
- s0 = peg$c111;
24783
+ if (input.substr(peg$currPos, 4) === peg$c112) {
24784
+ s0 = peg$c112;
24459
24785
  peg$currPos += 4;
24460
24786
  } else {
24461
24787
  s0 = peg$FAILED;
24462
24788
  if (peg$silentFails === 0) {
24463
- peg$fail(peg$e115);
24789
+ peg$fail(peg$e116);
24464
24790
  }
24465
24791
  }
24466
24792
  if (s0 === peg$FAILED) {
24467
- if (input.substr(peg$currPos, 5) === peg$c112) {
24468
- s0 = peg$c112;
24793
+ if (input.substr(peg$currPos, 5) === peg$c113) {
24794
+ s0 = peg$c113;
24469
24795
  peg$currPos += 5;
24470
24796
  } else {
24471
24797
  s0 = peg$FAILED;
24472
24798
  if (peg$silentFails === 0) {
24473
- peg$fail(peg$e116);
24799
+ peg$fail(peg$e117);
24474
24800
  }
24475
24801
  }
24476
24802
  if (s0 === peg$FAILED) {
24477
- if (input.substr(peg$currPos, 7) === peg$c113) {
24478
- s0 = peg$c113;
24803
+ if (input.substr(peg$currPos, 7) === peg$c114) {
24804
+ s0 = peg$c114;
24479
24805
  peg$currPos += 7;
24480
24806
  } else {
24481
24807
  s0 = peg$FAILED;
24482
24808
  if (peg$silentFails === 0) {
24483
- peg$fail(peg$e117);
24809
+ peg$fail(peg$e118);
24484
24810
  }
24485
24811
  }
24486
24812
  if (s0 === peg$FAILED) {
24487
- if (input.substr(peg$currPos, 9) === peg$c114) {
24488
- s0 = peg$c114;
24813
+ if (input.substr(peg$currPos, 9) === peg$c115) {
24814
+ s0 = peg$c115;
24489
24815
  peg$currPos += 9;
24490
24816
  } else {
24491
24817
  s0 = peg$FAILED;
24492
24818
  if (peg$silentFails === 0) {
24493
- peg$fail(peg$e118);
24819
+ peg$fail(peg$e119);
24494
24820
  }
24495
24821
  }
24496
24822
  if (s0 === peg$FAILED) {
24497
- if (input.substr(peg$currPos, 4) === peg$c115) {
24498
- s0 = peg$c115;
24823
+ if (input.substr(peg$currPos, 4) === peg$c116) {
24824
+ s0 = peg$c116;
24499
24825
  peg$currPos += 4;
24500
24826
  } else {
24501
24827
  s0 = peg$FAILED;
24502
24828
  if (peg$silentFails === 0) {
24503
- peg$fail(peg$e119);
24829
+ peg$fail(peg$e120);
24504
24830
  }
24505
24831
  }
24506
24832
  if (s0 === peg$FAILED) {
24507
- if (input.substr(peg$currPos, 8) === peg$c116) {
24508
- s0 = peg$c116;
24833
+ if (input.substr(peg$currPos, 8) === peg$c117) {
24834
+ s0 = peg$c117;
24509
24835
  peg$currPos += 8;
24510
24836
  } else {
24511
24837
  s0 = peg$FAILED;
24512
24838
  if (peg$silentFails === 0) {
24513
- peg$fail(peg$e120);
24839
+ peg$fail(peg$e121);
24514
24840
  }
24515
24841
  }
24516
24842
  if (s0 === peg$FAILED) {
24517
- if (input.substr(peg$currPos, 5) === peg$c117) {
24518
- s0 = peg$c117;
24843
+ if (input.substr(peg$currPos, 5) === peg$c118) {
24844
+ s0 = peg$c118;
24519
24845
  peg$currPos += 5;
24520
24846
  } else {
24521
24847
  s0 = peg$FAILED;
24522
24848
  if (peg$silentFails === 0) {
24523
- peg$fail(peg$e121);
24849
+ peg$fail(peg$e122);
24524
24850
  }
24525
24851
  }
24526
24852
  if (s0 === peg$FAILED) {
24527
- if (input.substr(peg$currPos, 4) === peg$c118) {
24528
- s0 = peg$c118;
24853
+ if (input.substr(peg$currPos, 4) === peg$c119) {
24854
+ s0 = peg$c119;
24529
24855
  peg$currPos += 4;
24530
24856
  } else {
24531
24857
  s0 = peg$FAILED;
24532
24858
  if (peg$silentFails === 0) {
24533
- peg$fail(peg$e122);
24859
+ peg$fail(peg$e123);
24534
24860
  }
24535
24861
  }
24536
24862
  if (s0 === peg$FAILED) {
24537
- if (input.substr(peg$currPos, 7) === peg$c119) {
24538
- s0 = peg$c119;
24863
+ if (input.substr(peg$currPos, 7) === peg$c120) {
24864
+ s0 = peg$c120;
24539
24865
  peg$currPos += 7;
24540
24866
  } else {
24541
24867
  s0 = peg$FAILED;
24542
24868
  if (peg$silentFails === 0) {
24543
- peg$fail(peg$e123);
24869
+ peg$fail(peg$e124);
24544
24870
  }
24545
24871
  }
24546
24872
  if (s0 === peg$FAILED) {
24547
- if (input.substr(peg$currPos, 6) === peg$c120) {
24548
- s0 = peg$c120;
24873
+ if (input.substr(peg$currPos, 6) === peg$c121) {
24874
+ s0 = peg$c121;
24549
24875
  peg$currPos += 6;
24550
24876
  } else {
24551
24877
  s0 = peg$FAILED;
24552
24878
  if (peg$silentFails === 0) {
24553
- peg$fail(peg$e124);
24879
+ peg$fail(peg$e125);
24554
24880
  }
24555
24881
  }
24556
24882
  if (s0 === peg$FAILED) {
24557
- if (input.substr(peg$currPos, 4) === peg$c121) {
24558
- s0 = peg$c121;
24883
+ if (input.substr(peg$currPos, 4) === peg$c122) {
24884
+ s0 = peg$c122;
24559
24885
  peg$currPos += 4;
24560
24886
  } else {
24561
24887
  s0 = peg$FAILED;
24562
24888
  if (peg$silentFails === 0) {
24563
- peg$fail(peg$e125);
24889
+ peg$fail(peg$e126);
24564
24890
  }
24565
24891
  }
24566
24892
  if (s0 === peg$FAILED) {
24567
- if (input.substr(peg$currPos, 5) === peg$c122) {
24568
- s0 = peg$c122;
24893
+ if (input.substr(peg$currPos, 5) === peg$c123) {
24894
+ s0 = peg$c123;
24569
24895
  peg$currPos += 5;
24570
24896
  } else {
24571
24897
  s0 = peg$FAILED;
24572
24898
  if (peg$silentFails === 0) {
24573
- peg$fail(peg$e126);
24899
+ peg$fail(peg$e127);
24574
24900
  }
24575
24901
  }
24576
24902
  if (s0 === peg$FAILED) {
24577
- if (input.substr(peg$currPos, 6) === peg$c123) {
24578
- s0 = peg$c123;
24903
+ if (input.substr(peg$currPos, 6) === peg$c124) {
24904
+ s0 = peg$c124;
24579
24905
  peg$currPos += 6;
24580
24906
  } else {
24581
24907
  s0 = peg$FAILED;
24582
24908
  if (peg$silentFails === 0) {
24583
- peg$fail(peg$e127);
24909
+ peg$fail(peg$e128);
24584
24910
  }
24585
24911
  }
24586
24912
  if (s0 === peg$FAILED) {
24587
- if (input.substr(peg$currPos, 4) === peg$c124) {
24588
- s0 = peg$c124;
24913
+ if (input.substr(peg$currPos, 4) === peg$c125) {
24914
+ s0 = peg$c125;
24589
24915
  peg$currPos += 4;
24590
24916
  } else {
24591
24917
  s0 = peg$FAILED;
24592
24918
  if (peg$silentFails === 0) {
24593
- peg$fail(peg$e128);
24919
+ peg$fail(peg$e129);
24594
24920
  }
24595
24921
  }
24596
24922
  if (s0 === peg$FAILED) {
24597
- if (input.substr(peg$currPos, 6) === peg$c125) {
24598
- s0 = peg$c125;
24923
+ if (input.substr(peg$currPos, 6) === peg$c126) {
24924
+ s0 = peg$c126;
24599
24925
  peg$currPos += 6;
24600
24926
  } else {
24601
24927
  s0 = peg$FAILED;
24602
24928
  if (peg$silentFails === 0) {
24603
- peg$fail(peg$e129);
24929
+ peg$fail(peg$e130);
24604
24930
  }
24605
24931
  }
24606
24932
  if (s0 === peg$FAILED) {
24607
- if (input.substr(peg$currPos, 3) === peg$c126) {
24608
- s0 = peg$c126;
24933
+ if (input.substr(peg$currPos, 3) === peg$c127) {
24934
+ s0 = peg$c127;
24609
24935
  peg$currPos += 3;
24610
24936
  } else {
24611
24937
  s0 = peg$FAILED;
24612
24938
  if (peg$silentFails === 0) {
24613
- peg$fail(peg$e130);
24939
+ peg$fail(peg$e131);
24614
24940
  }
24615
24941
  }
24616
24942
  if (s0 === peg$FAILED) {
24617
- if (input.substr(peg$currPos, 6) === peg$c127) {
24618
- s0 = peg$c127;
24943
+ if (input.substr(peg$currPos, 6) === peg$c128) {
24944
+ s0 = peg$c128;
24619
24945
  peg$currPos += 6;
24620
24946
  } else {
24621
24947
  s0 = peg$FAILED;
24622
24948
  if (peg$silentFails === 0) {
24623
- peg$fail(peg$e131);
24949
+ peg$fail(peg$e132);
24624
24950
  }
24625
24951
  }
24626
24952
  if (s0 === peg$FAILED) {
24627
- if (input.substr(peg$currPos, 4) === peg$c128) {
24628
- s0 = peg$c128;
24953
+ if (input.substr(peg$currPos, 4) === peg$c129) {
24954
+ s0 = peg$c129;
24629
24955
  peg$currPos += 4;
24630
24956
  } else {
24631
24957
  s0 = peg$FAILED;
24632
24958
  if (peg$silentFails === 0) {
24633
- peg$fail(peg$e132);
24959
+ peg$fail(peg$e133);
24634
24960
  }
24635
24961
  }
24636
24962
  if (s0 === peg$FAILED) {
24637
- if (input.substr(peg$currPos, 6) === peg$c129) {
24638
- s0 = peg$c129;
24963
+ if (input.substr(peg$currPos, 6) === peg$c130) {
24964
+ s0 = peg$c130;
24639
24965
  peg$currPos += 6;
24640
24966
  } else {
24641
24967
  s0 = peg$FAILED;
24642
24968
  if (peg$silentFails === 0) {
24643
- peg$fail(peg$e133);
24969
+ peg$fail(peg$e134);
24644
24970
  }
24645
24971
  }
24646
24972
  if (s0 === peg$FAILED) {
24647
- if (input.substr(peg$currPos, 5) === peg$c130) {
24648
- s0 = peg$c130;
24973
+ if (input.substr(peg$currPos, 5) === peg$c131) {
24974
+ s0 = peg$c131;
24649
24975
  peg$currPos += 5;
24650
24976
  } else {
24651
24977
  s0 = peg$FAILED;
24652
24978
  if (peg$silentFails === 0) {
24653
- peg$fail(peg$e134);
24979
+ peg$fail(peg$e135);
24654
24980
  }
24655
24981
  }
24656
24982
  if (s0 === peg$FAILED) {
24657
- if (input.substr(peg$currPos, 6) === peg$c131) {
24658
- s0 = peg$c131;
24983
+ if (input.substr(peg$currPos, 6) === peg$c132) {
24984
+ s0 = peg$c132;
24659
24985
  peg$currPos += 6;
24660
24986
  } else {
24661
24987
  s0 = peg$FAILED;
24662
24988
  if (peg$silentFails === 0) {
24663
- peg$fail(peg$e135);
24989
+ peg$fail(peg$e136);
24664
24990
  }
24665
24991
  }
24666
24992
  }
@@ -24687,13 +25013,125 @@ function peg$parse(input, options) {
24687
25013
  }
24688
25014
  return s0;
24689
25015
  }
25016
+ function peg$parseHighlightColor() {
25017
+ let s0;
25018
+ if (input.substr(peg$currPos, 6) === peg$c124) {
25019
+ s0 = peg$c124;
25020
+ peg$currPos += 6;
25021
+ } else {
25022
+ s0 = peg$FAILED;
25023
+ if (peg$silentFails === 0) {
25024
+ peg$fail(peg$e128);
25025
+ }
25026
+ }
25027
+ if (s0 === peg$FAILED) {
25028
+ if (input.substr(peg$currPos, 6) === peg$c132) {
25029
+ s0 = peg$c132;
25030
+ peg$currPos += 6;
25031
+ } else {
25032
+ s0 = peg$FAILED;
25033
+ if (peg$silentFails === 0) {
25034
+ peg$fail(peg$e136);
25035
+ }
25036
+ }
25037
+ if (s0 === peg$FAILED) {
25038
+ if (input.substr(peg$currPos, 5) === peg$c118) {
25039
+ s0 = peg$c118;
25040
+ peg$currPos += 5;
25041
+ } else {
25042
+ s0 = peg$FAILED;
25043
+ if (peg$silentFails === 0) {
25044
+ peg$fail(peg$e122);
25045
+ }
25046
+ }
25047
+ if (s0 === peg$FAILED) {
25048
+ if (input.substr(peg$currPos, 4) === peg$c112) {
25049
+ s0 = peg$c112;
25050
+ peg$currPos += 4;
25051
+ } else {
25052
+ s0 = peg$FAILED;
25053
+ if (peg$silentFails === 0) {
25054
+ peg$fail(peg$e116);
25055
+ }
25056
+ }
25057
+ if (s0 === peg$FAILED) {
25058
+ if (input.substr(peg$currPos, 6) === peg$c126) {
25059
+ s0 = peg$c126;
25060
+ peg$currPos += 6;
25061
+ } else {
25062
+ s0 = peg$FAILED;
25063
+ if (peg$silentFails === 0) {
25064
+ peg$fail(peg$e130);
25065
+ }
25066
+ }
25067
+ if (s0 === peg$FAILED) {
25068
+ if (input.substr(peg$currPos, 4) === peg$c125) {
25069
+ s0 = peg$c125;
25070
+ peg$currPos += 4;
25071
+ } else {
25072
+ s0 = peg$FAILED;
25073
+ if (peg$silentFails === 0) {
25074
+ peg$fail(peg$e129);
25075
+ }
25076
+ }
25077
+ if (s0 === peg$FAILED) {
25078
+ if (input.substr(peg$currPos, 5) === peg$c113) {
25079
+ s0 = peg$c113;
25080
+ peg$currPos += 5;
25081
+ } else {
25082
+ s0 = peg$FAILED;
25083
+ if (peg$silentFails === 0) {
25084
+ peg$fail(peg$e117);
25085
+ }
25086
+ }
25087
+ if (s0 === peg$FAILED) {
25088
+ if (input.substr(peg$currPos, 5) === peg$c131) {
25089
+ s0 = peg$c131;
25090
+ peg$currPos += 5;
25091
+ } else {
25092
+ s0 = peg$FAILED;
25093
+ if (peg$silentFails === 0) {
25094
+ peg$fail(peg$e135);
25095
+ }
25096
+ }
25097
+ if (s0 === peg$FAILED) {
25098
+ if (input.substr(peg$currPos, 5) === peg$c111) {
25099
+ s0 = peg$c111;
25100
+ peg$currPos += 5;
25101
+ } else {
25102
+ s0 = peg$FAILED;
25103
+ if (peg$silentFails === 0) {
25104
+ peg$fail(peg$e115);
25105
+ }
25106
+ }
25107
+ if (s0 === peg$FAILED) {
25108
+ if (input.substr(peg$currPos, 4) === peg$c116) {
25109
+ s0 = peg$c116;
25110
+ peg$currPos += 4;
25111
+ } else {
25112
+ s0 = peg$FAILED;
25113
+ if (peg$silentFails === 0) {
25114
+ peg$fail(peg$e120);
25115
+ }
25116
+ }
25117
+ }
25118
+ }
25119
+ }
25120
+ }
25121
+ }
25122
+ }
25123
+ }
25124
+ }
25125
+ }
25126
+ return s0;
25127
+ }
24690
25128
  function peg$parsebitmarkMinusMinus() {
24691
25129
  let s0, s1;
24692
25130
  peg$silentFails++;
24693
25131
  s0 = peg$currPos;
24694
25132
  s1 = peg$parsebitmarkMinusMinusString();
24695
25133
  peg$savedPos = s0;
24696
- s1 = peg$f91(s1);
25134
+ s1 = peg$f92(s1);
24697
25135
  s0 = s1;
24698
25136
  peg$silentFails--;
24699
25137
  return s0;
@@ -24719,7 +25157,7 @@ function peg$parse(input, options) {
24719
25157
  }
24720
25158
  }
24721
25159
  peg$savedPos = s0;
24722
- s0 = peg$f92(s1, s2);
25160
+ s0 = peg$f93(s1, s2);
24723
25161
  peg$silentFails--;
24724
25162
  return s0;
24725
25163
  }
@@ -24729,7 +25167,7 @@ function peg$parse(input, options) {
24729
25167
  s1 = peg$parseNL();
24730
25168
  if (s1 !== peg$FAILED) {
24731
25169
  peg$savedPos = s0;
24732
- s1 = peg$f93();
25170
+ s1 = peg$f94();
24733
25171
  }
24734
25172
  s0 = s1;
24735
25173
  if (s0 === peg$FAILED) {
@@ -24858,7 +25296,7 @@ function peg$parse(input, options) {
24858
25296
  }
24859
25297
  if (s1 !== peg$FAILED) {
24860
25298
  peg$savedPos = s0;
24861
- s1 = peg$f94(s1);
25299
+ s1 = peg$f95(s1);
24862
25300
  }
24863
25301
  s0 = s1;
24864
25302
  }
@@ -24867,12 +25305,12 @@ function peg$parse(input, options) {
24867
25305
  function peg$parseBoldHalfTag() {
24868
25306
  let s0;
24869
25307
  if (input.charCodeAt(peg$currPos) === 42) {
24870
- s0 = peg$c132;
25308
+ s0 = peg$c133;
24871
25309
  peg$currPos++;
24872
25310
  } else {
24873
25311
  s0 = peg$FAILED;
24874
25312
  if (peg$silentFails === 0) {
24875
- peg$fail(peg$e136);
25313
+ peg$fail(peg$e137);
24876
25314
  }
24877
25315
  }
24878
25316
  return s0;
@@ -24880,12 +25318,12 @@ function peg$parse(input, options) {
24880
25318
  function peg$parseItalicHalfTag() {
24881
25319
  let s0;
24882
25320
  if (input.charCodeAt(peg$currPos) === 95) {
24883
- s0 = peg$c133;
25321
+ s0 = peg$c134;
24884
25322
  peg$currPos++;
24885
25323
  } else {
24886
25324
  s0 = peg$FAILED;
24887
25325
  if (peg$silentFails === 0) {
24888
- peg$fail(peg$e137);
25326
+ peg$fail(peg$e138);
24889
25327
  }
24890
25328
  }
24891
25329
  return s0;
@@ -24893,12 +25331,12 @@ function peg$parse(input, options) {
24893
25331
  function peg$parseLightHalfTag() {
24894
25332
  let s0;
24895
25333
  if (input.charCodeAt(peg$currPos) === 96) {
24896
- s0 = peg$c134;
25334
+ s0 = peg$c135;
24897
25335
  peg$currPos++;
24898
25336
  } else {
24899
25337
  s0 = peg$FAILED;
24900
25338
  if (peg$silentFails === 0) {
24901
- peg$fail(peg$e138);
25339
+ peg$fail(peg$e139);
24902
25340
  }
24903
25341
  }
24904
25342
  return s0;
@@ -24906,12 +25344,12 @@ function peg$parse(input, options) {
24906
25344
  function peg$parseHighlightHalfTag() {
24907
25345
  let s0;
24908
25346
  if (input.charCodeAt(peg$currPos) === 33) {
24909
- s0 = peg$c135;
25347
+ s0 = peg$c136;
24910
25348
  peg$currPos++;
24911
25349
  } else {
24912
25350
  s0 = peg$FAILED;
24913
25351
  if (peg$silentFails === 0) {
24914
- peg$fail(peg$e139);
25352
+ peg$fail(peg$e140);
24915
25353
  }
24916
25354
  }
24917
25355
  return s0;
@@ -24994,13 +25432,13 @@ function peg$parse(input, options) {
24994
25432
  }
24995
25433
  function peg$parseBodyBitOpenTag() {
24996
25434
  let s0;
24997
- if (input.substr(peg$currPos, 2) === peg$c136) {
24998
- s0 = peg$c136;
25435
+ if (input.substr(peg$currPos, 2) === peg$c137) {
25436
+ s0 = peg$c137;
24999
25437
  peg$currPos += 2;
25000
25438
  } else {
25001
25439
  s0 = peg$FAILED;
25002
25440
  if (peg$silentFails === 0) {
25003
- peg$fail(peg$e140);
25441
+ peg$fail(peg$e141);
25004
25442
  }
25005
25443
  }
25006
25444
  return s0;
@@ -25008,12 +25446,12 @@ function peg$parse(input, options) {
25008
25446
  function peg$parseBodyBitCloseTag() {
25009
25447
  let s0;
25010
25448
  if (input.charCodeAt(peg$currPos) === 93) {
25011
- s0 = peg$c137;
25449
+ s0 = peg$c138;
25012
25450
  peg$currPos++;
25013
25451
  } else {
25014
25452
  s0 = peg$FAILED;
25015
25453
  if (peg$silentFails === 0) {
25016
- peg$fail(peg$e141);
25454
+ peg$fail(peg$e142);
25017
25455
  }
25018
25456
  }
25019
25457
  return s0;
@@ -25059,7 +25497,7 @@ function peg$parse(input, options) {
25059
25497
  s3 = peg$parseBodyBitCloseTag();
25060
25498
  if (s3 !== peg$FAILED) {
25061
25499
  peg$savedPos = s0;
25062
- s0 = peg$f95(s2);
25500
+ s0 = peg$f96(s2);
25063
25501
  } else {
25064
25502
  peg$currPos = s0;
25065
25503
  s0 = peg$FAILED;
@@ -25149,7 +25587,7 @@ function peg$parse(input, options) {
25149
25587
  s3 = peg$parseBoldTag();
25150
25588
  if (s3 !== peg$FAILED) {
25151
25589
  peg$savedPos = s0;
25152
- s0 = peg$f96(s2);
25590
+ s0 = peg$f97(s2);
25153
25591
  } else {
25154
25592
  peg$currPos = s0;
25155
25593
  s0 = peg$FAILED;
@@ -25235,7 +25673,7 @@ function peg$parse(input, options) {
25235
25673
  s3 = peg$parseItalicTag();
25236
25674
  if (s3 !== peg$FAILED) {
25237
25675
  peg$savedPos = s0;
25238
- s0 = peg$f97(s2);
25676
+ s0 = peg$f98(s2);
25239
25677
  } else {
25240
25678
  peg$currPos = s0;
25241
25679
  s0 = peg$FAILED;
@@ -25321,7 +25759,7 @@ function peg$parse(input, options) {
25321
25759
  s3 = peg$parseLightTag();
25322
25760
  if (s3 !== peg$FAILED) {
25323
25761
  peg$savedPos = s0;
25324
- s0 = peg$f98(s2);
25762
+ s0 = peg$f99(s2);
25325
25763
  } else {
25326
25764
  peg$currPos = s0;
25327
25765
  s0 = peg$FAILED;
@@ -25407,7 +25845,7 @@ function peg$parse(input, options) {
25407
25845
  s3 = peg$parseHighlightTag();
25408
25846
  if (s3 !== peg$FAILED) {
25409
25847
  peg$savedPos = s0;
25410
- s0 = peg$f99(s2);
25848
+ s0 = peg$f100(s2);
25411
25849
  } else {
25412
25850
  peg$currPos = s0;
25413
25851
  s0 = peg$FAILED;
@@ -25492,22 +25930,22 @@ function peg$parse(input, options) {
25492
25930
  let s0, s1;
25493
25931
  peg$silentFails++;
25494
25932
  if (input.charCodeAt(peg$currPos) === 10) {
25495
- s0 = peg$c138;
25933
+ s0 = peg$c139;
25496
25934
  peg$currPos++;
25497
25935
  } else {
25498
25936
  s0 = peg$FAILED;
25499
25937
  if (peg$silentFails === 0) {
25500
- peg$fail(peg$e143);
25938
+ peg$fail(peg$e144);
25501
25939
  }
25502
25940
  }
25503
25941
  if (s0 === peg$FAILED) {
25504
- if (input.substr(peg$currPos, 2) === peg$c139) {
25505
- s0 = peg$c139;
25942
+ if (input.substr(peg$currPos, 2) === peg$c140) {
25943
+ s0 = peg$c140;
25506
25944
  peg$currPos += 2;
25507
25945
  } else {
25508
25946
  s0 = peg$FAILED;
25509
25947
  if (peg$silentFails === 0) {
25510
- peg$fail(peg$e144);
25948
+ peg$fail(peg$e145);
25511
25949
  }
25512
25950
  }
25513
25951
  if (s0 === peg$FAILED) {
@@ -25517,7 +25955,7 @@ function peg$parse(input, options) {
25517
25955
  } else {
25518
25956
  s0 = peg$FAILED;
25519
25957
  if (peg$silentFails === 0) {
25520
- peg$fail(peg$e145);
25958
+ peg$fail(peg$e146);
25521
25959
  }
25522
25960
  }
25523
25961
  }
@@ -25526,7 +25964,7 @@ function peg$parse(input, options) {
25526
25964
  if (s0 === peg$FAILED) {
25527
25965
  s1 = peg$FAILED;
25528
25966
  if (peg$silentFails === 0) {
25529
- peg$fail(peg$e142);
25967
+ peg$fail(peg$e143);
25530
25968
  }
25531
25969
  }
25532
25970
  return s0;
@@ -25539,7 +25977,7 @@ function peg$parse(input, options) {
25539
25977
  } else {
25540
25978
  s0 = peg$FAILED;
25541
25979
  if (peg$silentFails === 0) {
25542
- peg$fail(peg$e146);
25980
+ peg$fail(peg$e147);
25543
25981
  }
25544
25982
  }
25545
25983
  return s0;
@@ -25573,35 +26011,35 @@ function peg$parse(input, options) {
25573
26011
  let s0, s1, s2, s3, s4, s5, s6, s7, s8;
25574
26012
  s0 = peg$currPos;
25575
26013
  s1 = peg$currPos;
25576
- if (input.substr(peg$currPos, 4) === peg$c140) {
25577
- s2 = peg$c140;
26014
+ if (input.substr(peg$currPos, 4) === peg$c141) {
26015
+ s2 = peg$c141;
25578
26016
  peg$currPos += 4;
25579
26017
  } else {
25580
26018
  s2 = peg$FAILED;
25581
26019
  if (peg$silentFails === 0) {
25582
- peg$fail(peg$e147);
26020
+ peg$fail(peg$e148);
25583
26021
  }
25584
26022
  }
25585
26023
  if (s2 !== peg$FAILED) {
25586
26024
  if (input.charCodeAt(peg$currPos) === 115) {
25587
- s3 = peg$c141;
26025
+ s3 = peg$c142;
25588
26026
  peg$currPos++;
25589
26027
  } else {
25590
26028
  s3 = peg$FAILED;
25591
26029
  if (peg$silentFails === 0) {
25592
- peg$fail(peg$e148);
26030
+ peg$fail(peg$e149);
25593
26031
  }
25594
26032
  }
25595
26033
  if (s3 === peg$FAILED) {
25596
26034
  s3 = null;
25597
26035
  }
25598
- if (input.substr(peg$currPos, 3) === peg$c142) {
25599
- s4 = peg$c142;
26036
+ if (input.substr(peg$currPos, 3) === peg$c143) {
26037
+ s4 = peg$c143;
25600
26038
  peg$currPos += 3;
25601
26039
  } else {
25602
26040
  s4 = peg$FAILED;
25603
26041
  if (peg$silentFails === 0) {
25604
- peg$fail(peg$e149);
26042
+ peg$fail(peg$e150);
25605
26043
  }
25606
26044
  }
25607
26045
  if (s4 !== peg$FAILED) {
@@ -25679,35 +26117,35 @@ function peg$parse(input, options) {
25679
26117
  s0 = peg$currPos;
25680
26118
  s1 = peg$currPos;
25681
26119
  s2 = peg$currPos;
25682
- if (input.substr(peg$currPos, 4) === peg$c140) {
25683
- s3 = peg$c140;
26120
+ if (input.substr(peg$currPos, 4) === peg$c141) {
26121
+ s3 = peg$c141;
25684
26122
  peg$currPos += 4;
25685
26123
  } else {
25686
26124
  s3 = peg$FAILED;
25687
26125
  if (peg$silentFails === 0) {
25688
- peg$fail(peg$e147);
26126
+ peg$fail(peg$e148);
25689
26127
  }
25690
26128
  }
25691
26129
  if (s3 !== peg$FAILED) {
25692
26130
  if (input.charCodeAt(peg$currPos) === 115) {
25693
- s4 = peg$c141;
26131
+ s4 = peg$c142;
25694
26132
  peg$currPos++;
25695
26133
  } else {
25696
26134
  s4 = peg$FAILED;
25697
26135
  if (peg$silentFails === 0) {
25698
- peg$fail(peg$e148);
26136
+ peg$fail(peg$e149);
25699
26137
  }
25700
26138
  }
25701
26139
  if (s4 === peg$FAILED) {
25702
26140
  s4 = null;
25703
26141
  }
25704
- if (input.substr(peg$currPos, 3) === peg$c142) {
25705
- s5 = peg$c142;
26142
+ if (input.substr(peg$currPos, 3) === peg$c143) {
26143
+ s5 = peg$c143;
25706
26144
  peg$currPos += 3;
25707
26145
  } else {
25708
26146
  s5 = peg$FAILED;
25709
26147
  if (peg$silentFails === 0) {
25710
- peg$fail(peg$e149);
26148
+ peg$fail(peg$e150);
25711
26149
  }
25712
26150
  }
25713
26151
  if (s5 !== peg$FAILED) {
@@ -25722,13 +26160,13 @@ function peg$parse(input, options) {
25722
26160
  s2 = peg$FAILED;
25723
26161
  }
25724
26162
  if (s2 === peg$FAILED) {
25725
- if (input.substr(peg$currPos, 7) === peg$c143) {
25726
- s2 = peg$c143;
26163
+ if (input.substr(peg$currPos, 7) === peg$c144) {
26164
+ s2 = peg$c144;
25727
26165
  peg$currPos += 7;
25728
26166
  } else {
25729
26167
  s2 = peg$FAILED;
25730
26168
  if (peg$silentFails === 0) {
25731
- peg$fail(peg$e150);
26169
+ peg$fail(peg$e151);
25732
26170
  }
25733
26171
  }
25734
26172
  }
@@ -25793,7 +26231,7 @@ function peg$parse(input, options) {
25793
26231
  }
25794
26232
  s2 = input.substring(s2, peg$currPos);
25795
26233
  peg$savedPos = s0;
25796
- s0 = peg$f100(s1, s2);
26234
+ s0 = peg$f101(s1, s2);
25797
26235
  } else {
25798
26236
  peg$currPos = s0;
25799
26237
  s0 = peg$FAILED;
@@ -25808,7 +26246,7 @@ function peg$parse(input, options) {
25808
26246
  } else {
25809
26247
  s0 = peg$FAILED;
25810
26248
  if (peg$silentFails === 0) {
25811
- peg$fail(peg$e151);
26249
+ peg$fail(peg$e152);
25812
26250
  }
25813
26251
  }
25814
26252
  return s0;