@gmb/bitmark-parser-generator 5.31.1 → 5.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -514,6 +514,8 @@ var BitType = {
514
514
  pageSectionFolder: "page-section-folder",
515
515
  pageShopInShop: "page-shop-in-shop",
516
516
  pageSpecial: "page-special",
517
+ pageEnd: "page-end",
518
+ pageStart: "page-start",
517
519
  pageSubpage: "page-subpage",
518
520
  pageSubscribe: "page-subscribe",
519
521
  parameters: "parameters",
@@ -3200,11 +3202,16 @@ var CARDSETS = {
3200
3202
  exportJsonKey: { "@bit": { heading: { forKeys: "$" } } }
3201
3203
  },
3202
3204
  {
3205
+ // Axis-side `[@isCaseSensitive]` is a cascade SOURCE
3206
+ // only: it must fire (so value-side cells inherit via
3207
+ // `$ancestor`) but emit nothing itself — emission is
3208
+ // owned by the value-side's cell-nested rule
3209
+ // (`cells[$s].isCaseSensitive`, PLAN-122). The earlier
3210
+ // flat `$ancestor` rule here double-emitted at bit
3211
+ // scope and broke the `optimize(fullize(x)) ==
3212
+ // optimize(x)` law on match-matrix.
3203
3213
  key: ConfigKey.property_isCaseSensitive,
3204
- exportJsonKey: [
3205
- { "@absent": { isCaseSensitive: "$ancestor" } },
3206
- { isCaseSensitive: "$" }
3207
- ],
3214
+ exportJsonKey: {},
3208
3215
  description: "Property to indicate if the match is case sensitive.",
3209
3216
  format: TagFormat.boolean
3210
3217
  }
@@ -5084,18 +5091,16 @@ var GROUPS = {
5084
5091
  description: "Item, lead, page number, margin number, instruction and hint tags"
5085
5092
  },
5086
5093
  {
5087
- // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2: cascade-fired
5088
- // `@example` from the bit header marks EVERY choice with
5089
- // `isExample: true` (matches BPG output), but only the
5090
- // FIRST correct choice gets `example: true` (BPG
5091
- // `fillBooleanExample(..., firstCorrectOnly=true)`).
5092
- //
5093
- // Two `@absent` rules, picked first-match-wins:
5094
- // 1. Verbose form gated on `@parent.isCorrect=true` with
5095
- // `maxEmits:1` fires once for the first correct.
5096
- // 2. Plain `@absent` fires on every remaining entry
5097
- // (subsequent corrects and all incorrects), emitting
5098
- // `isExample` only.
5094
+ // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2, corrected by
5095
+ // bpg 5.31 probing: cascade-fired `@example` decorates only
5096
+ // the FIRST correct choice (`example: true` via the
5097
+ // `@parent.isCorrect`-gated `@absent` rule, `maxEmits:1`
5098
+ // BPG `fillBooleanExample(..., firstCorrectOnly=true)`).
5099
+ // There is deliberately NO plain `@absent` rule: an ancestor
5100
+ // bare example must leave the remaining choices untouched
5101
+ // (a plain `@absent` decoration broke the
5102
+ // `optimize(fullize(x)) == optimize(x)` law the
5103
+ // synthesized `isExample` keys survived re-optimization).
5099
5104
  // The `serialize_cards` cascade-counter scope holds the cap
5100
5105
  // across the whole cardset.
5101
5106
  // @card scope-shift writes choice-container isExample (e.g.
@@ -5123,13 +5128,6 @@ var GROUPS = {
5123
5128
  "@card": { isExample: true }
5124
5129
  }
5125
5130
  },
5126
- {
5127
- "@absent": {
5128
- isExample: true,
5129
- "@bit": { isExample: true },
5130
- "@card": { isExample: true }
5131
- }
5132
- },
5133
5131
  {
5134
5132
  isExample: true,
5135
5133
  example: "$",
@@ -5171,11 +5169,13 @@ var GROUPS = {
5171
5169
  description: "Item, lead, page number, margin number, instruction and hint tags"
5172
5170
  },
5173
5171
  {
5174
- // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2: cascade-fired
5175
- // `@example` on a `-` (incorrect choice) emits
5176
- // `isExample: true` only — no `example` (BPG fixtures show
5177
- // `isExample` on every choice, but `example` only on the
5178
- // first correct via firstCorrectOnly cascade).
5172
+ // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2, corrected by
5173
+ // bpg 5.31 probing: an ancestor bare `@example` leaves
5174
+ // incorrect choices UNTOUCHED — no cascade decoration at
5175
+ // all (no `@absent` rule; a plain `@absent isExample`
5176
+ // decoration broke the `optimize(fullize(x)) ==
5177
+ // optimize(x)` law). Only an explicit `[@example]` on the
5178
+ // choice itself emits.
5179
5179
  // @card scope-shift writes choice-container isExample.
5180
5180
  key: ConfigKey.property_example,
5181
5181
  jsonKey: "example",
@@ -5188,13 +5188,6 @@ var GROUPS = {
5188
5188
  "@card": { isExample: true }
5189
5189
  }
5190
5190
  },
5191
- {
5192
- "@absent": {
5193
- isExample: true,
5194
- "@bit": { isExample: true },
5195
- "@card": { isExample: true }
5196
- }
5197
- },
5198
5191
  {
5199
5192
  isExample: true,
5200
5193
  example: "$",
@@ -5202,7 +5195,7 @@ var GROUPS = {
5202
5195
  "@card": { isExample: true }
5203
5196
  }
5204
5197
  ],
5205
- description: "An example for the true/false statement/question (incorrect entry \u2014 isExample only on cascade)",
5198
+ 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)",
5206
5199
  format: TagFormat.boolean,
5207
5200
  nullable: true
5208
5201
  }
@@ -7261,7 +7254,9 @@ var BITS = {
7261
7254
  description: "Common tags for quiz bits"
7262
7255
  },
7263
7256
  {
7264
- exportJsonKey: { title: "$" },
7257
+ maxCount: 2,
7258
+ jsonKey: "title|multi(count=2, key=subtitle)",
7259
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
7265
7260
  key: ConfigKey.tag_title,
7266
7261
  description: "The title of the flashcard quiz"
7267
7262
  },
