@gmb/bitmark-parser-generator 5.31.0 → 5.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/main.js CHANGED
@@ -3091,11 +3091,16 @@ var CARDSETS = {
3091
3091
  exportJsonKey: { "@bit": { heading: { forKeys: "$" } } }
3092
3092
  },
3093
3093
  {
3094
+ // Axis-side `[@isCaseSensitive]` is a cascade SOURCE
3095
+ // only: it must fire (so value-side cells inherit via
3096
+ // `$ancestor`) but emit nothing itself — emission is
3097
+ // owned by the value-side's cell-nested rule
3098
+ // (`cells[$s].isCaseSensitive`, PLAN-122). The earlier
3099
+ // flat `$ancestor` rule here double-emitted at bit
3100
+ // scope and broke the `optimize(fullize(x)) ==
3101
+ // optimize(x)` law on match-matrix.
3094
3102
  key: ConfigKey.property_isCaseSensitive,
3095
- exportJsonKey: [
3096
- { "@absent": { isCaseSensitive: "$ancestor" } },
3097
- { isCaseSensitive: "$" }
3098
- ],
3103
+ exportJsonKey: {},
3099
3104
  description: "Property to indicate if the match is case sensitive.",
3100
3105
  format: TagFormat.boolean
3101
3106
  }
@@ -3201,10 +3206,17 @@ var CARDSETS = {
3201
3206
  ]
3202
3207
  },
3203
3208
  {
3209
+ // matchMatrix cells are NESTED (`cells[$s]`), unlike matchPairs'
3210
+ // flat pair object — so `isCaseSensitive` must be written INTO the
3211
+ // cell, mirroring the sibling `example` rule above (`cells: { $s:
3212
+ // {...} }`). The earlier flat `{ isCaseSensitive: '$' }` (copied
3213
+ // from matchPairs) wrote at bit scope, so an authored cell-side
3214
+ // `[@isCaseSensitive:false]` (e.g. on a `++` value) was dropped
3215
+ // instead of landing on the cell. PLAN-122.
3204
3216
  key: ConfigKey.property_isCaseSensitive,
3205
3217
  exportJsonKey: [
3206
- { "@absent": { isCaseSensitive: "$ancestor" } },
3207
- { isCaseSensitive: "$" }
3218
+ { "@absent": { cells: { $s: { isCaseSensitive: "$ancestor" } } } },
3219
+ { cells: { $s: { isCaseSensitive: "$" } } }
3208
3220
  ],
3209
3221
  description: "Property to indicate if the match is case sensitive.",
3210
3222
  format: TagFormat.boolean
@@ -4968,18 +4980,16 @@ var GROUPS = {
4968
4980
  description: "Item, lead, page number, margin number, instruction and hint tags"
4969
4981
  },
4970
4982
  {
4971
- // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2: cascade-fired
4972
- // `@example` from the bit header marks EVERY choice with
4973
- // `isExample: true` (matches BPG output), but only the
4974
- // FIRST correct choice gets `example: true` (BPG
4975
- // `fillBooleanExample(..., firstCorrectOnly=true)`).
4976
- //
4977
- // Two `@absent` rules, picked first-match-wins:
4978
- // 1. Verbose form gated on `@parent.isCorrect=true` with
4979
- // `maxEmits:1` fires once for the first correct.
4980
- // 2. Plain `@absent` fires on every remaining entry
4981
- // (subsequent corrects and all incorrects), emitting
4982
- // `isExample` only.
4983
+ // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2, corrected by
4984
+ // bpg 5.31 probing: cascade-fired `@example` decorates only
4985
+ // the FIRST correct choice (`example: true` via the
4986
+ // `@parent.isCorrect`-gated `@absent` rule, `maxEmits:1`
4987
+ // BPG `fillBooleanExample(..., firstCorrectOnly=true)`).
4988
+ // There is deliberately NO plain `@absent` rule: an ancestor
4989
+ // bare example must leave the remaining choices untouched
4990
+ // (a plain `@absent` decoration broke the
4991
+ // `optimize(fullize(x)) == optimize(x)` law the
4992
+ // synthesized `isExample` keys survived re-optimization).
4983
4993
  // The `serialize_cards` cascade-counter scope holds the cap
4984
4994
  // across the whole cardset.
4985
4995
  // @card scope-shift writes choice-container isExample (e.g.
@@ -5007,13 +5017,6 @@ var GROUPS = {
5007
5017
  "@card": { isExample: true }
5008
5018
  }
5009
5019
  },
5010
- {
5011
- "@absent": {
5012
- isExample: true,
5013
- "@bit": { isExample: true },
5014
- "@card": { isExample: true }
5015
- }
5016
- },
5017
5020
  {
5018
5021
  isExample: true,
5019
5022
  example: "$",
@@ -5055,11 +5058,13 @@ var GROUPS = {
5055
5058
  description: "Item, lead, page number, margin number, instruction and hint tags"
5056
5059
  },
5057
5060
  {
5058
- // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2: cascade-fired
5059
- // `@example` on a `-` (incorrect choice) emits
5060
- // `isExample: true` only — no `example` (BPG fixtures show
5061
- // `isExample` on every choice, but `example` only on the
5062
- // first correct via firstCorrectOnly cascade).
5061
+ // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2, corrected by
5062
+ // bpg 5.31 probing: an ancestor bare `@example` leaves
5063
+ // incorrect choices UNTOUCHED — no cascade decoration at
5064
+ // all (no `@absent` rule; a plain `@absent isExample`
5065
+ // decoration broke the `optimize(fullize(x)) ==
5066
+ // optimize(x)` law). Only an explicit `[@example]` on the
5067
+ // choice itself emits.
5063
5068
  // @card scope-shift writes choice-container isExample.
5064
5069
  key: ConfigKey.property_example,
5065
5070
  jsonKey: "example",
@@ -5072,13 +5077,6 @@ var GROUPS = {
5072
5077
  "@card": { isExample: true }
5073
5078
  }
5074
5079
  },
5075
- {
5076
- "@absent": {
5077
- isExample: true,
5078
- "@bit": { isExample: true },
5079
- "@card": { isExample: true }
5080
- }
5081
- },
5082
5080
  {
5083
5081
  isExample: true,
5084
5082
  example: "$",
@@ -5086,7 +5084,7 @@ var GROUPS = {
5086
5084
  "@card": { isExample: true }
5087
5085
  }
5088
5086
  ],
5089
- description: "An example for the true/false statement/question (incorrect entry \u2014 isExample only on cascade)",
5087
+ 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)",
5090
5088
  format: TagFormat.boolean,
5091
5089
  nullable: true
5092
5090
  }
@@ -7145,7 +7143,9 @@ var BITS = {
7145
7143
  description: "Common tags for quiz bits"
7146
7144
  },
7147
7145
  {
7148
- exportJsonKey: { title: "$" },
7146
+ maxCount: 2,
7147
+ jsonKey: "title|multi(count=2, key=subtitle)",
7148
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
7149
7149
  key: ConfigKey.tag_title,
7150
7150
  description: "The title of the flashcard quiz"
7151
7151
  },
@@ -7250,7 +7250,9 @@ var BITS = {
7250
7250
  description: "Article bit, used for articles / paragraphs",
7251
7251
  tags: [
7252
7252
  {
7253
- exportJsonKey: { title: "$" },
7253
+ maxCount: 2,
7254
+ jsonKey: "title|multi(count=2, key=subtitle)",
7255
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
7254
7256
  key: ConfigKey.tag_title,
7255
7257
  description: "The title of the article"
7256
7258
  }
@@ -9216,7 +9218,9 @@ var BITS = {
9216
9218
  description: "Example bit, used to provide examples in articles or books",
9217
9219
  tags: [
9218
9220
  {
9219
- exportJsonKey: { title: "$" },
9221
+ maxCount: 2,
9222
+ jsonKey: "title|multi(count=2, key=subtitle)",
9223
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
9220
9224
  key: ConfigKey.tag_title,
9221
9225
  description: "The title of the example"
9222
9226
  },
@@ -11817,7 +11821,9 @@ var BITS = {
11817
11821
  description: "Page bit, used to create pages in articles or books",
11818
11822
  tags: [
11819
11823
  {
11820
- exportJsonKey: { title: "$" },
11824
+ maxCount: 2,
11825
+ jsonKey: "title|multi(count=2, key=subtitle)",
11826
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
11821
11827
  key: ConfigKey.tag_title,
11822
11828
  description: "Title of the page, used to display the page title"
11823
11829
  },
@@ -12275,7 +12281,9 @@ var BITS = {
12275
12281
  description: "Review note bit, used to create review notes in articles or books",
12276
12282
  tags: [
12277
12283
  {
12278
- exportJsonKey: { title: "$" },
12284
+ maxCount: 2,
12285
+ jsonKey: "title|multi(count=2, key=subtitle)",
12286
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
12279
12287
  key: ConfigKey.tag_title,
12280
12288
  description: "Title of the review note, used to display the note title"
12281
12289
  },
@@ -13861,7 +13869,7 @@ var instance2 = new Config();
13861
13869
  // src/generated/package_info.ts
13862
13870
  var PACKAGE_INFO = {
13863
13871
  "name": "@gmb/bitmark-parser-generator",
13864
- "version": "5.31.0",
13872
+ "version": "5.32.0",
13865
13873
  "license": "ISC"};
13866
13874
  var Environment = {
13867
13875
  unknown: "",
@@ -14110,6 +14118,7 @@ var TextMarkType = {
14110
14118
  del: "del",
14111
14119
  underline: "underline",
14112
14120
  doubleUnderline: "doubleUnderline",
14121
+ smallcaps: "smallcaps",
14113
14122
  circle: "circle",
14114
14123
  languageEmRed: "languageEmRed",
14115
14124
  languageEmOrange: "languageEmOrange",
@@ -14141,7 +14150,10 @@ var TextMarkType = {
14141
14150
  code: "code",
14142
14151
  timer: "timer",
14143
14152
  duration: "duration",
14153
+ // legacy: no longer produced by the parser (>= 8.41.1), accepted as generator input
14144
14154
  color: "color",
14155
+ // legacy: no longer produced by the parser (>= 8.41.1, now textStyle), accepted as generator input
14156
+ textStyle: "textStyle",
14145
14157
  colorPicker: "colorPicker",
14146
14158
  comment: "comment"
14147
14159
  };
@@ -15696,6 +15708,7 @@ var INLINE_MARK_TYPES = [
15696
15708
  TextMarkType.del,
15697
15709
  TextMarkType.underline,
15698
15710
  TextMarkType.doubleUnderline,
15711
+ TextMarkType.smallcaps,
15699
15712
  TextMarkType.circle,
15700
15713
  TextMarkType.languageEmRed,
15701
15714
  TextMarkType.languageEmOrange,
@@ -15726,11 +15739,24 @@ var INLINE_MARK_TYPES = [
15726
15739
  TextMarkType.var,
15727
15740
  TextMarkType.code,
15728
15741
  TextMarkType.timer,
15729
- TextMarkType.duration,
15730
15742
  TextMarkType.color,
15743
+ // legacy input, written as color: (same as textStyle)
15744
+ TextMarkType.textStyle,
15731
15745
  TextMarkType.colorPicker,
15732
15746
  TextMarkType.comment
15733
15747
  ];
15748
+ var HIGHLIGHT_COLORS = [
15749
+ "orange",
15750
+ "yellow",
15751
+ "green",
15752
+ "blue",
15753
+ "purple",
15754
+ "pink",
15755
+ "brown",
15756
+ "white",
15757
+ "black",
15758
+ "gray"
15759
+ ];
15734
15760
  var INDENTATION_REGEX = new RegExp(/(\n|\r\n)/, "g");
15735
15761
  var LINK_REGEX = new RegExp(/https?:\/\/|mailto:(.*)/, "g");
15736
15762
  var LINK_BREAKSCAPE_REGEX = new RegExp(/\]/, "g");
@@ -16287,14 +16313,16 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16287
16313
  this.writeMarkTextWrapper(INLINE_MARK);
16288
16314
  return;
16289
16315
  }
16290
- const singleMark = node.marks.length === 1 && forceSingleMark;
16291
- const markStartEnd = node.marks.reduce(
16316
+ const marks = this.getWritableMarks(node.marks);
16317
+ if (marks.length === 0) return;
16318
+ const singleMark = marks.length === 1 && forceSingleMark;
16319
+ const markStartEnd = marks.reduce(
16292
16320
  (acc, mark) => {
16293
16321
  if (acc) return acc;
16294
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16322
+ if (this.isStandardMark(mark)) {
16295
16323
  if (singleMark) return STANDARD_MARKS[mark.type];
16296
16324
  return INLINE_MARK;
16297
- } else if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) {
16325
+ } else if (this.isInlineMark(mark)) {
16298
16326
  return INLINE_MARK;
16299
16327
  } else ;
16300
16328
  return acc;
@@ -16308,8 +16336,8 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16308
16336
  this.writeMarkTextWrapper(markStartEnd);
16309
16337
  }
16310
16338
  if (stage == Stage.between) {
16311
- for (const mark of node.marks) {
16312
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16339
+ for (const mark of marks) {
16340
+ if (this.isStandardMark(mark)) {
16313
16341
  if (!singleMark) {
16314
16342
  this.writeInlineMarkStartEnd();
16315
16343
  this.writeInlineMark(mark);
@@ -16338,7 +16366,7 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16338
16366
  } else if (TextMarkType.symbol === mark.type) {
16339
16367
  this.writeInlineMarkStartEnd();
16340
16368
  this.writeSymbolMark(mark);
16341
- } else if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) {
16369
+ } else if (this.isInlineMark(mark)) {
16342
16370
  this.writeInlineMarkStartEnd();
16343
16371
  this.writeInlineMark(mark);
16344
16372
  } else ;
@@ -16346,12 +16374,12 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16346
16374
  }
16347
16375
  if (stage == Stage.exit) {
16348
16376
  let inlineMarkWritten = false;
16349
- for (const mark of node.marks) {
16350
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16377
+ for (const mark of marks) {
16378
+ if (this.isStandardMark(mark)) {
16351
16379
  if (!singleMark) {
16352
16380
  inlineMarkWritten = true;
16353
16381
  }
16354
- } 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) {
16382
+ } 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)) {
16355
16383
  inlineMarkWritten = true;
16356
16384
  } else ;
16357
16385
  }
@@ -16431,8 +16459,15 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16431
16459
  if (node.attrs == null || !node.attrs.src) return;
16432
16460
  const attrs = node.attrs;
16433
16461
  const inlineImage = node.type === TextNodeType.imageInline;
16462
+ let ignoreAttributes;
16463
+ if (inlineImage) {
16464
+ ignoreAttributes = /* @__PURE__ */ new Set(["alt", "zoomDisabled", "title"]);
16465
+ const a = attrs;
16466
+ if (a.alignmentVertical === "top") ignoreAttributes.add("alignmentVertical");
16467
+ if (a.size === "line-height") ignoreAttributes.add("size");
16468
+ }
16434
16469
  const mediaAttrs = this.getMediaAttrs(inlineImage ? "imageInline" : "image", attrs, {
16435
- ignoreAttributes: inlineImage ? /* @__PURE__ */ new Set(["alt", "zoomDisabled", "title"]) : void 0
16470
+ ignoreAttributes
16436
16471
  });
16437
16472
  let s = "";
16438
16473
  if (inlineImage) {
@@ -16462,16 +16497,87 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16462
16497
  if (s) this.write(s);
16463
16498
  }
16464
16499
  writeInlineMark(mark) {
16465
- let s = `${mark.type}`;
16466
- if (mark.attrs) {
16467
- for (const [k, v] of Object.entries(mark.attrs)) {
16468
- if (k === "language" && v !== "plain text" || k === "color" || k === "propertyRef" || k === "name" || k === "duration") {
16469
- s = `${s}:${v}`;
16500
+ const attrs = mark.attrs ?? {};
16501
+ let s;
16502
+ switch (mark.type) {
16503
+ case TextMarkType.textStyle:
16504
+ case TextMarkType.color:
16505
+ s = `color:${attrs.color ?? ""}`;
16506
+ break;
16507
+ case TextMarkType.timer:
16508
+ s = attrs.name ? `timer:${attrs.name}` : "timer";
16509
+ s += `|duration:${attrs.duration ?? ""}`;
16510
+ break;
16511
+ case TextMarkType.highlight:
16512
+ case TextMarkType.userHighlight:
16513
+ s = attrs.color ? `${mark.type}|color:${attrs.color}` : `${mark.type}`;
16514
+ break;
16515
+ default: {
16516
+ s = `${mark.type}`;
16517
+ for (const [k, v] of Object.entries(attrs)) {
16518
+ if (k === "language" && v !== "plain text" || k === "propertyRef" || k === "name") {
16519
+ s = `${s}:${v}`;
16520
+ }
16470
16521
  }
16471
16522
  }
16472
16523
  }
16473
16524
  this.write(s);
16474
16525
  }
16526
+ /**
16527
+ * Resolve the marks of a text node into the marks that will actually be written.
16528
+ *
16529
+ * - Merges a legacy standalone 'duration' mark into its sibling 'timer' mark.
16530
+ * - Drops marks the current grammar cannot express (standalone 'duration', 'timer'
16531
+ * without a duration).
16532
+ * - Moves a 'textStyle'/'color' mark before a preceding bare 'highlight'/'userHighlight'
16533
+ * mark when its color is a valid highlight color; written in the original order the
16534
+ * output would re-parse as a highlight-with-color compound mark and change meaning.
16535
+ */
16536
+ getWritableMarks(nodeMarks) {
16537
+ const attrsOf = (m) => m.attrs ?? {};
16538
+ let marks = [...nodeMarks];
16539
+ const timer = marks.find((m) => m.type === TextMarkType.timer);
16540
+ const duration = marks.find((m) => m.type === TextMarkType.duration);
16541
+ if (timer && duration && !attrsOf(timer).duration) {
16542
+ marks = marks.map(
16543
+ (m) => m === timer ? {
16544
+ ...timer,
16545
+ attrs: { ...attrsOf(timer), duration: attrsOf(duration).duration }
16546
+ } : m
16547
+ );
16548
+ }
16549
+ marks = marks.filter((m) => {
16550
+ if (m.type === TextMarkType.duration) return false;
16551
+ if (m.type === TextMarkType.timer) return !!attrsOf(m).duration;
16552
+ return true;
16553
+ });
16554
+ const isBareHighlight = (m) => (m.type === TextMarkType.highlight || m.type === TextMarkType.userHighlight) && !attrsOf(m).color;
16555
+ const isHighlightColorStyle = (m) => (m.type === TextMarkType.textStyle || m.type === TextMarkType.color) && HIGHLIGHT_COLORS.indexOf(attrsOf(m).color) !== -1;
16556
+ for (let i = 0; i < marks.length - 1; i++) {
16557
+ if (isBareHighlight(marks[i]) && isHighlightColorStyle(marks[i + 1])) {
16558
+ const tmp = marks[i];
16559
+ marks[i] = marks[i + 1];
16560
+ marks[i + 1] = tmp;
16561
+ }
16562
+ }
16563
+ return marks;
16564
+ }
16565
+ /**
16566
+ * True if the mark is written using its standard form (e.g. **bold**, !!highlight!!)
16567
+ * when it is the only mark. A highlight mark with a color attribute is excluded - it
16568
+ * can only be expressed using the inline chain form (==text==|highlight|color:x|).
16569
+ */
16570
+ isStandardMark(mark) {
16571
+ if (STANDARD_MARK_TYPES.indexOf(mark.type) === -1) return false;
16572
+ return !(mark.attrs && mark.attrs.color);
16573
+ }
16574
+ /**
16575
+ * True if the mark is written using the inline chain form (==text==|mark|).
16576
+ */
16577
+ isInlineMark(mark) {
16578
+ if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) return true;
16579
+ return mark.type === TextMarkType.highlight && !!(mark.attrs && mark.attrs.color);
16580
+ }
16475
16581
  writeCommentMark(mark) {
16476
16582
  const comment = mark.comment || "";
16477
16583
  const s = `#${comment}`;
@@ -16676,7 +16782,7 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16676
16782
  };
16677
16783
 
16678
16784
  // src/generated/parser/text/text-peggy-parser.js
16679
- var VERSION = "8.37.3";
16785
+ var VERSION = "8.41.1";
16680
16786
  function unbreakscape(str) {
16681
16787
  if (typeof str !== "string") return null;
16682
16788
  return instance3.unbreakscape(str);
@@ -16891,87 +16997,88 @@ function peg$parse(input, options) {
16891
16997
  const peg$c60 = "var:";
16892
16998
  const peg$c61 = "code:";
16893
16999
  const peg$c62 = "timer";
16894
- const peg$c63 = "timer:";
16895
- const peg$c64 = "duration:";
16896
- const peg$c65 = "P";
16897
- const peg$c66 = "color:";
16898
- const peg$c67 = "colorPicker:";
16899
- const peg$c68 = "|\u25BA";
16900
- const peg$c69 = "bold";
16901
- const peg$c70 = "italic";
16902
- const peg$c71 = "light";
16903
- const peg$c72 = "highlightOrange";
16904
- const peg$c73 = "highlightYellow";
16905
- const peg$c74 = "highlightGreen";
16906
- const peg$c75 = "highlightBlue";
16907
- const peg$c76 = "highlightPurple";
16908
- const peg$c77 = "highlightPink";
16909
- const peg$c78 = "highlightBrown";
16910
- const peg$c79 = "highlightBlack";
16911
- const peg$c80 = "highlightWhite";
16912
- const peg$c81 = "highlightGray";
16913
- const peg$c82 = "highlight";
16914
- const peg$c83 = "strike";
16915
- const peg$c84 = "subscript";
16916
- const peg$c85 = "superscript";
16917
- const peg$c86 = "ins";
16918
- const peg$c87 = "del";
16919
- const peg$c88 = "underline";
16920
- const peg$c89 = "doubleUnderline";
16921
- const peg$c90 = "circle";
16922
- const peg$c91 = "languageEmRed";
16923
- const peg$c92 = "languageEmOrange";
16924
- const peg$c93 = "languageEmYellow";
16925
- const peg$c94 = "languageEmGreen";
16926
- const peg$c95 = "languageEmBlue";
16927
- const peg$c96 = "languageEmPurple";
16928
- const peg$c97 = "languageEmPink";
16929
- const peg$c98 = "languageEmBrown";
16930
- const peg$c99 = "languageEmBlack";
16931
- const peg$c100 = "languageEmWhite";
16932
- const peg$c101 = "languageEmGray";
16933
- const peg$c102 = "languageEm";
16934
- const peg$c103 = "userUnderline";
16935
- const peg$c104 = "userDoubleUnderline";
16936
- const peg$c105 = "userStrike";
16937
- const peg$c106 = "userCircle";
16938
- const peg$c107 = "userHighlight";
16939
- const peg$c108 = "notranslate";
16940
- const peg$c109 = "aqua";
16941
- const peg$c110 = "black";
16942
- const peg$c111 = "blue";
16943
- const peg$c112 = "brown";
16944
- const peg$c113 = "fuchsia";
16945
- const peg$c114 = "lightgrey";
16946
- const peg$c115 = "gray";
16947
- const peg$c116 = "darkgray";
16948
- const peg$c117 = "green";
16949
- const peg$c118 = "lime";
16950
- const peg$c119 = "magenta";
16951
- const peg$c120 = "maroon";
16952
- const peg$c121 = "navy";
16953
- const peg$c122 = "olive";
16954
- const peg$c123 = "orange";
16955
- const peg$c124 = "pink";
16956
- const peg$c125 = "purple";
16957
- const peg$c126 = "red";
16958
- const peg$c127 = "silver";
16959
- const peg$c128 = "teal";
16960
- const peg$c129 = "violet";
16961
- const peg$c130 = "white";
16962
- const peg$c131 = "yellow";
16963
- const peg$c132 = "*";
16964
- const peg$c133 = "_";
16965
- const peg$c134 = "`";
16966
- const peg$c135 = "!";
16967
- const peg$c136 = "[!";
16968
- const peg$c137 = "]";
16969
- const peg$c138 = "\n";
16970
- const peg$c139 = "\r\n";
16971
- const peg$c140 = "http";
16972
- const peg$c141 = "s";
16973
- const peg$c142 = "://";
16974
- const peg$c143 = "mailto:";
17000
+ const peg$c63 = "duration:";
17001
+ const peg$c64 = "P";
17002
+ const peg$c65 = "timer:";
17003
+ const peg$c66 = "highlight";
17004
+ const peg$c67 = "color:";
17005
+ const peg$c68 = "userHighlight";
17006
+ const peg$c69 = "colorPicker:";
17007
+ const peg$c70 = "|\u25BA";
17008
+ const peg$c71 = "bold";
17009
+ const peg$c72 = "italic";
17010
+ const peg$c73 = "light";
17011
+ const peg$c74 = "highlightOrange";
17012
+ const peg$c75 = "highlightYellow";
17013
+ const peg$c76 = "highlightGreen";
17014
+ const peg$c77 = "highlightBlue";
17015
+ const peg$c78 = "highlightPurple";
17016
+ const peg$c79 = "highlightPink";
17017
+ const peg$c80 = "highlightBrown";
17018
+ const peg$c81 = "highlightBlack";
17019
+ const peg$c82 = "highlightWhite";
17020
+ const peg$c83 = "highlightGray";
17021
+ const peg$c84 = "strike";
17022
+ const peg$c85 = "subscript";
17023
+ const peg$c86 = "superscript";
17024
+ const peg$c87 = "ins";
17025
+ const peg$c88 = "del";
17026
+ const peg$c89 = "underline";
17027
+ const peg$c90 = "doubleUnderline";
17028
+ const peg$c91 = "smallcaps";
17029
+ const peg$c92 = "circle";
17030
+ const peg$c93 = "languageEmRed";
17031
+ const peg$c94 = "languageEmOrange";
17032
+ const peg$c95 = "languageEmYellow";
17033
+ const peg$c96 = "languageEmGreen";
17034
+ const peg$c97 = "languageEmBlue";
17035
+ const peg$c98 = "languageEmPurple";
17036
+ const peg$c99 = "languageEmPink";
17037
+ const peg$c100 = "languageEmBrown";
17038
+ const peg$c101 = "languageEmBlack";
17039
+ const peg$c102 = "languageEmWhite";
17040
+ const peg$c103 = "languageEmGray";
17041
+ const peg$c104 = "languageEm";
17042
+ const peg$c105 = "userUnderline";
17043
+ const peg$c106 = "userDoubleUnderline";
17044
+ const peg$c107 = "userStrike";
17045
+ const peg$c108 = "userCircle";
17046
+ const peg$c109 = "notranslate";
17047
+ const peg$c110 = "aqua";
17048
+ const peg$c111 = "black";
17049
+ const peg$c112 = "blue";
17050
+ const peg$c113 = "brown";
17051
+ const peg$c114 = "fuchsia";
17052
+ const peg$c115 = "lightgrey";
17053
+ const peg$c116 = "gray";
17054
+ const peg$c117 = "darkgray";
17055
+ const peg$c118 = "green";
17056
+ const peg$c119 = "lime";
17057
+ const peg$c120 = "magenta";
17058
+ const peg$c121 = "maroon";
17059
+ const peg$c122 = "navy";
17060
+ const peg$c123 = "olive";
17061
+ const peg$c124 = "orange";
17062
+ const peg$c125 = "pink";
17063
+ const peg$c126 = "purple";
17064
+ const peg$c127 = "red";
17065
+ const peg$c128 = "silver";
17066
+ const peg$c129 = "teal";
17067
+ const peg$c130 = "violet";
17068
+ const peg$c131 = "white";
17069
+ const peg$c132 = "yellow";
17070
+ const peg$c133 = "*";
17071
+ const peg$c134 = "_";
17072
+ const peg$c135 = "`";
17073
+ const peg$c136 = "!";
17074
+ const peg$c137 = "[!";
17075
+ const peg$c138 = "]";
17076
+ const peg$c139 = "\n";
17077
+ const peg$c140 = "\r\n";
17078
+ const peg$c141 = "http";
17079
+ const peg$c142 = "s";
17080
+ const peg$c143 = "://";
17081
+ const peg$c144 = "mailto:";
16975
17082
  const peg$r0 = /^[ \t]/;
16976
17083
  const peg$r1 = /^[0-9]/;
16977
17084
  const peg$r2 = /^[\r\u2028-\u2029]/;
@@ -17044,91 +17151,92 @@ function peg$parse(input, options) {
17044
17151
  const peg$e64 = peg$literalExpectation("var:", false);
17045
17152
  const peg$e65 = peg$literalExpectation("code:", false);
17046
17153
  const peg$e66 = peg$literalExpectation("timer", false);
17047
- const peg$e67 = peg$literalExpectation("timer:", false);
17048
- const peg$e68 = peg$literalExpectation("duration:", false);
17049
- const peg$e69 = peg$literalExpectation("P", false);
17050
- const peg$e70 = peg$literalExpectation("color:", false);
17051
- const peg$e71 = peg$literalExpectation("colorPicker:", false);
17052
- const peg$e72 = peg$literalExpectation("|\u25BA", false);
17053
- const peg$e73 = peg$literalExpectation("bold", false);
17054
- const peg$e74 = peg$literalExpectation("italic", false);
17055
- const peg$e75 = peg$literalExpectation("light", false);
17056
- const peg$e76 = peg$literalExpectation("highlightOrange", false);
17057
- const peg$e77 = peg$literalExpectation("highlightYellow", false);
17058
- const peg$e78 = peg$literalExpectation("highlightGreen", false);
17059
- const peg$e79 = peg$literalExpectation("highlightBlue", false);
17060
- const peg$e80 = peg$literalExpectation("highlightPurple", false);
17061
- const peg$e81 = peg$literalExpectation("highlightPink", false);
17062
- const peg$e82 = peg$literalExpectation("highlightBrown", false);
17063
- const peg$e83 = peg$literalExpectation("highlightBlack", false);
17064
- const peg$e84 = peg$literalExpectation("highlightWhite", false);
17065
- const peg$e85 = peg$literalExpectation("highlightGray", false);
17066
- const peg$e86 = peg$literalExpectation("highlight", false);
17067
- const peg$e87 = peg$literalExpectation("strike", false);
17068
- const peg$e88 = peg$literalExpectation("subscript", false);
17069
- const peg$e89 = peg$literalExpectation("superscript", false);
17070
- const peg$e90 = peg$literalExpectation("ins", false);
17071
- const peg$e91 = peg$literalExpectation("del", false);
17072
- const peg$e92 = peg$literalExpectation("underline", false);
17073
- const peg$e93 = peg$literalExpectation("doubleUnderline", false);
17074
- const peg$e94 = peg$literalExpectation("circle", false);
17075
- const peg$e95 = peg$literalExpectation("languageEmRed", false);
17076
- const peg$e96 = peg$literalExpectation("languageEmOrange", false);
17077
- const peg$e97 = peg$literalExpectation("languageEmYellow", false);
17078
- const peg$e98 = peg$literalExpectation("languageEmGreen", false);
17079
- const peg$e99 = peg$literalExpectation("languageEmBlue", false);
17080
- const peg$e100 = peg$literalExpectation("languageEmPurple", false);
17081
- const peg$e101 = peg$literalExpectation("languageEmPink", false);
17082
- const peg$e102 = peg$literalExpectation("languageEmBrown", false);
17083
- const peg$e103 = peg$literalExpectation("languageEmBlack", false);
17084
- const peg$e104 = peg$literalExpectation("languageEmWhite", false);
17085
- const peg$e105 = peg$literalExpectation("languageEmGray", false);
17086
- const peg$e106 = peg$literalExpectation("languageEm", false);
17087
- const peg$e107 = peg$literalExpectation("userUnderline", false);
17088
- const peg$e108 = peg$literalExpectation("userDoubleUnderline", false);
17089
- const peg$e109 = peg$literalExpectation("userStrike", false);
17090
- const peg$e110 = peg$literalExpectation("userCircle", false);
17091
- const peg$e111 = peg$literalExpectation("userHighlight", false);
17092
- const peg$e112 = peg$literalExpectation("notranslate", false);
17093
- const peg$e113 = peg$literalExpectation("aqua", false);
17094
- const peg$e114 = peg$literalExpectation("black", false);
17095
- const peg$e115 = peg$literalExpectation("blue", false);
17096
- const peg$e116 = peg$literalExpectation("brown", false);
17097
- const peg$e117 = peg$literalExpectation("fuchsia", false);
17098
- const peg$e118 = peg$literalExpectation("lightgrey", false);
17099
- const peg$e119 = peg$literalExpectation("gray", false);
17100
- const peg$e120 = peg$literalExpectation("darkgray", false);
17101
- const peg$e121 = peg$literalExpectation("green", false);
17102
- const peg$e122 = peg$literalExpectation("lime", false);
17103
- const peg$e123 = peg$literalExpectation("magenta", false);
17104
- const peg$e124 = peg$literalExpectation("maroon", false);
17105
- const peg$e125 = peg$literalExpectation("navy", false);
17106
- const peg$e126 = peg$literalExpectation("olive", false);
17107
- const peg$e127 = peg$literalExpectation("orange", false);
17108
- const peg$e128 = peg$literalExpectation("pink", false);
17109
- const peg$e129 = peg$literalExpectation("purple", false);
17110
- const peg$e130 = peg$literalExpectation("red", false);
17111
- const peg$e131 = peg$literalExpectation("silver", false);
17112
- const peg$e132 = peg$literalExpectation("teal", false);
17113
- const peg$e133 = peg$literalExpectation("violet", false);
17114
- const peg$e134 = peg$literalExpectation("white", false);
17115
- const peg$e135 = peg$literalExpectation("yellow", false);
17116
- const peg$e136 = peg$literalExpectation("*", false);
17117
- const peg$e137 = peg$literalExpectation("_", false);
17118
- const peg$e138 = peg$literalExpectation("`", false);
17119
- const peg$e139 = peg$literalExpectation("!", false);
17120
- const peg$e140 = peg$literalExpectation("[!", false);
17121
- const peg$e141 = peg$literalExpectation("]", false);
17122
- const peg$e142 = peg$otherExpectation("Line Terminator");
17123
- const peg$e143 = peg$literalExpectation("\n", false);
17124
- const peg$e144 = peg$literalExpectation("\r\n", false);
17125
- const peg$e145 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
17126
- const peg$e146 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
17127
- const peg$e147 = peg$literalExpectation("http", false);
17128
- const peg$e148 = peg$literalExpectation("s", false);
17129
- const peg$e149 = peg$literalExpectation("://", false);
17130
- const peg$e150 = peg$literalExpectation("mailto:", false);
17131
- const peg$e151 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
17154
+ const peg$e67 = peg$literalExpectation("duration:", false);
17155
+ const peg$e68 = peg$literalExpectation("P", false);
17156
+ const peg$e69 = peg$literalExpectation("timer:", false);
17157
+ const peg$e70 = peg$literalExpectation("highlight", false);
17158
+ const peg$e71 = peg$literalExpectation("color:", false);
17159
+ const peg$e72 = peg$literalExpectation("userHighlight", false);
17160
+ const peg$e73 = peg$literalExpectation("colorPicker:", false);
17161
+ const peg$e74 = peg$literalExpectation("|\u25BA", false);
17162
+ const peg$e75 = peg$literalExpectation("bold", false);
17163
+ const peg$e76 = peg$literalExpectation("italic", false);
17164
+ const peg$e77 = peg$literalExpectation("light", false);
17165
+ const peg$e78 = peg$literalExpectation("highlightOrange", false);
17166
+ const peg$e79 = peg$literalExpectation("highlightYellow", false);
17167
+ const peg$e80 = peg$literalExpectation("highlightGreen", false);
17168
+ const peg$e81 = peg$literalExpectation("highlightBlue", false);
17169
+ const peg$e82 = peg$literalExpectation("highlightPurple", false);
17170
+ const peg$e83 = peg$literalExpectation("highlightPink", false);
17171
+ const peg$e84 = peg$literalExpectation("highlightBrown", false);
17172
+ const peg$e85 = peg$literalExpectation("highlightBlack", false);
17173
+ const peg$e86 = peg$literalExpectation("highlightWhite", false);
17174
+ const peg$e87 = peg$literalExpectation("highlightGray", false);
17175
+ const peg$e88 = peg$literalExpectation("strike", false);
17176
+ const peg$e89 = peg$literalExpectation("subscript", false);
17177
+ const peg$e90 = peg$literalExpectation("superscript", false);
17178
+ const peg$e91 = peg$literalExpectation("ins", false);
17179
+ const peg$e92 = peg$literalExpectation("del", false);
17180
+ const peg$e93 = peg$literalExpectation("underline", false);
17181
+ const peg$e94 = peg$literalExpectation("doubleUnderline", false);
17182
+ const peg$e95 = peg$literalExpectation("smallcaps", false);
17183
+ const peg$e96 = peg$literalExpectation("circle", false);
17184
+ const peg$e97 = peg$literalExpectation("languageEmRed", false);
17185
+ const peg$e98 = peg$literalExpectation("languageEmOrange", false);
17186
+ const peg$e99 = peg$literalExpectation("languageEmYellow", false);
17187
+ const peg$e100 = peg$literalExpectation("languageEmGreen", false);
17188
+ const peg$e101 = peg$literalExpectation("languageEmBlue", false);
17189
+ const peg$e102 = peg$literalExpectation("languageEmPurple", false);
17190
+ const peg$e103 = peg$literalExpectation("languageEmPink", false);
17191
+ const peg$e104 = peg$literalExpectation("languageEmBrown", false);
17192
+ const peg$e105 = peg$literalExpectation("languageEmBlack", false);
17193
+ const peg$e106 = peg$literalExpectation("languageEmWhite", false);
17194
+ const peg$e107 = peg$literalExpectation("languageEmGray", false);
17195
+ const peg$e108 = peg$literalExpectation("languageEm", false);
17196
+ const peg$e109 = peg$literalExpectation("userUnderline", false);
17197
+ const peg$e110 = peg$literalExpectation("userDoubleUnderline", false);
17198
+ const peg$e111 = peg$literalExpectation("userStrike", false);
17199
+ const peg$e112 = peg$literalExpectation("userCircle", false);
17200
+ const peg$e113 = peg$literalExpectation("notranslate", false);
17201
+ const peg$e114 = peg$literalExpectation("aqua", false);
17202
+ const peg$e115 = peg$literalExpectation("black", false);
17203
+ const peg$e116 = peg$literalExpectation("blue", false);
17204
+ const peg$e117 = peg$literalExpectation("brown", false);
17205
+ const peg$e118 = peg$literalExpectation("fuchsia", false);
17206
+ const peg$e119 = peg$literalExpectation("lightgrey", false);
17207
+ const peg$e120 = peg$literalExpectation("gray", false);
17208
+ const peg$e121 = peg$literalExpectation("darkgray", false);
17209
+ const peg$e122 = peg$literalExpectation("green", false);
17210
+ const peg$e123 = peg$literalExpectation("lime", false);
17211
+ const peg$e124 = peg$literalExpectation("magenta", false);
17212
+ const peg$e125 = peg$literalExpectation("maroon", false);
17213
+ const peg$e126 = peg$literalExpectation("navy", false);
17214
+ const peg$e127 = peg$literalExpectation("olive", false);
17215
+ const peg$e128 = peg$literalExpectation("orange", false);
17216
+ const peg$e129 = peg$literalExpectation("pink", false);
17217
+ const peg$e130 = peg$literalExpectation("purple", false);
17218
+ const peg$e131 = peg$literalExpectation("red", false);
17219
+ const peg$e132 = peg$literalExpectation("silver", false);
17220
+ const peg$e133 = peg$literalExpectation("teal", false);
17221
+ const peg$e134 = peg$literalExpectation("violet", false);
17222
+ const peg$e135 = peg$literalExpectation("white", false);
17223
+ const peg$e136 = peg$literalExpectation("yellow", false);
17224
+ const peg$e137 = peg$literalExpectation("*", false);
17225
+ const peg$e138 = peg$literalExpectation("_", false);
17226
+ const peg$e139 = peg$literalExpectation("`", false);
17227
+ const peg$e140 = peg$literalExpectation("!", false);
17228
+ const peg$e141 = peg$literalExpectation("[!", false);
17229
+ const peg$e142 = peg$literalExpectation("]", false);
17230
+ const peg$e143 = peg$otherExpectation("Line Terminator");
17231
+ const peg$e144 = peg$literalExpectation("\n", false);
17232
+ const peg$e145 = peg$literalExpectation("\r\n", false);
17233
+ const peg$e146 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
17234
+ const peg$e147 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
17235
+ const peg$e148 = peg$literalExpectation("http", false);
17236
+ const peg$e149 = peg$literalExpectation("s", false);
17237
+ const peg$e150 = peg$literalExpectation("://", false);
17238
+ const peg$e151 = peg$literalExpectation("mailto:", false);
17239
+ const peg$e152 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
17132
17240
  function peg$f0() {
17133
17241
  return VERSION;
17134
17242
  }
@@ -17404,7 +17512,7 @@ function peg$parse(input, options) {
17404
17512
  return { attrs: { formula: unbreakscape(t) }, type: "latex" };
17405
17513
  }
17406
17514
  function peg$f57(alt, u, ch) {
17407
- return { attrs: { alt, src: (u.pr + u.t).trim(), ...Object.assign({}, ...ch), zoomDisabled: true }, type: "imageInline" };
17515
+ return { attrs: { alt, src: (u.pr + u.t).trim(), "alignmentVertical": "top", size: "line-height", ...Object.assign({}, ...ch), zoomDisabled: true }, type: "imageInline" };
17408
17516
  }
17409
17517
  function peg$f58(t, marks) {
17410
17518
  if (!marks) marks = [];
@@ -17483,59 +17591,62 @@ function peg$parse(input, options) {
17483
17591
  function peg$f82(lang) {
17484
17592
  return { type: "code", attrs: { language: lang.trim().toLowerCase() } };
17485
17593
  }
17486
- function peg$f83() {
17487
- return { type: "timer", attrs: { name: "" } };
17594
+ function peg$f83(d) {
17595
+ return { type: "timer", attrs: { name: "", duration: d.trim() } };
17488
17596
  }
17489
- function peg$f84(str) {
17490
- return { type: "timer", attrs: { name: str.trim() } };
17597
+ function peg$f84(str, d) {
17598
+ return { type: "timer", attrs: { name: str.trim(), duration: d.trim() } };
17491
17599
  }
17492
- function peg$f85(str) {
17493
- return { type: "duration", attrs: { duration: str } };
17600
+ function peg$f85(color) {
17601
+ return { type: "highlight", attrs: { color } };
17494
17602
  }
17495
17603
  function peg$f86(color) {
17496
- return { type: "color", attrs: { color } };
17604
+ return { type: "userHighlight", attrs: { color } };
17605
+ }
17606
+ function peg$f87(color) {
17607
+ return { type: "textStyle", attrs: { color } };
17497
17608
  }
17498
- function peg$f87(str) {
17609
+ function peg$f88(str) {
17499
17610
  return { type: "colorPicker", attrs: { propertyRef: str.trim() } };
17500
17611
  }
17501
- function peg$f88(style) {
17612
+ function peg$f89(style) {
17502
17613
  return { type: style };
17503
17614
  }
17504
- function peg$f89(str) {
17615
+ function peg$f90(str) {
17505
17616
  return { type: "comment", comment: str };
17506
17617
  }
17507
- function peg$f90(r) {
17618
+ function peg$f91(r) {
17508
17619
  return r.trim();
17509
17620
  }
17510
- function peg$f91(bs) {
17621
+ function peg$f92(bs) {
17511
17622
  return [{ type: "paragraph", content: bs, attrs: {} }];
17512
17623
  }
17513
- function peg$f92(first, more) {
17624
+ function peg$f93(first, more) {
17514
17625
  const cleaned_ = cleanEmptyTextNodes(first ? [first, ...more.flat()] : more.flat());
17515
17626
  return cleaned_;
17516
17627
  }
17517
- function peg$f93() {
17628
+ function peg$f94() {
17518
17629
  return { "type": "hardBreak" };
17519
17630
  }
17520
- function peg$f94(t) {
17631
+ function peg$f95(t) {
17521
17632
  return { text: unbreakscape(t), type: "text" };
17522
17633
  }
17523
- function peg$f95(t) {
17634
+ function peg$f96(t) {
17524
17635
  return { index: +t, type: "bit" };
17525
17636
  }
17526
- function peg$f96(t) {
17637
+ function peg$f97(t) {
17527
17638
  return { marks: [{ type: "bold" }], text: unbreakscape(t), type: "text" };
17528
17639
  }
17529
- function peg$f97(t) {
17640
+ function peg$f98(t) {
17530
17641
  return { marks: [{ type: "italic" }], text: unbreakscape(t), type: "text" };
17531
17642
  }
17532
- function peg$f98(t) {
17643
+ function peg$f99(t) {
17533
17644
  return { marks: [{ type: "light" }], text: unbreakscape(t), type: "text" };
17534
17645
  }
17535
- function peg$f99(t) {
17646
+ function peg$f100(t) {
17536
17647
  return { marks: [{ type: "highlight" }], text: unbreakscape(t), type: "text" };
17537
17648
  }
17538
- function peg$f100(pr, t) {
17649
+ function peg$f101(pr, t) {
17539
17650
  return { pr, t };
17540
17651
  }
17541
17652
  let peg$currPos = options.peg$currPos | 0;
@@ -22292,7 +22403,7 @@ function peg$parse(input, options) {
22292
22403
  return s0;
22293
22404
  }
22294
22405
  function peg$parseAttrChainItem() {
22295
- let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
22406
+ let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;
22296
22407
  s0 = peg$currPos;
22297
22408
  if (input.substr(peg$currPos, 5) === peg$c52) {
22298
22409
  s1 = peg$c52;
@@ -23249,7 +23360,109 @@ function peg$parse(input, options) {
23249
23360
  if (s1 !== peg$FAILED) {
23250
23361
  s2 = peg$parseBlockTag();
23251
23362
  if (s2 !== peg$FAILED) {
23252
- s0 = peg$f83();
23363
+ if (input.substr(peg$currPos, 9) === peg$c63) {
23364
+ s3 = peg$c63;
23365
+ peg$currPos += 9;
23366
+ } else {
23367
+ s3 = peg$FAILED;
23368
+ if (peg$silentFails === 0) {
23369
+ peg$fail(peg$e67);
23370
+ }
23371
+ }
23372
+ if (s3 !== peg$FAILED) {
23373
+ s4 = peg$currPos;
23374
+ s5 = peg$currPos;
23375
+ if (input.charCodeAt(peg$currPos) === 80) {
23376
+ s6 = peg$c64;
23377
+ peg$currPos++;
23378
+ } else {
23379
+ s6 = peg$FAILED;
23380
+ if (peg$silentFails === 0) {
23381
+ peg$fail(peg$e68);
23382
+ }
23383
+ }
23384
+ if (s6 !== peg$FAILED) {
23385
+ s7 = peg$currPos;
23386
+ s8 = [];
23387
+ s9 = peg$currPos;
23388
+ s10 = peg$currPos;
23389
+ peg$silentFails++;
23390
+ s11 = peg$parseBlockTag();
23391
+ peg$silentFails--;
23392
+ if (s11 === peg$FAILED) {
23393
+ s10 = void 0;
23394
+ } else {
23395
+ peg$currPos = s10;
23396
+ s10 = peg$FAILED;
23397
+ }
23398
+ if (s10 !== peg$FAILED) {
23399
+ s11 = peg$parsechar();
23400
+ if (s11 !== peg$FAILED) {
23401
+ s10 = [s10, s11];
23402
+ s9 = s10;
23403
+ } else {
23404
+ peg$currPos = s9;
23405
+ s9 = peg$FAILED;
23406
+ }
23407
+ } else {
23408
+ peg$currPos = s9;
23409
+ s9 = peg$FAILED;
23410
+ }
23411
+ while (s9 !== peg$FAILED) {
23412
+ s8.push(s9);
23413
+ s9 = peg$currPos;
23414
+ s10 = peg$currPos;
23415
+ peg$silentFails++;
23416
+ s11 = peg$parseBlockTag();
23417
+ peg$silentFails--;
23418
+ if (s11 === peg$FAILED) {
23419
+ s10 = void 0;
23420
+ } else {
23421
+ peg$currPos = s10;
23422
+ s10 = peg$FAILED;
23423
+ }
23424
+ if (s10 !== peg$FAILED) {
23425
+ s11 = peg$parsechar();
23426
+ if (s11 !== peg$FAILED) {
23427
+ s10 = [s10, s11];
23428
+ s9 = s10;
23429
+ } else {
23430
+ peg$currPos = s9;
23431
+ s9 = peg$FAILED;
23432
+ }
23433
+ } else {
23434
+ peg$currPos = s9;
23435
+ s9 = peg$FAILED;
23436
+ }
23437
+ }
23438
+ s7 = input.substring(s7, peg$currPos);
23439
+ s6 = [s6, s7];
23440
+ s5 = s6;
23441
+ } else {
23442
+ peg$currPos = s5;
23443
+ s5 = peg$FAILED;
23444
+ }
23445
+ if (s5 !== peg$FAILED) {
23446
+ s4 = input.substring(s4, peg$currPos);
23447
+ } else {
23448
+ s4 = s5;
23449
+ }
23450
+ if (s4 !== peg$FAILED) {
23451
+ s5 = peg$parseBlockTag();
23452
+ if (s5 !== peg$FAILED) {
23453
+ s0 = peg$f83(s4);
23454
+ } else {
23455
+ peg$currPos = s0;
23456
+ s0 = peg$FAILED;
23457
+ }
23458
+ } else {
23459
+ peg$currPos = s0;
23460
+ s0 = peg$FAILED;
23461
+ }
23462
+ } else {
23463
+ peg$currPos = s0;
23464
+ s0 = peg$FAILED;
23465
+ }
23253
23466
  } else {
23254
23467
  peg$currPos = s0;
23255
23468
  s0 = peg$FAILED;
@@ -23260,13 +23473,13 @@ function peg$parse(input, options) {
23260
23473
  }
23261
23474
  if (s0 === peg$FAILED) {
23262
23475
  s0 = peg$currPos;
23263
- if (input.substr(peg$currPos, 6) === peg$c63) {
23264
- s1 = peg$c63;
23476
+ if (input.substr(peg$currPos, 6) === peg$c65) {
23477
+ s1 = peg$c65;
23265
23478
  peg$currPos += 6;
23266
23479
  } else {
23267
23480
  s1 = peg$FAILED;
23268
23481
  if (peg$silentFails === 0) {
23269
- peg$fail(peg$e67);
23482
+ peg$fail(peg$e69);
23270
23483
  }
23271
23484
  }
23272
23485
  if (s1 !== peg$FAILED) {
@@ -23326,108 +23539,154 @@ function peg$parse(input, options) {
23326
23539
  s2 = input.substring(s2, peg$currPos);
23327
23540
  s3 = peg$parseBlockTag();
23328
23541
  if (s3 !== peg$FAILED) {
23329
- s0 = peg$f84(s2);
23330
- } else {
23331
- peg$currPos = s0;
23332
- s0 = peg$FAILED;
23333
- }
23334
- } else {
23335
- peg$currPos = s0;
23336
- s0 = peg$FAILED;
23337
- }
23338
- if (s0 === peg$FAILED) {
23339
- s0 = peg$currPos;
23340
- if (input.substr(peg$currPos, 9) === peg$c64) {
23341
- s1 = peg$c64;
23342
- peg$currPos += 9;
23343
- } else {
23344
- s1 = peg$FAILED;
23345
- if (peg$silentFails === 0) {
23346
- peg$fail(peg$e68);
23347
- }
23348
- }
23349
- if (s1 !== peg$FAILED) {
23350
- s2 = peg$currPos;
23351
- s3 = peg$currPos;
23352
- if (input.charCodeAt(peg$currPos) === 80) {
23353
- s4 = peg$c65;
23354
- peg$currPos++;
23542
+ if (input.substr(peg$currPos, 9) === peg$c63) {
23543
+ s4 = peg$c63;
23544
+ peg$currPos += 9;
23355
23545
  } else {
23356
23546
  s4 = peg$FAILED;
23357
23547
  if (peg$silentFails === 0) {
23358
- peg$fail(peg$e69);
23548
+ peg$fail(peg$e67);
23359
23549
  }
23360
23550
  }
23361
23551
  if (s4 !== peg$FAILED) {
23362
23552
  s5 = peg$currPos;
23363
- s6 = [];
23364
- s7 = peg$currPos;
23365
- s8 = peg$currPos;
23366
- peg$silentFails++;
23367
- s9 = peg$parseBlockTag();
23368
- peg$silentFails--;
23369
- if (s9 === peg$FAILED) {
23370
- s8 = void 0;
23553
+ s6 = peg$currPos;
23554
+ if (input.charCodeAt(peg$currPos) === 80) {
23555
+ s7 = peg$c64;
23556
+ peg$currPos++;
23371
23557
  } else {
23372
- peg$currPos = s8;
23373
- s8 = peg$FAILED;
23374
- }
23375
- if (s8 !== peg$FAILED) {
23376
- s9 = peg$parsechar();
23377
- if (s9 !== peg$FAILED) {
23378
- s8 = [s8, s9];
23379
- s7 = s8;
23380
- } else {
23381
- peg$currPos = s7;
23382
- s7 = peg$FAILED;
23383
- }
23384
- } else {
23385
- peg$currPos = s7;
23386
23558
  s7 = peg$FAILED;
23559
+ if (peg$silentFails === 0) {
23560
+ peg$fail(peg$e68);
23561
+ }
23387
23562
  }
23388
- while (s7 !== peg$FAILED) {
23389
- s6.push(s7);
23390
- s7 = peg$currPos;
23563
+ if (s7 !== peg$FAILED) {
23391
23564
  s8 = peg$currPos;
23565
+ s9 = [];
23566
+ s10 = peg$currPos;
23567
+ s11 = peg$currPos;
23392
23568
  peg$silentFails++;
23393
- s9 = peg$parseBlockTag();
23569
+ s12 = peg$parseBlockTag();
23394
23570
  peg$silentFails--;
23395
- if (s9 === peg$FAILED) {
23396
- s8 = void 0;
23571
+ if (s12 === peg$FAILED) {
23572
+ s11 = void 0;
23397
23573
  } else {
23398
- peg$currPos = s8;
23399
- s8 = peg$FAILED;
23574
+ peg$currPos = s11;
23575
+ s11 = peg$FAILED;
23400
23576
  }
23401
- if (s8 !== peg$FAILED) {
23402
- s9 = peg$parsechar();
23403
- if (s9 !== peg$FAILED) {
23404
- s8 = [s8, s9];
23405
- s7 = s8;
23577
+ if (s11 !== peg$FAILED) {
23578
+ s12 = peg$parsechar();
23579
+ if (s12 !== peg$FAILED) {
23580
+ s11 = [s11, s12];
23581
+ s10 = s11;
23406
23582
  } else {
23407
- peg$currPos = s7;
23408
- s7 = peg$FAILED;
23583
+ peg$currPos = s10;
23584
+ s10 = peg$FAILED;
23409
23585
  }
23410
23586
  } else {
23411
- peg$currPos = s7;
23412
- s7 = peg$FAILED;
23587
+ peg$currPos = s10;
23588
+ s10 = peg$FAILED;
23413
23589
  }
23590
+ while (s10 !== peg$FAILED) {
23591
+ s9.push(s10);
23592
+ s10 = peg$currPos;
23593
+ s11 = peg$currPos;
23594
+ peg$silentFails++;
23595
+ s12 = peg$parseBlockTag();
23596
+ peg$silentFails--;
23597
+ if (s12 === peg$FAILED) {
23598
+ s11 = void 0;
23599
+ } else {
23600
+ peg$currPos = s11;
23601
+ s11 = peg$FAILED;
23602
+ }
23603
+ if (s11 !== peg$FAILED) {
23604
+ s12 = peg$parsechar();
23605
+ if (s12 !== peg$FAILED) {
23606
+ s11 = [s11, s12];
23607
+ s10 = s11;
23608
+ } else {
23609
+ peg$currPos = s10;
23610
+ s10 = peg$FAILED;
23611
+ }
23612
+ } else {
23613
+ peg$currPos = s10;
23614
+ s10 = peg$FAILED;
23615
+ }
23616
+ }
23617
+ s8 = input.substring(s8, peg$currPos);
23618
+ s7 = [s7, s8];
23619
+ s6 = s7;
23620
+ } else {
23621
+ peg$currPos = s6;
23622
+ s6 = peg$FAILED;
23623
+ }
23624
+ if (s6 !== peg$FAILED) {
23625
+ s5 = input.substring(s5, peg$currPos);
23626
+ } else {
23627
+ s5 = s6;
23628
+ }
23629
+ if (s5 !== peg$FAILED) {
23630
+ s6 = peg$parseBlockTag();
23631
+ if (s6 !== peg$FAILED) {
23632
+ s0 = peg$f84(s2, s5);
23633
+ } else {
23634
+ peg$currPos = s0;
23635
+ s0 = peg$FAILED;
23636
+ }
23637
+ } else {
23638
+ peg$currPos = s0;
23639
+ s0 = peg$FAILED;
23414
23640
  }
23415
- s5 = input.substring(s5, peg$currPos);
23416
- s4 = [s4, s5];
23417
- s3 = s4;
23418
23641
  } else {
23419
- peg$currPos = s3;
23420
- s3 = peg$FAILED;
23642
+ peg$currPos = s0;
23643
+ s0 = peg$FAILED;
23421
23644
  }
23422
- if (s3 !== peg$FAILED) {
23423
- s2 = input.substring(s2, peg$currPos);
23424
- } else {
23425
- s2 = s3;
23645
+ } else {
23646
+ peg$currPos = s0;
23647
+ s0 = peg$FAILED;
23648
+ }
23649
+ } else {
23650
+ peg$currPos = s0;
23651
+ s0 = peg$FAILED;
23652
+ }
23653
+ if (s0 === peg$FAILED) {
23654
+ s0 = peg$currPos;
23655
+ if (input.substr(peg$currPos, 9) === peg$c66) {
23656
+ s1 = peg$c66;
23657
+ peg$currPos += 9;
23658
+ } else {
23659
+ s1 = peg$FAILED;
23660
+ if (peg$silentFails === 0) {
23661
+ peg$fail(peg$e70);
23426
23662
  }
23663
+ }
23664
+ if (s1 !== peg$FAILED) {
23665
+ s2 = peg$parseBlockTag();
23427
23666
  if (s2 !== peg$FAILED) {
23428
- s3 = peg$parseBlockTag();
23667
+ if (input.substr(peg$currPos, 6) === peg$c67) {
23668
+ s3 = peg$c67;
23669
+ peg$currPos += 6;
23670
+ } else {
23671
+ s3 = peg$FAILED;
23672
+ if (peg$silentFails === 0) {
23673
+ peg$fail(peg$e71);
23674
+ }
23675
+ }
23429
23676
  if (s3 !== peg$FAILED) {
23430
- s0 = peg$f85(s2);
23677
+ s4 = peg$parseHighlightColor();
23678
+ if (s4 !== peg$FAILED) {
23679
+ s5 = peg$parseBlockTag();
23680
+ if (s5 !== peg$FAILED) {
23681
+ s0 = peg$f85(s4);
23682
+ } else {
23683
+ peg$currPos = s0;
23684
+ s0 = peg$FAILED;
23685
+ }
23686
+ } else {
23687
+ peg$currPos = s0;
23688
+ s0 = peg$FAILED;
23689
+ }
23431
23690
  } else {
23432
23691
  peg$currPos = s0;
23433
23692
  s0 = peg$FAILED;
@@ -23442,21 +23701,41 @@ function peg$parse(input, options) {
23442
23701
  }
23443
23702
  if (s0 === peg$FAILED) {
23444
23703
  s0 = peg$currPos;
23445
- if (input.substr(peg$currPos, 6) === peg$c66) {
23446
- s1 = peg$c66;
23447
- peg$currPos += 6;
23704
+ if (input.substr(peg$currPos, 13) === peg$c68) {
23705
+ s1 = peg$c68;
23706
+ peg$currPos += 13;
23448
23707
  } else {
23449
23708
  s1 = peg$FAILED;
23450
23709
  if (peg$silentFails === 0) {
23451
- peg$fail(peg$e70);
23710
+ peg$fail(peg$e72);
23452
23711
  }
23453
23712
  }
23454
23713
  if (s1 !== peg$FAILED) {
23455
- s2 = peg$parseColor();
23714
+ s2 = peg$parseBlockTag();
23456
23715
  if (s2 !== peg$FAILED) {
23457
- s3 = peg$parseBlockTag();
23716
+ if (input.substr(peg$currPos, 6) === peg$c67) {
23717
+ s3 = peg$c67;
23718
+ peg$currPos += 6;
23719
+ } else {
23720
+ s3 = peg$FAILED;
23721
+ if (peg$silentFails === 0) {
23722
+ peg$fail(peg$e71);
23723
+ }
23724
+ }
23458
23725
  if (s3 !== peg$FAILED) {
23459
- s0 = peg$f86(s2);
23726
+ s4 = peg$parseHighlightColor();
23727
+ if (s4 !== peg$FAILED) {
23728
+ s5 = peg$parseBlockTag();
23729
+ if (s5 !== peg$FAILED) {
23730
+ s0 = peg$f86(s4);
23731
+ } else {
23732
+ peg$currPos = s0;
23733
+ s0 = peg$FAILED;
23734
+ }
23735
+ } else {
23736
+ peg$currPos = s0;
23737
+ s0 = peg$FAILED;
23738
+ }
23460
23739
  } else {
23461
23740
  peg$currPos = s0;
23462
23741
  s0 = peg$FAILED;
@@ -23471,9 +23750,9 @@ function peg$parse(input, options) {
23471
23750
  }
23472
23751
  if (s0 === peg$FAILED) {
23473
23752
  s0 = peg$currPos;
23474
- if (input.substr(peg$currPos, 12) === peg$c67) {
23753
+ if (input.substr(peg$currPos, 6) === peg$c67) {
23475
23754
  s1 = peg$c67;
23476
- peg$currPos += 12;
23755
+ peg$currPos += 6;
23477
23756
  } else {
23478
23757
  s1 = peg$FAILED;
23479
23758
  if (peg$silentFails === 0) {
@@ -23481,34 +23760,37 @@ function peg$parse(input, options) {
23481
23760
  }
23482
23761
  }
23483
23762
  if (s1 !== peg$FAILED) {
23484
- s2 = peg$currPos;
23485
- s3 = [];
23486
- s4 = peg$currPos;
23487
- s5 = peg$currPos;
23488
- peg$silentFails++;
23489
- s6 = peg$parseBlockTag();
23490
- peg$silentFails--;
23491
- if (s6 === peg$FAILED) {
23492
- s5 = void 0;
23493
- } else {
23494
- peg$currPos = s5;
23495
- s5 = peg$FAILED;
23496
- }
23497
- if (s5 !== peg$FAILED) {
23498
- s6 = peg$parsechar();
23499
- if (s6 !== peg$FAILED) {
23500
- s5 = [s5, s6];
23501
- s4 = s5;
23763
+ s2 = peg$parseColor();
23764
+ if (s2 !== peg$FAILED) {
23765
+ s3 = peg$parseBlockTag();
23766
+ if (s3 !== peg$FAILED) {
23767
+ s0 = peg$f87(s2);
23502
23768
  } else {
23503
- peg$currPos = s4;
23504
- s4 = peg$FAILED;
23769
+ peg$currPos = s0;
23770
+ s0 = peg$FAILED;
23505
23771
  }
23506
23772
  } else {
23507
- peg$currPos = s4;
23508
- s4 = peg$FAILED;
23773
+ peg$currPos = s0;
23774
+ s0 = peg$FAILED;
23509
23775
  }
23510
- while (s4 !== peg$FAILED) {
23511
- s3.push(s4);
23776
+ } else {
23777
+ peg$currPos = s0;
23778
+ s0 = peg$FAILED;
23779
+ }
23780
+ if (s0 === peg$FAILED) {
23781
+ s0 = peg$currPos;
23782
+ if (input.substr(peg$currPos, 12) === peg$c69) {
23783
+ s1 = peg$c69;
23784
+ peg$currPos += 12;
23785
+ } else {
23786
+ s1 = peg$FAILED;
23787
+ if (peg$silentFails === 0) {
23788
+ peg$fail(peg$e73);
23789
+ }
23790
+ }
23791
+ if (s1 !== peg$FAILED) {
23792
+ s2 = peg$currPos;
23793
+ s3 = [];
23512
23794
  s4 = peg$currPos;
23513
23795
  s5 = peg$currPos;
23514
23796
  peg$silentFails++;
@@ -23533,48 +23815,8 @@ function peg$parse(input, options) {
23533
23815
  peg$currPos = s4;
23534
23816
  s4 = peg$FAILED;
23535
23817
  }
23536
- }
23537
- s2 = input.substring(s2, peg$currPos);
23538
- s3 = peg$parseBlockTag();
23539
- if (s3 !== peg$FAILED) {
23540
- s0 = peg$f87(s2);
23541
- } else {
23542
- peg$currPos = s0;
23543
- s0 = peg$FAILED;
23544
- }
23545
- } else {
23546
- peg$currPos = s0;
23547
- s0 = peg$FAILED;
23548
- }
23549
- if (s0 === peg$FAILED) {
23550
- s0 = peg$currPos;
23551
- s1 = peg$parseAlternativeStyleTags();
23552
- if (s1 !== peg$FAILED) {
23553
- s2 = peg$parseBlockTag();
23554
- if (s2 !== peg$FAILED) {
23555
- s0 = peg$f88(s1);
23556
- } else {
23557
- peg$currPos = s0;
23558
- s0 = peg$FAILED;
23559
- }
23560
- } else {
23561
- peg$currPos = s0;
23562
- s0 = peg$FAILED;
23563
- }
23564
- if (s0 === peg$FAILED) {
23565
- s0 = peg$currPos;
23566
- if (input.charCodeAt(peg$currPos) === 35) {
23567
- s1 = peg$c21;
23568
- peg$currPos++;
23569
- } else {
23570
- s1 = peg$FAILED;
23571
- if (peg$silentFails === 0) {
23572
- peg$fail(peg$e25);
23573
- }
23574
- }
23575
- if (s1 !== peg$FAILED) {
23576
- s2 = peg$currPos;
23577
- s3 = [];
23818
+ while (s4 !== peg$FAILED) {
23819
+ s3.push(s4);
23578
23820
  s4 = peg$currPos;
23579
23821
  s5 = peg$currPos;
23580
23822
  peg$silentFails++;
@@ -23599,8 +23841,48 @@ function peg$parse(input, options) {
23599
23841
  peg$currPos = s4;
23600
23842
  s4 = peg$FAILED;
23601
23843
  }
23602
- while (s4 !== peg$FAILED) {
23603
- s3.push(s4);
23844
+ }
23845
+ s2 = input.substring(s2, peg$currPos);
23846
+ s3 = peg$parseBlockTag();
23847
+ if (s3 !== peg$FAILED) {
23848
+ s0 = peg$f88(s2);
23849
+ } else {
23850
+ peg$currPos = s0;
23851
+ s0 = peg$FAILED;
23852
+ }
23853
+ } else {
23854
+ peg$currPos = s0;
23855
+ s0 = peg$FAILED;
23856
+ }
23857
+ if (s0 === peg$FAILED) {
23858
+ s0 = peg$currPos;
23859
+ s1 = peg$parseAlternativeStyleTags();
23860
+ if (s1 !== peg$FAILED) {
23861
+ s2 = peg$parseBlockTag();
23862
+ if (s2 !== peg$FAILED) {
23863
+ s0 = peg$f89(s1);
23864
+ } else {
23865
+ peg$currPos = s0;
23866
+ s0 = peg$FAILED;
23867
+ }
23868
+ } else {
23869
+ peg$currPos = s0;
23870
+ s0 = peg$FAILED;
23871
+ }
23872
+ if (s0 === peg$FAILED) {
23873
+ s0 = peg$currPos;
23874
+ if (input.charCodeAt(peg$currPos) === 35) {
23875
+ s1 = peg$c21;
23876
+ peg$currPos++;
23877
+ } else {
23878
+ s1 = peg$FAILED;
23879
+ if (peg$silentFails === 0) {
23880
+ peg$fail(peg$e25);
23881
+ }
23882
+ }
23883
+ if (s1 !== peg$FAILED) {
23884
+ s2 = peg$currPos;
23885
+ s3 = [];
23604
23886
  s4 = peg$currPos;
23605
23887
  s5 = peg$currPos;
23606
23888
  peg$silentFails++;
@@ -23625,18 +23907,45 @@ function peg$parse(input, options) {
23625
23907
  peg$currPos = s4;
23626
23908
  s4 = peg$FAILED;
23627
23909
  }
23628
- }
23629
- s2 = input.substring(s2, peg$currPos);
23630
- s3 = peg$parseBlockTag();
23631
- if (s3 !== peg$FAILED) {
23632
- s0 = peg$f89(s2);
23910
+ while (s4 !== peg$FAILED) {
23911
+ s3.push(s4);
23912
+ s4 = peg$currPos;
23913
+ s5 = peg$currPos;
23914
+ peg$silentFails++;
23915
+ s6 = peg$parseBlockTag();
23916
+ peg$silentFails--;
23917
+ if (s6 === peg$FAILED) {
23918
+ s5 = void 0;
23919
+ } else {
23920
+ peg$currPos = s5;
23921
+ s5 = peg$FAILED;
23922
+ }
23923
+ if (s5 !== peg$FAILED) {
23924
+ s6 = peg$parsechar();
23925
+ if (s6 !== peg$FAILED) {
23926
+ s5 = [s5, s6];
23927
+ s4 = s5;
23928
+ } else {
23929
+ peg$currPos = s4;
23930
+ s4 = peg$FAILED;
23931
+ }
23932
+ } else {
23933
+ peg$currPos = s4;
23934
+ s4 = peg$FAILED;
23935
+ }
23936
+ }
23937
+ s2 = input.substring(s2, peg$currPos);
23938
+ s3 = peg$parseBlockTag();
23939
+ if (s3 !== peg$FAILED) {
23940
+ s0 = peg$f90(s2);
23941
+ } else {
23942
+ peg$currPos = s0;
23943
+ s0 = peg$FAILED;
23944
+ }
23633
23945
  } else {
23634
23946
  peg$currPos = s0;
23635
23947
  s0 = peg$FAILED;
23636
23948
  }
23637
- } else {
23638
- peg$currPos = s0;
23639
- s0 = peg$FAILED;
23640
23949
  }
23641
23950
  }
23642
23951
  }
@@ -23670,13 +23979,13 @@ function peg$parse(input, options) {
23670
23979
  function peg$parseRef() {
23671
23980
  let s0, s1, s2, s3, s4, s5, s6;
23672
23981
  s0 = peg$currPos;
23673
- if (input.substr(peg$currPos, 2) === peg$c68) {
23674
- s1 = peg$c68;
23982
+ if (input.substr(peg$currPos, 2) === peg$c70) {
23983
+ s1 = peg$c70;
23675
23984
  peg$currPos += 2;
23676
23985
  } else {
23677
23986
  s1 = peg$FAILED;
23678
23987
  if (peg$silentFails === 0) {
23679
- peg$fail(peg$e72);
23988
+ peg$fail(peg$e74);
23680
23989
  }
23681
23990
  }
23682
23991
  if (s1 !== peg$FAILED) {
@@ -23734,7 +24043,7 @@ function peg$parse(input, options) {
23734
24043
  }
23735
24044
  }
23736
24045
  s2 = input.substring(s2, peg$currPos);
23737
- s0 = peg$f90(s2);
24046
+ s0 = peg$f91(s2);
23738
24047
  } else {
23739
24048
  peg$currPos = s0;
23740
24049
  s0 = peg$FAILED;
@@ -23743,403 +24052,414 @@ function peg$parse(input, options) {
23743
24052
  }
23744
24053
  function peg$parseAlternativeStyleTags() {
23745
24054
  let s0;
23746
- if (input.substr(peg$currPos, 4) === peg$c69) {
23747
- s0 = peg$c69;
24055
+ if (input.substr(peg$currPos, 4) === peg$c71) {
24056
+ s0 = peg$c71;
23748
24057
  peg$currPos += 4;
23749
24058
  } else {
23750
24059
  s0 = peg$FAILED;
23751
24060
  if (peg$silentFails === 0) {
23752
- peg$fail(peg$e73);
24061
+ peg$fail(peg$e75);
23753
24062
  }
23754
24063
  }
23755
24064
  if (s0 === peg$FAILED) {
23756
- if (input.substr(peg$currPos, 6) === peg$c70) {
23757
- s0 = peg$c70;
24065
+ if (input.substr(peg$currPos, 6) === peg$c72) {
24066
+ s0 = peg$c72;
23758
24067
  peg$currPos += 6;
23759
24068
  } else {
23760
24069
  s0 = peg$FAILED;
23761
24070
  if (peg$silentFails === 0) {
23762
- peg$fail(peg$e74);
24071
+ peg$fail(peg$e76);
23763
24072
  }
23764
24073
  }
23765
24074
  if (s0 === peg$FAILED) {
23766
- if (input.substr(peg$currPos, 5) === peg$c71) {
23767
- s0 = peg$c71;
24075
+ if (input.substr(peg$currPos, 5) === peg$c73) {
24076
+ s0 = peg$c73;
23768
24077
  peg$currPos += 5;
23769
24078
  } else {
23770
24079
  s0 = peg$FAILED;
23771
24080
  if (peg$silentFails === 0) {
23772
- peg$fail(peg$e75);
24081
+ peg$fail(peg$e77);
23773
24082
  }
23774
24083
  }
23775
24084
  if (s0 === peg$FAILED) {
23776
- if (input.substr(peg$currPos, 15) === peg$c72) {
23777
- s0 = peg$c72;
24085
+ if (input.substr(peg$currPos, 15) === peg$c74) {
24086
+ s0 = peg$c74;
23778
24087
  peg$currPos += 15;
23779
24088
  } else {
23780
24089
  s0 = peg$FAILED;
23781
24090
  if (peg$silentFails === 0) {
23782
- peg$fail(peg$e76);
24091
+ peg$fail(peg$e78);
23783
24092
  }
23784
24093
  }
23785
24094
  if (s0 === peg$FAILED) {
23786
- if (input.substr(peg$currPos, 15) === peg$c73) {
23787
- s0 = peg$c73;
24095
+ if (input.substr(peg$currPos, 15) === peg$c75) {
24096
+ s0 = peg$c75;
23788
24097
  peg$currPos += 15;
23789
24098
  } else {
23790
24099
  s0 = peg$FAILED;
23791
24100
  if (peg$silentFails === 0) {
23792
- peg$fail(peg$e77);
24101
+ peg$fail(peg$e79);
23793
24102
  }
23794
24103
  }
23795
24104
  if (s0 === peg$FAILED) {
23796
- if (input.substr(peg$currPos, 14) === peg$c74) {
23797
- s0 = peg$c74;
24105
+ if (input.substr(peg$currPos, 14) === peg$c76) {
24106
+ s0 = peg$c76;
23798
24107
  peg$currPos += 14;
23799
24108
  } else {
23800
24109
  s0 = peg$FAILED;
23801
24110
  if (peg$silentFails === 0) {
23802
- peg$fail(peg$e78);
24111
+ peg$fail(peg$e80);
23803
24112
  }
23804
24113
  }
23805
24114
  if (s0 === peg$FAILED) {
23806
- if (input.substr(peg$currPos, 13) === peg$c75) {
23807
- s0 = peg$c75;
24115
+ if (input.substr(peg$currPos, 13) === peg$c77) {
24116
+ s0 = peg$c77;
23808
24117
  peg$currPos += 13;
23809
24118
  } else {
23810
24119
  s0 = peg$FAILED;
23811
24120
  if (peg$silentFails === 0) {
23812
- peg$fail(peg$e79);
24121
+ peg$fail(peg$e81);
23813
24122
  }
23814
24123
  }
23815
24124
  if (s0 === peg$FAILED) {
23816
- if (input.substr(peg$currPos, 15) === peg$c76) {
23817
- s0 = peg$c76;
24125
+ if (input.substr(peg$currPos, 15) === peg$c78) {
24126
+ s0 = peg$c78;
23818
24127
  peg$currPos += 15;
23819
24128
  } else {
23820
24129
  s0 = peg$FAILED;
23821
24130
  if (peg$silentFails === 0) {
23822
- peg$fail(peg$e80);
24131
+ peg$fail(peg$e82);
23823
24132
  }
23824
24133
  }
23825
24134
  if (s0 === peg$FAILED) {
23826
- if (input.substr(peg$currPos, 13) === peg$c77) {
23827
- s0 = peg$c77;
24135
+ if (input.substr(peg$currPos, 13) === peg$c79) {
24136
+ s0 = peg$c79;
23828
24137
  peg$currPos += 13;
23829
24138
  } else {
23830
24139
  s0 = peg$FAILED;
23831
24140
  if (peg$silentFails === 0) {
23832
- peg$fail(peg$e81);
24141
+ peg$fail(peg$e83);
23833
24142
  }
23834
24143
  }
23835
24144
  if (s0 === peg$FAILED) {
23836
- if (input.substr(peg$currPos, 14) === peg$c78) {
23837
- s0 = peg$c78;
24145
+ if (input.substr(peg$currPos, 14) === peg$c80) {
24146
+ s0 = peg$c80;
23838
24147
  peg$currPos += 14;
23839
24148
  } else {
23840
24149
  s0 = peg$FAILED;
23841
24150
  if (peg$silentFails === 0) {
23842
- peg$fail(peg$e82);
24151
+ peg$fail(peg$e84);
23843
24152
  }
23844
24153
  }
23845
24154
  if (s0 === peg$FAILED) {
23846
- if (input.substr(peg$currPos, 14) === peg$c79) {
23847
- s0 = peg$c79;
24155
+ if (input.substr(peg$currPos, 14) === peg$c81) {
24156
+ s0 = peg$c81;
23848
24157
  peg$currPos += 14;
23849
24158
  } else {
23850
24159
  s0 = peg$FAILED;
23851
24160
  if (peg$silentFails === 0) {
23852
- peg$fail(peg$e83);
24161
+ peg$fail(peg$e85);
23853
24162
  }
23854
24163
  }
23855
24164
  if (s0 === peg$FAILED) {
23856
- if (input.substr(peg$currPos, 14) === peg$c80) {
23857
- s0 = peg$c80;
24165
+ if (input.substr(peg$currPos, 14) === peg$c82) {
24166
+ s0 = peg$c82;
23858
24167
  peg$currPos += 14;
23859
24168
  } else {
23860
24169
  s0 = peg$FAILED;
23861
24170
  if (peg$silentFails === 0) {
23862
- peg$fail(peg$e84);
24171
+ peg$fail(peg$e86);
23863
24172
  }
23864
24173
  }
23865
24174
  if (s0 === peg$FAILED) {
23866
- if (input.substr(peg$currPos, 13) === peg$c81) {
23867
- s0 = peg$c81;
24175
+ if (input.substr(peg$currPos, 13) === peg$c83) {
24176
+ s0 = peg$c83;
23868
24177
  peg$currPos += 13;
23869
24178
  } else {
23870
24179
  s0 = peg$FAILED;
23871
24180
  if (peg$silentFails === 0) {
23872
- peg$fail(peg$e85);
24181
+ peg$fail(peg$e87);
23873
24182
  }
23874
24183
  }
23875
24184
  if (s0 === peg$FAILED) {
23876
- if (input.substr(peg$currPos, 9) === peg$c82) {
23877
- s0 = peg$c82;
24185
+ if (input.substr(peg$currPos, 9) === peg$c66) {
24186
+ s0 = peg$c66;
23878
24187
  peg$currPos += 9;
23879
24188
  } else {
23880
24189
  s0 = peg$FAILED;
23881
24190
  if (peg$silentFails === 0) {
23882
- peg$fail(peg$e86);
24191
+ peg$fail(peg$e70);
23883
24192
  }
23884
24193
  }
23885
24194
  if (s0 === peg$FAILED) {
23886
- if (input.substr(peg$currPos, 6) === peg$c83) {
23887
- s0 = peg$c83;
24195
+ if (input.substr(peg$currPos, 6) === peg$c84) {
24196
+ s0 = peg$c84;
23888
24197
  peg$currPos += 6;
23889
24198
  } else {
23890
24199
  s0 = peg$FAILED;
23891
24200
  if (peg$silentFails === 0) {
23892
- peg$fail(peg$e87);
24201
+ peg$fail(peg$e88);
23893
24202
  }
23894
24203
  }
23895
24204
  if (s0 === peg$FAILED) {
23896
- if (input.substr(peg$currPos, 9) === peg$c84) {
23897
- s0 = peg$c84;
24205
+ if (input.substr(peg$currPos, 9) === peg$c85) {
24206
+ s0 = peg$c85;
23898
24207
  peg$currPos += 9;
23899
24208
  } else {
23900
24209
  s0 = peg$FAILED;
23901
24210
  if (peg$silentFails === 0) {
23902
- peg$fail(peg$e88);
24211
+ peg$fail(peg$e89);
23903
24212
  }
23904
24213
  }
23905
24214
  if (s0 === peg$FAILED) {
23906
- if (input.substr(peg$currPos, 11) === peg$c85) {
23907
- s0 = peg$c85;
24215
+ if (input.substr(peg$currPos, 11) === peg$c86) {
24216
+ s0 = peg$c86;
23908
24217
  peg$currPos += 11;
23909
24218
  } else {
23910
24219
  s0 = peg$FAILED;
23911
24220
  if (peg$silentFails === 0) {
23912
- peg$fail(peg$e89);
24221
+ peg$fail(peg$e90);
23913
24222
  }
23914
24223
  }
23915
24224
  if (s0 === peg$FAILED) {
23916
- if (input.substr(peg$currPos, 3) === peg$c86) {
23917
- s0 = peg$c86;
24225
+ if (input.substr(peg$currPos, 3) === peg$c87) {
24226
+ s0 = peg$c87;
23918
24227
  peg$currPos += 3;
23919
24228
  } else {
23920
24229
  s0 = peg$FAILED;
23921
24230
  if (peg$silentFails === 0) {
23922
- peg$fail(peg$e90);
24231
+ peg$fail(peg$e91);
23923
24232
  }
23924
24233
  }
23925
24234
  if (s0 === peg$FAILED) {
23926
- if (input.substr(peg$currPos, 3) === peg$c87) {
23927
- s0 = peg$c87;
24235
+ if (input.substr(peg$currPos, 3) === peg$c88) {
24236
+ s0 = peg$c88;
23928
24237
  peg$currPos += 3;
23929
24238
  } else {
23930
24239
  s0 = peg$FAILED;
23931
24240
  if (peg$silentFails === 0) {
23932
- peg$fail(peg$e91);
24241
+ peg$fail(peg$e92);
23933
24242
  }
23934
24243
  }
23935
24244
  if (s0 === peg$FAILED) {
23936
- if (input.substr(peg$currPos, 9) === peg$c88) {
23937
- s0 = peg$c88;
24245
+ if (input.substr(peg$currPos, 9) === peg$c89) {
24246
+ s0 = peg$c89;
23938
24247
  peg$currPos += 9;
23939
24248
  } else {
23940
24249
  s0 = peg$FAILED;
23941
24250
  if (peg$silentFails === 0) {
23942
- peg$fail(peg$e92);
24251
+ peg$fail(peg$e93);
23943
24252
  }
23944
24253
  }
23945
24254
  if (s0 === peg$FAILED) {
23946
- if (input.substr(peg$currPos, 15) === peg$c89) {
23947
- s0 = peg$c89;
24255
+ if (input.substr(peg$currPos, 15) === peg$c90) {
24256
+ s0 = peg$c90;
23948
24257
  peg$currPos += 15;
23949
24258
  } else {
23950
24259
  s0 = peg$FAILED;
23951
24260
  if (peg$silentFails === 0) {
23952
- peg$fail(peg$e93);
24261
+ peg$fail(peg$e94);
23953
24262
  }
23954
24263
  }
23955
24264
  if (s0 === peg$FAILED) {
23956
- if (input.substr(peg$currPos, 6) === peg$c90) {
23957
- s0 = peg$c90;
23958
- peg$currPos += 6;
24265
+ if (input.substr(peg$currPos, 9) === peg$c91) {
24266
+ s0 = peg$c91;
24267
+ peg$currPos += 9;
23959
24268
  } else {
23960
24269
  s0 = peg$FAILED;
23961
24270
  if (peg$silentFails === 0) {
23962
- peg$fail(peg$e94);
24271
+ peg$fail(peg$e95);
23963
24272
  }
23964
24273
  }
23965
24274
  if (s0 === peg$FAILED) {
23966
- if (input.substr(peg$currPos, 13) === peg$c91) {
23967
- s0 = peg$c91;
23968
- peg$currPos += 13;
24275
+ if (input.substr(peg$currPos, 6) === peg$c92) {
24276
+ s0 = peg$c92;
24277
+ peg$currPos += 6;
23969
24278
  } else {
23970
24279
  s0 = peg$FAILED;
23971
24280
  if (peg$silentFails === 0) {
23972
- peg$fail(peg$e95);
24281
+ peg$fail(peg$e96);
23973
24282
  }
23974
24283
  }
23975
24284
  if (s0 === peg$FAILED) {
23976
- if (input.substr(peg$currPos, 16) === peg$c92) {
23977
- s0 = peg$c92;
23978
- peg$currPos += 16;
24285
+ if (input.substr(peg$currPos, 13) === peg$c93) {
24286
+ s0 = peg$c93;
24287
+ peg$currPos += 13;
23979
24288
  } else {
23980
24289
  s0 = peg$FAILED;
23981
24290
  if (peg$silentFails === 0) {
23982
- peg$fail(peg$e96);
24291
+ peg$fail(peg$e97);
23983
24292
  }
23984
24293
  }
23985
24294
  if (s0 === peg$FAILED) {
23986
- if (input.substr(peg$currPos, 16) === peg$c93) {
23987
- s0 = peg$c93;
24295
+ if (input.substr(peg$currPos, 16) === peg$c94) {
24296
+ s0 = peg$c94;
23988
24297
  peg$currPos += 16;
23989
24298
  } else {
23990
24299
  s0 = peg$FAILED;
23991
24300
  if (peg$silentFails === 0) {
23992
- peg$fail(peg$e97);
24301
+ peg$fail(peg$e98);
23993
24302
  }
23994
24303
  }
23995
24304
  if (s0 === peg$FAILED) {
23996
- if (input.substr(peg$currPos, 15) === peg$c94) {
23997
- s0 = peg$c94;
23998
- peg$currPos += 15;
24305
+ if (input.substr(peg$currPos, 16) === peg$c95) {
24306
+ s0 = peg$c95;
24307
+ peg$currPos += 16;
23999
24308
  } else {
24000
24309
  s0 = peg$FAILED;
24001
24310
  if (peg$silentFails === 0) {
24002
- peg$fail(peg$e98);
24311
+ peg$fail(peg$e99);
24003
24312
  }
24004
24313
  }
24005
24314
  if (s0 === peg$FAILED) {
24006
- if (input.substr(peg$currPos, 14) === peg$c95) {
24007
- s0 = peg$c95;
24008
- peg$currPos += 14;
24315
+ if (input.substr(peg$currPos, 15) === peg$c96) {
24316
+ s0 = peg$c96;
24317
+ peg$currPos += 15;
24009
24318
  } else {
24010
24319
  s0 = peg$FAILED;
24011
24320
  if (peg$silentFails === 0) {
24012
- peg$fail(peg$e99);
24321
+ peg$fail(peg$e100);
24013
24322
  }
24014
24323
  }
24015
24324
  if (s0 === peg$FAILED) {
24016
- if (input.substr(peg$currPos, 16) === peg$c96) {
24017
- s0 = peg$c96;
24018
- peg$currPos += 16;
24325
+ if (input.substr(peg$currPos, 14) === peg$c97) {
24326
+ s0 = peg$c97;
24327
+ peg$currPos += 14;
24019
24328
  } else {
24020
24329
  s0 = peg$FAILED;
24021
24330
  if (peg$silentFails === 0) {
24022
- peg$fail(peg$e100);
24331
+ peg$fail(peg$e101);
24023
24332
  }
24024
24333
  }
24025
24334
  if (s0 === peg$FAILED) {
24026
- if (input.substr(peg$currPos, 14) === peg$c97) {
24027
- s0 = peg$c97;
24028
- peg$currPos += 14;
24335
+ if (input.substr(peg$currPos, 16) === peg$c98) {
24336
+ s0 = peg$c98;
24337
+ peg$currPos += 16;
24029
24338
  } else {
24030
24339
  s0 = peg$FAILED;
24031
24340
  if (peg$silentFails === 0) {
24032
- peg$fail(peg$e101);
24341
+ peg$fail(peg$e102);
24033
24342
  }
24034
24343
  }
24035
24344
  if (s0 === peg$FAILED) {
24036
- if (input.substr(peg$currPos, 15) === peg$c98) {
24037
- s0 = peg$c98;
24038
- peg$currPos += 15;
24345
+ if (input.substr(peg$currPos, 14) === peg$c99) {
24346
+ s0 = peg$c99;
24347
+ peg$currPos += 14;
24039
24348
  } else {
24040
24349
  s0 = peg$FAILED;
24041
24350
  if (peg$silentFails === 0) {
24042
- peg$fail(peg$e102);
24351
+ peg$fail(peg$e103);
24043
24352
  }
24044
24353
  }
24045
24354
  if (s0 === peg$FAILED) {
24046
- if (input.substr(peg$currPos, 15) === peg$c99) {
24047
- s0 = peg$c99;
24355
+ if (input.substr(peg$currPos, 15) === peg$c100) {
24356
+ s0 = peg$c100;
24048
24357
  peg$currPos += 15;
24049
24358
  } else {
24050
24359
  s0 = peg$FAILED;
24051
24360
  if (peg$silentFails === 0) {
24052
- peg$fail(peg$e103);
24361
+ peg$fail(peg$e104);
24053
24362
  }
24054
24363
  }
24055
24364
  if (s0 === peg$FAILED) {
24056
- if (input.substr(peg$currPos, 15) === peg$c100) {
24057
- s0 = peg$c100;
24365
+ if (input.substr(peg$currPos, 15) === peg$c101) {
24366
+ s0 = peg$c101;
24058
24367
  peg$currPos += 15;
24059
24368
  } else {
24060
24369
  s0 = peg$FAILED;
24061
24370
  if (peg$silentFails === 0) {
24062
- peg$fail(peg$e104);
24371
+ peg$fail(peg$e105);
24063
24372
  }
24064
24373
  }
24065
24374
  if (s0 === peg$FAILED) {
24066
- if (input.substr(peg$currPos, 14) === peg$c101) {
24067
- s0 = peg$c101;
24068
- peg$currPos += 14;
24375
+ if (input.substr(peg$currPos, 15) === peg$c102) {
24376
+ s0 = peg$c102;
24377
+ peg$currPos += 15;
24069
24378
  } else {
24070
24379
  s0 = peg$FAILED;
24071
24380
  if (peg$silentFails === 0) {
24072
- peg$fail(peg$e105);
24381
+ peg$fail(peg$e106);
24073
24382
  }
24074
24383
  }
24075
24384
  if (s0 === peg$FAILED) {
24076
- if (input.substr(peg$currPos, 10) === peg$c102) {
24077
- s0 = peg$c102;
24078
- peg$currPos += 10;
24385
+ if (input.substr(peg$currPos, 14) === peg$c103) {
24386
+ s0 = peg$c103;
24387
+ peg$currPos += 14;
24079
24388
  } else {
24080
24389
  s0 = peg$FAILED;
24081
24390
  if (peg$silentFails === 0) {
24082
- peg$fail(peg$e106);
24391
+ peg$fail(peg$e107);
24083
24392
  }
24084
24393
  }
24085
24394
  if (s0 === peg$FAILED) {
24086
- if (input.substr(peg$currPos, 13) === peg$c103) {
24087
- s0 = peg$c103;
24088
- peg$currPos += 13;
24395
+ if (input.substr(peg$currPos, 10) === peg$c104) {
24396
+ s0 = peg$c104;
24397
+ peg$currPos += 10;
24089
24398
  } else {
24090
24399
  s0 = peg$FAILED;
24091
24400
  if (peg$silentFails === 0) {
24092
- peg$fail(peg$e107);
24401
+ peg$fail(peg$e108);
24093
24402
  }
24094
24403
  }
24095
24404
  if (s0 === peg$FAILED) {
24096
- if (input.substr(peg$currPos, 19) === peg$c104) {
24097
- s0 = peg$c104;
24098
- peg$currPos += 19;
24405
+ if (input.substr(peg$currPos, 13) === peg$c105) {
24406
+ s0 = peg$c105;
24407
+ peg$currPos += 13;
24099
24408
  } else {
24100
24409
  s0 = peg$FAILED;
24101
24410
  if (peg$silentFails === 0) {
24102
- peg$fail(peg$e108);
24411
+ peg$fail(peg$e109);
24103
24412
  }
24104
24413
  }
24105
24414
  if (s0 === peg$FAILED) {
24106
- if (input.substr(peg$currPos, 10) === peg$c105) {
24107
- s0 = peg$c105;
24108
- peg$currPos += 10;
24415
+ if (input.substr(peg$currPos, 19) === peg$c106) {
24416
+ s0 = peg$c106;
24417
+ peg$currPos += 19;
24109
24418
  } else {
24110
24419
  s0 = peg$FAILED;
24111
24420
  if (peg$silentFails === 0) {
24112
- peg$fail(peg$e109);
24421
+ peg$fail(peg$e110);
24113
24422
  }
24114
24423
  }
24115
24424
  if (s0 === peg$FAILED) {
24116
- if (input.substr(peg$currPos, 10) === peg$c106) {
24117
- s0 = peg$c106;
24425
+ if (input.substr(peg$currPos, 10) === peg$c107) {
24426
+ s0 = peg$c107;
24118
24427
  peg$currPos += 10;
24119
24428
  } else {
24120
24429
  s0 = peg$FAILED;
24121
24430
  if (peg$silentFails === 0) {
24122
- peg$fail(peg$e110);
24431
+ peg$fail(peg$e111);
24123
24432
  }
24124
24433
  }
24125
24434
  if (s0 === peg$FAILED) {
24126
- if (input.substr(peg$currPos, 13) === peg$c107) {
24127
- s0 = peg$c107;
24128
- peg$currPos += 13;
24435
+ if (input.substr(peg$currPos, 10) === peg$c108) {
24436
+ s0 = peg$c108;
24437
+ peg$currPos += 10;
24129
24438
  } else {
24130
24439
  s0 = peg$FAILED;
24131
24440
  if (peg$silentFails === 0) {
24132
- peg$fail(peg$e111);
24441
+ peg$fail(peg$e112);
24133
24442
  }
24134
24443
  }
24135
24444
  if (s0 === peg$FAILED) {
24136
- if (input.substr(peg$currPos, 11) === peg$c108) {
24137
- s0 = peg$c108;
24138
- peg$currPos += 11;
24445
+ if (input.substr(peg$currPos, 13) === peg$c68) {
24446
+ s0 = peg$c68;
24447
+ peg$currPos += 13;
24139
24448
  } else {
24140
24449
  s0 = peg$FAILED;
24141
24450
  if (peg$silentFails === 0) {
24142
- peg$fail(peg$e112);
24451
+ peg$fail(peg$e72);
24452
+ }
24453
+ }
24454
+ if (s0 === peg$FAILED) {
24455
+ if (input.substr(peg$currPos, 11) === peg$c109) {
24456
+ s0 = peg$c109;
24457
+ peg$currPos += 11;
24458
+ } else {
24459
+ s0 = peg$FAILED;
24460
+ if (peg$silentFails === 0) {
24461
+ peg$fail(peg$e113);
24462
+ }
24143
24463
  }
24144
24464
  }
24145
24465
  }
@@ -24185,233 +24505,233 @@ function peg$parse(input, options) {
24185
24505
  }
24186
24506
  function peg$parseColor() {
24187
24507
  let s0;
24188
- if (input.substr(peg$currPos, 4) === peg$c109) {
24189
- s0 = peg$c109;
24508
+ if (input.substr(peg$currPos, 4) === peg$c110) {
24509
+ s0 = peg$c110;
24190
24510
  peg$currPos += 4;
24191
24511
  } else {
24192
24512
  s0 = peg$FAILED;
24193
24513
  if (peg$silentFails === 0) {
24194
- peg$fail(peg$e113);
24514
+ peg$fail(peg$e114);
24195
24515
  }
24196
24516
  }
24197
24517
  if (s0 === peg$FAILED) {
24198
- if (input.substr(peg$currPos, 5) === peg$c110) {
24199
- s0 = peg$c110;
24518
+ if (input.substr(peg$currPos, 5) === peg$c111) {
24519
+ s0 = peg$c111;
24200
24520
  peg$currPos += 5;
24201
24521
  } else {
24202
24522
  s0 = peg$FAILED;
24203
24523
  if (peg$silentFails === 0) {
24204
- peg$fail(peg$e114);
24524
+ peg$fail(peg$e115);
24205
24525
  }
24206
24526
  }
24207
24527
  if (s0 === peg$FAILED) {
24208
- if (input.substr(peg$currPos, 4) === peg$c111) {
24209
- s0 = peg$c111;
24528
+ if (input.substr(peg$currPos, 4) === peg$c112) {
24529
+ s0 = peg$c112;
24210
24530
  peg$currPos += 4;
24211
24531
  } else {
24212
24532
  s0 = peg$FAILED;
24213
24533
  if (peg$silentFails === 0) {
24214
- peg$fail(peg$e115);
24534
+ peg$fail(peg$e116);
24215
24535
  }
24216
24536
  }
24217
24537
  if (s0 === peg$FAILED) {
24218
- if (input.substr(peg$currPos, 5) === peg$c112) {
24219
- s0 = peg$c112;
24538
+ if (input.substr(peg$currPos, 5) === peg$c113) {
24539
+ s0 = peg$c113;
24220
24540
  peg$currPos += 5;
24221
24541
  } else {
24222
24542
  s0 = peg$FAILED;
24223
24543
  if (peg$silentFails === 0) {
24224
- peg$fail(peg$e116);
24544
+ peg$fail(peg$e117);
24225
24545
  }
24226
24546
  }
24227
24547
  if (s0 === peg$FAILED) {
24228
- if (input.substr(peg$currPos, 7) === peg$c113) {
24229
- s0 = peg$c113;
24548
+ if (input.substr(peg$currPos, 7) === peg$c114) {
24549
+ s0 = peg$c114;
24230
24550
  peg$currPos += 7;
24231
24551
  } else {
24232
24552
  s0 = peg$FAILED;
24233
24553
  if (peg$silentFails === 0) {
24234
- peg$fail(peg$e117);
24554
+ peg$fail(peg$e118);
24235
24555
  }
24236
24556
  }
24237
24557
  if (s0 === peg$FAILED) {
24238
- if (input.substr(peg$currPos, 9) === peg$c114) {
24239
- s0 = peg$c114;
24558
+ if (input.substr(peg$currPos, 9) === peg$c115) {
24559
+ s0 = peg$c115;
24240
24560
  peg$currPos += 9;
24241
24561
  } else {
24242
24562
  s0 = peg$FAILED;
24243
24563
  if (peg$silentFails === 0) {
24244
- peg$fail(peg$e118);
24564
+ peg$fail(peg$e119);
24245
24565
  }
24246
24566
  }
24247
24567
  if (s0 === peg$FAILED) {
24248
- if (input.substr(peg$currPos, 4) === peg$c115) {
24249
- s0 = peg$c115;
24568
+ if (input.substr(peg$currPos, 4) === peg$c116) {
24569
+ s0 = peg$c116;
24250
24570
  peg$currPos += 4;
24251
24571
  } else {
24252
24572
  s0 = peg$FAILED;
24253
24573
  if (peg$silentFails === 0) {
24254
- peg$fail(peg$e119);
24574
+ peg$fail(peg$e120);
24255
24575
  }
24256
24576
  }
24257
24577
  if (s0 === peg$FAILED) {
24258
- if (input.substr(peg$currPos, 8) === peg$c116) {
24259
- s0 = peg$c116;
24578
+ if (input.substr(peg$currPos, 8) === peg$c117) {
24579
+ s0 = peg$c117;
24260
24580
  peg$currPos += 8;
24261
24581
  } else {
24262
24582
  s0 = peg$FAILED;
24263
24583
  if (peg$silentFails === 0) {
24264
- peg$fail(peg$e120);
24584
+ peg$fail(peg$e121);
24265
24585
  }
24266
24586
  }
24267
24587
  if (s0 === peg$FAILED) {
24268
- if (input.substr(peg$currPos, 5) === peg$c117) {
24269
- s0 = peg$c117;
24588
+ if (input.substr(peg$currPos, 5) === peg$c118) {
24589
+ s0 = peg$c118;
24270
24590
  peg$currPos += 5;
24271
24591
  } else {
24272
24592
  s0 = peg$FAILED;
24273
24593
  if (peg$silentFails === 0) {
24274
- peg$fail(peg$e121);
24594
+ peg$fail(peg$e122);
24275
24595
  }
24276
24596
  }
24277
24597
  if (s0 === peg$FAILED) {
24278
- if (input.substr(peg$currPos, 4) === peg$c118) {
24279
- s0 = peg$c118;
24598
+ if (input.substr(peg$currPos, 4) === peg$c119) {
24599
+ s0 = peg$c119;
24280
24600
  peg$currPos += 4;
24281
24601
  } else {
24282
24602
  s0 = peg$FAILED;
24283
24603
  if (peg$silentFails === 0) {
24284
- peg$fail(peg$e122);
24604
+ peg$fail(peg$e123);
24285
24605
  }
24286
24606
  }
24287
24607
  if (s0 === peg$FAILED) {
24288
- if (input.substr(peg$currPos, 7) === peg$c119) {
24289
- s0 = peg$c119;
24608
+ if (input.substr(peg$currPos, 7) === peg$c120) {
24609
+ s0 = peg$c120;
24290
24610
  peg$currPos += 7;
24291
24611
  } else {
24292
24612
  s0 = peg$FAILED;
24293
24613
  if (peg$silentFails === 0) {
24294
- peg$fail(peg$e123);
24614
+ peg$fail(peg$e124);
24295
24615
  }
24296
24616
  }
24297
24617
  if (s0 === peg$FAILED) {
24298
- if (input.substr(peg$currPos, 6) === peg$c120) {
24299
- s0 = peg$c120;
24618
+ if (input.substr(peg$currPos, 6) === peg$c121) {
24619
+ s0 = peg$c121;
24300
24620
  peg$currPos += 6;
24301
24621
  } else {
24302
24622
  s0 = peg$FAILED;
24303
24623
  if (peg$silentFails === 0) {
24304
- peg$fail(peg$e124);
24624
+ peg$fail(peg$e125);
24305
24625
  }
24306
24626
  }
24307
24627
  if (s0 === peg$FAILED) {
24308
- if (input.substr(peg$currPos, 4) === peg$c121) {
24309
- s0 = peg$c121;
24628
+ if (input.substr(peg$currPos, 4) === peg$c122) {
24629
+ s0 = peg$c122;
24310
24630
  peg$currPos += 4;
24311
24631
  } else {
24312
24632
  s0 = peg$FAILED;
24313
24633
  if (peg$silentFails === 0) {
24314
- peg$fail(peg$e125);
24634
+ peg$fail(peg$e126);
24315
24635
  }
24316
24636
  }
24317
24637
  if (s0 === peg$FAILED) {
24318
- if (input.substr(peg$currPos, 5) === peg$c122) {
24319
- s0 = peg$c122;
24638
+ if (input.substr(peg$currPos, 5) === peg$c123) {
24639
+ s0 = peg$c123;
24320
24640
  peg$currPos += 5;
24321
24641
  } else {
24322
24642
  s0 = peg$FAILED;
24323
24643
  if (peg$silentFails === 0) {
24324
- peg$fail(peg$e126);
24644
+ peg$fail(peg$e127);
24325
24645
  }
24326
24646
  }
24327
24647
  if (s0 === peg$FAILED) {
24328
- if (input.substr(peg$currPos, 6) === peg$c123) {
24329
- s0 = peg$c123;
24648
+ if (input.substr(peg$currPos, 6) === peg$c124) {
24649
+ s0 = peg$c124;
24330
24650
  peg$currPos += 6;
24331
24651
  } else {
24332
24652
  s0 = peg$FAILED;
24333
24653
  if (peg$silentFails === 0) {
24334
- peg$fail(peg$e127);
24654
+ peg$fail(peg$e128);
24335
24655
  }
24336
24656
  }
24337
24657
  if (s0 === peg$FAILED) {
24338
- if (input.substr(peg$currPos, 4) === peg$c124) {
24339
- s0 = peg$c124;
24658
+ if (input.substr(peg$currPos, 4) === peg$c125) {
24659
+ s0 = peg$c125;
24340
24660
  peg$currPos += 4;
24341
24661
  } else {
24342
24662
  s0 = peg$FAILED;
24343
24663
  if (peg$silentFails === 0) {
24344
- peg$fail(peg$e128);
24664
+ peg$fail(peg$e129);
24345
24665
  }
24346
24666
  }
24347
24667
  if (s0 === peg$FAILED) {
24348
- if (input.substr(peg$currPos, 6) === peg$c125) {
24349
- s0 = peg$c125;
24668
+ if (input.substr(peg$currPos, 6) === peg$c126) {
24669
+ s0 = peg$c126;
24350
24670
  peg$currPos += 6;
24351
24671
  } else {
24352
24672
  s0 = peg$FAILED;
24353
24673
  if (peg$silentFails === 0) {
24354
- peg$fail(peg$e129);
24674
+ peg$fail(peg$e130);
24355
24675
  }
24356
24676
  }
24357
24677
  if (s0 === peg$FAILED) {
24358
- if (input.substr(peg$currPos, 3) === peg$c126) {
24359
- s0 = peg$c126;
24678
+ if (input.substr(peg$currPos, 3) === peg$c127) {
24679
+ s0 = peg$c127;
24360
24680
  peg$currPos += 3;
24361
24681
  } else {
24362
24682
  s0 = peg$FAILED;
24363
24683
  if (peg$silentFails === 0) {
24364
- peg$fail(peg$e130);
24684
+ peg$fail(peg$e131);
24365
24685
  }
24366
24686
  }
24367
24687
  if (s0 === peg$FAILED) {
24368
- if (input.substr(peg$currPos, 6) === peg$c127) {
24369
- s0 = peg$c127;
24688
+ if (input.substr(peg$currPos, 6) === peg$c128) {
24689
+ s0 = peg$c128;
24370
24690
  peg$currPos += 6;
24371
24691
  } else {
24372
24692
  s0 = peg$FAILED;
24373
24693
  if (peg$silentFails === 0) {
24374
- peg$fail(peg$e131);
24694
+ peg$fail(peg$e132);
24375
24695
  }
24376
24696
  }
24377
24697
  if (s0 === peg$FAILED) {
24378
- if (input.substr(peg$currPos, 4) === peg$c128) {
24379
- s0 = peg$c128;
24698
+ if (input.substr(peg$currPos, 4) === peg$c129) {
24699
+ s0 = peg$c129;
24380
24700
  peg$currPos += 4;
24381
24701
  } else {
24382
24702
  s0 = peg$FAILED;
24383
24703
  if (peg$silentFails === 0) {
24384
- peg$fail(peg$e132);
24704
+ peg$fail(peg$e133);
24385
24705
  }
24386
24706
  }
24387
24707
  if (s0 === peg$FAILED) {
24388
- if (input.substr(peg$currPos, 6) === peg$c129) {
24389
- s0 = peg$c129;
24708
+ if (input.substr(peg$currPos, 6) === peg$c130) {
24709
+ s0 = peg$c130;
24390
24710
  peg$currPos += 6;
24391
24711
  } else {
24392
24712
  s0 = peg$FAILED;
24393
24713
  if (peg$silentFails === 0) {
24394
- peg$fail(peg$e133);
24714
+ peg$fail(peg$e134);
24395
24715
  }
24396
24716
  }
24397
24717
  if (s0 === peg$FAILED) {
24398
- if (input.substr(peg$currPos, 5) === peg$c130) {
24399
- s0 = peg$c130;
24718
+ if (input.substr(peg$currPos, 5) === peg$c131) {
24719
+ s0 = peg$c131;
24400
24720
  peg$currPos += 5;
24401
24721
  } else {
24402
24722
  s0 = peg$FAILED;
24403
24723
  if (peg$silentFails === 0) {
24404
- peg$fail(peg$e134);
24724
+ peg$fail(peg$e135);
24405
24725
  }
24406
24726
  }
24407
24727
  if (s0 === peg$FAILED) {
24408
- if (input.substr(peg$currPos, 6) === peg$c131) {
24409
- s0 = peg$c131;
24728
+ if (input.substr(peg$currPos, 6) === peg$c132) {
24729
+ s0 = peg$c132;
24410
24730
  peg$currPos += 6;
24411
24731
  } else {
24412
24732
  s0 = peg$FAILED;
24413
24733
  if (peg$silentFails === 0) {
24414
- peg$fail(peg$e135);
24734
+ peg$fail(peg$e136);
24415
24735
  }
24416
24736
  }
24417
24737
  }
@@ -24438,12 +24758,124 @@ function peg$parse(input, options) {
24438
24758
  }
24439
24759
  return s0;
24440
24760
  }
24761
+ function peg$parseHighlightColor() {
24762
+ let s0;
24763
+ if (input.substr(peg$currPos, 6) === peg$c124) {
24764
+ s0 = peg$c124;
24765
+ peg$currPos += 6;
24766
+ } else {
24767
+ s0 = peg$FAILED;
24768
+ if (peg$silentFails === 0) {
24769
+ peg$fail(peg$e128);
24770
+ }
24771
+ }
24772
+ if (s0 === peg$FAILED) {
24773
+ if (input.substr(peg$currPos, 6) === peg$c132) {
24774
+ s0 = peg$c132;
24775
+ peg$currPos += 6;
24776
+ } else {
24777
+ s0 = peg$FAILED;
24778
+ if (peg$silentFails === 0) {
24779
+ peg$fail(peg$e136);
24780
+ }
24781
+ }
24782
+ if (s0 === peg$FAILED) {
24783
+ if (input.substr(peg$currPos, 5) === peg$c118) {
24784
+ s0 = peg$c118;
24785
+ peg$currPos += 5;
24786
+ } else {
24787
+ s0 = peg$FAILED;
24788
+ if (peg$silentFails === 0) {
24789
+ peg$fail(peg$e122);
24790
+ }
24791
+ }
24792
+ if (s0 === peg$FAILED) {
24793
+ if (input.substr(peg$currPos, 4) === peg$c112) {
24794
+ s0 = peg$c112;
24795
+ peg$currPos += 4;
24796
+ } else {
24797
+ s0 = peg$FAILED;
24798
+ if (peg$silentFails === 0) {
24799
+ peg$fail(peg$e116);
24800
+ }
24801
+ }
24802
+ if (s0 === peg$FAILED) {
24803
+ if (input.substr(peg$currPos, 6) === peg$c126) {
24804
+ s0 = peg$c126;
24805
+ peg$currPos += 6;
24806
+ } else {
24807
+ s0 = peg$FAILED;
24808
+ if (peg$silentFails === 0) {
24809
+ peg$fail(peg$e130);
24810
+ }
24811
+ }
24812
+ if (s0 === peg$FAILED) {
24813
+ if (input.substr(peg$currPos, 4) === peg$c125) {
24814
+ s0 = peg$c125;
24815
+ peg$currPos += 4;
24816
+ } else {
24817
+ s0 = peg$FAILED;
24818
+ if (peg$silentFails === 0) {
24819
+ peg$fail(peg$e129);
24820
+ }
24821
+ }
24822
+ if (s0 === peg$FAILED) {
24823
+ if (input.substr(peg$currPos, 5) === peg$c113) {
24824
+ s0 = peg$c113;
24825
+ peg$currPos += 5;
24826
+ } else {
24827
+ s0 = peg$FAILED;
24828
+ if (peg$silentFails === 0) {
24829
+ peg$fail(peg$e117);
24830
+ }
24831
+ }
24832
+ if (s0 === peg$FAILED) {
24833
+ if (input.substr(peg$currPos, 5) === peg$c131) {
24834
+ s0 = peg$c131;
24835
+ peg$currPos += 5;
24836
+ } else {
24837
+ s0 = peg$FAILED;
24838
+ if (peg$silentFails === 0) {
24839
+ peg$fail(peg$e135);
24840
+ }
24841
+ }
24842
+ if (s0 === peg$FAILED) {
24843
+ if (input.substr(peg$currPos, 5) === peg$c111) {
24844
+ s0 = peg$c111;
24845
+ peg$currPos += 5;
24846
+ } else {
24847
+ s0 = peg$FAILED;
24848
+ if (peg$silentFails === 0) {
24849
+ peg$fail(peg$e115);
24850
+ }
24851
+ }
24852
+ if (s0 === peg$FAILED) {
24853
+ if (input.substr(peg$currPos, 4) === peg$c116) {
24854
+ s0 = peg$c116;
24855
+ peg$currPos += 4;
24856
+ } else {
24857
+ s0 = peg$FAILED;
24858
+ if (peg$silentFails === 0) {
24859
+ peg$fail(peg$e120);
24860
+ }
24861
+ }
24862
+ }
24863
+ }
24864
+ }
24865
+ }
24866
+ }
24867
+ }
24868
+ }
24869
+ }
24870
+ }
24871
+ return s0;
24872
+ }
24441
24873
  function peg$parsebitmarkMinusMinus() {
24442
24874
  let s0, s1;
24443
24875
  peg$silentFails++;
24444
24876
  s0 = peg$currPos;
24445
24877
  s1 = peg$parsebitmarkMinusMinusString();
24446
- s1 = peg$f91(s1);
24878
+ s1 = peg$f92(s1);
24447
24879
  s0 = s1;
24448
24880
  peg$silentFails--;
24449
24881
  return s0;
@@ -24468,7 +24900,7 @@ function peg$parse(input, options) {
24468
24900
  s3 = peg$parsePlainText();
24469
24901
  }
24470
24902
  }
24471
- s0 = peg$f92(s1, s2);
24903
+ s0 = peg$f93(s1, s2);
24472
24904
  peg$silentFails--;
24473
24905
  return s0;
24474
24906
  }
@@ -24477,7 +24909,7 @@ function peg$parse(input, options) {
24477
24909
  s0 = peg$currPos;
24478
24910
  s1 = peg$parseNL();
24479
24911
  if (s1 !== peg$FAILED) {
24480
- s1 = peg$f93();
24912
+ s1 = peg$f94();
24481
24913
  }
24482
24914
  s0 = s1;
24483
24915
  if (s0 === peg$FAILED) {
@@ -24605,7 +25037,7 @@ function peg$parse(input, options) {
24605
25037
  s1 = s2;
24606
25038
  }
24607
25039
  if (s1 !== peg$FAILED) {
24608
- s1 = peg$f94(s1);
25040
+ s1 = peg$f95(s1);
24609
25041
  }
24610
25042
  s0 = s1;
24611
25043
  }
@@ -24614,12 +25046,12 @@ function peg$parse(input, options) {
24614
25046
  function peg$parseBoldHalfTag() {
24615
25047
  let s0;
24616
25048
  if (input.charCodeAt(peg$currPos) === 42) {
24617
- s0 = peg$c132;
25049
+ s0 = peg$c133;
24618
25050
  peg$currPos++;
24619
25051
  } else {
24620
25052
  s0 = peg$FAILED;
24621
25053
  if (peg$silentFails === 0) {
24622
- peg$fail(peg$e136);
25054
+ peg$fail(peg$e137);
24623
25055
  }
24624
25056
  }
24625
25057
  return s0;
@@ -24627,12 +25059,12 @@ function peg$parse(input, options) {
24627
25059
  function peg$parseItalicHalfTag() {
24628
25060
  let s0;
24629
25061
  if (input.charCodeAt(peg$currPos) === 95) {
24630
- s0 = peg$c133;
25062
+ s0 = peg$c134;
24631
25063
  peg$currPos++;
24632
25064
  } else {
24633
25065
  s0 = peg$FAILED;
24634
25066
  if (peg$silentFails === 0) {
24635
- peg$fail(peg$e137);
25067
+ peg$fail(peg$e138);
24636
25068
  }
24637
25069
  }
24638
25070
  return s0;
@@ -24640,12 +25072,12 @@ function peg$parse(input, options) {
24640
25072
  function peg$parseLightHalfTag() {
24641
25073
  let s0;
24642
25074
  if (input.charCodeAt(peg$currPos) === 96) {
24643
- s0 = peg$c134;
25075
+ s0 = peg$c135;
24644
25076
  peg$currPos++;
24645
25077
  } else {
24646
25078
  s0 = peg$FAILED;
24647
25079
  if (peg$silentFails === 0) {
24648
- peg$fail(peg$e138);
25080
+ peg$fail(peg$e139);
24649
25081
  }
24650
25082
  }
24651
25083
  return s0;
@@ -24653,12 +25085,12 @@ function peg$parse(input, options) {
24653
25085
  function peg$parseHighlightHalfTag() {
24654
25086
  let s0;
24655
25087
  if (input.charCodeAt(peg$currPos) === 33) {
24656
- s0 = peg$c135;
25088
+ s0 = peg$c136;
24657
25089
  peg$currPos++;
24658
25090
  } else {
24659
25091
  s0 = peg$FAILED;
24660
25092
  if (peg$silentFails === 0) {
24661
- peg$fail(peg$e139);
25093
+ peg$fail(peg$e140);
24662
25094
  }
24663
25095
  }
24664
25096
  return s0;
@@ -24741,13 +25173,13 @@ function peg$parse(input, options) {
24741
25173
  }
24742
25174
  function peg$parseBodyBitOpenTag() {
24743
25175
  let s0;
24744
- if (input.substr(peg$currPos, 2) === peg$c136) {
24745
- s0 = peg$c136;
25176
+ if (input.substr(peg$currPos, 2) === peg$c137) {
25177
+ s0 = peg$c137;
24746
25178
  peg$currPos += 2;
24747
25179
  } else {
24748
25180
  s0 = peg$FAILED;
24749
25181
  if (peg$silentFails === 0) {
24750
- peg$fail(peg$e140);
25182
+ peg$fail(peg$e141);
24751
25183
  }
24752
25184
  }
24753
25185
  return s0;
@@ -24755,12 +25187,12 @@ function peg$parse(input, options) {
24755
25187
  function peg$parseBodyBitCloseTag() {
24756
25188
  let s0;
24757
25189
  if (input.charCodeAt(peg$currPos) === 93) {
24758
- s0 = peg$c137;
25190
+ s0 = peg$c138;
24759
25191
  peg$currPos++;
24760
25192
  } else {
24761
25193
  s0 = peg$FAILED;
24762
25194
  if (peg$silentFails === 0) {
24763
- peg$fail(peg$e141);
25195
+ peg$fail(peg$e142);
24764
25196
  }
24765
25197
  }
24766
25198
  return s0;
@@ -24805,7 +25237,7 @@ function peg$parse(input, options) {
24805
25237
  if (s2 !== peg$FAILED) {
24806
25238
  s3 = peg$parseBodyBitCloseTag();
24807
25239
  if (s3 !== peg$FAILED) {
24808
- s0 = peg$f95(s2);
25240
+ s0 = peg$f96(s2);
24809
25241
  } else {
24810
25242
  peg$currPos = s0;
24811
25243
  s0 = peg$FAILED;
@@ -24894,7 +25326,7 @@ function peg$parse(input, options) {
24894
25326
  s2 = input.substring(s2, peg$currPos);
24895
25327
  s3 = peg$parseBoldTag();
24896
25328
  if (s3 !== peg$FAILED) {
24897
- s0 = peg$f96(s2);
25329
+ s0 = peg$f97(s2);
24898
25330
  } else {
24899
25331
  peg$currPos = s0;
24900
25332
  s0 = peg$FAILED;
@@ -24979,7 +25411,7 @@ function peg$parse(input, options) {
24979
25411
  s2 = input.substring(s2, peg$currPos);
24980
25412
  s3 = peg$parseItalicTag();
24981
25413
  if (s3 !== peg$FAILED) {
24982
- s0 = peg$f97(s2);
25414
+ s0 = peg$f98(s2);
24983
25415
  } else {
24984
25416
  peg$currPos = s0;
24985
25417
  s0 = peg$FAILED;
@@ -25064,7 +25496,7 @@ function peg$parse(input, options) {
25064
25496
  s2 = input.substring(s2, peg$currPos);
25065
25497
  s3 = peg$parseLightTag();
25066
25498
  if (s3 !== peg$FAILED) {
25067
- s0 = peg$f98(s2);
25499
+ s0 = peg$f99(s2);
25068
25500
  } else {
25069
25501
  peg$currPos = s0;
25070
25502
  s0 = peg$FAILED;
@@ -25149,7 +25581,7 @@ function peg$parse(input, options) {
25149
25581
  s2 = input.substring(s2, peg$currPos);
25150
25582
  s3 = peg$parseHighlightTag();
25151
25583
  if (s3 !== peg$FAILED) {
25152
- s0 = peg$f99(s2);
25584
+ s0 = peg$f100(s2);
25153
25585
  } else {
25154
25586
  peg$currPos = s0;
25155
25587
  s0 = peg$FAILED;
@@ -25234,22 +25666,22 @@ function peg$parse(input, options) {
25234
25666
  let s0;
25235
25667
  peg$silentFails++;
25236
25668
  if (input.charCodeAt(peg$currPos) === 10) {
25237
- s0 = peg$c138;
25669
+ s0 = peg$c139;
25238
25670
  peg$currPos++;
25239
25671
  } else {
25240
25672
  s0 = peg$FAILED;
25241
25673
  if (peg$silentFails === 0) {
25242
- peg$fail(peg$e143);
25674
+ peg$fail(peg$e144);
25243
25675
  }
25244
25676
  }
25245
25677
  if (s0 === peg$FAILED) {
25246
- if (input.substr(peg$currPos, 2) === peg$c139) {
25247
- s0 = peg$c139;
25678
+ if (input.substr(peg$currPos, 2) === peg$c140) {
25679
+ s0 = peg$c140;
25248
25680
  peg$currPos += 2;
25249
25681
  } else {
25250
25682
  s0 = peg$FAILED;
25251
25683
  if (peg$silentFails === 0) {
25252
- peg$fail(peg$e144);
25684
+ peg$fail(peg$e145);
25253
25685
  }
25254
25686
  }
25255
25687
  if (s0 === peg$FAILED) {
@@ -25259,7 +25691,7 @@ function peg$parse(input, options) {
25259
25691
  } else {
25260
25692
  s0 = peg$FAILED;
25261
25693
  if (peg$silentFails === 0) {
25262
- peg$fail(peg$e145);
25694
+ peg$fail(peg$e146);
25263
25695
  }
25264
25696
  }
25265
25697
  }
@@ -25267,7 +25699,7 @@ function peg$parse(input, options) {
25267
25699
  peg$silentFails--;
25268
25700
  if (s0 === peg$FAILED) {
25269
25701
  if (peg$silentFails === 0) {
25270
- peg$fail(peg$e142);
25702
+ peg$fail(peg$e143);
25271
25703
  }
25272
25704
  }
25273
25705
  return s0;
@@ -25280,7 +25712,7 @@ function peg$parse(input, options) {
25280
25712
  } else {
25281
25713
  s0 = peg$FAILED;
25282
25714
  if (peg$silentFails === 0) {
25283
- peg$fail(peg$e146);
25715
+ peg$fail(peg$e147);
25284
25716
  }
25285
25717
  }
25286
25718
  return s0;
@@ -25314,35 +25746,35 @@ function peg$parse(input, options) {
25314
25746
  let s0, s1, s2, s3, s4, s5, s6, s7, s8;
25315
25747
  s0 = peg$currPos;
25316
25748
  s1 = peg$currPos;
25317
- if (input.substr(peg$currPos, 4) === peg$c140) {
25318
- s2 = peg$c140;
25749
+ if (input.substr(peg$currPos, 4) === peg$c141) {
25750
+ s2 = peg$c141;
25319
25751
  peg$currPos += 4;
25320
25752
  } else {
25321
25753
  s2 = peg$FAILED;
25322
25754
  if (peg$silentFails === 0) {
25323
- peg$fail(peg$e147);
25755
+ peg$fail(peg$e148);
25324
25756
  }
25325
25757
  }
25326
25758
  if (s2 !== peg$FAILED) {
25327
25759
  if (input.charCodeAt(peg$currPos) === 115) {
25328
- s3 = peg$c141;
25760
+ s3 = peg$c142;
25329
25761
  peg$currPos++;
25330
25762
  } else {
25331
25763
  s3 = peg$FAILED;
25332
25764
  if (peg$silentFails === 0) {
25333
- peg$fail(peg$e148);
25765
+ peg$fail(peg$e149);
25334
25766
  }
25335
25767
  }
25336
25768
  if (s3 === peg$FAILED) {
25337
25769
  s3 = null;
25338
25770
  }
25339
- if (input.substr(peg$currPos, 3) === peg$c142) {
25340
- s4 = peg$c142;
25771
+ if (input.substr(peg$currPos, 3) === peg$c143) {
25772
+ s4 = peg$c143;
25341
25773
  peg$currPos += 3;
25342
25774
  } else {
25343
25775
  s4 = peg$FAILED;
25344
25776
  if (peg$silentFails === 0) {
25345
- peg$fail(peg$e149);
25777
+ peg$fail(peg$e150);
25346
25778
  }
25347
25779
  }
25348
25780
  if (s4 !== peg$FAILED) {
@@ -25420,35 +25852,35 @@ function peg$parse(input, options) {
25420
25852
  s0 = peg$currPos;
25421
25853
  s1 = peg$currPos;
25422
25854
  s2 = peg$currPos;
25423
- if (input.substr(peg$currPos, 4) === peg$c140) {
25424
- s3 = peg$c140;
25855
+ if (input.substr(peg$currPos, 4) === peg$c141) {
25856
+ s3 = peg$c141;
25425
25857
  peg$currPos += 4;
25426
25858
  } else {
25427
25859
  s3 = peg$FAILED;
25428
25860
  if (peg$silentFails === 0) {
25429
- peg$fail(peg$e147);
25861
+ peg$fail(peg$e148);
25430
25862
  }
25431
25863
  }
25432
25864
  if (s3 !== peg$FAILED) {
25433
25865
  if (input.charCodeAt(peg$currPos) === 115) {
25434
- s4 = peg$c141;
25866
+ s4 = peg$c142;
25435
25867
  peg$currPos++;
25436
25868
  } else {
25437
25869
  s4 = peg$FAILED;
25438
25870
  if (peg$silentFails === 0) {
25439
- peg$fail(peg$e148);
25871
+ peg$fail(peg$e149);
25440
25872
  }
25441
25873
  }
25442
25874
  if (s4 === peg$FAILED) {
25443
25875
  s4 = null;
25444
25876
  }
25445
- if (input.substr(peg$currPos, 3) === peg$c142) {
25446
- s5 = peg$c142;
25877
+ if (input.substr(peg$currPos, 3) === peg$c143) {
25878
+ s5 = peg$c143;
25447
25879
  peg$currPos += 3;
25448
25880
  } else {
25449
25881
  s5 = peg$FAILED;
25450
25882
  if (peg$silentFails === 0) {
25451
- peg$fail(peg$e149);
25883
+ peg$fail(peg$e150);
25452
25884
  }
25453
25885
  }
25454
25886
  if (s5 !== peg$FAILED) {
@@ -25463,13 +25895,13 @@ function peg$parse(input, options) {
25463
25895
  s2 = peg$FAILED;
25464
25896
  }
25465
25897
  if (s2 === peg$FAILED) {
25466
- if (input.substr(peg$currPos, 7) === peg$c143) {
25467
- s2 = peg$c143;
25898
+ if (input.substr(peg$currPos, 7) === peg$c144) {
25899
+ s2 = peg$c144;
25468
25900
  peg$currPos += 7;
25469
25901
  } else {
25470
25902
  s2 = peg$FAILED;
25471
25903
  if (peg$silentFails === 0) {
25472
- peg$fail(peg$e150);
25904
+ peg$fail(peg$e151);
25473
25905
  }
25474
25906
  }
25475
25907
  }
@@ -25533,7 +25965,7 @@ function peg$parse(input, options) {
25533
25965
  }
25534
25966
  }
25535
25967
  s2 = input.substring(s2, peg$currPos);
25536
- s0 = peg$f100(s1, s2);
25968
+ s0 = peg$f101(s1, s2);
25537
25969
  } else {
25538
25970
  peg$currPos = s0;
25539
25971
  s0 = peg$FAILED;
@@ -25548,12 +25980,13 @@ function peg$parse(input, options) {
25548
25980
  } else {
25549
25981
  s0 = peg$FAILED;
25550
25982
  if (peg$silentFails === 0) {
25551
- peg$fail(peg$e151);
25983
+ peg$fail(peg$e152);
25552
25984
  }
25553
25985
  }
25554
25986
  return s0;
25555
25987
  }
25556
25988
  var indentStack = [], indent = "";
25989
+ input = input.replace(/\s+$/, "");
25557
25990
  input = input.trimStart();
25558
25991
  peg$result = peg$startRuleFunction();
25559
25992
  const peg$success = peg$result !== peg$FAILED && peg$currPos === input.length;
@@ -43687,6 +44120,8 @@ var ConfigBuilder = class {
43687
44120
  format = "bitmark";
43688
44121
  } else if (tag.format === TagFormat.number) {
43689
44122
  format = "number";
44123
+ } else if (tag.format === TagFormat.coordinates) {
44124
+ format = "coordinates";
43690
44125
  }
43691
44126
  } else if (tagType === BitTagConfigKeyType.resource) {
43692
44127
  format = "string";