@@ -7366,7 +7361,9 @@ var BITS = {
7366
7361
  description: "Article bit, used for articles / paragraphs",
7367
7362
  tags: [
7368
7363
  {
7369
- exportJsonKey: { title: "$" },
7364
+ maxCount: 2,
7365
+ jsonKey: "title|multi(count=2, key=subtitle)",
7366
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
7370
7367
  key: ConfigKey.tag_title,
7371
7368
  description: "The title of the article"
7372
7369
  }
@@ -9332,7 +9329,9 @@ var BITS = {
9332
9329
  description: "Example bit, used to provide examples in articles or books",
9333
9330
  tags: [
9334
9331
  {
9335
- exportJsonKey: { title: "$" },
9332
+ maxCount: 2,
9333
+ jsonKey: "title|multi(count=2, key=subtitle)",
9334
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
9336
9335
  key: ConfigKey.tag_title,
9337
9336
  description: "The title of the example"
9338
9337
  },
@@ -11933,7 +11932,9 @@ var BITS = {
11933
11932
  description: "Page bit, used to create pages in articles or books",
11934
11933
  tags: [
11935
11934
  {
11936
- exportJsonKey: { title: "$" },
11935
+ maxCount: 2,
11936
+ jsonKey: "title|multi(count=2, key=subtitle)",
11937
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
11937
11938
  key: ConfigKey.tag_title,
11938
11939
  description: "Title of the page, used to display the page title"
11939
11940
  },
@@ -12033,6 +12034,16 @@ var BITS = {
12033
12034
  baseBitType: BitType.pageSubpage,
12034
12035
  description: "Page special bit, used to create special pages in articles or books"
12035
12036
  },
12037
+ [BitType.pageEnd]: {
12038
+ since: "5.33.0",
12039
+ baseBitType: BitType.article,
12040
+ description: "Page end bit, used to mark the end of a page section in articles or books"
12041
+ },
12042
+ [BitType.pageStart]: {
12043
+ since: "5.33.0",
12044
+ baseBitType: BitType.article,
12045
+ description: "Page start bit, used to mark the start of a page section in articles or books"
12046
+ },
12036
12047
  [BitType.pagePerson]: {
12037
12048
  since: "1.5.16",
12038
12049
  baseBitType: BitType._standard,
@@ -12391,7 +12402,9 @@ var BITS = {
12391
12402
  description: "Review note bit, used to create review notes in articles or books",
12392
12403
  tags: [
12393
12404
  {
12394
- exportJsonKey: { title: "$" },
12405
+ maxCount: 2,
12406
+ jsonKey: "title|multi(count=2, key=subtitle)",
12407
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
12395
12408
  key: ConfigKey.tag_title,
12396
12409
  description: "Title of the review note, used to display the note title"
12397
12410
  },
@@ -13977,7 +13990,7 @@ var instance2 = new Config();
13977
13990
  // src/generated/package_info.ts
13978
13991
  var PACKAGE_INFO = {
13979
13992
  "name": "@gmb/bitmark-parser-generator",
13980
- "version": "5.31.1",
13993
+ "version": "5.33.0",
13981
13994
  "author": "Get More Brain Ltd",
13982
13995
  "license": "ISC",
13983
13996
  "description": "A bitmark parser and generator using Peggy.js"
@@ -14252,6 +14265,7 @@ var TextMarkType = {
14252
14265
  del: "del",
14253
14266
  underline: "underline",
14254
14267
  doubleUnderline: "doubleUnderline",
14268
+ smallcaps: "smallcaps",
14255
14269
  circle: "circle",
14256
14270
  languageEmRed: "languageEmRed",
14257
14271
  languageEmOrange: "languageEmOrange",
@@ -14283,7 +14297,10 @@ var TextMarkType = {
14283
14297
  code: "code",
14284
14298
  timer: "timer",
14285
14299
  duration: "duration",
14300
+ // legacy: no longer produced by the parser (>= 8.41.1), accepted as generator input
14286
14301
  color: "color",
14302
+ // legacy: no longer produced by the parser (>= 8.41.1, now textStyle), accepted as generator input
14303
+ textStyle: "textStyle",
14287
14304
  colorPicker: "colorPicker",
14288
14305
  comment: "comment"
14289
14306
  };
@@ -15868,6 +15885,7 @@ var INLINE_MARK_TYPES = [
15868
15885
  TextMarkType.del,
15869
15886
  TextMarkType.underline,
15870
15887
  TextMarkType.doubleUnderline,
15888
+ TextMarkType.smallcaps,
15871
15889
  TextMarkType.circle,
15872
15890
  TextMarkType.languageEmRed,
15873
15891
  TextMarkType.languageEmOrange,
@@ -15898,11 +15916,24 @@ var INLINE_MARK_TYPES = [
15898
15916
  TextMarkType.var,
15899
15917
  TextMarkType.code,
15900
15918
  TextMarkType.timer,
15901
- TextMarkType.duration,
15902
15919
  TextMarkType.color,
15920
+ // legacy input, written as color: (same as textStyle)
15921
+ TextMarkType.textStyle,
15903
15922
  TextMarkType.colorPicker,
15904
15923
  TextMarkType.comment
15905
15924
  ];
15925
+ var HIGHLIGHT_COLORS = [
15926
+ "orange",
15927
+ "yellow",
15928
+ "green",
15929
+ "blue",
15930
+ "purple",
15931
+ "pink",
15932
+ "brown",
15933
+ "white",
15934
+ "black",
15935
+ "gray"
15936
+ ];
15906
15937
  var INDENTATION_REGEX = new RegExp(/(\n|\r\n)/, "g");
15907
15938
  var LINK_REGEX = new RegExp(/https?:\/\/|mailto:(.*)/, "g");
15908
15939
  var LINK_BREAKSCAPE_REGEX = new RegExp(/\]/, "g");
@@ -16466,14 +16497,16 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16466
16497
  this.writeMarkTextWrapper(INLINE_MARK);
16467
16498
  return;
16468
16499
  }
16469
- const singleMark = node.marks.length === 1 && forceSingleMark;
16470
- const markStartEnd = node.marks.reduce(
16500
+ const marks = this.getWritableMarks(node.marks);
16501
+ if (marks.length === 0) return;
16502
+ const singleMark = marks.length === 1 && forceSingleMark;
16503
+ const markStartEnd = marks.reduce(
16471
16504
  (acc, mark) => {
16472
16505
  if (acc) return acc;
16473
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16506
+ if (this.isStandardMark(mark)) {
16474
16507
  if (singleMark) return STANDARD_MARKS[mark.type];
16475
16508
  return INLINE_MARK;
16476
- } else if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) {
16509
+ } else if (this.isInlineMark(mark)) {
16477
16510
  return INLINE_MARK;
16478
16511
  } else {
16479
16512
  }
@@ -16488,8 +16521,8 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16488
16521
  this.writeMarkTextWrapper(markStartEnd);
16489
16522
  }
16490
16523
  if (stage == Stage.between) {
16491
- for (const mark of node.marks) {
16492
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16524
+ for (const mark of marks) {
16525
+ if (this.isStandardMark(mark)) {
16493
16526
  if (!singleMark) {
16494
16527
  this.writeInlineMarkStartEnd();
16495
16528
  this.writeInlineMark(mark);
@@ -16518,7 +16551,7 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16518
16551
  } else if (TextMarkType.symbol === mark.type) {
16519
16552
  this.writeInlineMarkStartEnd();
16520
16553
  this.writeSymbolMark(mark);
16521
- } else if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) {
16554
+ } else if (this.isInlineMark(mark)) {
16522
16555
  this.writeInlineMarkStartEnd();
16523
16556
  this.writeInlineMark(mark);
16524
16557
  } else {
@@ -16527,12 +16560,12 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16527
16560
  }
16528
16561
  if (stage == Stage.exit) {
16529
16562
  let inlineMarkWritten = false;
16530
- for (const mark of node.marks) {
16531
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16563
+ for (const mark of marks) {
16564
+ if (this.isStandardMark(mark)) {
16532
16565
  if (!singleMark) {
16533
16566
  inlineMarkWritten = true;
16534
16567
  }
16535
- } 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) {
16568
+ } 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)) {
16536
16569
  inlineMarkWritten = true;
16537
16570
  } else {
16538
16571
  }
@@ -16613,8 +16646,15 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16613
16646
  if (node.attrs == null || !node.attrs.src) return;
16614
16647
  const attrs = node.attrs;
16615
16648
  const inlineImage = node.type === TextNodeType.imageInline;
16649
+ let ignoreAttributes;
16650
+ if (inlineImage) {
16651
+ ignoreAttributes = /* @__PURE__ */ new Set(["alt", "zoomDisabled", "title"]);
16652
+ const a = attrs;
16653
+ if (a.alignmentVertical === "top") ignoreAttributes.add("alignmentVertical");
16654
+ if (a.size === "line-height") ignoreAttributes.add("size");
16655
+ }
16616
16656
  const mediaAttrs = this.getMediaAttrs(inlineImage ? "imageInline" : "image", attrs, {
16617
- ignoreAttributes: inlineImage ? /* @__PURE__ */ new Set(["alt", "zoomDisabled", "title"]) : void 0
16657
+ ignoreAttributes
16618
16658
  });
16619
16659
  let s = "";
16620
16660
  if (inlineImage) {
@@ -16644,16 +16684,87 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16644
16684
  if (s) this.write(s);
16645
16685
  }
16646
16686
  writeInlineMark(mark) {
16647
- let s = `${mark.type}`;
16648
- if (mark.attrs) {
16649
- for (const [k, v] of Object.entries(mark.attrs)) {
16650
- if (k === "language" && v !== "plain text" || k === "color" || k === "propertyRef" || k === "name" || k === "duration") {
16651
- s = `${s}:${v}`;
16687
+ const attrs = mark.attrs ?? {};
16688
+ let s;
16689
+ switch (mark.type) {
16690
+ case TextMarkType.textStyle:
16691
+ case TextMarkType.color:
16692
+ s = `color:${attrs.color ?? ""}`;
16693
+ break;
16694
+ case TextMarkType.timer:
16695
+ s = attrs.name ? `timer:${attrs.name}` : "timer";
16696
+ s += `|duration:${attrs.duration ?? ""}`;
16697
+ break;
16698
+ case TextMarkType.highlight:
16699
+ case TextMarkType.userHighlight:
16700
+ s = attrs.color ? `${mark.type}|color:${attrs.color}` : `${mark.type}`;
16701
+ break;
16702
+ default: {
16703
+ s = `${mark.type}`;
16704
+ for (const [k, v] of Object.entries(attrs)) {
16705
+ if (k === "language" && v !== "plain text" || k === "propertyRef" || k === "name") {
16706
+ s = `${s}:${v}`;
16707
+ }
16652
16708
  }
16653
16709
  }
16654
16710
  }
16655
16711
  this.write(s);
16656
16712
  }
16713
+ /**
16714
+ * Resolve the marks of a text node into the marks that will actually be written.
16715
+ *
16716
+ * - Merges a legacy standalone 'duration' mark into its sibling 'timer' mark.
16717
+ * - Drops marks the current grammar cannot express (standalone 'duration', 'timer'
16718
+ * without a duration).
16719
+ * - Moves a 'textStyle'/'color' mark before a preceding bare 'highlight'/'userHighlight'
16720
+ * mark when its color is a valid highlight color; written in the original order the
16721
+ * output would re-parse as a highlight-with-color compound mark and change meaning.
16722
+ */
16723
+ getWritableMarks(nodeMarks) {
16724
+ const attrsOf = (m) => m.attrs ?? {};
16725
+ let marks = [...nodeMarks];
16726
+ const timer = marks.find((m) => m.type === TextMarkType.timer);
16727
+ const duration = marks.find((m) => m.type === TextMarkType.duration);
16728
+ if (timer && duration && !attrsOf(timer).duration) {
16729
+ marks = marks.map(
16730
+ (m) => m === timer ? {
16731
+ ...timer,
16732
+ attrs: { ...attrsOf(timer), duration: attrsOf(duration).duration }
16733
+ } : m
16734
+ );
16735
+ }
16736
+ marks = marks.filter((m) => {
16737
+ if (m.type === TextMarkType.duration) return false;
16738
+ if (m.type === TextMarkType.timer) return !!attrsOf(m).duration;
16739
+ return true;
16740
+ });
16741
+ const isBareHighlight = (m) => (m.type === TextMarkType.highlight || m.type === TextMarkType.userHighlight) && !attrsOf(m).color;
16742
+ const isHighlightColorStyle = (m) => (m.type === TextMarkType.textStyle || m.type === TextMarkType.color) && HIGHLIGHT_COLORS.indexOf(attrsOf(m).color) !== -1;
16743
+ for (let i = 0; i < marks.length - 1; i++) {
16744
+ if (isBareHighlight(marks[i]) && isHighlightColorStyle(marks[i + 1])) {
16745
+ const tmp = marks[i];
16746
+ marks[i] = marks[i + 1];
16747
+ marks[i + 1] = tmp;
16748
+ }
16749
+ }
16750
+ return marks;
16751
+ }
16752
+ /**
16753
+ * True if the mark is written using its standard form (e.g. **bold**, !!highlight!!)
16754
+ * when it is the only mark. A highlight mark with a color attribute is excluded - it
16755
+ * can only be expressed using the inline chain form (==text==|highlight|color:x|).
16756
+ */
16757
+ isStandardMark(mark) {
16758
+ if (STANDARD_MARK_TYPES.indexOf(mark.type) === -1) return false;
16759
+ return !(mark.attrs && mark.attrs.color);
16760
+ }
16761
+ /**
16762
+ * True if the mark is written using the inline chain form (==text==|mark|).
16763
+ */
16764
+ isInlineMark(mark) {
16765
+ if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) return true;
16766
+ return mark.type === TextMarkType.highlight && !!(mark.attrs && mark.attrs.color);
16767
+ }
16657
16768
  writeCommentMark(mark) {
16658
16769
  const comment = mark.comment || "";
16659
16770
  const s = `#${comment}`;
@@ -16858,7 +16969,7 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16858
16969
  };
16859
16970
 
16860
16971
  // src/generated/parser/text/text-peggy-parser.js
16861
- var VERSION = "8.37.3";
16972
+ var VERSION = "8.41.1";
16862
16973
  function unbreakscape(str) {
16863
16974
  if (typeof str !== "string") return null;
16864
16975
  return instance3.unbreakscape(str);
@@ -17073,87 +17184,88 @@ function peg$parse(input, options) {
17073
17184
  const peg$c60 = "var:";
17074
17185
  const peg$c61 = "code:";
17075
17186
  const peg$c62 = "timer";
17076
- const peg$c63 = "timer:";
17077
- const peg$c64 = "duration:";
17078
- const peg$c65 = "P";
17079
- const peg$c66 = "color:";
17080
- const peg$c67 = "colorPicker:";
17081
- const peg$c68 = "|\u25BA";
17082
- const peg$c69 = "bold";
17083
- const peg$c70 = "italic";
17084
- const peg$c71 = "light";
17085
- const peg$c72 = "highlightOrange";
17086
- const peg$c73 = "highlightYellow";
17087
- const peg$c74 = "highlightGreen";
17088
- const peg$c75 = "highlightBlue";
17089
- const peg$c76 = "highlightPurple";
17090
- const peg$c77 = "highlightPink";
17091
- const peg$c78 = "highlightBrown";
17092
- const peg$c79 = "highlightBlack";
17093
- const peg$c80 = "highlightWhite";
17094
- const peg$c81 = "highlightGray";
17095
- const peg$c82 = "highlight";
17096
- const peg$c83 = "strike";
17097
- const peg$c84 = "subscript";
17098
- const peg$c85 = "superscript";
17099
- const peg$c86 = "ins";
17100
- const peg$c87 = "del";
17101
- const peg$c88 = "underline";
17102
- const peg$c89 = "doubleUnderline";
17103
- const peg$c90 = "circle";
17104
- const peg$c91 = "languageEmRed";
17105
- const peg$c92 = "languageEmOrange";
17106
- const peg$c93 = "languageEmYellow";
17107
- const peg$c94 = "languageEmGreen";
17108
- const peg$c95 = "languageEmBlue";
17109
- const peg$c96 = "languageEmPurple";
17110
- const peg$c97 = "languageEmPink";
17111
- const peg$c98 = "languageEmBrown";
17112
- const peg$c99 = "languageEmBlack";
17113
- const peg$c100 = "languageEmWhite";
17114
- const peg$c101 = "languageEmGray";
17115
- const peg$c102 = "languageEm";
17116
- const peg$c103 = "userUnderline";
17117
- const peg$c104 = "userDoubleUnderline";
17118
- const peg$c105 = "userStrike";
17119
- const peg$c106 = "userCircle";
17120
- const peg$c107 = "userHighlight";
17121
- const peg$c108 = "notranslate";
17122
- const peg$c109 = "aqua";
17123
- const peg$c110 = "black";
17124
- const peg$c111 = "blue";
17125
- const peg$c112 = "brown";
17126
- const peg$c113 = "fuchsia";
17127
- const peg$c114 = "lightgrey";
17128
- const peg$c115 = "gray";
17129
- const peg$c116 = "darkgray";
17130
- const peg$c117 = "green";
17131
- const peg$c118 = "lime";
17132
- const peg$c119 = "magenta";
17133
- const peg$c120 = "maroon";
17134
- const peg$c121 = "navy";
17135
- const peg$c122 = "olive";
17136
- const peg$c123 = "orange";
17137
- const peg$c124 = "pink";
17138
- const peg$c125 = "purple";
17139
- const peg$c126 = "red";
17140
- const peg$c127 = "silver";
17141
- const peg$c128 = "teal";
17142
- const peg$c129 = "violet";
17143
- const peg$c130 = "white";
17144
- const peg$c131 = "yellow";
17145
- const peg$c132 = "*";
17146
- const peg$c133 = "_";
17147
- const peg$c134 = "`";
17148
- const peg$c135 = "!";
17149
- const peg$c136 = "[!";
17150
- const peg$c137 = "]";
17151
- const peg$c138 = "\n";
17152
- const peg$c139 = "\r\n";
17153
- const peg$c140 = "http";
17154
- const peg$c141 = "s";
17155
- const peg$c142 = "://";
17156
- const peg$c143 = "mailto:";
17187
+ const peg$c63 = "duration:";
17188
+ const peg$c64 = "P";
17189
+ const peg$c65 = "timer:";
17190
+ const peg$c66 = "highlight";
17191
+ const peg$c67 = "color:";
17192
+ const peg$c68 = "userHighlight";
17193
+ const peg$c69 = "colorPicker:";
17194
+ const peg$c70 = "|\u25BA";
17195
+ const peg$c71 = "bold";
17196
+ const peg$c72 = "italic";
17197
+ const peg$c73 = "light";
17198
+ const peg$c74 = "highlightOrange";
17199
+ const peg$c75 = "highlightYellow";
17200
+ const peg$c76 = "highlightGreen";
17201
+ const peg$c77 = "highlightBlue";
17202
+ const peg$c78 = "highlightPurple";
17203
+ const peg$c79 = "highlightPink";
17204
+ const peg$c80 = "highlightBrown";
17205
+ const peg$c81 = "highlightBlack";
17206
+ const peg$c82 = "highlightWhite";
17207
+ const peg$c83 = "highlightGray";
17208
+ const peg$c84 = "strike";
17209
+ const peg$c85 = "subscript";
17210
+ const peg$c86 = "superscript";
17211
+ const peg$c87 = "ins";
17212
+ const peg$c88 = "del";
17213
+ const peg$c89 = "underline";
17214
+ const peg$c90 = "doubleUnderline";
17215
+ const peg$c91 = "smallcaps";
17216
+ const peg$c92 = "circle";
17217
+ const peg$c93 = "languageEmRed";
17218
+ const peg$c94 = "languageEmOrange";
17219
+ const peg$c95 = "languageEmYellow";
17220
+ const peg$c96 = "languageEmGreen";
17221
+ const peg$c97 = "languageEmBlue";
17222
+ const peg$c98 = "languageEmPurple";
17223
+ const peg$c99 = "languageEmPink";
17224
+ const peg$c100 = "languageEmBrown";
17225
+ const peg$c101 = "languageEmBlack";
17226
+ const peg$c102 = "languageEmWhite";
17227
+ const peg$c103 = "languageEmGray";
17228
+ const peg$c104 = "languageEm";
17229
+ const peg$c105 = "userUnderline";
17230
+ const peg$c106 = "userDoubleUnderline";
17231
+ const peg$c107 = "userStrike";
17232
+ const peg$c108 = "userCircle";
17233
+ const peg$c109 = "notranslate";
17234
+ const peg$c110 = "aqua";
17235
+ const peg$c111 = "black";
17236
+ const peg$c112 = "blue";
17237
+ const peg$c113 = "brown";
17238
+ const peg$c114 = "fuchsia";
17239
+ const peg$c115 = "lightgrey";
17240
+ const peg$c116 = "gray";
17241
+ const peg$c117 = "darkgray";
17242
+ const peg$c118 = "green";
17243
+ const peg$c119 = "lime";
17244
+ const peg$c120 = "magenta";
17245
+ const peg$c121 = "maroon";
17246
+ const peg$c122 = "navy";
17247
+ const peg$c123 = "olive";
17248
+ const peg$c124 = "orange";
17249
+ const peg$c125 = "pink";
17250
+ const peg$c126 = "purple";
17251
+ const peg$c127 = "red";
17252
+ const peg$c128 = "silver";
17253
+ const peg$c129 = "teal";
17254
+ const peg$c130 = "violet";
17255
+ const peg$c131 = "white";
17256
+ const peg$c132 = "yellow";
17257
+ const peg$c133 = "*";
17258
+ const peg$c134 = "_";
17259
+ const peg$c135 = "`";
17260
+ const peg$c136 = "!";
17261
+ const peg$c137 = "[!";
17262
+ const peg$c138 = "]";
17263
+ const peg$c139 = "\n";
17264
+ const peg$c140 = "\r\n";
17265
+ const peg$c141 = "http";
17266
+ const peg$c142 = "s";
17267
+ const peg$c143 = "://";
17268
+ const peg$c144 = "mailto:";
17157
17269
  const peg$r0 = /^[ \t]/;
17158
17270
  const peg$r1 = /^[0-9]/;
17159
17271
  const peg$r2 = /^[\r\u2028-\u2029]/;
@@ -17226,91 +17338,92 @@ function peg$parse(input, options) {
17226
17338
  const peg$e64 = peg$literalExpectation("var:", false);
17227
17339
  const peg$e65 = peg$literalExpectation("code:", false);
17228
17340
  const peg$e66 = peg$literalExpectation("timer", false);
17229
- const peg$e67 = peg$literalExpectation("timer:", false);
17230
- const peg$e68 = peg$literalExpectation("duration:", false);
17231
- const peg$e69 = peg$literalExpectation("P", false);
17232
- const peg$e70 = peg$literalExpectation("color:", false);
17233
- const peg$e71 = peg$literalExpectation("colorPicker:", false);
17234
- const peg$e72 = peg$literalExpectation("|\u25BA", false);
17235
- const peg$e73 = peg$literalExpectation("bold", false);
17236
- const peg$e74 = peg$literalExpectation("italic", false);
17237
- const peg$e75 = peg$literalExpectation("light", false);
17238
- const peg$e76 = peg$literalExpectation("highlightOrange", false);
17239
- const peg$e77 = peg$literalExpectation("highlightYellow", false);
17240
- const peg$e78 = peg$literalExpectation("highlightGreen", false);
17241
- const peg$e79 = peg$literalExpectation("highlightBlue", false);
17242
- const peg$e80 = peg$literalExpectation("highlightPurple", false);
17243
- const peg$e81 = peg$literalExpectation("highlightPink", false);
17244
- const peg$e82 = peg$literalExpectation("highlightBrown", false);
17245
- const peg$e83 = peg$literalExpectation("highlightBlack", false);
17246
- const peg$e84 = peg$literalExpectation("highlightWhite", false);
17247
- const peg$e85 = peg$literalExpectation("highlightGray", false);
17248
- const peg$e86 = peg$literalExpectation("highlight", false);
17249
- const peg$e87 = peg$literalExpectation("strike", false);
17250
- const peg$e88 = peg$literalExpectation("subscript", false);
17251
- const peg$e89 = peg$literalExpectation("superscript", false);
17252
- const peg$e90 = peg$literalExpectation("ins", false);
17253
- const peg$e91 = peg$literalExpectation("del", false);
17254
- const peg$e92 = peg$literalExpectation("underline", false);
17255
- const peg$e93 = peg$literalExpectation("doubleUnderline", false);
17256
- const peg$e94 = peg$literalExpectation("circle", false);
17257
- const peg$e95 = peg$literalExpectation("languageEmRed", false);
17258
- const peg$e96 = peg$literalExpectation("languageEmOrange", false);
17259
- const peg$e97 = peg$literalExpectation("languageEmYellow", false);
17260
- const peg$e98 = peg$literalExpectation("languageEmGreen", false);
17261
- const peg$e99 = peg$literalExpectation("languageEmBlue", false);
17262
- const peg$e100 = peg$literalExpectation("languageEmPurple", false);
17263
- const peg$e101 = peg$literalExpectation("languageEmPink", false);
17264
- const peg$e102 = peg$literalExpectation("languageEmBrown", false);
17265
- const peg$e103 = peg$literalExpectation("languageEmBlack", false);
17266
- const peg$e104 = peg$literalExpectation("languageEmWhite", false);
17267
- const peg$e105 = peg$literalExpectation("languageEmGray", false);
17268
- const peg$e106 = peg$literalExpectation("languageEm", false);
17269
- const peg$e107 = peg$literalExpectation("userUnderline", false);
17270
- const peg$e108 = peg$literalExpectation("userDoubleUnderline", false);
17271
- const peg$e109 = peg$literalExpectation("userStrike", false);
17272
- const peg$e110 = peg$literalExpectation("userCircle", false);
17273
- const peg$e111 = peg$literalExpectation("userHighlight", false);
17274
- const peg$e112 = peg$literalExpectation("notranslate", false);
17275
- const peg$e113 = peg$literalExpectation("aqua", false);
17276
- const peg$e114 = peg$literalExpectation("black", false);
17277
- const peg$e115 = peg$literalExpectation("blue", false);
17278
- const peg$e116 = peg$literalExpectation("brown", false);
17279
- const peg$e117 = peg$literalExpectation("fuchsia", false);
17280
- const peg$e118 = peg$literalExpectation("lightgrey", false);
17281
- const peg$e119 = peg$literalExpectation("gray", false);
17282
- const peg$e120 = peg$literalExpectation("darkgray", false);
17283
- const peg$e121 = peg$literalExpectation("green", false);
17284
- const peg$e122 = peg$literalExpectation("lime", false);
17285
- const peg$e123 = peg$literalExpectation("magenta", false);
17286
- const peg$e124 = peg$literalExpectation("maroon", false);
17287
- const peg$e125 = peg$literalExpectation("navy", false);
17288
- const peg$e126 = peg$literalExpectation("olive", false);
17289
- const peg$e127 = peg$literalExpectation("orange", false);
17290
- const peg$e128 = peg$literalExpectation("pink", false);
17291
- const peg$e129 = peg$literalExpectation("purple", false);
17292
- const peg$e130 = peg$literalExpectation("red", false);
17293
- const peg$e131 = peg$literalExpectation("silver", false);
17294
- const peg$e132 = peg$literalExpectation("teal", false);
17295
- const peg$e133 = peg$literalExpectation("violet", false);
17296
- const peg$e134 = peg$literalExpectation("white", false);
17297
- const peg$e135 = peg$literalExpectation("yellow", false);
17298
- const peg$e136 = peg$literalExpectation("*", false);
17299
- const peg$e137 = peg$literalExpectation("_", false);
17300
- const peg$e138 = peg$literalExpectation("`", false);
17301
- const peg$e139 = peg$literalExpectation("!", false);
17302
- const peg$e140 = peg$literalExpectation("[!", false);
17303
- const peg$e141 = peg$literalExpectation("]", false);
17304
- const peg$e142 = peg$otherExpectation("Line Terminator");
17305
- const peg$e143 = peg$literalExpectation("\n", false);
17306
- const peg$e144 = peg$literalExpectation("\r\n", false);
17307
- const peg$e145 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
17308
- const peg$e146 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
17309
- const peg$e147 = peg$literalExpectation("http", false);
17310
- const peg$e148 = peg$literalExpectation("s", false);
17311
- const peg$e149 = peg$literalExpectation("://", false);
17312
- const peg$e150 = peg$literalExpectation("mailto:", false);
17313
- const peg$e151 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
17341
+ const peg$e67 = peg$literalExpectation("duration:", false);
17342
+ const peg$e68 = peg$literalExpectation("P", false);
17343
+ const peg$e69 = peg$literalExpectation("timer:", false);
17344
+ const peg$e70 = peg$literalExpectation("highlight", false);
17345
+ const peg$e71 = peg$literalExpectation("color:", false);
17346
+ const peg$e72 = peg$literalExpectation("userHighlight", false);
17347
+ const peg$e73 = peg$literalExpectation("colorPicker:", false);
17348
+ const peg$e74 = peg$literalExpectation("|\u25BA", false);
17349
+ const peg$e75 = peg$literalExpectation("bold", false);
17350
+ const peg$e76 = peg$literalExpectation("italic", false);
17351
+ const peg$e77 = peg$literalExpectation("light", false);
17352
+ const peg$e78 = peg$literalExpectation("highlightOrange", false);
17353
+ const peg$e79 = peg$literalExpectation("highlightYellow", false);
17354
+ const peg$e80 = peg$literalExpectation("highlightGreen", false);
17355
+ const peg$e81 = peg$literalExpectation("highlightBlue", false);
17356
+ const peg$e82 = peg$literalExpectation("highlightPurple", false);
17357
+ const peg$e83 = peg$literalExpectation("highlightPink", false);
17358
+ const peg$e84 = peg$literalExpectation("highlightBrown", false);
17359
+ const peg$e85 = peg$literalExpectation("highlightBlack", false);
17360
+ const peg$e86 = peg$literalExpectation("highlightWhite", false);
17361
+ const peg$e87 = peg$literalExpectation("highlightGray", false);
17362
+ const peg$e88 = peg$literalExpectation("strike", false);
17363
+ const peg$e89 = peg$literalExpectation("subscript", false);
17364
+ const peg$e90 = peg$literalExpectation("superscript", false);
17365
+ const peg$e91 = peg$literalExpectation("ins", false);
17366
+ const peg$e92 = peg$literalExpectation("del", false);
17367
+ const peg$e93 = peg$literalExpectation("underline", false);
17368
+ const peg$e94 = peg$literalExpectation("doubleUnderline", false);
17369
+ const peg$e95 = peg$literalExpectation("smallcaps", false);
17370
+ const peg$e96 = peg$literalExpectation("circle", false);
17371
+ const peg$e97 = peg$literalExpectation("languageEmRed", false);
17372
+ const peg$e98 = peg$literalExpectation("languageEmOrange", false);
17373
+ const peg$e99 = peg$literalExpectation("languageEmYellow", false);
17374
+ const peg$e100 = peg$literalExpectation("languageEmGreen", false);
17375
+ const peg$e101 = peg$literalExpectation("languageEmBlue", false);
17376
+ const peg$e102 = peg$literalExpectation("languageEmPurple", false);
17377
+ const peg$e103 = peg$literalExpectation("languageEmPink", false);
17378
+ const peg$e104 = peg$literalExpectation("languageEmBrown", false);
17379
+ const peg$e105 = peg$literalExpectation("languageEmBlack", false);
17380
+ const peg$e106 = peg$literalExpectation("languageEmWhite", false);
17381
+ const peg$e107 = peg$literalExpectation("languageEmGray", false);
17382
+ const peg$e108 = peg$literalExpectation("languageEm", false);
17383
+ const peg$e109 = peg$literalExpectation("userUnderline", false);
17384
+ const peg$e110 = peg$literalExpectation("userDoubleUnderline", false);
17385
+ const peg$e111 = peg$literalExpectation("userStrike", false);
17386
+ const peg$e112 = peg$literalExpectation("userCircle", false);
17387
+ const peg$e113 = peg$literalExpectation("notranslate", false);
17388
+ const peg$e114 = peg$literalExpectation("aqua", false);
17389
+ const peg$e115 = peg$literalExpectation("black", false);
17390
+ const peg$e116 = peg$literalExpectation("blue", false);
17391
+ const peg$e117 = peg$literalExpectation("brown", false);
17392
+ const peg$e118 = peg$literalExpectation("fuchsia", false);
17393
+ const peg$e119 = peg$literalExpectation("lightgrey", false);
17394
+ const peg$e120 = peg$literalExpectation("gray", false);
17395
+ const peg$e121 = peg$literalExpectation("darkgray", false);
17396
+ const peg$e122 = peg$literalExpectation("green", false);
17397
+ const peg$e123 = peg$literalExpectation("lime", false);
17398
+ const peg$e124 = peg$literalExpectation("magenta", false);
17399
+ const peg$e125 = peg$literalExpectation("maroon", false);
17400
+ const peg$e126 = peg$literalExpectation("navy", false);
17401
+ const peg$e127 = peg$literalExpectation("olive", false);
17402
+ const peg$e128 = peg$literalExpectation("orange", false);
17403
+ const peg$e129 = peg$literalExpectation("pink", false);
17404
+ const peg$e130 = peg$literalExpectation("purple", false);
17405
+ const peg$e131 = peg$literalExpectation("red", false);
17406
+ const peg$e132 = peg$literalExpectation("silver", false);
17407
+ const peg$e133 = peg$literalExpectation("teal", false);
17408
+ const peg$e134 = peg$literalExpectation("violet", false);
17409
+ const peg$e135 = peg$literalExpectation("white", false);
17410
+ const peg$e136 = peg$literalExpectation("yellow", false);
17411
+ const peg$e137 = peg$literalExpectation("*", false);
17412
+ const peg$e138 = peg$literalExpectation("_", false);
17413
+ const peg$e139 = peg$literalExpectation("`", false);
17414
+ const peg$e140 = peg$literalExpectation("!", false);
17415
+ const peg$e141 = peg$literalExpectation("[!", false);
17416
+ const peg$e142 = peg$literalExpectation("]", false);
17417
+ const peg$e143 = peg$otherExpectation("Line Terminator");
17418
+ const peg$e144 = peg$literalExpectation("\n", false);
17419
+ const peg$e145 = peg$literalExpectation("\r\n", false);
17420
+ const peg$e146 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
17421
+ const peg$e147 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
17422
+ const peg$e148 = peg$literalExpectation("http", false);
17423
+ const peg$e149 = peg$literalExpectation("s", false);
17424
+ const peg$e150 = peg$literalExpectation("://", false);
17425
+ const peg$e151 = peg$literalExpectation("mailto:", false);
17426
+ const peg$e152 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
17314
17427
  function peg$f0() {
17315
17428
  return VERSION;
17316
17429
  }
@@ -17586,7 +17699,7 @@ function peg$parse(input, options) {
17586
17699
  return { attrs: { formula: unbreakscape(t) }, type: "latex" };
17587
17700
  }
17588
17701
  function peg$f57(alt, u, ch) {
17589
- return { attrs: { alt, src: (u.pr + u.t).trim(), ...Object.assign({}, ...ch), zoomDisabled: true }, type: "imageInline" };
17702
+ return { attrs: { alt, src: (u.pr + u.t).trim(), "alignmentVertical": "top", size: "line-height", ...Object.assign({}, ...ch), zoomDisabled: true }, type: "imageInline" };
17590
17703
  }
17591
17704
  function peg$f58(t, marks) {
17592
17705
  if (!marks) marks = [];
@@ -17665,59 +17778,62 @@ function peg$parse(input, options) {
17665
17778
  function peg$f82(lang) {
17666
17779
  return { type: "code", attrs: { language: lang.trim().toLowerCase() } };
17667
17780
  }
17668
- function peg$f83() {
17669
- return { type: "timer", attrs: { name: "" } };
17781
+ function peg$f83(d) {
17782
+ return { type: "timer", attrs: { name: "", duration: d.trim() } };
17670
17783
  }
17671
- function peg$f84(str) {
17672
- return { type: "timer", attrs: { name: str.trim() } };
17784
+ function peg$f84(str, d) {
17785
+ return { type: "timer", attrs: { name: str.trim(), duration: d.trim() } };
17673
17786
  }
17674
- function peg$f85(str) {
17675
- return { type: "duration", attrs: { duration: str } };
17787
+ function peg$f85(color) {
17788
+ return { type: "highlight", attrs: { color } };
17676
17789
  }
17677
17790
  function peg$f86(color) {
17678
- return { type: "color", attrs: { color } };
17791
+ return { type: "userHighlight", attrs: { color } };
17679
17792
  }
17680
- function peg$f87(str) {
17793
+ function peg$f87(color) {
17794
+ return { type: "textStyle", attrs: { color } };
17795
+ }
17796
+ function peg$f88(str) {
17681
17797
  return { type: "colorPicker", attrs: { propertyRef: str.trim() } };
17682
17798
  }
17683
- function peg$f88(style) {
17799
+ function peg$f89(style) {
17684
17800
  return { type: style };
17685
17801
  }
17686
- function peg$f89(str) {
17802
+ function peg$f90(str) {
17687
17803
  return { type: "comment", comment: str };
17688
17804
  }
17689
- function peg$f90(r) {
17805
+ function peg$f91(r) {
17690
17806
  return r.trim();
17691
17807
  }
17692
- function peg$f91(bs) {
17808
+ function peg$f92(bs) {
17693
17809
  return [{ type: "paragraph", content: bs, attrs: {} }];
17694
17810
  }
17695
- function peg$f92(first, more) {
17811
+ function peg$f93(first, more) {
17696
17812
  const cleaned_ = cleanEmptyTextNodes(first ? [first, ...more.flat()] : more.flat());
17697
17813
  return cleaned_;
17698
17814
  }
17699
- function peg$f93() {
17815
+ function peg$f94() {
17700
17816
  return { "type": "hardBreak" };
17701
17817
  }
17702
- function peg$f94(t) {
17818
+ function peg$f95(t) {
17703
17819
  return { text: unbreakscape(t), type: "text" };
17704
17820
  }
17705
- function peg$f95(t) {
17821
+ function peg$f96(t) {
17706
17822
  return { index: +t, type: "bit" };
17707
17823
  }
17708
- function peg$f96(t) {
17824
+ function peg$f97(t) {
17709
17825
  return { marks: [{ type: "bold" }], text: unbreakscape(t), type: "text" };
17710
17826
  }
17711
- function peg$f97(t) {
17827
+ function peg$f98(t) {
17712
17828
  return { marks: [{ type: "italic" }], text: unbreakscape(t), type: "text" };
17713
17829
  }
17714
- function peg$f98(t) {
17830
+ function peg$f99(t) {
17715
17831
  return { marks: [{ type: "light" }], text: unbreakscape(t), type: "text" };
17716
17832
  }
17717
- function peg$f99(t) {
17833
+ function peg$f100(t) {
17718
17834
  return { marks: [{ type: "highlight" }], text: unbreakscape(t), type: "text" };
17719
17835
  }
17720
- function peg$f100(pr, t) {
17836
+ function peg$f101(pr, t) {
17721
17837
  return { pr, t };
17722
17838
  }
17723
17839
  let peg$currPos = options.peg$currPos | 0;
@@ -22587,7 +22703,7 @@ function peg$parse(input, options) {
22587
22703
  return s0;
22588
22704
  }
22589
22705
  function peg$parseAttrChainItem() {
22590
- let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
22706
+ let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;
22591
22707
  s0 = peg$currPos;
22592
22708
  if (input.substr(peg$currPos, 5) === peg$c52) {
22593
22709
  s1 = peg$c52;
@@ -23555,8 +23671,110 @@ function peg$parse(input, options) {
23555
23671
  if (s1 !== peg$FAILED) {
23556
23672
  s2 = peg$parseBlockTag();
23557
23673
  if (s2 !== peg$FAILED) {
23558
- peg$savedPos = s0;
23559
- s0 = peg$f83();
23674
+ if (input.substr(peg$currPos, 9) === peg$c63) {
23675
+ s3 = peg$c63;
23676
+ peg$currPos += 9;
23677
+ } else {
23678
+ s3 = peg$FAILED;
23679
+ if (peg$silentFails === 0) {
23680
+ peg$fail(peg$e67);
23681
+ }
23682
+ }
23683
+ if (s3 !== peg$FAILED) {
23684
+ s4 = peg$currPos;
23685
+ s5 = peg$currPos;
23686
+ if (input.charCodeAt(peg$currPos) === 80) {
23687
+ s6 = peg$c64;
23688
+ peg$currPos++;
23689
+ } else {
23690
+ s6 = peg$FAILED;
23691
+ if (peg$silentFails === 0) {
23692
+ peg$fail(peg$e68);
23693
+ }
23694
+ }
23695
+ if (s6 !== peg$FAILED) {
23696
+ s7 = peg$currPos;
23697
+ s8 = [];
23698
+ s9 = peg$currPos;
23699
+ s10 = peg$currPos;
23700
+ peg$silentFails++;
23701
+ s11 = peg$parseBlockTag();
23702
+ peg$silentFails--;
23703
+ if (s11 === peg$FAILED) {
23704
+ s10 = void 0;
23705
+ } else {
23706
+ peg$currPos = s10;
23707
+ s10 = peg$FAILED;
23708
+ }
23709
+ if (s10 !== peg$FAILED) {
23710
+ s11 = peg$parsechar();
23711
+ if (s11 !== peg$FAILED) {
23712
+ s10 = [s10, s11];
23713
+ s9 = s10;
23714
+ } else {
23715
+ peg$currPos = s9;
23716
+ s9 = peg$FAILED;
23717
+ }
23718
+ } else {
23719
+ peg$currPos = s9;
23720
+ s9 = peg$FAILED;
23721
+ }
23722
+ while (s9 !== peg$FAILED) {
23723
+ s8.push(s9);
23724
+ s9 = peg$currPos;
23725
+ s10 = peg$currPos;
23726
+ peg$silentFails++;
23727
+ s11 = peg$parseBlockTag();
23728
+ peg$silentFails--;
23729
+ if (s11 === peg$FAILED) {
23730
+ s10 = void 0;
23731
+ } else {
23732
+ peg$currPos = s10;
23733
+ s10 = peg$FAILED;
23734
+ }
23735
+ if (s10 !== peg$FAILED) {
23736
+ s11 = peg$parsechar();
23737
+ if (s11 !== peg$FAILED) {
23738
+ s10 = [s10, s11];
23739
+ s9 = s10;
23740
+ } else {
23741
+ peg$currPos = s9;
23742
+ s9 = peg$FAILED;
23743
+ }
23744
+ } else {
23745
+ peg$currPos = s9;
23746
+ s9 = peg$FAILED;
23747
+ }
23748
+ }
23749
+ s7 = input.substring(s7, peg$currPos);
23750
+ s6 = [s6, s7];
23751
+ s5 = s6;
23752
+ } else {
23753
+ peg$currPos = s5;
23754
+ s5 = peg$FAILED;
23755
+ }
23756
+ if (s5 !== peg$FAILED) {
23757
+ s4 = input.substring(s4, peg$currPos);
23758
+ } else {
23759
+ s4 = s5;
23760
+ }
23761
+ if (s4 !== peg$FAILED) {
23762
+ s5 = peg$parseBlockTag();
23763
+ if (s5 !== peg$FAILED) {
23764
+ peg$savedPos = s0;
23765
+ s0 = peg$f83(s4);
23766
+ } else {
23767
+ peg$currPos = s0;
23768
+ s0 = peg$FAILED;
23769
+ }
23770
+ } else {
23771
+ peg$currPos = s0;
23772
+ s0 = peg$FAILED;
23773
+ }
23774
+ } else {
23775
+ peg$currPos = s0;
23776
+ s0 = peg$FAILED;
23777
+ }
23560
23778
  } else {
23561
23779
  peg$currPos = s0;
23562
23780
  s0 = peg$FAILED;
@@ -23567,13 +23785,13 @@ function peg$parse(input, options) {
23567
23785
  }
23568
23786
  if (s0 === peg$FAILED) {
23569
23787
  s0 = peg$currPos;
23570
- if (input.substr(peg$currPos, 6) === peg$c63) {
23571
- s1 = peg$c63;
23788
+ if (input.substr(peg$currPos, 6) === peg$c65) {
23789
+ s1 = peg$c65;
23572
23790
  peg$currPos += 6;
23573
23791
  } else {
23574
23792
  s1 = peg$FAILED;
23575
23793
  if (peg$silentFails === 0) {
23576
- peg$fail(peg$e67);
23794
+ peg$fail(peg$e69);
23577
23795
  }
23578
23796
  }
23579
23797
  if (s1 !== peg$FAILED) {
@@ -23633,110 +23851,156 @@ function peg$parse(input, options) {
23633
23851
  s2 = input.substring(s2, peg$currPos);
23634
23852
  s3 = peg$parseBlockTag();
23635
23853
  if (s3 !== peg$FAILED) {
23636
- peg$savedPos = s0;
23637
- s0 = peg$f84(s2);
23638
- } else {
23639
- peg$currPos = s0;
23640
- s0 = peg$FAILED;
23641
- }
23642
- } else {
23643
- peg$currPos = s0;
23644
- s0 = peg$FAILED;
23645
- }
23646
- if (s0 === peg$FAILED) {
23647
- s0 = peg$currPos;
23648
- if (input.substr(peg$currPos, 9) === peg$c64) {
23649
- s1 = peg$c64;
23650
- peg$currPos += 9;
23651
- } else {
23652
- s1 = peg$FAILED;
23653
- if (peg$silentFails === 0) {
23654
- peg$fail(peg$e68);
23655
- }
23656
- }
23657
- if (s1 !== peg$FAILED) {
23658
- s2 = peg$currPos;
23659
- s3 = peg$currPos;
23660
- if (input.charCodeAt(peg$currPos) === 80) {
23661
- s4 = peg$c65;
23662
- peg$currPos++;
23854
+ if (input.substr(peg$currPos, 9) === peg$c63) {
23855
+ s4 = peg$c63;
23856
+ peg$currPos += 9;
23663
23857
  } else {
23664
23858
  s4 = peg$FAILED;
23665
23859
  if (peg$silentFails === 0) {
23666
- peg$fail(peg$e69);
23860
+ peg$fail(peg$e67);
23667
23861
  }
23668
23862
  }
23669
23863
  if (s4 !== peg$FAILED) {
23670
23864
  s5 = peg$currPos;
23671
- s6 = [];
23672
- s7 = peg$currPos;
23673
- s8 = peg$currPos;
23674
- peg$silentFails++;
23675
- s9 = peg$parseBlockTag();
23676
- peg$silentFails--;
23677
- if (s9 === peg$FAILED) {
23678
- s8 = void 0;
23865
+ s6 = peg$currPos;
23866
+ if (input.charCodeAt(peg$currPos) === 80) {
23867
+ s7 = peg$c64;
23868
+ peg$currPos++;
23679
23869
  } else {
23680
- peg$currPos = s8;
23681
- s8 = peg$FAILED;
23682
- }
23683
- if (s8 !== peg$FAILED) {
23684
- s9 = peg$parsechar();
23685
- if (s9 !== peg$FAILED) {
23686
- s8 = [s8, s9];
23687
- s7 = s8;
23688
- } else {
23689
- peg$currPos = s7;
23690
- s7 = peg$FAILED;
23691
- }
23692
- } else {
23693
- peg$currPos = s7;
23694
23870
  s7 = peg$FAILED;
23871
+ if (peg$silentFails === 0) {
23872
+ peg$fail(peg$e68);
23873
+ }
23695
23874
  }
23696
- while (s7 !== peg$FAILED) {
23697
- s6.push(s7);
23698
- s7 = peg$currPos;
23875
+ if (s7 !== peg$FAILED) {
23699
23876
  s8 = peg$currPos;
23877
+ s9 = [];
23878
+ s10 = peg$currPos;
23879
+ s11 = peg$currPos;
23700
23880
  peg$silentFails++;
23701
- s9 = peg$parseBlockTag();
23881
+ s12 = peg$parseBlockTag();
23702
23882
  peg$silentFails--;
23703
- if (s9 === peg$FAILED) {
23704
- s8 = void 0;
23883
+ if (s12 === peg$FAILED) {
23884
+ s11 = void 0;
23705
23885
  } else {
23706
- peg$currPos = s8;
23707
- s8 = peg$FAILED;
23886
+ peg$currPos = s11;
23887
+ s11 = peg$FAILED;
23708
23888
  }
23709
- if (s8 !== peg$FAILED) {
23710
- s9 = peg$parsechar();
23711
- if (s9 !== peg$FAILED) {
23712
- s8 = [s8, s9];
23713
- s7 = s8;
23889
+ if (s11 !== peg$FAILED) {
23890
+ s12 = peg$parsechar();
23891
+ if (s12 !== peg$FAILED) {
23892
+ s11 = [s11, s12];
23893
+ s10 = s11;
23714
23894
  } else {
23715
- peg$currPos = s7;
23716
- s7 = peg$FAILED;
23895
+ peg$currPos = s10;
23896
+ s10 = peg$FAILED;
23717
23897
  }
23718
23898
  } else {
23719
- peg$currPos = s7;
23720
- s7 = peg$FAILED;
23899
+ peg$currPos = s10;
23900
+ s10 = peg$FAILED;
23901
+ }
23902
+ while (s10 !== peg$FAILED) {
23903
+ s9.push(s10);
23904
+ s10 = peg$currPos;
23905
+ s11 = peg$currPos;
23906
+ peg$silentFails++;
23907
+ s12 = peg$parseBlockTag();
23908
+ peg$silentFails--;
23909
+ if (s12 === peg$FAILED) {
23910
+ s11 = void 0;
23911
+ } else {
23912
+ peg$currPos = s11;
23913
+ s11 = peg$FAILED;
23914
+ }
23915
+ if (s11 !== peg$FAILED) {
23916
+ s12 = peg$parsechar();
23917
+ if (s12 !== peg$FAILED) {
23918
+ s11 = [s11, s12];
23919
+ s10 = s11;
23920
+ } else {
23921
+ peg$currPos = s10;
23922
+ s10 = peg$FAILED;
23923
+ }
23924
+ } else {
23925
+ peg$currPos = s10;
23926
+ s10 = peg$FAILED;
23927
+ }
23721
23928
  }
23929
+ s8 = input.substring(s8, peg$currPos);
23930
+ s7 = [s7, s8];
23931
+ s6 = s7;
23932
+ } else {
23933
+ peg$currPos = s6;
23934
+ s6 = peg$FAILED;
23935
+ }
23936
+ if (s6 !== peg$FAILED) {
23937
+ s5 = input.substring(s5, peg$currPos);
23938
+ } else {
23939
+ s5 = s6;
23940
+ }
23941
+ if (s5 !== peg$FAILED) {
23942
+ s6 = peg$parseBlockTag();
23943
+ if (s6 !== peg$FAILED) {
23944
+ peg$savedPos = s0;
23945
+ s0 = peg$f84(s2, s5);
23946
+ } else {
23947
+ peg$currPos = s0;
23948
+ s0 = peg$FAILED;
23949
+ }
23950
+ } else {
23951
+ peg$currPos = s0;
23952
+ s0 = peg$FAILED;
23722
23953
  }
23723
- s5 = input.substring(s5, peg$currPos);
23724
- s4 = [s4, s5];
23725
- s3 = s4;
23726
23954
  } else {
23727
- peg$currPos = s3;
23728
- s3 = peg$FAILED;
23955
+ peg$currPos = s0;
23956
+ s0 = peg$FAILED;
23729
23957
  }
23730
- if (s3 !== peg$FAILED) {
23731
- s2 = input.substring(s2, peg$currPos);
23732
- } else {
23733
- s2 = s3;
23958
+ } else {
23959
+ peg$currPos = s0;
23960
+ s0 = peg$FAILED;
23961
+ }
23962
+ } else {
23963
+ peg$currPos = s0;
23964
+ s0 = peg$FAILED;
23965
+ }
23966
+ if (s0 === peg$FAILED) {
23967
+ s0 = peg$currPos;
23968
+ if (input.substr(peg$currPos, 9) === peg$c66) {
23969
+ s1 = peg$c66;
23970
+ peg$currPos += 9;
23971
+ } else {
23972
+ s1 = peg$FAILED;
23973
+ if (peg$silentFails === 0) {
23974
+ peg$fail(peg$e70);
23734
23975
  }
23976
+ }
23977
+ if (s1 !== peg$FAILED) {
23978
+ s2 = peg$parseBlockTag();
23735
23979
  if (s2 !== peg$FAILED) {
23736
- s3 = peg$parseBlockTag();
23980
+ if (input.substr(peg$currPos, 6) === peg$c67) {
23981
+ s3 = peg$c67;
23982
+ peg$currPos += 6;
23983
+ } else {
23984
+ s3 = peg$FAILED;
23985
+ if (peg$silentFails === 0) {
23986
+ peg$fail(peg$e71);
23987
+ }
23988
+ }
23737
23989
  if (s3 !== peg$FAILED) {
23738
- peg$savedPos = s0;
23739
- s0 = peg$f85(s2);
23990
+ s4 = peg$parseHighlightColor();
23991
+ if (s4 !== peg$FAILED) {
23992
+ s5 = peg$parseBlockTag();
23993
+ if (s5 !== peg$FAILED) {
23994
+ peg$savedPos = s0;
23995
+ s0 = peg$f85(s4);
23996
+ } else {
23997
+ peg$currPos = s0;
23998
+ s0 = peg$FAILED;
23999
+ }
24000
+ } else {
24001
+ peg$currPos = s0;
24002
+ s0 = peg$FAILED;
24003
+ }
23740
24004
  } else {
23741
24005
  peg$currPos = s0;
23742
24006
  s0 = peg$FAILED;
@@ -23751,22 +24015,42 @@ function peg$parse(input, options) {
23751
24015
  }
23752
24016
  if (s0 === peg$FAILED) {
23753
24017
  s0 = peg$currPos;
23754
- if (input.substr(peg$currPos, 6) === peg$c66) {
23755
- s1 = peg$c66;
23756
- peg$currPos += 6;
24018
+ if (input.substr(peg$currPos, 13) === peg$c68) {
24019
+ s1 = peg$c68;
24020
+ peg$currPos += 13;
23757
24021
  } else {
23758
24022
  s1 = peg$FAILED;
23759
24023
  if (peg$silentFails === 0) {
23760
- peg$fail(peg$e70);
24024
+ peg$fail(peg$e72);
23761
24025
  }
23762
24026
  }
23763
24027
  if (s1 !== peg$FAILED) {
23764
- s2 = peg$parseColor();
24028
+ s2 = peg$parseBlockTag();
23765
24029
  if (s2 !== peg$FAILED) {
23766
- s3 = peg$parseBlockTag();
24030
+ if (input.substr(peg$currPos, 6) === peg$c67) {
24031
+ s3 = peg$c67;
24032
+ peg$currPos += 6;
24033
+ } else {
24034
+ s3 = peg$FAILED;
24035
+ if (peg$silentFails === 0) {
24036
+ peg$fail(peg$e71);
24037
+ }
24038
+ }
23767
24039
  if (s3 !== peg$FAILED) {
23768
- peg$savedPos = s0;
23769
- s0 = peg$f86(s2);
24040
+ s4 = peg$parseHighlightColor();
24041
+ if (s4 !== peg$FAILED) {
24042
+ s5 = peg$parseBlockTag();
24043
+ if (s5 !== peg$FAILED) {
24044
+ peg$savedPos = s0;
24045
+ s0 = peg$f86(s4);
24046
+ } else {
24047
+ peg$currPos = s0;
24048
+ s0 = peg$FAILED;
24049
+ }
24050
+ } else {
24051
+ peg$currPos = s0;
24052
+ s0 = peg$FAILED;
24053
+ }
23770
24054
  } else {
23771
24055
  peg$currPos = s0;
23772
24056
  s0 = peg$FAILED;
@@ -23781,9 +24065,9 @@ function peg$parse(input, options) {
23781
24065
  }
23782
24066
  if (s0 === peg$FAILED) {
23783
24067
  s0 = peg$currPos;
23784
- if (input.substr(peg$currPos, 12) === peg$c67) {
24068
+ if (input.substr(peg$currPos, 6) === peg$c67) {
23785
24069
  s1 = peg$c67;
23786
- peg$currPos += 12;
24070
+ peg$currPos += 6;
23787
24071
  } else {
23788
24072
  s1 = peg$FAILED;
23789
24073
  if (peg$silentFails === 0) {
@@ -23791,34 +24075,38 @@ function peg$parse(input, options) {
23791
24075
  }
23792
24076
  }
23793
24077
  if (s1 !== peg$FAILED) {
23794
- s2 = peg$currPos;
23795
- s3 = [];
23796
- s4 = peg$currPos;
23797
- s5 = peg$currPos;
23798
- peg$silentFails++;
23799
- s6 = peg$parseBlockTag();
23800
- peg$silentFails--;
23801
- if (s6 === peg$FAILED) {
23802
- s5 = void 0;
23803
- } else {
23804
- peg$currPos = s5;
23805
- s5 = peg$FAILED;
23806
- }
23807
- if (s5 !== peg$FAILED) {
23808
- s6 = peg$parsechar();
23809
- if (s6 !== peg$FAILED) {
23810
- s5 = [s5, s6];
23811
- s4 = s5;
24078
+ s2 = peg$parseColor();
24079
+ if (s2 !== peg$FAILED) {
24080
+ s3 = peg$parseBlockTag();
24081
+ if (s3 !== peg$FAILED) {
24082
+ peg$savedPos = s0;
24083
+ s0 = peg$f87(s2);
23812
24084
  } else {
23813
- peg$currPos = s4;
23814
- s4 = peg$FAILED;
24085
+ peg$currPos = s0;
24086
+ s0 = peg$FAILED;
23815
24087
  }
23816
24088
  } else {
23817
- peg$currPos = s4;
23818
- s4 = peg$FAILED;
24089
+ peg$currPos = s0;
24090
+ s0 = peg$FAILED;
24091
+ }
24092
+ } else {
24093
+ peg$currPos = s0;
24094
+ s0 = peg$FAILED;
24095
+ }
24096
+ if (s0 === peg$FAILED) {
24097
+ s0 = peg$currPos;
24098
+ if (input.substr(peg$currPos, 12) === peg$c69) {
24099
+ s1 = peg$c69;
24100
+ peg$currPos += 12;
24101
+ } else {
24102
+ s1 = peg$FAILED;
24103
+ if (peg$silentFails === 0) {
24104
+ peg$fail(peg$e73);
24105
+ }
23819
24106
  }
23820
- while (s4 !== peg$FAILED) {
23821
- s3.push(s4);
24107
+ if (s1 !== peg$FAILED) {
24108
+ s2 = peg$currPos;
24109
+ s3 = [];
23822
24110
  s4 = peg$currPos;
23823
24111
  s5 = peg$currPos;
23824
24112
  peg$silentFails++;
@@ -23843,50 +24131,8 @@ function peg$parse(input, options) {
23843
24131
  peg$currPos = s4;
23844
24132
  s4 = peg$FAILED;
23845
24133
  }
23846
- }
23847
- s2 = input.substring(s2, peg$currPos);
23848
- s3 = peg$parseBlockTag();
23849
- if (s3 !== peg$FAILED) {
23850
- peg$savedPos = s0;
23851
- s0 = peg$f87(s2);
23852
- } else {
23853
- peg$currPos = s0;
23854
- s0 = peg$FAILED;
23855
- }
23856
- } else {
23857
- peg$currPos = s0;
23858
- s0 = peg$FAILED;
23859
- }
23860
- if (s0 === peg$FAILED) {
23861
- s0 = peg$currPos;
23862
- s1 = peg$parseAlternativeStyleTags();
23863
- if (s1 !== peg$FAILED) {
23864
- s2 = peg$parseBlockTag();
23865
- if (s2 !== peg$FAILED) {
23866
- peg$savedPos = s0;
23867
- s0 = peg$f88(s1);
23868
- } else {
23869
- peg$currPos = s0;
23870
- s0 = peg$FAILED;
23871
- }
23872
- } else {
23873
- peg$currPos = s0;
23874
- s0 = peg$FAILED;
23875
- }
23876
- if (s0 === peg$FAILED) {
23877
- s0 = peg$currPos;
23878
- if (input.charCodeAt(peg$currPos) === 35) {
23879
- s1 = peg$c21;
23880
- peg$currPos++;
23881
- } else {
23882
- s1 = peg$FAILED;
23883
- if (peg$silentFails === 0) {
23884
- peg$fail(peg$e25);
23885
- }
23886
- }
23887
- if (s1 !== peg$FAILED) {
23888
- s2 = peg$currPos;
23889
- s3 = [];
24134
+ while (s4 !== peg$FAILED) {
24135
+ s3.push(s4);
23890
24136
  s4 = peg$currPos;
23891
24137
  s5 = peg$currPos;
23892
24138
  peg$silentFails++;
@@ -23911,8 +24157,50 @@ function peg$parse(input, options) {
23911
24157
  peg$currPos = s4;
23912
24158
  s4 = peg$FAILED;
23913
24159
  }
23914
- while (s4 !== peg$FAILED) {
23915
- s3.push(s4);
24160
+ }
24161
+ s2 = input.substring(s2, peg$currPos);
24162
+ s3 = peg$parseBlockTag();
24163
+ if (s3 !== peg$FAILED) {
24164
+ peg$savedPos = s0;
24165
+ s0 = peg$f88(s2);
24166
+ } else {
24167
+ peg$currPos = s0;
24168
+ s0 = peg$FAILED;
24169
+ }
24170
+ } else {
24171
+ peg$currPos = s0;
24172
+ s0 = peg$FAILED;
24173
+ }
24174
+ if (s0 === peg$FAILED) {
24175
+ s0 = peg$currPos;
24176
+ s1 = peg$parseAlternativeStyleTags();
24177
+ if (s1 !== peg$FAILED) {
24178
+ s2 = peg$parseBlockTag();
24179
+ if (s2 !== peg$FAILED) {
24180
+ peg$savedPos = s0;
24181
+ s0 = peg$f89(s1);
24182
+ } else {
24183
+ peg$currPos = s0;
24184
+ s0 = peg$FAILED;
24185
+ }
24186
+ } else {
24187
+ peg$currPos = s0;
24188
+ s0 = peg$FAILED;
24189
+ }
24190
+ if (s0 === peg$FAILED) {
24191
+ s0 = peg$currPos;
24192
+ if (input.charCodeAt(peg$currPos) === 35) {
24193
+ s1 = peg$c21;
24194
+ peg$currPos++;
24195
+ } else {
24196
+ s1 = peg$FAILED;
24197
+ if (peg$silentFails === 0) {
24198
+ peg$fail(peg$e25);
24199
+ }
24200
+ }
24201
+ if (s1 !== peg$FAILED) {
24202
+ s2 = peg$currPos;
24203
+ s3 = [];
23916
24204
  s4 = peg$currPos;
23917
24205
  s5 = peg$currPos;
23918
24206
  peg$silentFails++;
@@ -23937,19 +24225,46 @@ function peg$parse(input, options) {
23937
24225
  peg$currPos = s4;
23938
24226
  s4 = peg$FAILED;
23939
24227
  }
23940
- }
23941
- s2 = input.substring(s2, peg$currPos);
23942
- s3 = peg$parseBlockTag();
23943
- if (s3 !== peg$FAILED) {
23944
- peg$savedPos = s0;
23945
- s0 = peg$f89(s2);
24228
+ while (s4 !== peg$FAILED) {
24229
+ s3.push(s4);
24230
+ s4 = peg$currPos;
24231
+ s5 = peg$currPos;
24232
+ peg$silentFails++;
24233
+ s6 = peg$parseBlockTag();
24234
+ peg$silentFails--;
24235
+ if (s6 === peg$FAILED) {
24236
+ s5 = void 0;
24237
+ } else {
24238
+ peg$currPos = s5;
24239
+ s5 = peg$FAILED;
24240
+ }
24241
+ if (s5 !== peg$FAILED) {
24242
+ s6 = peg$parsechar();
24243
+ if (s6 !== peg$FAILED) {
24244
+ s5 = [s5, s6];
24245
+ s4 = s5;
24246
+ } else {
24247
+ peg$currPos = s4;
24248
+ s4 = peg$FAILED;
24249
+ }
24250
+ } else {
24251
+ peg$currPos = s4;
24252
+ s4 = peg$FAILED;
24253
+ }
24254
+ }
24255
+ s2 = input.substring(s2, peg$currPos);
24256
+ s3 = peg$parseBlockTag();
24257
+ if (s3 !== peg$FAILED) {
24258
+ peg$savedPos = s0;
24259
+ s0 = peg$f90(s2);
24260
+ } else {
24261
+ peg$currPos = s0;
24262
+ s0 = peg$FAILED;
24263
+ }
23946
24264
  } else {
23947
24265
  peg$currPos = s0;
23948
24266
  s0 = peg$FAILED;
23949
24267
  }
23950
- } else {
23951
- peg$currPos = s0;
23952
- s0 = peg$FAILED;
23953
24268
  }
23954
24269
  }
23955
24270
  }
@@ -23983,13 +24298,13 @@ function peg$parse(input, options) {
23983
24298
  function peg$parseRef() {
23984
24299
  let s0, s1, s2, s3, s4, s5, s6;
23985
24300
  s0 = peg$currPos;
23986
- if (input.substr(peg$currPos, 2) === peg$c68) {
23987
- s1 = peg$c68;
24301
+ if (input.substr(peg$currPos, 2) === peg$c70) {
24302
+ s1 = peg$c70;
23988
24303
  peg$currPos += 2;
23989
24304
  } else {
23990
24305
  s1 = peg$FAILED;
23991
24306
  if (peg$silentFails === 0) {
23992
- peg$fail(peg$e72);
24307
+ peg$fail(peg$e74);
23993
24308
  }
23994
24309
  }
23995
24310
  if (s1 !== peg$FAILED) {
@@ -24048,7 +24363,7 @@ function peg$parse(input, options) {
24048
24363
  }
24049
24364
  s2 = input.substring(s2, peg$currPos);
24050
24365
  peg$savedPos = s0;
24051
- s0 = peg$f90(s2);
24366
+ s0 = peg$f91(s2);
24052
24367
  } else {
24053
24368
  peg$currPos = s0;
24054
24369
  s0 = peg$FAILED;
@@ -24057,403 +24372,414 @@ function peg$parse(input, options) {
24057
24372
  }
24058
24373
  function peg$parseAlternativeStyleTags() {
24059
24374
  let s0;
24060
- if (input.substr(peg$currPos, 4) === peg$c69) {
24061
- s0 = peg$c69;
24375
+ if (input.substr(peg$currPos, 4) === peg$c71) {
24376
+ s0 = peg$c71;
24062
24377
  peg$currPos += 4;
24063
24378
  } else {
24064
24379
  s0 = peg$FAILED;
24065
24380
  if (peg$silentFails === 0) {
24066
- peg$fail(peg$e73);
24381
+ peg$fail(peg$e75);
24067
24382
  }
24068
24383
  }
24069
24384
  if (s0 === peg$FAILED) {
24070
- if (input.substr(peg$currPos, 6) === peg$c70) {
24071
- s0 = peg$c70;
24385
+ if (input.substr(peg$currPos, 6) === peg$c72) {
24386
+ s0 = peg$c72;
24072
24387
  peg$currPos += 6;
24073
24388
  } else {
24074
24389
  s0 = peg$FAILED;
24075
24390
  if (peg$silentFails === 0) {
24076
- peg$fail(peg$e74);
24391
+ peg$fail(peg$e76);
24077
24392
  }
24078
24393
  }
24079
24394
  if (s0 === peg$FAILED) {
24080
- if (input.substr(peg$currPos, 5) === peg$c71) {
24081
- s0 = peg$c71;
24395
+ if (input.substr(peg$currPos, 5) === peg$c73) {
24396
+ s0 = peg$c73;
24082
24397
  peg$currPos += 5;
24083
24398
  } else {
24084
24399
  s0 = peg$FAILED;
24085
24400
  if (peg$silentFails === 0) {
24086
- peg$fail(peg$e75);
24401
+ peg$fail(peg$e77);
24087
24402
  }
24088
24403
  }
24089
24404
  if (s0 === peg$FAILED) {
24090
- if (input.substr(peg$currPos, 15) === peg$c72) {
24091
- s0 = peg$c72;
24405
+ if (input.substr(peg$currPos, 15) === peg$c74) {
24406
+ s0 = peg$c74;
24092
24407
  peg$currPos += 15;
24093
24408
  } else {
24094
24409
  s0 = peg$FAILED;
24095
24410
  if (peg$silentFails === 0) {
24096
- peg$fail(peg$e76);
24411
+ peg$fail(peg$e78);
24097
24412
  }
24098
24413
  }
24099
24414
  if (s0 === peg$FAILED) {
24100
- if (input.substr(peg$currPos, 15) === peg$c73) {
24101
- s0 = peg$c73;
24415
+ if (input.substr(peg$currPos, 15) === peg$c75) {
24416
+ s0 = peg$c75;
24102
24417
  peg$currPos += 15;
24103
24418
  } else {
24104
24419
  s0 = peg$FAILED;
24105
24420
  if (peg$silentFails === 0) {
24106
- peg$fail(peg$e77);
24421
+ peg$fail(peg$e79);
24107
24422
  }
24108
24423
  }
24109
24424
  if (s0 === peg$FAILED) {
24110
- if (input.substr(peg$currPos, 14) === peg$c74) {
24111
- s0 = peg$c74;
24425
+ if (input.substr(peg$currPos, 14) === peg$c76) {
24426
+ s0 = peg$c76;
24112
24427
  peg$currPos += 14;
24113
24428
  } else {
24114
24429
  s0 = peg$FAILED;
24115
24430
  if (peg$silentFails === 0) {
24116
- peg$fail(peg$e78);
24431
+ peg$fail(peg$e80);
24117
24432
  }
24118
24433
  }
24119
24434
  if (s0 === peg$FAILED) {
24120
- if (input.substr(peg$currPos, 13) === peg$c75) {
24121
- s0 = peg$c75;
24435
+ if (input.substr(peg$currPos, 13) === peg$c77) {
24436
+ s0 = peg$c77;
24122
24437
  peg$currPos += 13;
24123
24438
  } else {
24124
24439
  s0 = peg$FAILED;
24125
24440
  if (peg$silentFails === 0) {
24126
- peg$fail(peg$e79);
24441
+ peg$fail(peg$e81);
24127
24442
  }
24128
24443
  }
24129
24444
  if (s0 === peg$FAILED) {
24130
- if (input.substr(peg$currPos, 15) === peg$c76) {
24131
- s0 = peg$c76;
24445
+ if (input.substr(peg$currPos, 15) === peg$c78) {
24446
+ s0 = peg$c78;
24132
24447
  peg$currPos += 15;
24133
24448
  } else {
24134
24449
  s0 = peg$FAILED;
24135
24450
  if (peg$silentFails === 0) {
24136
- peg$fail(peg$e80);
24451
+ peg$fail(peg$e82);
24137
24452
  }
24138
24453
  }
24139
24454
  if (s0 === peg$FAILED) {
24140
- if (input.substr(peg$currPos, 13) === peg$c77) {
24141
- s0 = peg$c77;
24455
+ if (input.substr(peg$currPos, 13) === peg$c79) {
24456
+ s0 = peg$c79;
24142
24457
  peg$currPos += 13;
24143
24458
  } else {
24144
24459
  s0 = peg$FAILED;
24145
24460
  if (peg$silentFails === 0) {
24146
- peg$fail(peg$e81);
24461
+ peg$fail(peg$e83);
24147
24462
  }
24148
24463
  }
24149
24464
  if (s0 === peg$FAILED) {
24150
- if (input.substr(peg$currPos, 14) === peg$c78) {
24151
- s0 = peg$c78;
24465
+ if (input.substr(peg$currPos, 14) === peg$c80) {
24466
+ s0 = peg$c80;
24152
24467
  peg$currPos += 14;
24153
24468
  } else {
24154
24469
  s0 = peg$FAILED;
24155
24470
  if (peg$silentFails === 0) {
24156
- peg$fail(peg$e82);
24471
+ peg$fail(peg$e84);
24157
24472
  }
24158
24473
  }
24159
24474
  if (s0 === peg$FAILED) {
24160
- if (input.substr(peg$currPos, 14) === peg$c79) {
24161
- s0 = peg$c79;
24475
+ if (input.substr(peg$currPos, 14) === peg$c81) {
24476
+ s0 = peg$c81;
24162
24477
  peg$currPos += 14;
24163
24478
  } else {
24164
24479
  s0 = peg$FAILED;
24165
24480
  if (peg$silentFails === 0) {
24166
- peg$fail(peg$e83);
24481
+ peg$fail(peg$e85);
24167
24482
  }
24168
24483
  }
24169
24484
  if (s0 === peg$FAILED) {
24170
- if (input.substr(peg$currPos, 14) === peg$c80) {
24171
- s0 = peg$c80;
24485
+ if (input.substr(peg$currPos, 14) === peg$c82) {
24486
+ s0 = peg$c82;
24172
24487
  peg$currPos += 14;
24173
24488
  } else {
24174
24489
  s0 = peg$FAILED;
24175
24490
  if (peg$silentFails === 0) {
24176
- peg$fail(peg$e84);
24491
+ peg$fail(peg$e86);
24177
24492
  }
24178
24493
  }
24179
24494
  if (s0 === peg$FAILED) {
24180
- if (input.substr(peg$currPos, 13) === peg$c81) {
24181
- s0 = peg$c81;
24495
+ if (input.substr(peg$currPos, 13) === peg$c83) {
24496
+ s0 = peg$c83;
24182
24497
  peg$currPos += 13;
24183
24498
  } else {
24184
24499
  s0 = peg$FAILED;
24185
24500
  if (peg$silentFails === 0) {
24186
- peg$fail(peg$e85);
24501
+ peg$fail(peg$e87);
24187
24502
  }
24188
24503
  }
24189
24504
  if (s0 === peg$FAILED) {
24190
- if (input.substr(peg$currPos, 9) === peg$c82) {
24191
- s0 = peg$c82;
24505
+ if (input.substr(peg$currPos, 9) === peg$c66) {
24506
+ s0 = peg$c66;
24192
24507
  peg$currPos += 9;
24193
24508
  } else {
24194
24509
  s0 = peg$FAILED;
24195
24510
  if (peg$silentFails === 0) {
24196
- peg$fail(peg$e86);
24511
+ peg$fail(peg$e70);
24197
24512
  }
24198
24513
  }
24199
24514
  if (s0 === peg$FAILED) {
24200
- if (input.substr(peg$currPos, 6) === peg$c83) {
24201
- s0 = peg$c83;
24515
+ if (input.substr(peg$currPos, 6) === peg$c84) {
24516
+ s0 = peg$c84;
24202
24517
  peg$currPos += 6;
24203
24518
  } else {
24204
24519
  s0 = peg$FAILED;
24205
24520
  if (peg$silentFails === 0) {
24206
- peg$fail(peg$e87);
24521
+ peg$fail(peg$e88);
24207
24522
  }
24208
24523
  }
24209
24524
  if (s0 === peg$FAILED) {
24210
- if (input.substr(peg$currPos, 9) === peg$c84) {
24211
- s0 = peg$c84;
24525
+ if (input.substr(peg$currPos, 9) === peg$c85) {
24526
+ s0 = peg$c85;
24212
24527
  peg$currPos += 9;
24213
24528
  } else {
24214
24529
  s0 = peg$FAILED;
24215
24530
  if (peg$silentFails === 0) {
24216
- peg$fail(peg$e88);
24531
+ peg$fail(peg$e89);
24217
24532
  }
24218
24533
  }
24219
24534
  if (s0 === peg$FAILED) {
24220
- if (input.substr(peg$currPos, 11) === peg$c85) {
24221
- s0 = peg$c85;
24535
+ if (input.substr(peg$currPos, 11) === peg$c86) {
24536
+ s0 = peg$c86;
24222
24537
  peg$currPos += 11;
24223
24538
  } else {
24224
24539
  s0 = peg$FAILED;
24225
24540
  if (peg$silentFails === 0) {
24226
- peg$fail(peg$e89);
24541
+ peg$fail(peg$e90);
24227
24542
  }
24228
24543
  }
24229
24544
  if (s0 === peg$FAILED) {
24230
- if (input.substr(peg$currPos, 3) === peg$c86) {
24231
- s0 = peg$c86;
24545
+ if (input.substr(peg$currPos, 3) === peg$c87) {
24546
+ s0 = peg$c87;
24232
24547
  peg$currPos += 3;
24233
24548
  } else {
24234
24549
  s0 = peg$FAILED;
24235
24550
  if (peg$silentFails === 0) {
24236
- peg$fail(peg$e90);
24551
+ peg$fail(peg$e91);
24237
24552
  }
24238
24553
  }
24239
24554
  if (s0 === peg$FAILED) {
24240
- if (input.substr(peg$currPos, 3) === peg$c87) {
24241
- s0 = peg$c87;
24555
+ if (input.substr(peg$currPos, 3) === peg$c88) {
24556
+ s0 = peg$c88;
24242
24557
  peg$currPos += 3;
24243
24558
  } else {
24244
24559
  s0 = peg$FAILED;
24245
24560
  if (peg$silentFails === 0) {
24246
- peg$fail(peg$e91);
24561
+ peg$fail(peg$e92);
24247
24562
  }
24248
24563
  }
24249
24564
  if (s0 === peg$FAILED) {
24250
- if (input.substr(peg$currPos, 9) === peg$c88) {
24251
- s0 = peg$c88;
24565
+ if (input.substr(peg$currPos, 9) === peg$c89) {
24566
+ s0 = peg$c89;
24252
24567
  peg$currPos += 9;
24253
24568
  } else {
24254
24569
  s0 = peg$FAILED;
24255
24570
  if (peg$silentFails === 0) {
24256
- peg$fail(peg$e92);
24571
+ peg$fail(peg$e93);
24257
24572
  }
24258
24573
  }
24259
24574
  if (s0 === peg$FAILED) {
24260
- if (input.substr(peg$currPos, 15) === peg$c89) {
24261
- s0 = peg$c89;
24575
+ if (input.substr(peg$currPos, 15) === peg$c90) {
24576
+ s0 = peg$c90;
24262
24577
  peg$currPos += 15;
24263
24578
  } else {
24264
24579
  s0 = peg$FAILED;
24265
24580
  if (peg$silentFails === 0) {
24266
- peg$fail(peg$e93);
24581
+ peg$fail(peg$e94);
24267
24582
  }
24268
24583
  }
24269
24584
  if (s0 === peg$FAILED) {
24270
- if (input.substr(peg$currPos, 6) === peg$c90) {
24271
- s0 = peg$c90;
24272
- peg$currPos += 6;
24585
+ if (input.substr(peg$currPos, 9) === peg$c91) {
24586
+ s0 = peg$c91;
24587
+ peg$currPos += 9;
24273
24588
  } else {
24274
24589
  s0 = peg$FAILED;
24275
24590
  if (peg$silentFails === 0) {
24276
- peg$fail(peg$e94);
24591
+ peg$fail(peg$e95);
24277
24592
  }
24278
24593
  }
24279
24594
  if (s0 === peg$FAILED) {
24280
- if (input.substr(peg$currPos, 13) === peg$c91) {
24281
- s0 = peg$c91;
24282
- peg$currPos += 13;
24595
+ if (input.substr(peg$currPos, 6) === peg$c92) {
24596
+ s0 = peg$c92;
24597
+ peg$currPos += 6;
24283
24598
  } else {
24284
24599
  s0 = peg$FAILED;
24285
24600
  if (peg$silentFails === 0) {
24286
- peg$fail(peg$e95);
24601
+ peg$fail(peg$e96);
24287
24602
  }
24288
24603
  }
24289
24604
  if (s0 === peg$FAILED) {
24290
- if (input.substr(peg$currPos, 16) === peg$c92) {
24291
- s0 = peg$c92;
24292
- peg$currPos += 16;
24605
+ if (input.substr(peg$currPos, 13) === peg$c93) {
24606
+ s0 = peg$c93;
24607
+ peg$currPos += 13;
24293
24608
  } else {
24294
24609
  s0 = peg$FAILED;
24295
24610
  if (peg$silentFails === 0) {
24296
- peg$fail(peg$e96);
24611
+ peg$fail(peg$e97);
24297
24612
  }
24298
24613
  }
24299
24614
  if (s0 === peg$FAILED) {
24300
- if (input.substr(peg$currPos, 16) === peg$c93) {
24301
- s0 = peg$c93;
24615
+ if (input.substr(peg$currPos, 16) === peg$c94) {
24616
+ s0 = peg$c94;
24302
24617
  peg$currPos += 16;
24303
24618
  } else {
24304
24619
  s0 = peg$FAILED;
24305
24620
  if (peg$silentFails === 0) {
24306
- peg$fail(peg$e97);
24621
+ peg$fail(peg$e98);
24307
24622
  }
24308
24623
  }
24309
24624
  if (s0 === peg$FAILED) {
24310
- if (input.substr(peg$currPos, 15) === peg$c94) {
24311
- s0 = peg$c94;
24312
- peg$currPos += 15;
24625
+ if (input.substr(peg$currPos, 16) === peg$c95) {
24626
+ s0 = peg$c95;
24627
+ peg$currPos += 16;
24313
24628
  } else {
24314
24629
  s0 = peg$FAILED;
24315
24630
  if (peg$silentFails === 0) {
24316
- peg$fail(peg$e98);
24631
+ peg$fail(peg$e99);
24317
24632
  }
24318
24633
  }
24319
24634
  if (s0 === peg$FAILED) {
24320
- if (input.substr(peg$currPos, 14) === peg$c95) {
24321
- s0 = peg$c95;
24322
- peg$currPos += 14;
24635
+ if (input.substr(peg$currPos, 15) === peg$c96) {
24636
+ s0 = peg$c96;
24637
+ peg$currPos += 15;
24323
24638
  } else {
24324
24639
  s0 = peg$FAILED;
24325
24640
  if (peg$silentFails === 0) {
24326
- peg$fail(peg$e99);
24641
+ peg$fail(peg$e100);
24327
24642
  }
24328
24643
  }
24329
24644
  if (s0 === peg$FAILED) {
24330
- if (input.substr(peg$currPos, 16) === peg$c96) {
24331
- s0 = peg$c96;
24332
- peg$currPos += 16;
24645
+ if (input.substr(peg$currPos, 14) === peg$c97) {
24646
+ s0 = peg$c97;
24647
+ peg$currPos += 14;
24333
24648
  } else {
24334
24649
  s0 = peg$FAILED;
24335
24650
  if (peg$silentFails === 0) {
24336
- peg$fail(peg$e100);
24651
+ peg$fail(peg$e101);
24337
24652
  }
24338
24653
  }
24339
24654
  if (s0 === peg$FAILED) {
24340
- if (input.substr(peg$currPos, 14) === peg$c97) {
24341
- s0 = peg$c97;
24342
- peg$currPos += 14;
24655
+ if (input.substr(peg$currPos, 16) === peg$c98) {
24656
+ s0 = peg$c98;
24657
+ peg$currPos += 16;
24343
24658
  } else {
24344
24659
  s0 = peg$FAILED;
24345
24660
  if (peg$silentFails === 0) {
24346
- peg$fail(peg$e101);
24661
+ peg$fail(peg$e102);
24347
24662
  }
24348
24663
  }
24349
24664
  if (s0 === peg$FAILED) {
24350
- if (input.substr(peg$currPos, 15) === peg$c98) {
24351
- s0 = peg$c98;
24352
- peg$currPos += 15;
24665
+ if (input.substr(peg$currPos, 14) === peg$c99) {
24666
+ s0 = peg$c99;
24667
+ peg$currPos += 14;
24353
24668
  } else {
24354
24669
  s0 = peg$FAILED;
24355
24670
  if (peg$silentFails === 0) {
24356
- peg$fail(peg$e102);
24671
+ peg$fail(peg$e103);
24357
24672
  }
24358
24673
  }
24359
24674
  if (s0 === peg$FAILED) {
24360
- if (input.substr(peg$currPos, 15) === peg$c99) {
24361
- s0 = peg$c99;
24675
+ if (input.substr(peg$currPos, 15) === peg$c100) {
24676
+ s0 = peg$c100;
24362
24677
  peg$currPos += 15;
24363
24678
  } else {
24364
24679
  s0 = peg$FAILED;
24365
24680
  if (peg$silentFails === 0) {
24366
- peg$fail(peg$e103);
24681
+ peg$fail(peg$e104);
24367
24682
  }
24368
24683
  }
24369
24684
  if (s0 === peg$FAILED) {
24370
- if (input.substr(peg$currPos, 15) === peg$c100) {
24371
- s0 = peg$c100;
24685
+ if (input.substr(peg$currPos, 15) === peg$c101) {
24686
+ s0 = peg$c101;
24372
24687
  peg$currPos += 15;
24373
24688
  } else {
24374
24689
  s0 = peg$FAILED;
24375
24690
  if (peg$silentFails === 0) {
24376
- peg$fail(peg$e104);
24691
+ peg$fail(peg$e105);
24377
24692
  }
24378
24693
  }
24379
24694
  if (s0 === peg$FAILED) {
24380
- if (input.substr(peg$currPos, 14) === peg$c101) {
24381
- s0 = peg$c101;
24382
- peg$currPos += 14;
24695
+ if (input.substr(peg$currPos, 15) === peg$c102) {
24696
+ s0 = peg$c102;
24697
+ peg$currPos += 15;
24383
24698
  } else {
24384
24699
  s0 = peg$FAILED;
24385
24700
  if (peg$silentFails === 0) {
24386
- peg$fail(peg$e105);
24701
+ peg$fail(peg$e106);
24387
24702
  }
24388
24703
  }
24389
24704
  if (s0 === peg$FAILED) {
24390
- if (input.substr(peg$currPos, 10) === peg$c102) {
24391
- s0 = peg$c102;
24392
- peg$currPos += 10;
24705
+ if (input.substr(peg$currPos, 14) === peg$c103) {
24706
+ s0 = peg$c103;
24707
+ peg$currPos += 14;
24393
24708
  } else {
24394
24709
  s0 = peg$FAILED;
24395
24710
  if (peg$silentFails === 0) {
24396
- peg$fail(peg$e106);
24711
+ peg$fail(peg$e107);
24397
24712
  }
24398
24713
  }
24399
24714
  if (s0 === peg$FAILED) {
24400
- if (input.substr(peg$currPos, 13) === peg$c103) {
24401
- s0 = peg$c103;
24402
- peg$currPos += 13;
24715
+ if (input.substr(peg$currPos, 10) === peg$c104) {
24716
+ s0 = peg$c104;
24717
+ peg$currPos += 10;
24403
24718
  } else {
24404
24719
  s0 = peg$FAILED;
24405
24720
  if (peg$silentFails === 0) {
24406
- peg$fail(peg$e107);
24721
+ peg$fail(peg$e108);
24407
24722
  }
24408
24723
  }
24409
24724
  if (s0 === peg$FAILED) {
24410
- if (input.substr(peg$currPos, 19) === peg$c104) {
24411
- s0 = peg$c104;
24412
- peg$currPos += 19;
24725
+ if (input.substr(peg$currPos, 13) === peg$c105) {
24726
+ s0 = peg$c105;
24727
+ peg$currPos += 13;
24413
24728
  } else {
24414
24729
  s0 = peg$FAILED;
24415
24730
  if (peg$silentFails === 0) {
24416
- peg$fail(peg$e108);
24731
+ peg$fail(peg$e109);
24417
24732
  }
24418
24733
  }
24419
24734
  if (s0 === peg$FAILED) {
24420
- if (input.substr(peg$currPos, 10) === peg$c105) {
24421
- s0 = peg$c105;
24422
- peg$currPos += 10;
24735
+ if (input.substr(peg$currPos, 19) === peg$c106) {
24736
+ s0 = peg$c106;
24737
+ peg$currPos += 19;
24423
24738
  } else {
24424
24739
  s0 = peg$FAILED;
24425
24740
  if (peg$silentFails === 0) {
24426
- peg$fail(peg$e109);
24741
+ peg$fail(peg$e110);
24427
24742
  }
24428
24743
  }
24429
24744
  if (s0 === peg$FAILED) {
24430
- if (input.substr(peg$currPos, 10) === peg$c106) {
24431
- s0 = peg$c106;
24745
+ if (input.substr(peg$currPos, 10) === peg$c107) {
24746
+ s0 = peg$c107;
24432
24747
  peg$currPos += 10;
24433
24748
  } else {
24434
24749
  s0 = peg$FAILED;
24435
24750
  if (peg$silentFails === 0) {
24436
- peg$fail(peg$e110);
24751
+ peg$fail(peg$e111);
24437
24752
  }
24438
24753
  }
24439
24754
  if (s0 === peg$FAILED) {
24440
- if (input.substr(peg$currPos, 13) === peg$c107) {
24441
- s0 = peg$c107;
24442
- peg$currPos += 13;
24755
+ if (input.substr(peg$currPos, 10) === peg$c108) {
24756
+ s0 = peg$c108;
24757
+ peg$currPos += 10;
24443
24758
  } else {
24444
24759
  s0 = peg$FAILED;
24445
24760
  if (peg$silentFails === 0) {
24446
- peg$fail(peg$e111);
24761
+ peg$fail(peg$e112);
24447
24762
  }
24448
24763
  }
24449
24764
  if (s0 === peg$FAILED) {
24450
- if (input.substr(peg$currPos, 11) === peg$c108) {
24451
- s0 = peg$c108;
24452
- peg$currPos += 11;
24765
+ if (input.substr(peg$currPos, 13) === peg$c68) {
24766
+ s0 = peg$c68;
24767
+ peg$currPos += 13;
24453
24768
  } else {
24454
24769
  s0 = peg$FAILED;
24455
24770
  if (peg$silentFails === 0) {
24456
- peg$fail(peg$e112);
24771
+ peg$fail(peg$e72);
24772
+ }
24773
+ }
24774
+ if (s0 === peg$FAILED) {
24775
+ if (input.substr(peg$currPos, 11) === peg$c109) {
24776
+ s0 = peg$c109;
24777
+ peg$currPos += 11;
24778
+ } else {
24779
+ s0 = peg$FAILED;
24780
+ if (peg$silentFails === 0) {
24781
+ peg$fail(peg$e113);
24782
+ }
24457
24783
  }
24458
24784
  }
24459
24785
  }
@@ -24499,233 +24825,233 @@ function peg$parse(input, options) {
24499
24825
  }
24500
24826
  function peg$parseColor() {
24501
24827
  let s0;
24502
- if (input.substr(peg$currPos, 4) === peg$c109) {
24503
- s0 = peg$c109;
24828
+ if (input.substr(peg$currPos, 4) === peg$c110) {
24829
+ s0 = peg$c110;
24504
24830
  peg$currPos += 4;
24505
24831
  } else {
24506
24832
  s0 = peg$FAILED;
24507
24833
  if (peg$silentFails === 0) {
24508
- peg$fail(peg$e113);
24834
+ peg$fail(peg$e114);
24509
24835
  }
24510
24836
  }
24511
24837
  if (s0 === peg$FAILED) {
24512
- if (input.substr(peg$currPos, 5) === peg$c110) {
24513
- s0 = peg$c110;
24838
+ if (input.substr(peg$currPos, 5) === peg$c111) {
24839
+ s0 = peg$c111;
24514
24840
  peg$currPos += 5;
24515
24841
  } else {
24516
24842
  s0 = peg$FAILED;
24517
24843
  if (peg$silentFails === 0) {
24518
- peg$fail(peg$e114);
24844
+ peg$fail(peg$e115);
24519
24845
  }
24520
24846
  }
24521
24847
  if (s0 === peg$FAILED) {
24522
- if (input.substr(peg$currPos, 4) === peg$c111) {
24523
- s0 = peg$c111;
24848
+ if (input.substr(peg$currPos, 4) === peg$c112) {
24849
+ s0 = peg$c112;
24524
24850
  peg$currPos += 4;
24525
24851
  } else {
24526
24852
  s0 = peg$FAILED;
24527
24853
  if (peg$silentFails === 0) {
24528
- peg$fail(peg$e115);
24854
+ peg$fail(peg$e116);
24529
24855
  }
24530
24856
  }
24531
24857
  if (s0 === peg$FAILED) {
24532
- if (input.substr(peg$currPos, 5) === peg$c112) {
24533
- s0 = peg$c112;
24858
+ if (input.substr(peg$currPos, 5) === peg$c113) {
24859
+ s0 = peg$c113;
24534
24860
  peg$currPos += 5;
24535
24861
  } else {
24536
24862
  s0 = peg$FAILED;
24537
24863
  if (peg$silentFails === 0) {
24538
- peg$fail(peg$e116);
24864
+ peg$fail(peg$e117);
24539
24865
  }
24540
24866
  }
24541
24867
  if (s0 === peg$FAILED) {
24542
- if (input.substr(peg$currPos, 7) === peg$c113) {
24543
- s0 = peg$c113;
24868
+ if (input.substr(peg$currPos, 7) === peg$c114) {
24869
+ s0 = peg$c114;
24544
24870
  peg$currPos += 7;
24545
24871
  } else {
24546
24872
  s0 = peg$FAILED;
24547
24873
  if (peg$silentFails === 0) {
24548
- peg$fail(peg$e117);
24874
+ peg$fail(peg$e118);
24549
24875
  }
24550
24876
  }
24551
24877
  if (s0 === peg$FAILED) {
24552
- if (input.substr(peg$currPos, 9) === peg$c114) {
24553
- s0 = peg$c114;
24878
+ if (input.substr(peg$currPos, 9) === peg$c115) {
24879
+ s0 = peg$c115;
24554
24880
  peg$currPos += 9;
24555
24881
  } else {
24556
24882
  s0 = peg$FAILED;
24557
24883
  if (peg$silentFails === 0) {
24558
- peg$fail(peg$e118);
24884
+ peg$fail(peg$e119);
24559
24885
  }
24560
24886
  }
24561
24887
  if (s0 === peg$FAILED) {
24562
- if (input.substr(peg$currPos, 4) === peg$c115) {
24563
- s0 = peg$c115;
24888
+ if (input.substr(peg$currPos, 4) === peg$c116) {
24889
+ s0 = peg$c116;
24564
24890
  peg$currPos += 4;
24565
24891
  } else {
24566
24892
  s0 = peg$FAILED;
24567
24893
  if (peg$silentFails === 0) {
24568
- peg$fail(peg$e119);
24894
+ peg$fail(peg$e120);
24569
24895
  }
24570
24896
  }
24571
24897
  if (s0 === peg$FAILED) {
24572
- if (input.substr(peg$currPos, 8) === peg$c116) {
24573
- s0 = peg$c116;
24898
+ if (input.substr(peg$currPos, 8) === peg$c117) {
24899
+ s0 = peg$c117;
24574
24900
  peg$currPos += 8;
24575
24901
  } else {
24576
24902
  s0 = peg$FAILED;
24577
24903
  if (peg$silentFails === 0) {
24578
- peg$fail(peg$e120);
24904
+ peg$fail(peg$e121);
24579
24905
  }
24580
24906
  }
24581
24907
  if (s0 === peg$FAILED) {
24582
- if (input.substr(peg$currPos, 5) === peg$c117) {
24583
- s0 = peg$c117;
24908
+ if (input.substr(peg$currPos, 5) === peg$c118) {
24909
+ s0 = peg$c118;
24584
24910
  peg$currPos += 5;
24585
24911
  } else {
24586
24912
  s0 = peg$FAILED;
24587
24913
  if (peg$silentFails === 0) {
24588
- peg$fail(peg$e121);
24914
+ peg$fail(peg$e122);
24589
24915
  }
24590
24916
  }
24591
24917
  if (s0 === peg$FAILED) {
24592
- if (input.substr(peg$currPos, 4) === peg$c118) {
24593
- s0 = peg$c118;
24918
+ if (input.substr(peg$currPos, 4) === peg$c119) {
24919
+ s0 = peg$c119;
24594
24920
  peg$currPos += 4;
24595
24921
  } else {
24596
24922
  s0 = peg$FAILED;
24597
24923
  if (peg$silentFails === 0) {
24598
- peg$fail(peg$e122);
24924
+ peg$fail(peg$e123);
24599
24925
  }
24600
24926
  }
24601
24927
  if (s0 === peg$FAILED) {
24602
- if (input.substr(peg$currPos, 7) === peg$c119) {
24603
- s0 = peg$c119;
24928
+ if (input.substr(peg$currPos, 7) === peg$c120) {
24929
+ s0 = peg$c120;
24604
24930
  peg$currPos += 7;
24605
24931
  } else {
24606
24932
  s0 = peg$FAILED;
24607
24933
  if (peg$silentFails === 0) {
24608
- peg$fail(peg$e123);
24934
+ peg$fail(peg$e124);
24609
24935
  }
24610
24936
  }
24611
24937
  if (s0 === peg$FAILED) {
24612
- if (input.substr(peg$currPos, 6) === peg$c120) {
24613
- s0 = peg$c120;
24938
+ if (input.substr(peg$currPos, 6) === peg$c121) {
24939
+ s0 = peg$c121;
24614
24940
  peg$currPos += 6;
24615
24941
  } else {
24616
24942
  s0 = peg$FAILED;
24617
24943
  if (peg$silentFails === 0) {
24618
- peg$fail(peg$e124);
24944
+ peg$fail(peg$e125);
24619
24945
  }
24620
24946
  }
24621
24947
  if (s0 === peg$FAILED) {
24622
- if (input.substr(peg$currPos, 4) === peg$c121) {
24623
- s0 = peg$c121;
24948
+ if (input.substr(peg$currPos, 4) === peg$c122) {
24949
+ s0 = peg$c122;
24624
24950
  peg$currPos += 4;
24625
24951
  } else {
24626
24952
  s0 = peg$FAILED;
24627
24953
  if (peg$silentFails === 0) {
24628
- peg$fail(peg$e125);
24954
+ peg$fail(peg$e126);
24629
24955
  }
24630
24956
  }
24631
24957
  if (s0 === peg$FAILED) {
24632
- if (input.substr(peg$currPos, 5) === peg$c122) {
24633
- s0 = peg$c122;
24958
+ if (input.substr(peg$currPos, 5) === peg$c123) {
24959
+ s0 = peg$c123;
24634
24960
  peg$currPos += 5;
24635
24961
  } else {
24636
24962
  s0 = peg$FAILED;
24637
24963
  if (peg$silentFails === 0) {
24638
- peg$fail(peg$e126);
24964
+ peg$fail(peg$e127);
24639
24965
  }
24640
24966
  }
24641
24967
  if (s0 === peg$FAILED) {
24642
- if (input.substr(peg$currPos, 6) === peg$c123) {
24643
- s0 = peg$c123;
24968
+ if (input.substr(peg$currPos, 6) === peg$c124) {
24969
+ s0 = peg$c124;
24644
24970
  peg$currPos += 6;
24645
24971
  } else {
24646
24972
  s0 = peg$FAILED;
24647
24973
  if (peg$silentFails === 0) {
24648
- peg$fail(peg$e127);
24974
+ peg$fail(peg$e128);
24649
24975
  }
24650
24976
  }
24651
24977
  if (s0 === peg$FAILED) {
24652
- if (input.substr(peg$currPos, 4) === peg$c124) {
24653
- s0 = peg$c124;
24978
+ if (input.substr(peg$currPos, 4) === peg$c125) {
24979
+ s0 = peg$c125;
24654
24980
  peg$currPos += 4;
24655
24981
  } else {
24656
24982
  s0 = peg$FAILED;
24657
24983
  if (peg$silentFails === 0) {
24658
- peg$fail(peg$e128);
24984
+ peg$fail(peg$e129);
24659
24985
  }
24660
24986
  }
24661
24987
  if (s0 === peg$FAILED) {
24662
- if (input.substr(peg$currPos, 6) === peg$c125) {
24663
- s0 = peg$c125;
24988
+ if (input.substr(peg$currPos, 6) === peg$c126) {
24989
+ s0 = peg$c126;
24664
24990
  peg$currPos += 6;
24665
24991
  } else {
24666
24992
  s0 = peg$FAILED;
24667
24993
  if (peg$silentFails === 0) {
24668
- peg$fail(peg$e129);
24994
+ peg$fail(peg$e130);
24669
24995
  }
24670
24996
  }
24671
24997
  if (s0 === peg$FAILED) {
24672
- if (input.substr(peg$currPos, 3) === peg$c126) {
24673
- s0 = peg$c126;
24998
+ if (input.substr(peg$currPos, 3) === peg$c127) {
24999
+ s0 = peg$c127;
24674
25000
  peg$currPos += 3;
24675
25001
  } else {
24676
25002
  s0 = peg$FAILED;
24677
25003
  if (peg$silentFails === 0) {
24678
- peg$fail(peg$e130);
25004
+ peg$fail(peg$e131);
24679
25005
  }
24680
25006
  }
24681
25007
  if (s0 === peg$FAILED) {
24682
- if (input.substr(peg$currPos, 6) === peg$c127) {
24683
- s0 = peg$c127;
25008
+ if (input.substr(peg$currPos, 6) === peg$c128) {
25009
+ s0 = peg$c128;
24684
25010
  peg$currPos += 6;
24685
25011
  } else {
24686
25012
  s0 = peg$FAILED;
24687
25013
  if (peg$silentFails === 0) {
24688
- peg$fail(peg$e131);
25014
+ peg$fail(peg$e132);
24689
25015
  }
24690
25016
  }
24691
25017
  if (s0 === peg$FAILED) {
24692
- if (input.substr(peg$currPos, 4) === peg$c128) {
24693
- s0 = peg$c128;
25018
+ if (input.substr(peg$currPos, 4) === peg$c129) {
25019
+ s0 = peg$c129;
24694
25020
  peg$currPos += 4;
24695
25021
  } else {
24696
25022
  s0 = peg$FAILED;
24697
25023
  if (peg$silentFails === 0) {
24698
- peg$fail(peg$e132);
25024
+ peg$fail(peg$e133);
24699
25025
  }
24700
25026
  }
24701
25027
  if (s0 === peg$FAILED) {
24702
- if (input.substr(peg$currPos, 6) === peg$c129) {
24703
- s0 = peg$c129;
25028
+ if (input.substr(peg$currPos, 6) === peg$c130) {
25029
+ s0 = peg$c130;
24704
25030
  peg$currPos += 6;
24705
25031
  } else {
24706
25032
  s0 = peg$FAILED;
24707
25033
  if (peg$silentFails === 0) {
24708
- peg$fail(peg$e133);
25034
+ peg$fail(peg$e134);
24709
25035
  }
24710
25036
  }
24711
25037
  if (s0 === peg$FAILED) {
24712
- if (input.substr(peg$currPos, 5) === peg$c130) {
24713
- s0 = peg$c130;
25038
+ if (input.substr(peg$currPos, 5) === peg$c131) {
25039
+ s0 = peg$c131;
24714
25040
  peg$currPos += 5;
24715
25041
  } else {
24716
25042
  s0 = peg$FAILED;
24717
25043
  if (peg$silentFails === 0) {
24718
- peg$fail(peg$e134);
25044
+ peg$fail(peg$e135);
24719
25045
  }
24720
25046
  }
24721
25047
  if (s0 === peg$FAILED) {
24722
- if (input.substr(peg$currPos, 6) === peg$c131) {
24723
- s0 = peg$c131;
25048
+ if (input.substr(peg$currPos, 6) === peg$c132) {
25049
+ s0 = peg$c132;
24724
25050
  peg$currPos += 6;
24725
25051
  } else {
24726
25052
  s0 = peg$FAILED;
24727
25053
  if (peg$silentFails === 0) {
24728
- peg$fail(peg$e135);
25054
+ peg$fail(peg$e136);
24729
25055
  }
24730
25056
  }
24731
25057
  }
@@ -24752,13 +25078,125 @@ function peg$parse(input, options) {
24752
25078
  }
24753
25079
  return s0;
24754
25080
  }
25081
+ function peg$parseHighlightColor() {
25082
+ let s0;
25083
+ if (input.substr(peg$currPos, 6) === peg$c124) {
25084
+ s0 = peg$c124;
25085
+ peg$currPos += 6;
25086
+ } else {
25087
+ s0 = peg$FAILED;
25088
+ if (peg$silentFails === 0) {
25089
+ peg$fail(peg$e128);
25090
+ }
25091
+ }
25092
+ if (s0 === peg$FAILED) {
25093
+ if (input.substr(peg$currPos, 6) === peg$c132) {
25094
+ s0 = peg$c132;
25095
+ peg$currPos += 6;
25096
+ } else {
25097
+ s0 = peg$FAILED;
25098
+ if (peg$silentFails === 0) {
25099
+ peg$fail(peg$e136);
25100
+ }
25101
+ }
25102
+ if (s0 === peg$FAILED) {
25103
+ if (input.substr(peg$currPos, 5) === peg$c118) {
25104
+ s0 = peg$c118;
25105
+ peg$currPos += 5;
25106
+ } else {
25107
+ s0 = peg$FAILED;
25108
+ if (peg$silentFails === 0) {
25109
+ peg$fail(peg$e122);
25110
+ }
25111
+ }
25112
+ if (s0 === peg$FAILED) {
25113
+ if (input.substr(peg$currPos, 4) === peg$c112) {
25114
+ s0 = peg$c112;
25115
+ peg$currPos += 4;
25116
+ } else {
25117
+ s0 = peg$FAILED;
25118
+ if (peg$silentFails === 0) {
25119
+ peg$fail(peg$e116);
25120
+ }
25121
+ }
25122
+ if (s0 === peg$FAILED) {
25123
+ if (input.substr(peg$currPos, 6) === peg$c126) {
25124
+ s0 = peg$c126;
25125
+ peg$currPos += 6;
25126
+ } else {
25127
+ s0 = peg$FAILED;
25128
+ if (peg$silentFails === 0) {
25129
+ peg$fail(peg$e130);
25130
+ }
25131
+ }
25132
+ if (s0 === peg$FAILED) {
25133
+ if (input.substr(peg$currPos, 4) === peg$c125) {
25134
+ s0 = peg$c125;
25135
+ peg$currPos += 4;
25136
+ } else {
25137
+ s0 = peg$FAILED;
25138
+ if (peg$silentFails === 0) {
25139
+ peg$fail(peg$e129);
25140
+ }
25141
+ }
25142
+ if (s0 === peg$FAILED) {
25143
+ if (input.substr(peg$currPos, 5) === peg$c113) {
25144
+ s0 = peg$c113;
25145
+ peg$currPos += 5;
25146
+ } else {
25147
+ s0 = peg$FAILED;
25148
+ if (peg$silentFails === 0) {
25149
+ peg$fail(peg$e117);
25150
+ }
25151
+ }
25152
+ if (s0 === peg$FAILED) {
25153
+ if (input.substr(peg$currPos, 5) === peg$c131) {
25154
+ s0 = peg$c131;
25155
+ peg$currPos += 5;
25156
+ } else {
25157
+ s0 = peg$FAILED;
25158
+ if (peg$silentFails === 0) {
25159
+ peg$fail(peg$e135);
25160
+ }
25161
+ }
25162
+ if (s0 === peg$FAILED) {
25163
+ if (input.substr(peg$currPos, 5) === peg$c111) {
25164
+ s0 = peg$c111;
25165
+ peg$currPos += 5;
25166
+ } else {
25167
+ s0 = peg$FAILED;
25168
+ if (peg$silentFails === 0) {
25169
+ peg$fail(peg$e115);
25170
+ }
25171
+ }
25172
+ if (s0 === peg$FAILED) {
25173
+ if (input.substr(peg$currPos, 4) === peg$c116) {
25174
+ s0 = peg$c116;
25175
+ peg$currPos += 4;
25176
+ } else {
25177
+ s0 = peg$FAILED;
25178
+ if (peg$silentFails === 0) {
25179
+ peg$fail(peg$e120);
25180
+ }
25181
+ }
25182
+ }
25183
+ }
25184
+ }
25185
+ }
25186
+ }
25187
+ }
25188
+ }
25189
+ }
25190
+ }
25191
+ return s0;
25192
+ }
24755
25193
  function peg$parsebitmarkMinusMinus() {
24756
25194
  let s0, s1;
24757
25195
  peg$silentFails++;
24758
25196
  s0 = peg$currPos;
24759
25197
  s1 = peg$parsebitmarkMinusMinusString();
24760
25198
  peg$savedPos = s0;
24761
- s1 = peg$f91(s1);
25199
+ s1 = peg$f92(s1);
24762
25200
  s0 = s1;
24763
25201
  peg$silentFails--;
24764
25202
  return s0;
@@ -24784,7 +25222,7 @@ function peg$parse(input, options) {
24784
25222
  }
24785
25223
  }
24786
25224
  peg$savedPos = s0;
24787
- s0 = peg$f92(s1, s2);
25225
+ s0 = peg$f93(s1, s2);
24788
25226
  peg$silentFails--;
24789
25227
  return s0;
24790
25228
  }
@@ -24794,7 +25232,7 @@ function peg$parse(input, options) {
24794
25232
  s1 = peg$parseNL();
24795
25233
  if (s1 !== peg$FAILED) {
24796
25234
  peg$savedPos = s0;
24797
- s1 = peg$f93();
25235
+ s1 = peg$f94();
24798
25236
  }
24799
25237
  s0 = s1;
24800
25238
  if (s0 === peg$FAILED) {
@@ -24923,7 +25361,7 @@ function peg$parse(input, options) {
24923
25361
  }
24924
25362
  if (s1 !== peg$FAILED) {
24925
25363
  peg$savedPos = s0;
24926
- s1 = peg$f94(s1);
25364
+ s1 = peg$f95(s1);
24927
25365
  }
24928
25366
  s0 = s1;
24929
25367
  }
@@ -24932,12 +25370,12 @@ function peg$parse(input, options) {
24932
25370
  function peg$parseBoldHalfTag() {
24933
25371
  let s0;
24934
25372
  if (input.charCodeAt(peg$currPos) === 42) {
24935
- s0 = peg$c132;
25373
+ s0 = peg$c133;
24936
25374
  peg$currPos++;
24937
25375
  } else {
24938
25376
  s0 = peg$FAILED;
24939
25377
  if (peg$silentFails === 0) {
24940
- peg$fail(peg$e136);
25378
+ peg$fail(peg$e137);
24941
25379
  }
24942
25380
  }
24943
25381
  return s0;
@@ -24945,12 +25383,12 @@ function peg$parse(input, options) {
24945
25383
  function peg$parseItalicHalfTag() {
24946
25384
  let s0;
24947
25385
  if (input.charCodeAt(peg$currPos) === 95) {
24948
- s0 = peg$c133;
25386
+ s0 = peg$c134;
24949
25387
  peg$currPos++;
24950
25388
  } else {
24951
25389
  s0 = peg$FAILED;
24952
25390
  if (peg$silentFails === 0) {
24953
- peg$fail(peg$e137);
25391
+ peg$fail(peg$e138);
24954
25392
  }
24955
25393
  }
24956
25394
  return s0;
@@ -24958,12 +25396,12 @@ function peg$parse(input, options) {
24958
25396
  function peg$parseLightHalfTag() {
24959
25397
  let s0;
24960
25398
  if (input.charCodeAt(peg$currPos) === 96) {
24961
- s0 = peg$c134;
25399
+ s0 = peg$c135;
24962
25400
  peg$currPos++;
24963
25401
  } else {
24964
25402
  s0 = peg$FAILED;
24965
25403
  if (peg$silentFails === 0) {
24966
- peg$fail(peg$e138);
25404
+ peg$fail(peg$e139);
24967
25405
  }
24968
25406
  }
24969
25407
  return s0;
@@ -24971,12 +25409,12 @@ function peg$parse(input, options) {
24971
25409
  function peg$parseHighlightHalfTag() {
24972
25410
  let s0;
24973
25411
  if (input.charCodeAt(peg$currPos) === 33) {
24974
- s0 = peg$c135;
25412
+ s0 = peg$c136;
24975
25413
  peg$currPos++;
24976
25414
  } else {
24977
25415
  s0 = peg$FAILED;
24978
25416
  if (peg$silentFails === 0) {
24979
- peg$fail(peg$e139);
25417
+ peg$fail(peg$e140);
24980
25418
  }
24981
25419
  }
24982
25420
  return s0;
@@ -25059,13 +25497,13 @@ function peg$parse(input, options) {
25059
25497
  }
25060
25498
  function peg$parseBodyBitOpenTag() {
25061
25499
  let s0;
25062
- if (input.substr(peg$currPos, 2) === peg$c136) {
25063
- s0 = peg$c136;
25500
+ if (input.substr(peg$currPos, 2) === peg$c137) {
25501
+ s0 = peg$c137;
25064
25502
  peg$currPos += 2;
25065
25503
  } else {
25066
25504
  s0 = peg$FAILED;
25067
25505
  if (peg$silentFails === 0) {
25068
- peg$fail(peg$e140);
25506
+ peg$fail(peg$e141);
25069
25507
  }
25070
25508
  }
25071
25509
  return s0;
@@ -25073,12 +25511,12 @@ function peg$parse(input, options) {
25073
25511
  function peg$parseBodyBitCloseTag() {
25074
25512
  let s0;
25075
25513
  if (input.charCodeAt(peg$currPos) === 93) {
25076
- s0 = peg$c137;
25514
+ s0 = peg$c138;
25077
25515
  peg$currPos++;
25078
25516
  } else {
25079
25517
  s0 = peg$FAILED;
25080
25518
  if (peg$silentFails === 0) {
25081
- peg$fail(peg$e141);
25519
+ peg$fail(peg$e142);
25082
25520
  }
25083
25521
  }
25084
25522
  return s0;
@@ -25124,7 +25562,7 @@ function peg$parse(input, options) {
25124
25562
  s3 = peg$parseBodyBitCloseTag();
25125
25563
  if (s3 !== peg$FAILED) {
25126
25564
  peg$savedPos = s0;
25127
- s0 = peg$f95(s2);
25565
+ s0 = peg$f96(s2);
25128
25566
  } else {
25129
25567
  peg$currPos = s0;
25130
25568
  s0 = peg$FAILED;
@@ -25214,7 +25652,7 @@ function peg$parse(input, options) {
25214
25652
  s3 = peg$parseBoldTag();
25215
25653
  if (s3 !== peg$FAILED) {
25216
25654
  peg$savedPos = s0;
25217
- s0 = peg$f96(s2);
25655
+ s0 = peg$f97(s2);
25218
25656
  } else {
25219
25657
  peg$currPos = s0;
25220
25658
  s0 = peg$FAILED;
@@ -25300,7 +25738,7 @@ function peg$parse(input, options) {
25300
25738
  s3 = peg$parseItalicTag();
25301
25739
  if (s3 !== peg$FAILED) {
25302
25740
  peg$savedPos = s0;
25303
- s0 = peg$f97(s2);
25741
+ s0 = peg$f98(s2);
25304
25742
  } else {
25305
25743
  peg$currPos = s0;
25306
25744
  s0 = peg$FAILED;
@@ -25386,7 +25824,7 @@ function peg$parse(input, options) {
25386
25824
  s3 = peg$parseLightTag();
25387
25825
  if (s3 !== peg$FAILED) {
25388
25826
  peg$savedPos = s0;
25389
- s0 = peg$f98(s2);
25827
+ s0 = peg$f99(s2);
25390
25828
  } else {
25391
25829
  peg$currPos = s0;
25392
25830
  s0 = peg$FAILED;
@@ -25472,7 +25910,7 @@ function peg$parse(input, options) {
25472
25910
  s3 = peg$parseHighlightTag();
25473
25911
  if (s3 !== peg$FAILED) {
25474
25912
  peg$savedPos = s0;
25475
- s0 = peg$f99(s2);
25913
+ s0 = peg$f100(s2);
25476
25914
  } else {
25477
25915
  peg$currPos = s0;
25478
25916
  s0 = peg$FAILED;
@@ -25557,22 +25995,22 @@ function peg$parse(input, options) {
25557
25995
  let s0, s1;
25558
25996
  peg$silentFails++;
25559
25997
  if (input.charCodeAt(peg$currPos) === 10) {
25560
- s0 = peg$c138;
25998
+ s0 = peg$c139;
25561
25999
  peg$currPos++;
25562
26000
  } else {
25563
26001
  s0 = peg$FAILED;
25564
26002
  if (peg$silentFails === 0) {
25565
- peg$fail(peg$e143);
26003
+ peg$fail(peg$e144);
25566
26004
  }
25567
26005
  }
25568
26006
  if (s0 === peg$FAILED) {
25569
- if (input.substr(peg$currPos, 2) === peg$c139) {
25570
- s0 = peg$c139;
26007
+ if (input.substr(peg$currPos, 2) === peg$c140) {
26008
+ s0 = peg$c140;
25571
26009
  peg$currPos += 2;
25572
26010
  } else {
25573
26011
  s0 = peg$FAILED;
25574
26012
  if (peg$silentFails === 0) {
25575
- peg$fail(peg$e144);
26013
+ peg$fail(peg$e145);
25576
26014
  }
25577
26015
  }
25578
26016
  if (s0 === peg$FAILED) {
@@ -25582,7 +26020,7 @@ function peg$parse(input, options) {
25582
26020
  } else {
25583
26021
  s0 = peg$FAILED;
25584
26022
  if (peg$silentFails === 0) {
25585
- peg$fail(peg$e145);
26023
+ peg$fail(peg$e146);
25586
26024
  }
25587
26025
  }
25588
26026
  }
@@ -25591,7 +26029,7 @@ function peg$parse(input, options) {
25591
26029
  if (s0 === peg$FAILED) {
25592
26030
  s1 = peg$FAILED;
25593
26031
  if (peg$silentFails === 0) {
25594
- peg$fail(peg$e142);
26032
+ peg$fail(peg$e143);
25595
26033
  }
25596
26034
  }
25597
26035
  return s0;
@@ -25604,7 +26042,7 @@ function peg$parse(input, options) {
25604
26042
  } else {
25605
26043
  s0 = peg$FAILED;
25606
26044
  if (peg$silentFails === 0) {
25607
- peg$fail(peg$e146);
26045
+ peg$fail(peg$e147);
25608
26046
  }
25609
26047
  }
25610
26048
  return s0;
@@ -25638,35 +26076,35 @@ function peg$parse(input, options) {
25638
26076
  let s0, s1, s2, s3, s4, s5, s6, s7, s8;
25639
26077
  s0 = peg$currPos;
25640
26078
  s1 = peg$currPos;
25641
- if (input.substr(peg$currPos, 4) === peg$c140) {
25642
- s2 = peg$c140;
26079
+ if (input.substr(peg$currPos, 4) === peg$c141) {
26080
+ s2 = peg$c141;
25643
26081
  peg$currPos += 4;
25644
26082
  } else {
25645
26083
  s2 = peg$FAILED;
25646
26084
  if (peg$silentFails === 0) {
25647
- peg$fail(peg$e147);
26085
+ peg$fail(peg$e148);
25648
26086
  }
25649
26087
  }
25650
26088
  if (s2 !== peg$FAILED) {
25651
26089
  if (input.charCodeAt(peg$currPos) === 115) {
25652
- s3 = peg$c141;
26090
+ s3 = peg$c142;
25653
26091
  peg$currPos++;
25654
26092
  } else {
25655
26093
  s3 = peg$FAILED;
25656
26094
  if (peg$silentFails === 0) {
25657
- peg$fail(peg$e148);
26095
+ peg$fail(peg$e149);
25658
26096
  }
25659
26097
  }
25660
26098
  if (s3 === peg$FAILED) {
25661
26099
  s3 = null;
25662
26100
  }
25663
- if (input.substr(peg$currPos, 3) === peg$c142) {
25664
- s4 = peg$c142;
26101
+ if (input.substr(peg$currPos, 3) === peg$c143) {
26102
+ s4 = peg$c143;
25665
26103
  peg$currPos += 3;
25666
26104
  } else {
25667
26105
  s4 = peg$FAILED;
25668
26106
  if (peg$silentFails === 0) {
25669
- peg$fail(peg$e149);
26107
+ peg$fail(peg$e150);
25670
26108
  }
25671
26109
  }
25672
26110
  if (s4 !== peg$FAILED) {
@@ -25744,35 +26182,35 @@ function peg$parse(input, options) {
25744
26182
  s0 = peg$currPos;
25745
26183
  s1 = peg$currPos;
25746
26184
  s2 = peg$currPos;
25747
- if (input.substr(peg$currPos, 4) === peg$c140) {
25748
- s3 = peg$c140;
26185
+ if (input.substr(peg$currPos, 4) === peg$c141) {
26186
+ s3 = peg$c141;
25749
26187
  peg$currPos += 4;
25750
26188
  } else {
25751
26189
  s3 = peg$FAILED;
25752
26190
  if (peg$silentFails === 0) {
25753
- peg$fail(peg$e147);
26191
+ peg$fail(peg$e148);
25754
26192
  }
25755
26193
  }
25756
26194
  if (s3 !== peg$FAILED) {
25757
26195
  if (input.charCodeAt(peg$currPos) === 115) {
25758
- s4 = peg$c141;
26196
+ s4 = peg$c142;
25759
26197
  peg$currPos++;
25760
26198
  } else {
25761
26199
  s4 = peg$FAILED;
25762
26200
  if (peg$silentFails === 0) {
25763
- peg$fail(peg$e148);
26201
+ peg$fail(peg$e149);
25764
26202
  }
25765
26203
  }
25766
26204
  if (s4 === peg$FAILED) {
25767
26205
  s4 = null;
25768
26206
  }
25769
- if (input.substr(peg$currPos, 3) === peg$c142) {
25770
- s5 = peg$c142;
26207
+ if (input.substr(peg$currPos, 3) === peg$c143) {
26208
+ s5 = peg$c143;
25771
26209
  peg$currPos += 3;
25772
26210
  } else {
25773
26211
  s5 = peg$FAILED;
25774
26212
  if (peg$silentFails === 0) {
25775
- peg$fail(peg$e149);
26213
+ peg$fail(peg$e150);
25776
26214
  }
25777
26215
  }
25778
26216
  if (s5 !== peg$FAILED) {
@@ -25787,13 +26225,13 @@ function peg$parse(input, options) {
25787
26225
  s2 = peg$FAILED;
25788
26226
  }
25789
26227
  if (s2 === peg$FAILED) {
25790
- if (input.substr(peg$currPos, 7) === peg$c143) {
25791
- s2 = peg$c143;
26228
+ if (input.substr(peg$currPos, 7) === peg$c144) {
26229
+ s2 = peg$c144;
25792
26230
  peg$currPos += 7;
25793
26231
  } else {
25794
26232
  s2 = peg$FAILED;
25795
26233
  if (peg$silentFails === 0) {
25796
- peg$fail(peg$e150);
26234
+ peg$fail(peg$e151);
25797
26235
  }
25798
26236
  }
25799
26237
  }
@@ -25858,7 +26296,7 @@ function peg$parse(input, options) {
25858
26296
  }
25859
26297
  s2 = input.substring(s2, peg$currPos);
25860
26298
  peg$savedPos = s0;
25861
- s0 = peg$f100(s1, s2);
26299
+ s0 = peg$f101(s1, s2);
25862
26300
  } else {
25863
26301
  peg$currPos = s0;
25864
26302
  s0 = peg$FAILED;
@@ -25873,7 +26311,7 @@ function peg$parse(input, options) {
25873
26311
  } else {
25874
26312
  s0 = peg$FAILED;
25875
26313
  if (peg$silentFails === 0) {
25876
- peg$fail(peg$e151);
26314
+ peg$fail(peg$e152);
25877
26315
  }
25878
26316
  }
25879
26317
  return s0;
@@ -44217,6 +44655,8 @@ var ConfigBuilder = class {
44217
44655
  format = "bitmark";
44218
44656
  } else if (tag.format === TagFormat.number) {
44219
44657
  format = "number";
44658
+ } else if (tag.format === TagFormat.coordinates) {
44659
+ format = "coordinates";
44220
44660
  }
44221
44661
  } else if (tagType === BitTagConfigKeyType.resource) {
44222
44662
  format = "string";