@gmb/bitmark-parser-generator 5.0.1 → 5.2.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.
@@ -641,6 +641,7 @@ var BitType = {
641
641
  trueFalse: "true-false",
642
642
  trueFalse1: "true-false-1",
643
643
  vendorAmcharts5Chart: "vendor-amcharts-5-chart",
644
+ vendorDatadogDashboard: "vendor-datadog-dashboard",
644
645
  vendorDatadogDashboardEmbed: "vendor-datadog-dashboard-embed",
645
646
  vendorFormbricksEmbed: "vendor-formbricks-embed",
646
647
  vendorFormbricksLink: "vendor-formbricks-link",
@@ -1280,6 +1281,7 @@ var propertyKeys = {
1280
1281
  property_internalComment: "@internalComment",
1281
1282
  property_internalPrintPdf: "@internalPrintPdf",
1282
1283
  property_hasPrintRestriction: "@hasPrintRestriction",
1284
+ property_enforceUpdateOverUserInput: "@enforceUpdateOverUserInput",
1283
1285
  property_isCaseSensitive: "@isCaseSensitive",
1284
1286
  property_isInfoOnly: "@isInfoOnly",
1285
1287
  property_isPublic: "@isPublic",
@@ -1306,6 +1308,7 @@ var propertyKeys = {
1306
1308
  property_listItemIndent: "@listItemIndent",
1307
1309
  property_location: "@location",
1308
1310
  property_machineTranslated: "@machineTranslated",
1311
+ property_translationOf: "@translationOf",
1309
1312
  property_spansPageBreak: "@spansPageBreak",
1310
1313
  property_mailingList: "@mailingList",
1311
1314
  property_mark: "@mark",
@@ -2793,6 +2796,11 @@ var GROUPS = {
2793
2796
  description: "If true, the bit is machine-translated",
2794
2797
  format: TagFormat.plainText
2795
2798
  },
2799
+ {
2800
+ key: ConfigKey.property_translationOf,
2801
+ description: "Translation source reference",
2802
+ format: TagFormat.plainText
2803
+ },
2796
2804
  {
2797
2805
  key: ConfigKey.property_spansPageBreak,
2798
2806
  description: "If true, the bit spans a page break",
@@ -3443,6 +3451,12 @@ var GROUPS = {
3443
3451
  description: "If true, the book has print restrictions",
3444
3452
  format: TagFormat.boolean,
3445
3453
  defaultValue: "true"
3454
+ },
3455
+ {
3456
+ key: ConfigKey.property_enforceUpdateOverUserInput,
3457
+ description: "If true, prioritize new content over legacy content from the instance API",
3458
+ format: TagFormat.boolean,
3459
+ defaultValue: "false"
3446
3460
  }
3447
3461
  ]
3448
3462
  },
@@ -9631,6 +9645,11 @@ var BITS = {
9631
9645
  description: "AmCharts 5 chart bit, used to embed AmCharts 5 charts in articles or books",
9632
9646
  textFormatDefault: TextFormat2.json
9633
9647
  },
9648
+ [BitType.vendorDatadogDashboard]: {
9649
+ since: "5.2.0",
9650
+ baseBitType: BitType.nonProductionPrototypeIframe,
9651
+ description: "A Datadog dashboard bit, used to embed Datadog dashboards"
9652
+ },
9634
9653
  [BitType.vendorDatadogDashboardEmbed]: {
9635
9654
  since: "3.12.0",
9636
9655
  baseBitType: BitType.code,
@@ -10260,7 +10279,7 @@ var instance2 = new Config();
10260
10279
  // src/generated/package_info.ts
10261
10280
  var PACKAGE_INFO = {
10262
10281
  "name": "@gmb/bitmark-parser-generator",
10263
- "version": "5.0.1",
10282
+ "version": "5.2.0",
10264
10283
  "author": "Get More Brain Ltd",
10265
10284
  "license": "ISC",
10266
10285
  "description": "A bitmark parser and generator using Peggy.js"
@@ -10557,6 +10576,7 @@ var TextMarkType = {
10557
10576
  timer: "timer",
10558
10577
  duration: "duration",
10559
10578
  color: "color",
10579
+ colorPicker: "colorPicker",
10560
10580
  comment: "comment"
10561
10581
  };
10562
10582
 
@@ -10880,6 +10900,8 @@ var NodeType = {
10880
10900
  internalPrintPdfValue: "internalPrintPdfValue",
10881
10901
  hasPrintRestriction: "hasPrintRestriction",
10882
10902
  hasPrintRestrictionValue: "hasPrintRestrictionValue",
10903
+ enforceUpdateOverUserInput: "enforceUpdateOverUserInput",
10904
+ enforceUpdateOverUserInputValue: "enforceUpdateOverUserInputValue",
10883
10905
  isCaseSensitive: "isCaseSensitive",
10884
10906
  isCommented: "isCommented",
10885
10907
  isCorrect: "isCorrect",
@@ -10946,6 +10968,8 @@ var NodeType = {
10946
10968
  locationValue: "locationValue",
10947
10969
  machineTranslated: "machineTranslated",
10948
10970
  machineTranslatedValue: "machineTranslatedValue",
10971
+ translationOf: "translationOf",
10972
+ translationOfValue: "translationOfValue",
10949
10973
  spansPageBreak: "spansPageBreak",
10950
10974
  spansPageBreakValue: "spansPageBreakValue",
10951
10975
  mailingList: "mailingList",
@@ -12054,6 +12078,7 @@ var INLINE_MARK_TYPES = [
12054
12078
  TextMarkType.timer,
12055
12079
  TextMarkType.duration,
12056
12080
  TextMarkType.color,
12081
+ TextMarkType.colorPicker,
12057
12082
  TextMarkType.comment
12058
12083
  ];
12059
12084
  var INDENTATION_REGEX = new RegExp(/(\n|\r\n)/, "g");
@@ -12064,7 +12089,7 @@ var Stage = {
12064
12089
  between: "between",
12065
12090
  exit: "exit"
12066
12091
  };
12067
- var TextGenerator = class extends AstWalkerGenerator {
12092
+ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
12068
12093
  /**
12069
12094
  * Generate text from a bitmark text AST
12070
12095
  *
@@ -12076,6 +12101,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12076
12101
  __publicField(this, "ast", new Ast());
12077
12102
  __publicField(this, "bitmarkVersion");
12078
12103
  __publicField(this, "options");
12104
+ __publicField(this, "internalTextGenerator", null);
12079
12105
  // State
12080
12106
  __publicField(this, "generateOptions", {});
12081
12107
  __publicField(this, "textFormat", TextFormat2.bitmarkText);
@@ -12091,6 +12117,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12091
12117
  __publicField(this, "exitedCodeBlock", false);
12092
12118
  __publicField(this, "inBulletList", false);
12093
12119
  __publicField(this, "inInline", false);
12120
+ __publicField(this, "markDepth", 0);
12094
12121
  __publicField(this, "textDepth", 0);
12095
12122
  __publicField(this, "placeholderIndex", 0);
12096
12123
  __publicField(this, "placeholders", {});
@@ -12115,6 +12142,13 @@ var TextGenerator = class extends AstWalkerGenerator {
12115
12142
  this.between = this.between.bind(this);
12116
12143
  this.exit = this.exit.bind(this);
12117
12144
  this.leaf = this.leaf.bind(this);
12145
+ if (!this.options.isInternal) {
12146
+ this.internalTextGenerator = new _TextGenerator(bitmarkVersion, {
12147
+ ...this.options,
12148
+ writeCallback: void 0,
12149
+ isInternal: true
12150
+ });
12151
+ }
12118
12152
  }
12119
12153
  /**
12120
12154
  * Generate text from a bitmark text AST
@@ -12171,6 +12205,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12171
12205
  this.exitedCodeBlock = false;
12172
12206
  this.inBulletList = false;
12173
12207
  this.inInline = false;
12208
+ this.markDepth = 0;
12174
12209
  this.textDepth = 0;
12175
12210
  this.placeholderIndex = 0;
12176
12211
  this.placeholders = {};
@@ -12218,8 +12253,16 @@ var TextGenerator = class extends AstWalkerGenerator {
12218
12253
  exit_contentValueValue(node, route) {
12219
12254
  return this.handleExitNode(node.value, route);
12220
12255
  }
12256
+ // * -> marks
12257
+ enter_marks(_node, _route) {
12258
+ this.markDepth++;
12259
+ }
12260
+ exit_marks(_node, _route) {
12261
+ this.markDepth--;
12262
+ }
12221
12263
  // END NODE HANDLERS
12222
12264
  handleEnterNode(node, route) {
12265
+ if (this.markDepth > 0) return;
12223
12266
  this.handleEnterNodePreTextCheck(node, route);
12224
12267
  this.handleIndent(node);
12225
12268
  switch (node.type) {
@@ -12230,7 +12273,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12230
12273
  case TextNodeType.hardBreak:
12231
12274
  this.writeHardBreak(node);
12232
12275
  break;
12233
- case TextNodeType.text:
12276
+ case TextNodeType.text: {
12234
12277
  this.writeMarks(node, Stage.enter);
12235
12278
  this.writeText(node);
12236
12279
  this.writeMarks(node, Stage.between);
@@ -12239,6 +12282,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12239
12282
  }
12240
12283
  this.textDepth++;
12241
12284
  break;
12285
+ }
12242
12286
  case TextNodeType.heading:
12243
12287
  this.writeHeading(node);
12244
12288
  this.inHeading = true;
@@ -12289,6 +12333,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12289
12333
  }
12290
12334
  }
12291
12335
  handleExitNode(node, _route) {
12336
+ if (this.markDepth > 0) return;
12292
12337
  switch (node.type) {
12293
12338
  case TextNodeType.text:
12294
12339
  this.textDepth--;
@@ -12595,7 +12640,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12595
12640
  */
12596
12641
  writeMarks(node, stage) {
12597
12642
  if (node.marks) {
12598
- const forceSingleMark = !!(this.inInline || this.inHeading);
12643
+ const forceSingleMark = this.generateOptions.forceInline || !!(this.inInline || this.inHeading);
12599
12644
  this.thisNodeIsPreText = false;
12600
12645
  const emptyMarks = node.marks.length === 0;
12601
12646
  if (emptyMarks) {
@@ -12785,7 +12830,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12785
12830
  let s = `${mark.type}`;
12786
12831
  if (mark.attrs) {
12787
12832
  for (const [k, v] of Object.entries(mark.attrs)) {
12788
- if (k === "language" && v !== "plain text" || k === "color" || k === "name" || k === "duration") {
12833
+ if (k === "language" && v !== "plain text" || k === "color" || k === "propertyRef" || k === "name" || k === "duration") {
12789
12834
  s = `${s}:${v}`;
12790
12835
  }
12791
12836
  }
@@ -12826,13 +12871,33 @@ var TextGenerator = class extends AstWalkerGenerator {
12826
12871
  s += `|provider:${provider}`;
12827
12872
  this.write(s);
12828
12873
  }
12829
- writeFootnoteMark(_mark) {
12874
+ writeFootnoteMark(mark) {
12830
12875
  const s = `footnote:`;
12831
12876
  this.write(s);
12877
+ const text = this.internalTextGenerator?.generateSync(
12878
+ mark.attrs?.content,
12879
+ this.textFormat,
12880
+ this.textLocation,
12881
+ {
12882
+ ...this.generateOptions,
12883
+ forceInline: true
12884
+ }
12885
+ ) ?? "";
12886
+ this.write(text);
12832
12887
  }
12833
- writeFootnoteStarMark(_mark) {
12888
+ writeFootnoteStarMark(mark) {
12834
12889
  const s = `footnote*:`;
12835
12890
  this.write(s);
12891
+ const text = this.internalTextGenerator?.generateSync(
12892
+ mark.attrs?.content,
12893
+ this.textFormat,
12894
+ this.textLocation,
12895
+ {
12896
+ ...this.generateOptions,
12897
+ forceInline: true
12898
+ }
12899
+ ) ?? "";
12900
+ this.write(text);
12836
12901
  }
12837
12902
  writeSymbolMark(mark) {
12838
12903
  if (mark.attrs == null) return;
@@ -12976,7 +13041,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12976
13041
  };
12977
13042
 
12978
13043
  // src/generated/parser/text/text-peggy-parser.js
12979
- var VERSION = "8.35.0";
13044
+ var VERSION = "8.37.3";
12980
13045
  function unbreakscape(str) {
12981
13046
  if (typeof str !== "string") return null;
12982
13047
  return instance3.unbreakscape(str);
@@ -13195,72 +13260,83 @@ function peg$parse(input, options) {
13195
13260
  const peg$c64 = "duration:";
13196
13261
  const peg$c65 = "P";
13197
13262
  const peg$c66 = "color:";
13198
- const peg$c67 = "|\u25BA";
13199
- const peg$c68 = "bold";
13200
- const peg$c69 = "italic";
13201
- const peg$c70 = "light";
13202
- const peg$c71 = "highlight";
13203
- const peg$c72 = "strike";
13204
- const peg$c73 = "subscript";
13205
- const peg$c74 = "superscript";
13206
- const peg$c75 = "ins";
13207
- const peg$c76 = "del";
13208
- const peg$c77 = "underline";
13209
- const peg$c78 = "doubleUnderline";
13210
- const peg$c79 = "circle";
13211
- const peg$c80 = "languageEmRed";
13212
- const peg$c81 = "languageEmOrange";
13213
- const peg$c82 = "languageEmYellow";
13214
- const peg$c83 = "languageEmGreen";
13215
- const peg$c84 = "languageEmBlue";
13216
- const peg$c85 = "languageEmPurple";
13217
- const peg$c86 = "languageEmPink";
13218
- const peg$c87 = "languageEmBrown";
13219
- const peg$c88 = "languageEmBlack";
13220
- const peg$c89 = "languageEmWhite";
13221
- const peg$c90 = "languageEmGray";
13222
- const peg$c91 = "languageEm";
13223
- const peg$c92 = "userUnderline";
13224
- const peg$c93 = "userDoubleUnderline";
13225
- const peg$c94 = "userStrike";
13226
- const peg$c95 = "userCircle";
13227
- const peg$c96 = "userHighlight";
13228
- const peg$c97 = "notranslate";
13229
- const peg$c98 = "aqua";
13230
- const peg$c99 = "black";
13231
- const peg$c100 = "blue";
13232
- const peg$c101 = "brown";
13233
- const peg$c102 = "fuchsia";
13234
- const peg$c103 = "lightgrey";
13235
- const peg$c104 = "gray";
13236
- const peg$c105 = "darkgray";
13237
- const peg$c106 = "green";
13238
- const peg$c107 = "lime";
13239
- const peg$c108 = "magenta";
13240
- const peg$c109 = "maroon";
13241
- const peg$c110 = "navy";
13242
- const peg$c111 = "olive";
13243
- const peg$c112 = "orange";
13244
- const peg$c113 = "pink";
13245
- const peg$c114 = "purple";
13246
- const peg$c115 = "red";
13247
- const peg$c116 = "silver";
13248
- const peg$c117 = "teal";
13249
- const peg$c118 = "violet";
13250
- const peg$c119 = "white";
13251
- const peg$c120 = "yellow";
13252
- const peg$c121 = "*";
13253
- const peg$c122 = "_";
13254
- const peg$c123 = "`";
13255
- const peg$c124 = "!";
13256
- const peg$c125 = "[!";
13257
- const peg$c126 = "]";
13258
- const peg$c127 = "\n";
13259
- const peg$c128 = "\r\n";
13260
- const peg$c129 = "http";
13261
- const peg$c130 = "s";
13262
- const peg$c131 = "://";
13263
- const peg$c132 = "mailto:";
13263
+ const peg$c67 = "colorPicker:";
13264
+ const peg$c68 = "|\u25BA";
13265
+ const peg$c69 = "bold";
13266
+ const peg$c70 = "italic";
13267
+ const peg$c71 = "light";
13268
+ const peg$c72 = "highlightOrange";
13269
+ const peg$c73 = "highlightYellow";
13270
+ const peg$c74 = "highlightGreen";
13271
+ const peg$c75 = "highlightBlue";
13272
+ const peg$c76 = "highlightPurple";
13273
+ const peg$c77 = "highlightPink";
13274
+ const peg$c78 = "highlightBrown";
13275
+ const peg$c79 = "highlightBlack";
13276
+ const peg$c80 = "highlightWhite";
13277
+ const peg$c81 = "highlightGray";
13278
+ const peg$c82 = "highlight";
13279
+ const peg$c83 = "strike";
13280
+ const peg$c84 = "subscript";
13281
+ const peg$c85 = "superscript";
13282
+ const peg$c86 = "ins";
13283
+ const peg$c87 = "del";
13284
+ const peg$c88 = "underline";
13285
+ const peg$c89 = "doubleUnderline";
13286
+ const peg$c90 = "circle";
13287
+ const peg$c91 = "languageEmRed";
13288
+ const peg$c92 = "languageEmOrange";
13289
+ const peg$c93 = "languageEmYellow";
13290
+ const peg$c94 = "languageEmGreen";
13291
+ const peg$c95 = "languageEmBlue";
13292
+ const peg$c96 = "languageEmPurple";
13293
+ const peg$c97 = "languageEmPink";
13294
+ const peg$c98 = "languageEmBrown";
13295
+ const peg$c99 = "languageEmBlack";
13296
+ const peg$c100 = "languageEmWhite";
13297
+ const peg$c101 = "languageEmGray";
13298
+ const peg$c102 = "languageEm";
13299
+ const peg$c103 = "userUnderline";
13300
+ const peg$c104 = "userDoubleUnderline";
13301
+ const peg$c105 = "userStrike";
13302
+ const peg$c106 = "userCircle";
13303
+ const peg$c107 = "userHighlight";
13304
+ const peg$c108 = "notranslate";
13305
+ const peg$c109 = "aqua";
13306
+ const peg$c110 = "black";
13307
+ const peg$c111 = "blue";
13308
+ const peg$c112 = "brown";
13309
+ const peg$c113 = "fuchsia";
13310
+ const peg$c114 = "lightgrey";
13311
+ const peg$c115 = "gray";
13312
+ const peg$c116 = "darkgray";
13313
+ const peg$c117 = "green";
13314
+ const peg$c118 = "lime";
13315
+ const peg$c119 = "magenta";
13316
+ const peg$c120 = "maroon";
13317
+ const peg$c121 = "navy";
13318
+ const peg$c122 = "olive";
13319
+ const peg$c123 = "orange";
13320
+ const peg$c124 = "pink";
13321
+ const peg$c125 = "purple";
13322
+ const peg$c126 = "red";
13323
+ const peg$c127 = "silver";
13324
+ const peg$c128 = "teal";
13325
+ const peg$c129 = "violet";
13326
+ const peg$c130 = "white";
13327
+ const peg$c131 = "yellow";
13328
+ const peg$c132 = "*";
13329
+ const peg$c133 = "_";
13330
+ const peg$c134 = "`";
13331
+ const peg$c135 = "!";
13332
+ const peg$c136 = "[!";
13333
+ const peg$c137 = "]";
13334
+ const peg$c138 = "\n";
13335
+ const peg$c139 = "\r\n";
13336
+ const peg$c140 = "http";
13337
+ const peg$c141 = "s";
13338
+ const peg$c142 = "://";
13339
+ const peg$c143 = "mailto:";
13264
13340
  const peg$r0 = /^[ \t]/;
13265
13341
  const peg$r1 = /^[0-9]/;
13266
13342
  const peg$r2 = /^[\r\u2028-\u2029]/;
@@ -13337,76 +13413,87 @@ function peg$parse(input, options) {
13337
13413
  const peg$e68 = peg$literalExpectation("duration:", false);
13338
13414
  const peg$e69 = peg$literalExpectation("P", false);
13339
13415
  const peg$e70 = peg$literalExpectation("color:", false);
13340
- const peg$e71 = peg$literalExpectation("|\u25BA", false);
13341
- const peg$e72 = peg$literalExpectation("bold", false);
13342
- const peg$e73 = peg$literalExpectation("italic", false);
13343
- const peg$e74 = peg$literalExpectation("light", false);
13344
- const peg$e75 = peg$literalExpectation("highlight", false);
13345
- const peg$e76 = peg$literalExpectation("strike", false);
13346
- const peg$e77 = peg$literalExpectation("subscript", false);
13347
- const peg$e78 = peg$literalExpectation("superscript", false);
13348
- const peg$e79 = peg$literalExpectation("ins", false);
13349
- const peg$e80 = peg$literalExpectation("del", false);
13350
- const peg$e81 = peg$literalExpectation("underline", false);
13351
- const peg$e82 = peg$literalExpectation("doubleUnderline", false);
13352
- const peg$e83 = peg$literalExpectation("circle", false);
13353
- const peg$e84 = peg$literalExpectation("languageEmRed", false);
13354
- const peg$e85 = peg$literalExpectation("languageEmOrange", false);
13355
- const peg$e86 = peg$literalExpectation("languageEmYellow", false);
13356
- const peg$e87 = peg$literalExpectation("languageEmGreen", false);
13357
- const peg$e88 = peg$literalExpectation("languageEmBlue", false);
13358
- const peg$e89 = peg$literalExpectation("languageEmPurple", false);
13359
- const peg$e90 = peg$literalExpectation("languageEmPink", false);
13360
- const peg$e91 = peg$literalExpectation("languageEmBrown", false);
13361
- const peg$e92 = peg$literalExpectation("languageEmBlack", false);
13362
- const peg$e93 = peg$literalExpectation("languageEmWhite", false);
13363
- const peg$e94 = peg$literalExpectation("languageEmGray", false);
13364
- const peg$e95 = peg$literalExpectation("languageEm", false);
13365
- const peg$e96 = peg$literalExpectation("userUnderline", false);
13366
- const peg$e97 = peg$literalExpectation("userDoubleUnderline", false);
13367
- const peg$e98 = peg$literalExpectation("userStrike", false);
13368
- const peg$e99 = peg$literalExpectation("userCircle", false);
13369
- const peg$e100 = peg$literalExpectation("userHighlight", false);
13370
- const peg$e101 = peg$literalExpectation("notranslate", false);
13371
- const peg$e102 = peg$literalExpectation("aqua", false);
13372
- const peg$e103 = peg$literalExpectation("black", false);
13373
- const peg$e104 = peg$literalExpectation("blue", false);
13374
- const peg$e105 = peg$literalExpectation("brown", false);
13375
- const peg$e106 = peg$literalExpectation("fuchsia", false);
13376
- const peg$e107 = peg$literalExpectation("lightgrey", false);
13377
- const peg$e108 = peg$literalExpectation("gray", false);
13378
- const peg$e109 = peg$literalExpectation("darkgray", false);
13379
- const peg$e110 = peg$literalExpectation("green", false);
13380
- const peg$e111 = peg$literalExpectation("lime", false);
13381
- const peg$e112 = peg$literalExpectation("magenta", false);
13382
- const peg$e113 = peg$literalExpectation("maroon", false);
13383
- const peg$e114 = peg$literalExpectation("navy", false);
13384
- const peg$e115 = peg$literalExpectation("olive", false);
13385
- const peg$e116 = peg$literalExpectation("orange", false);
13386
- const peg$e117 = peg$literalExpectation("pink", false);
13387
- const peg$e118 = peg$literalExpectation("purple", false);
13388
- const peg$e119 = peg$literalExpectation("red", false);
13389
- const peg$e120 = peg$literalExpectation("silver", false);
13390
- const peg$e121 = peg$literalExpectation("teal", false);
13391
- const peg$e122 = peg$literalExpectation("violet", false);
13392
- const peg$e123 = peg$literalExpectation("white", false);
13393
- const peg$e124 = peg$literalExpectation("yellow", false);
13394
- const peg$e125 = peg$literalExpectation("*", false);
13395
- const peg$e126 = peg$literalExpectation("_", false);
13396
- const peg$e127 = peg$literalExpectation("`", false);
13397
- const peg$e128 = peg$literalExpectation("!", false);
13398
- const peg$e129 = peg$literalExpectation("[!", false);
13399
- const peg$e130 = peg$literalExpectation("]", false);
13400
- const peg$e131 = peg$otherExpectation("Line Terminator");
13401
- const peg$e132 = peg$literalExpectation("\n", false);
13402
- const peg$e133 = peg$literalExpectation("\r\n", false);
13403
- const peg$e134 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
13404
- const peg$e135 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
13405
- const peg$e136 = peg$literalExpectation("http", false);
13406
- const peg$e137 = peg$literalExpectation("s", false);
13407
- const peg$e138 = peg$literalExpectation("://", false);
13408
- const peg$e139 = peg$literalExpectation("mailto:", false);
13409
- const peg$e140 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
13416
+ const peg$e71 = peg$literalExpectation("colorPicker:", false);
13417
+ const peg$e72 = peg$literalExpectation("|\u25BA", false);
13418
+ const peg$e73 = peg$literalExpectation("bold", false);
13419
+ const peg$e74 = peg$literalExpectation("italic", false);
13420
+ const peg$e75 = peg$literalExpectation("light", false);
13421
+ const peg$e76 = peg$literalExpectation("highlightOrange", false);
13422
+ const peg$e77 = peg$literalExpectation("highlightYellow", false);
13423
+ const peg$e78 = peg$literalExpectation("highlightGreen", false);
13424
+ const peg$e79 = peg$literalExpectation("highlightBlue", false);
13425
+ const peg$e80 = peg$literalExpectation("highlightPurple", false);
13426
+ const peg$e81 = peg$literalExpectation("highlightPink", false);
13427
+ const peg$e82 = peg$literalExpectation("highlightBrown", false);
13428
+ const peg$e83 = peg$literalExpectation("highlightBlack", false);
13429
+ const peg$e84 = peg$literalExpectation("highlightWhite", false);
13430
+ const peg$e85 = peg$literalExpectation("highlightGray", false);
13431
+ const peg$e86 = peg$literalExpectation("highlight", false);
13432
+ const peg$e87 = peg$literalExpectation("strike", false);
13433
+ const peg$e88 = peg$literalExpectation("subscript", false);
13434
+ const peg$e89 = peg$literalExpectation("superscript", false);
13435
+ const peg$e90 = peg$literalExpectation("ins", false);
13436
+ const peg$e91 = peg$literalExpectation("del", false);
13437
+ const peg$e92 = peg$literalExpectation("underline", false);
13438
+ const peg$e93 = peg$literalExpectation("doubleUnderline", false);
13439
+ const peg$e94 = peg$literalExpectation("circle", false);
13440
+ const peg$e95 = peg$literalExpectation("languageEmRed", false);
13441
+ const peg$e96 = peg$literalExpectation("languageEmOrange", false);
13442
+ const peg$e97 = peg$literalExpectation("languageEmYellow", false);
13443
+ const peg$e98 = peg$literalExpectation("languageEmGreen", false);
13444
+ const peg$e99 = peg$literalExpectation("languageEmBlue", false);
13445
+ const peg$e100 = peg$literalExpectation("languageEmPurple", false);
13446
+ const peg$e101 = peg$literalExpectation("languageEmPink", false);
13447
+ const peg$e102 = peg$literalExpectation("languageEmBrown", false);
13448
+ const peg$e103 = peg$literalExpectation("languageEmBlack", false);
13449
+ const peg$e104 = peg$literalExpectation("languageEmWhite", false);
13450
+ const peg$e105 = peg$literalExpectation("languageEmGray", false);
13451
+ const peg$e106 = peg$literalExpectation("languageEm", false);
13452
+ const peg$e107 = peg$literalExpectation("userUnderline", false);
13453
+ const peg$e108 = peg$literalExpectation("userDoubleUnderline", false);
13454
+ const peg$e109 = peg$literalExpectation("userStrike", false);
13455
+ const peg$e110 = peg$literalExpectation("userCircle", false);
13456
+ const peg$e111 = peg$literalExpectation("userHighlight", false);
13457
+ const peg$e112 = peg$literalExpectation("notranslate", false);
13458
+ const peg$e113 = peg$literalExpectation("aqua", false);
13459
+ const peg$e114 = peg$literalExpectation("black", false);
13460
+ const peg$e115 = peg$literalExpectation("blue", false);
13461
+ const peg$e116 = peg$literalExpectation("brown", false);
13462
+ const peg$e117 = peg$literalExpectation("fuchsia", false);
13463
+ const peg$e118 = peg$literalExpectation("lightgrey", false);
13464
+ const peg$e119 = peg$literalExpectation("gray", false);
13465
+ const peg$e120 = peg$literalExpectation("darkgray", false);
13466
+ const peg$e121 = peg$literalExpectation("green", false);
13467
+ const peg$e122 = peg$literalExpectation("lime", false);
13468
+ const peg$e123 = peg$literalExpectation("magenta", false);
13469
+ const peg$e124 = peg$literalExpectation("maroon", false);
13470
+ const peg$e125 = peg$literalExpectation("navy", false);
13471
+ const peg$e126 = peg$literalExpectation("olive", false);
13472
+ const peg$e127 = peg$literalExpectation("orange", false);
13473
+ const peg$e128 = peg$literalExpectation("pink", false);
13474
+ const peg$e129 = peg$literalExpectation("purple", false);
13475
+ const peg$e130 = peg$literalExpectation("red", false);
13476
+ const peg$e131 = peg$literalExpectation("silver", false);
13477
+ const peg$e132 = peg$literalExpectation("teal", false);
13478
+ const peg$e133 = peg$literalExpectation("violet", false);
13479
+ const peg$e134 = peg$literalExpectation("white", false);
13480
+ const peg$e135 = peg$literalExpectation("yellow", false);
13481
+ const peg$e136 = peg$literalExpectation("*", false);
13482
+ const peg$e137 = peg$literalExpectation("_", false);
13483
+ const peg$e138 = peg$literalExpectation("`", false);
13484
+ const peg$e139 = peg$literalExpectation("!", false);
13485
+ const peg$e140 = peg$literalExpectation("[!", false);
13486
+ const peg$e141 = peg$literalExpectation("]", false);
13487
+ const peg$e142 = peg$otherExpectation("Line Terminator");
13488
+ const peg$e143 = peg$literalExpectation("\n", false);
13489
+ const peg$e144 = peg$literalExpectation("\r\n", false);
13490
+ const peg$e145 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
13491
+ const peg$e146 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
13492
+ const peg$e147 = peg$literalExpectation("http", false);
13493
+ const peg$e148 = peg$literalExpectation("s", false);
13494
+ const peg$e149 = peg$literalExpectation("://", false);
13495
+ const peg$e150 = peg$literalExpectation("mailto:", false);
13496
+ const peg$e151 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
13410
13497
  function peg$f0() {
13411
13498
  return VERSION;
13412
13499
  }
@@ -13773,44 +13860,47 @@ function peg$parse(input, options) {
13773
13860
  function peg$f86(color) {
13774
13861
  return { type: "color", attrs: { color } };
13775
13862
  }
13776
- function peg$f87(style) {
13863
+ function peg$f87(str) {
13864
+ return { type: "colorPicker", attrs: { propertyRef: str.trim() } };
13865
+ }
13866
+ function peg$f88(style) {
13777
13867
  return { type: style };
13778
13868
  }
13779
- function peg$f88(str) {
13869
+ function peg$f89(str) {
13780
13870
  return { type: "comment", comment: str };
13781
13871
  }
13782
- function peg$f89(r) {
13872
+ function peg$f90(r) {
13783
13873
  return r.trim();
13784
13874
  }
13785
- function peg$f90(bs) {
13875
+ function peg$f91(bs) {
13786
13876
  return [{ type: "paragraph", content: bs, attrs: {} }];
13787
13877
  }
13788
- function peg$f91(first, more) {
13878
+ function peg$f92(first, more) {
13789
13879
  const cleaned_ = cleanEmptyTextNodes(first ? [first, ...more.flat()] : more.flat());
13790
13880
  return cleaned_;
13791
13881
  }
13792
- function peg$f92() {
13882
+ function peg$f93() {
13793
13883
  return { "type": "hardBreak" };
13794
13884
  }
13795
- function peg$f93(t) {
13885
+ function peg$f94(t) {
13796
13886
  return { text: unbreakscape(t), type: "text" };
13797
13887
  }
13798
- function peg$f94(t) {
13888
+ function peg$f95(t) {
13799
13889
  return { index: +t, type: "bit" };
13800
13890
  }
13801
- function peg$f95(t) {
13891
+ function peg$f96(t) {
13802
13892
  return { marks: [{ type: "bold" }], text: unbreakscape(t), type: "text" };
13803
13893
  }
13804
- function peg$f96(t) {
13894
+ function peg$f97(t) {
13805
13895
  return { marks: [{ type: "italic" }], text: unbreakscape(t), type: "text" };
13806
13896
  }
13807
- function peg$f97(t) {
13897
+ function peg$f98(t) {
13808
13898
  return { marks: [{ type: "light" }], text: unbreakscape(t), type: "text" };
13809
13899
  }
13810
- function peg$f98(t) {
13900
+ function peg$f99(t) {
13811
13901
  return { marks: [{ type: "highlight" }], text: unbreakscape(t), type: "text" };
13812
13902
  }
13813
- function peg$f99(pr, t) {
13903
+ function peg$f100(pr, t) {
13814
13904
  return { pr, t };
13815
13905
  }
13816
13906
  let peg$currPos = options.peg$currPos | 0;
@@ -19874,34 +19964,44 @@ function peg$parse(input, options) {
19874
19964
  }
19875
19965
  if (s0 === peg$FAILED) {
19876
19966
  s0 = peg$currPos;
19877
- s1 = peg$parseAlternativeStyleTags();
19878
- if (s1 !== peg$FAILED) {
19879
- s2 = peg$parseBlockTag();
19880
- if (s2 !== peg$FAILED) {
19881
- peg$savedPos = s0;
19882
- s0 = peg$f87(s1);
19883
- } else {
19884
- peg$currPos = s0;
19885
- s0 = peg$FAILED;
19886
- }
19967
+ if (input.substr(peg$currPos, 12) === peg$c67) {
19968
+ s1 = peg$c67;
19969
+ peg$currPos += 12;
19887
19970
  } else {
19888
- peg$currPos = s0;
19889
- s0 = peg$FAILED;
19971
+ s1 = peg$FAILED;
19972
+ if (peg$silentFails === 0) {
19973
+ peg$fail(peg$e71);
19974
+ }
19890
19975
  }
19891
- if (s0 === peg$FAILED) {
19892
- s0 = peg$currPos;
19893
- if (input.charCodeAt(peg$currPos) === 35) {
19894
- s1 = peg$c21;
19895
- peg$currPos++;
19976
+ if (s1 !== peg$FAILED) {
19977
+ s2 = peg$currPos;
19978
+ s3 = [];
19979
+ s4 = peg$currPos;
19980
+ s5 = peg$currPos;
19981
+ peg$silentFails++;
19982
+ s6 = peg$parseBlockTag();
19983
+ peg$silentFails--;
19984
+ if (s6 === peg$FAILED) {
19985
+ s5 = void 0;
19896
19986
  } else {
19897
- s1 = peg$FAILED;
19898
- if (peg$silentFails === 0) {
19899
- peg$fail(peg$e25);
19987
+ peg$currPos = s5;
19988
+ s5 = peg$FAILED;
19989
+ }
19990
+ if (s5 !== peg$FAILED) {
19991
+ s6 = peg$parsechar();
19992
+ if (s6 !== peg$FAILED) {
19993
+ s5 = [s5, s6];
19994
+ s4 = s5;
19995
+ } else {
19996
+ peg$currPos = s4;
19997
+ s4 = peg$FAILED;
19900
19998
  }
19999
+ } else {
20000
+ peg$currPos = s4;
20001
+ s4 = peg$FAILED;
19901
20002
  }
19902
- if (s1 !== peg$FAILED) {
19903
- s2 = peg$currPos;
19904
- s3 = [];
20003
+ while (s4 !== peg$FAILED) {
20004
+ s3.push(s4);
19905
20005
  s4 = peg$currPos;
19906
20006
  s5 = peg$currPos;
19907
20007
  peg$silentFails++;
@@ -19926,8 +20026,50 @@ function peg$parse(input, options) {
19926
20026
  peg$currPos = s4;
19927
20027
  s4 = peg$FAILED;
19928
20028
  }
19929
- while (s4 !== peg$FAILED) {
19930
- s3.push(s4);
20029
+ }
20030
+ s2 = input.substring(s2, peg$currPos);
20031
+ s3 = peg$parseBlockTag();
20032
+ if (s3 !== peg$FAILED) {
20033
+ peg$savedPos = s0;
20034
+ s0 = peg$f87(s2);
20035
+ } else {
20036
+ peg$currPos = s0;
20037
+ s0 = peg$FAILED;
20038
+ }
20039
+ } else {
20040
+ peg$currPos = s0;
20041
+ s0 = peg$FAILED;
20042
+ }
20043
+ if (s0 === peg$FAILED) {
20044
+ s0 = peg$currPos;
20045
+ s1 = peg$parseAlternativeStyleTags();
20046
+ if (s1 !== peg$FAILED) {
20047
+ s2 = peg$parseBlockTag();
20048
+ if (s2 !== peg$FAILED) {
20049
+ peg$savedPos = s0;
20050
+ s0 = peg$f88(s1);
20051
+ } else {
20052
+ peg$currPos = s0;
20053
+ s0 = peg$FAILED;
20054
+ }
20055
+ } else {
20056
+ peg$currPos = s0;
20057
+ s0 = peg$FAILED;
20058
+ }
20059
+ if (s0 === peg$FAILED) {
20060
+ s0 = peg$currPos;
20061
+ if (input.charCodeAt(peg$currPos) === 35) {
20062
+ s1 = peg$c21;
20063
+ peg$currPos++;
20064
+ } else {
20065
+ s1 = peg$FAILED;
20066
+ if (peg$silentFails === 0) {
20067
+ peg$fail(peg$e25);
20068
+ }
20069
+ }
20070
+ if (s1 !== peg$FAILED) {
20071
+ s2 = peg$currPos;
20072
+ s3 = [];
19931
20073
  s4 = peg$currPos;
19932
20074
  s5 = peg$currPos;
19933
20075
  peg$silentFails++;
@@ -19952,19 +20094,46 @@ function peg$parse(input, options) {
19952
20094
  peg$currPos = s4;
19953
20095
  s4 = peg$FAILED;
19954
20096
  }
19955
- }
19956
- s2 = input.substring(s2, peg$currPos);
19957
- s3 = peg$parseBlockTag();
19958
- if (s3 !== peg$FAILED) {
19959
- peg$savedPos = s0;
19960
- s0 = peg$f88(s2);
20097
+ while (s4 !== peg$FAILED) {
20098
+ s3.push(s4);
20099
+ s4 = peg$currPos;
20100
+ s5 = peg$currPos;
20101
+ peg$silentFails++;
20102
+ s6 = peg$parseBlockTag();
20103
+ peg$silentFails--;
20104
+ if (s6 === peg$FAILED) {
20105
+ s5 = void 0;
20106
+ } else {
20107
+ peg$currPos = s5;
20108
+ s5 = peg$FAILED;
20109
+ }
20110
+ if (s5 !== peg$FAILED) {
20111
+ s6 = peg$parsechar();
20112
+ if (s6 !== peg$FAILED) {
20113
+ s5 = [s5, s6];
20114
+ s4 = s5;
20115
+ } else {
20116
+ peg$currPos = s4;
20117
+ s4 = peg$FAILED;
20118
+ }
20119
+ } else {
20120
+ peg$currPos = s4;
20121
+ s4 = peg$FAILED;
20122
+ }
20123
+ }
20124
+ s2 = input.substring(s2, peg$currPos);
20125
+ s3 = peg$parseBlockTag();
20126
+ if (s3 !== peg$FAILED) {
20127
+ peg$savedPos = s0;
20128
+ s0 = peg$f89(s2);
20129
+ } else {
20130
+ peg$currPos = s0;
20131
+ s0 = peg$FAILED;
20132
+ }
19961
20133
  } else {
19962
20134
  peg$currPos = s0;
19963
20135
  s0 = peg$FAILED;
19964
20136
  }
19965
- } else {
19966
- peg$currPos = s0;
19967
- s0 = peg$FAILED;
19968
20137
  }
19969
20138
  }
19970
20139
  }
@@ -19997,13 +20166,13 @@ function peg$parse(input, options) {
19997
20166
  function peg$parseRef() {
19998
20167
  let s0, s1, s2, s3, s4, s5, s6;
19999
20168
  s0 = peg$currPos;
20000
- if (input.substr(peg$currPos, 2) === peg$c67) {
20001
- s1 = peg$c67;
20169
+ if (input.substr(peg$currPos, 2) === peg$c68) {
20170
+ s1 = peg$c68;
20002
20171
  peg$currPos += 2;
20003
20172
  } else {
20004
20173
  s1 = peg$FAILED;
20005
20174
  if (peg$silentFails === 0) {
20006
- peg$fail(peg$e71);
20175
+ peg$fail(peg$e72);
20007
20176
  }
20008
20177
  }
20009
20178
  if (s1 !== peg$FAILED) {
@@ -20062,7 +20231,7 @@ function peg$parse(input, options) {
20062
20231
  }
20063
20232
  s2 = input.substring(s2, peg$currPos);
20064
20233
  peg$savedPos = s0;
20065
- s0 = peg$f89(s2);
20234
+ s0 = peg$f90(s2);
20066
20235
  } else {
20067
20236
  peg$currPos = s0;
20068
20237
  s0 = peg$FAILED;
@@ -20071,303 +20240,413 @@ function peg$parse(input, options) {
20071
20240
  }
20072
20241
  function peg$parseAlternativeStyleTags() {
20073
20242
  let s0;
20074
- if (input.substr(peg$currPos, 4) === peg$c68) {
20075
- s0 = peg$c68;
20243
+ if (input.substr(peg$currPos, 4) === peg$c69) {
20244
+ s0 = peg$c69;
20076
20245
  peg$currPos += 4;
20077
20246
  } else {
20078
20247
  s0 = peg$FAILED;
20079
20248
  if (peg$silentFails === 0) {
20080
- peg$fail(peg$e72);
20249
+ peg$fail(peg$e73);
20081
20250
  }
20082
20251
  }
20083
20252
  if (s0 === peg$FAILED) {
20084
- if (input.substr(peg$currPos, 6) === peg$c69) {
20085
- s0 = peg$c69;
20253
+ if (input.substr(peg$currPos, 6) === peg$c70) {
20254
+ s0 = peg$c70;
20086
20255
  peg$currPos += 6;
20087
20256
  } else {
20088
20257
  s0 = peg$FAILED;
20089
20258
  if (peg$silentFails === 0) {
20090
- peg$fail(peg$e73);
20259
+ peg$fail(peg$e74);
20091
20260
  }
20092
20261
  }
20093
20262
  if (s0 === peg$FAILED) {
20094
- if (input.substr(peg$currPos, 5) === peg$c70) {
20095
- s0 = peg$c70;
20263
+ if (input.substr(peg$currPos, 5) === peg$c71) {
20264
+ s0 = peg$c71;
20096
20265
  peg$currPos += 5;
20097
20266
  } else {
20098
20267
  s0 = peg$FAILED;
20099
20268
  if (peg$silentFails === 0) {
20100
- peg$fail(peg$e74);
20269
+ peg$fail(peg$e75);
20101
20270
  }
20102
20271
  }
20103
20272
  if (s0 === peg$FAILED) {
20104
- if (input.substr(peg$currPos, 9) === peg$c71) {
20105
- s0 = peg$c71;
20106
- peg$currPos += 9;
20273
+ if (input.substr(peg$currPos, 15) === peg$c72) {
20274
+ s0 = peg$c72;
20275
+ peg$currPos += 15;
20107
20276
  } else {
20108
20277
  s0 = peg$FAILED;
20109
20278
  if (peg$silentFails === 0) {
20110
- peg$fail(peg$e75);
20279
+ peg$fail(peg$e76);
20111
20280
  }
20112
20281
  }
20113
20282
  if (s0 === peg$FAILED) {
20114
- if (input.substr(peg$currPos, 6) === peg$c72) {
20115
- s0 = peg$c72;
20116
- peg$currPos += 6;
20283
+ if (input.substr(peg$currPos, 15) === peg$c73) {
20284
+ s0 = peg$c73;
20285
+ peg$currPos += 15;
20117
20286
  } else {
20118
20287
  s0 = peg$FAILED;
20119
20288
  if (peg$silentFails === 0) {
20120
- peg$fail(peg$e76);
20289
+ peg$fail(peg$e77);
20121
20290
  }
20122
20291
  }
20123
20292
  if (s0 === peg$FAILED) {
20124
- if (input.substr(peg$currPos, 9) === peg$c73) {
20125
- s0 = peg$c73;
20126
- peg$currPos += 9;
20293
+ if (input.substr(peg$currPos, 14) === peg$c74) {
20294
+ s0 = peg$c74;
20295
+ peg$currPos += 14;
20127
20296
  } else {
20128
20297
  s0 = peg$FAILED;
20129
20298
  if (peg$silentFails === 0) {
20130
- peg$fail(peg$e77);
20299
+ peg$fail(peg$e78);
20131
20300
  }
20132
20301
  }
20133
20302
  if (s0 === peg$FAILED) {
20134
- if (input.substr(peg$currPos, 11) === peg$c74) {
20135
- s0 = peg$c74;
20136
- peg$currPos += 11;
20303
+ if (input.substr(peg$currPos, 13) === peg$c75) {
20304
+ s0 = peg$c75;
20305
+ peg$currPos += 13;
20137
20306
  } else {
20138
20307
  s0 = peg$FAILED;
20139
20308
  if (peg$silentFails === 0) {
20140
- peg$fail(peg$e78);
20309
+ peg$fail(peg$e79);
20141
20310
  }
20142
20311
  }
20143
20312
  if (s0 === peg$FAILED) {
20144
- if (input.substr(peg$currPos, 3) === peg$c75) {
20145
- s0 = peg$c75;
20146
- peg$currPos += 3;
20313
+ if (input.substr(peg$currPos, 15) === peg$c76) {
20314
+ s0 = peg$c76;
20315
+ peg$currPos += 15;
20147
20316
  } else {
20148
20317
  s0 = peg$FAILED;
20149
20318
  if (peg$silentFails === 0) {
20150
- peg$fail(peg$e79);
20319
+ peg$fail(peg$e80);
20151
20320
  }
20152
20321
  }
20153
20322
  if (s0 === peg$FAILED) {
20154
- if (input.substr(peg$currPos, 3) === peg$c76) {
20155
- s0 = peg$c76;
20156
- peg$currPos += 3;
20323
+ if (input.substr(peg$currPos, 13) === peg$c77) {
20324
+ s0 = peg$c77;
20325
+ peg$currPos += 13;
20157
20326
  } else {
20158
20327
  s0 = peg$FAILED;
20159
20328
  if (peg$silentFails === 0) {
20160
- peg$fail(peg$e80);
20329
+ peg$fail(peg$e81);
20161
20330
  }
20162
20331
  }
20163
20332
  if (s0 === peg$FAILED) {
20164
- if (input.substr(peg$currPos, 9) === peg$c77) {
20165
- s0 = peg$c77;
20166
- peg$currPos += 9;
20333
+ if (input.substr(peg$currPos, 14) === peg$c78) {
20334
+ s0 = peg$c78;
20335
+ peg$currPos += 14;
20167
20336
  } else {
20168
20337
  s0 = peg$FAILED;
20169
20338
  if (peg$silentFails === 0) {
20170
- peg$fail(peg$e81);
20339
+ peg$fail(peg$e82);
20171
20340
  }
20172
20341
  }
20173
20342
  if (s0 === peg$FAILED) {
20174
- if (input.substr(peg$currPos, 15) === peg$c78) {
20175
- s0 = peg$c78;
20176
- peg$currPos += 15;
20343
+ if (input.substr(peg$currPos, 14) === peg$c79) {
20344
+ s0 = peg$c79;
20345
+ peg$currPos += 14;
20177
20346
  } else {
20178
20347
  s0 = peg$FAILED;
20179
20348
  if (peg$silentFails === 0) {
20180
- peg$fail(peg$e82);
20349
+ peg$fail(peg$e83);
20181
20350
  }
20182
20351
  }
20183
20352
  if (s0 === peg$FAILED) {
20184
- if (input.substr(peg$currPos, 6) === peg$c79) {
20185
- s0 = peg$c79;
20186
- peg$currPos += 6;
20353
+ if (input.substr(peg$currPos, 14) === peg$c80) {
20354
+ s0 = peg$c80;
20355
+ peg$currPos += 14;
20187
20356
  } else {
20188
20357
  s0 = peg$FAILED;
20189
20358
  if (peg$silentFails === 0) {
20190
- peg$fail(peg$e83);
20359
+ peg$fail(peg$e84);
20191
20360
  }
20192
20361
  }
20193
20362
  if (s0 === peg$FAILED) {
20194
- if (input.substr(peg$currPos, 13) === peg$c80) {
20195
- s0 = peg$c80;
20363
+ if (input.substr(peg$currPos, 13) === peg$c81) {
20364
+ s0 = peg$c81;
20196
20365
  peg$currPos += 13;
20197
20366
  } else {
20198
20367
  s0 = peg$FAILED;
20199
20368
  if (peg$silentFails === 0) {
20200
- peg$fail(peg$e84);
20369
+ peg$fail(peg$e85);
20201
20370
  }
20202
20371
  }
20203
20372
  if (s0 === peg$FAILED) {
20204
- if (input.substr(peg$currPos, 16) === peg$c81) {
20205
- s0 = peg$c81;
20206
- peg$currPos += 16;
20373
+ if (input.substr(peg$currPos, 9) === peg$c82) {
20374
+ s0 = peg$c82;
20375
+ peg$currPos += 9;
20207
20376
  } else {
20208
20377
  s0 = peg$FAILED;
20209
20378
  if (peg$silentFails === 0) {
20210
- peg$fail(peg$e85);
20379
+ peg$fail(peg$e86);
20211
20380
  }
20212
20381
  }
20213
20382
  if (s0 === peg$FAILED) {
20214
- if (input.substr(peg$currPos, 16) === peg$c82) {
20215
- s0 = peg$c82;
20216
- peg$currPos += 16;
20383
+ if (input.substr(peg$currPos, 6) === peg$c83) {
20384
+ s0 = peg$c83;
20385
+ peg$currPos += 6;
20217
20386
  } else {
20218
20387
  s0 = peg$FAILED;
20219
20388
  if (peg$silentFails === 0) {
20220
- peg$fail(peg$e86);
20389
+ peg$fail(peg$e87);
20221
20390
  }
20222
20391
  }
20223
20392
  if (s0 === peg$FAILED) {
20224
- if (input.substr(peg$currPos, 15) === peg$c83) {
20225
- s0 = peg$c83;
20226
- peg$currPos += 15;
20393
+ if (input.substr(peg$currPos, 9) === peg$c84) {
20394
+ s0 = peg$c84;
20395
+ peg$currPos += 9;
20227
20396
  } else {
20228
20397
  s0 = peg$FAILED;
20229
20398
  if (peg$silentFails === 0) {
20230
- peg$fail(peg$e87);
20399
+ peg$fail(peg$e88);
20231
20400
  }
20232
20401
  }
20233
20402
  if (s0 === peg$FAILED) {
20234
- if (input.substr(peg$currPos, 14) === peg$c84) {
20235
- s0 = peg$c84;
20236
- peg$currPos += 14;
20403
+ if (input.substr(peg$currPos, 11) === peg$c85) {
20404
+ s0 = peg$c85;
20405
+ peg$currPos += 11;
20237
20406
  } else {
20238
20407
  s0 = peg$FAILED;
20239
20408
  if (peg$silentFails === 0) {
20240
- peg$fail(peg$e88);
20409
+ peg$fail(peg$e89);
20241
20410
  }
20242
20411
  }
20243
20412
  if (s0 === peg$FAILED) {
20244
- if (input.substr(peg$currPos, 16) === peg$c85) {
20245
- s0 = peg$c85;
20246
- peg$currPos += 16;
20413
+ if (input.substr(peg$currPos, 3) === peg$c86) {
20414
+ s0 = peg$c86;
20415
+ peg$currPos += 3;
20247
20416
  } else {
20248
20417
  s0 = peg$FAILED;
20249
20418
  if (peg$silentFails === 0) {
20250
- peg$fail(peg$e89);
20419
+ peg$fail(peg$e90);
20251
20420
  }
20252
20421
  }
20253
20422
  if (s0 === peg$FAILED) {
20254
- if (input.substr(peg$currPos, 14) === peg$c86) {
20255
- s0 = peg$c86;
20256
- peg$currPos += 14;
20423
+ if (input.substr(peg$currPos, 3) === peg$c87) {
20424
+ s0 = peg$c87;
20425
+ peg$currPos += 3;
20257
20426
  } else {
20258
20427
  s0 = peg$FAILED;
20259
20428
  if (peg$silentFails === 0) {
20260
- peg$fail(peg$e90);
20429
+ peg$fail(peg$e91);
20261
20430
  }
20262
20431
  }
20263
20432
  if (s0 === peg$FAILED) {
20264
- if (input.substr(peg$currPos, 15) === peg$c87) {
20265
- s0 = peg$c87;
20266
- peg$currPos += 15;
20433
+ if (input.substr(peg$currPos, 9) === peg$c88) {
20434
+ s0 = peg$c88;
20435
+ peg$currPos += 9;
20267
20436
  } else {
20268
20437
  s0 = peg$FAILED;
20269
20438
  if (peg$silentFails === 0) {
20270
- peg$fail(peg$e91);
20439
+ peg$fail(peg$e92);
20271
20440
  }
20272
20441
  }
20273
20442
  if (s0 === peg$FAILED) {
20274
- if (input.substr(peg$currPos, 15) === peg$c88) {
20275
- s0 = peg$c88;
20443
+ if (input.substr(peg$currPos, 15) === peg$c89) {
20444
+ s0 = peg$c89;
20276
20445
  peg$currPos += 15;
20277
20446
  } else {
20278
20447
  s0 = peg$FAILED;
20279
20448
  if (peg$silentFails === 0) {
20280
- peg$fail(peg$e92);
20449
+ peg$fail(peg$e93);
20281
20450
  }
20282
20451
  }
20283
20452
  if (s0 === peg$FAILED) {
20284
- if (input.substr(peg$currPos, 15) === peg$c89) {
20285
- s0 = peg$c89;
20286
- peg$currPos += 15;
20453
+ if (input.substr(peg$currPos, 6) === peg$c90) {
20454
+ s0 = peg$c90;
20455
+ peg$currPos += 6;
20287
20456
  } else {
20288
20457
  s0 = peg$FAILED;
20289
20458
  if (peg$silentFails === 0) {
20290
- peg$fail(peg$e93);
20459
+ peg$fail(peg$e94);
20291
20460
  }
20292
20461
  }
20293
20462
  if (s0 === peg$FAILED) {
20294
- if (input.substr(peg$currPos, 14) === peg$c90) {
20295
- s0 = peg$c90;
20296
- peg$currPos += 14;
20463
+ if (input.substr(peg$currPos, 13) === peg$c91) {
20464
+ s0 = peg$c91;
20465
+ peg$currPos += 13;
20297
20466
  } else {
20298
20467
  s0 = peg$FAILED;
20299
20468
  if (peg$silentFails === 0) {
20300
- peg$fail(peg$e94);
20469
+ peg$fail(peg$e95);
20301
20470
  }
20302
20471
  }
20303
20472
  if (s0 === peg$FAILED) {
20304
- if (input.substr(peg$currPos, 10) === peg$c91) {
20305
- s0 = peg$c91;
20306
- peg$currPos += 10;
20473
+ if (input.substr(peg$currPos, 16) === peg$c92) {
20474
+ s0 = peg$c92;
20475
+ peg$currPos += 16;
20307
20476
  } else {
20308
20477
  s0 = peg$FAILED;
20309
20478
  if (peg$silentFails === 0) {
20310
- peg$fail(peg$e95);
20479
+ peg$fail(peg$e96);
20311
20480
  }
20312
20481
  }
20313
20482
  if (s0 === peg$FAILED) {
20314
- if (input.substr(peg$currPos, 13) === peg$c92) {
20315
- s0 = peg$c92;
20316
- peg$currPos += 13;
20483
+ if (input.substr(peg$currPos, 16) === peg$c93) {
20484
+ s0 = peg$c93;
20485
+ peg$currPos += 16;
20317
20486
  } else {
20318
20487
  s0 = peg$FAILED;
20319
20488
  if (peg$silentFails === 0) {
20320
- peg$fail(peg$e96);
20489
+ peg$fail(peg$e97);
20321
20490
  }
20322
20491
  }
20323
20492
  if (s0 === peg$FAILED) {
20324
- if (input.substr(peg$currPos, 19) === peg$c93) {
20325
- s0 = peg$c93;
20326
- peg$currPos += 19;
20493
+ if (input.substr(peg$currPos, 15) === peg$c94) {
20494
+ s0 = peg$c94;
20495
+ peg$currPos += 15;
20327
20496
  } else {
20328
20497
  s0 = peg$FAILED;
20329
20498
  if (peg$silentFails === 0) {
20330
- peg$fail(peg$e97);
20499
+ peg$fail(peg$e98);
20331
20500
  }
20332
20501
  }
20333
20502
  if (s0 === peg$FAILED) {
20334
- if (input.substr(peg$currPos, 10) === peg$c94) {
20335
- s0 = peg$c94;
20336
- peg$currPos += 10;
20503
+ if (input.substr(peg$currPos, 14) === peg$c95) {
20504
+ s0 = peg$c95;
20505
+ peg$currPos += 14;
20337
20506
  } else {
20338
20507
  s0 = peg$FAILED;
20339
20508
  if (peg$silentFails === 0) {
20340
- peg$fail(peg$e98);
20509
+ peg$fail(peg$e99);
20341
20510
  }
20342
20511
  }
20343
20512
  if (s0 === peg$FAILED) {
20344
- if (input.substr(peg$currPos, 10) === peg$c95) {
20345
- s0 = peg$c95;
20346
- peg$currPos += 10;
20513
+ if (input.substr(peg$currPos, 16) === peg$c96) {
20514
+ s0 = peg$c96;
20515
+ peg$currPos += 16;
20347
20516
  } else {
20348
20517
  s0 = peg$FAILED;
20349
20518
  if (peg$silentFails === 0) {
20350
- peg$fail(peg$e99);
20519
+ peg$fail(peg$e100);
20351
20520
  }
20352
20521
  }
20353
20522
  if (s0 === peg$FAILED) {
20354
- if (input.substr(peg$currPos, 13) === peg$c96) {
20355
- s0 = peg$c96;
20356
- peg$currPos += 13;
20523
+ if (input.substr(peg$currPos, 14) === peg$c97) {
20524
+ s0 = peg$c97;
20525
+ peg$currPos += 14;
20357
20526
  } else {
20358
20527
  s0 = peg$FAILED;
20359
20528
  if (peg$silentFails === 0) {
20360
- peg$fail(peg$e100);
20529
+ peg$fail(peg$e101);
20361
20530
  }
20362
20531
  }
20363
20532
  if (s0 === peg$FAILED) {
20364
- if (input.substr(peg$currPos, 11) === peg$c97) {
20365
- s0 = peg$c97;
20366
- peg$currPos += 11;
20533
+ if (input.substr(peg$currPos, 15) === peg$c98) {
20534
+ s0 = peg$c98;
20535
+ peg$currPos += 15;
20367
20536
  } else {
20368
20537
  s0 = peg$FAILED;
20369
20538
  if (peg$silentFails === 0) {
20370
- peg$fail(peg$e101);
20539
+ peg$fail(peg$e102);
20540
+ }
20541
+ }
20542
+ if (s0 === peg$FAILED) {
20543
+ if (input.substr(peg$currPos, 15) === peg$c99) {
20544
+ s0 = peg$c99;
20545
+ peg$currPos += 15;
20546
+ } else {
20547
+ s0 = peg$FAILED;
20548
+ if (peg$silentFails === 0) {
20549
+ peg$fail(peg$e103);
20550
+ }
20551
+ }
20552
+ if (s0 === peg$FAILED) {
20553
+ if (input.substr(peg$currPos, 15) === peg$c100) {
20554
+ s0 = peg$c100;
20555
+ peg$currPos += 15;
20556
+ } else {
20557
+ s0 = peg$FAILED;
20558
+ if (peg$silentFails === 0) {
20559
+ peg$fail(peg$e104);
20560
+ }
20561
+ }
20562
+ if (s0 === peg$FAILED) {
20563
+ if (input.substr(peg$currPos, 14) === peg$c101) {
20564
+ s0 = peg$c101;
20565
+ peg$currPos += 14;
20566
+ } else {
20567
+ s0 = peg$FAILED;
20568
+ if (peg$silentFails === 0) {
20569
+ peg$fail(peg$e105);
20570
+ }
20571
+ }
20572
+ if (s0 === peg$FAILED) {
20573
+ if (input.substr(peg$currPos, 10) === peg$c102) {
20574
+ s0 = peg$c102;
20575
+ peg$currPos += 10;
20576
+ } else {
20577
+ s0 = peg$FAILED;
20578
+ if (peg$silentFails === 0) {
20579
+ peg$fail(peg$e106);
20580
+ }
20581
+ }
20582
+ if (s0 === peg$FAILED) {
20583
+ if (input.substr(peg$currPos, 13) === peg$c103) {
20584
+ s0 = peg$c103;
20585
+ peg$currPos += 13;
20586
+ } else {
20587
+ s0 = peg$FAILED;
20588
+ if (peg$silentFails === 0) {
20589
+ peg$fail(peg$e107);
20590
+ }
20591
+ }
20592
+ if (s0 === peg$FAILED) {
20593
+ if (input.substr(peg$currPos, 19) === peg$c104) {
20594
+ s0 = peg$c104;
20595
+ peg$currPos += 19;
20596
+ } else {
20597
+ s0 = peg$FAILED;
20598
+ if (peg$silentFails === 0) {
20599
+ peg$fail(peg$e108);
20600
+ }
20601
+ }
20602
+ if (s0 === peg$FAILED) {
20603
+ if (input.substr(peg$currPos, 10) === peg$c105) {
20604
+ s0 = peg$c105;
20605
+ peg$currPos += 10;
20606
+ } else {
20607
+ s0 = peg$FAILED;
20608
+ if (peg$silentFails === 0) {
20609
+ peg$fail(peg$e109);
20610
+ }
20611
+ }
20612
+ if (s0 === peg$FAILED) {
20613
+ if (input.substr(peg$currPos, 10) === peg$c106) {
20614
+ s0 = peg$c106;
20615
+ peg$currPos += 10;
20616
+ } else {
20617
+ s0 = peg$FAILED;
20618
+ if (peg$silentFails === 0) {
20619
+ peg$fail(peg$e110);
20620
+ }
20621
+ }
20622
+ if (s0 === peg$FAILED) {
20623
+ if (input.substr(peg$currPos, 13) === peg$c107) {
20624
+ s0 = peg$c107;
20625
+ peg$currPos += 13;
20626
+ } else {
20627
+ s0 = peg$FAILED;
20628
+ if (peg$silentFails === 0) {
20629
+ peg$fail(peg$e111);
20630
+ }
20631
+ }
20632
+ if (s0 === peg$FAILED) {
20633
+ if (input.substr(peg$currPos, 11) === peg$c108) {
20634
+ s0 = peg$c108;
20635
+ peg$currPos += 11;
20636
+ } else {
20637
+ s0 = peg$FAILED;
20638
+ if (peg$silentFails === 0) {
20639
+ peg$fail(peg$e112);
20640
+ }
20641
+ }
20642
+ }
20643
+ }
20644
+ }
20645
+ }
20646
+ }
20647
+ }
20648
+ }
20649
+ }
20371
20650
  }
20372
20651
  }
20373
20652
  }
@@ -20403,233 +20682,233 @@ function peg$parse(input, options) {
20403
20682
  }
20404
20683
  function peg$parseColor() {
20405
20684
  let s0;
20406
- if (input.substr(peg$currPos, 4) === peg$c98) {
20407
- s0 = peg$c98;
20685
+ if (input.substr(peg$currPos, 4) === peg$c109) {
20686
+ s0 = peg$c109;
20408
20687
  peg$currPos += 4;
20409
20688
  } else {
20410
20689
  s0 = peg$FAILED;
20411
20690
  if (peg$silentFails === 0) {
20412
- peg$fail(peg$e102);
20691
+ peg$fail(peg$e113);
20413
20692
  }
20414
20693
  }
20415
20694
  if (s0 === peg$FAILED) {
20416
- if (input.substr(peg$currPos, 5) === peg$c99) {
20417
- s0 = peg$c99;
20695
+ if (input.substr(peg$currPos, 5) === peg$c110) {
20696
+ s0 = peg$c110;
20418
20697
  peg$currPos += 5;
20419
20698
  } else {
20420
20699
  s0 = peg$FAILED;
20421
20700
  if (peg$silentFails === 0) {
20422
- peg$fail(peg$e103);
20701
+ peg$fail(peg$e114);
20423
20702
  }
20424
20703
  }
20425
20704
  if (s0 === peg$FAILED) {
20426
- if (input.substr(peg$currPos, 4) === peg$c100) {
20427
- s0 = peg$c100;
20705
+ if (input.substr(peg$currPos, 4) === peg$c111) {
20706
+ s0 = peg$c111;
20428
20707
  peg$currPos += 4;
20429
20708
  } else {
20430
20709
  s0 = peg$FAILED;
20431
20710
  if (peg$silentFails === 0) {
20432
- peg$fail(peg$e104);
20711
+ peg$fail(peg$e115);
20433
20712
  }
20434
20713
  }
20435
20714
  if (s0 === peg$FAILED) {
20436
- if (input.substr(peg$currPos, 5) === peg$c101) {
20437
- s0 = peg$c101;
20715
+ if (input.substr(peg$currPos, 5) === peg$c112) {
20716
+ s0 = peg$c112;
20438
20717
  peg$currPos += 5;
20439
20718
  } else {
20440
20719
  s0 = peg$FAILED;
20441
20720
  if (peg$silentFails === 0) {
20442
- peg$fail(peg$e105);
20721
+ peg$fail(peg$e116);
20443
20722
  }
20444
20723
  }
20445
20724
  if (s0 === peg$FAILED) {
20446
- if (input.substr(peg$currPos, 7) === peg$c102) {
20447
- s0 = peg$c102;
20725
+ if (input.substr(peg$currPos, 7) === peg$c113) {
20726
+ s0 = peg$c113;
20448
20727
  peg$currPos += 7;
20449
20728
  } else {
20450
20729
  s0 = peg$FAILED;
20451
20730
  if (peg$silentFails === 0) {
20452
- peg$fail(peg$e106);
20731
+ peg$fail(peg$e117);
20453
20732
  }
20454
20733
  }
20455
20734
  if (s0 === peg$FAILED) {
20456
- if (input.substr(peg$currPos, 9) === peg$c103) {
20457
- s0 = peg$c103;
20735
+ if (input.substr(peg$currPos, 9) === peg$c114) {
20736
+ s0 = peg$c114;
20458
20737
  peg$currPos += 9;
20459
20738
  } else {
20460
20739
  s0 = peg$FAILED;
20461
20740
  if (peg$silentFails === 0) {
20462
- peg$fail(peg$e107);
20741
+ peg$fail(peg$e118);
20463
20742
  }
20464
20743
  }
20465
20744
  if (s0 === peg$FAILED) {
20466
- if (input.substr(peg$currPos, 4) === peg$c104) {
20467
- s0 = peg$c104;
20745
+ if (input.substr(peg$currPos, 4) === peg$c115) {
20746
+ s0 = peg$c115;
20468
20747
  peg$currPos += 4;
20469
20748
  } else {
20470
20749
  s0 = peg$FAILED;
20471
20750
  if (peg$silentFails === 0) {
20472
- peg$fail(peg$e108);
20751
+ peg$fail(peg$e119);
20473
20752
  }
20474
20753
  }
20475
20754
  if (s0 === peg$FAILED) {
20476
- if (input.substr(peg$currPos, 8) === peg$c105) {
20477
- s0 = peg$c105;
20755
+ if (input.substr(peg$currPos, 8) === peg$c116) {
20756
+ s0 = peg$c116;
20478
20757
  peg$currPos += 8;
20479
20758
  } else {
20480
20759
  s0 = peg$FAILED;
20481
20760
  if (peg$silentFails === 0) {
20482
- peg$fail(peg$e109);
20761
+ peg$fail(peg$e120);
20483
20762
  }
20484
20763
  }
20485
20764
  if (s0 === peg$FAILED) {
20486
- if (input.substr(peg$currPos, 5) === peg$c106) {
20487
- s0 = peg$c106;
20765
+ if (input.substr(peg$currPos, 5) === peg$c117) {
20766
+ s0 = peg$c117;
20488
20767
  peg$currPos += 5;
20489
20768
  } else {
20490
20769
  s0 = peg$FAILED;
20491
20770
  if (peg$silentFails === 0) {
20492
- peg$fail(peg$e110);
20771
+ peg$fail(peg$e121);
20493
20772
  }
20494
20773
  }
20495
20774
  if (s0 === peg$FAILED) {
20496
- if (input.substr(peg$currPos, 4) === peg$c107) {
20497
- s0 = peg$c107;
20775
+ if (input.substr(peg$currPos, 4) === peg$c118) {
20776
+ s0 = peg$c118;
20498
20777
  peg$currPos += 4;
20499
20778
  } else {
20500
20779
  s0 = peg$FAILED;
20501
20780
  if (peg$silentFails === 0) {
20502
- peg$fail(peg$e111);
20781
+ peg$fail(peg$e122);
20503
20782
  }
20504
20783
  }
20505
20784
  if (s0 === peg$FAILED) {
20506
- if (input.substr(peg$currPos, 7) === peg$c108) {
20507
- s0 = peg$c108;
20785
+ if (input.substr(peg$currPos, 7) === peg$c119) {
20786
+ s0 = peg$c119;
20508
20787
  peg$currPos += 7;
20509
20788
  } else {
20510
20789
  s0 = peg$FAILED;
20511
20790
  if (peg$silentFails === 0) {
20512
- peg$fail(peg$e112);
20791
+ peg$fail(peg$e123);
20513
20792
  }
20514
20793
  }
20515
20794
  if (s0 === peg$FAILED) {
20516
- if (input.substr(peg$currPos, 6) === peg$c109) {
20517
- s0 = peg$c109;
20795
+ if (input.substr(peg$currPos, 6) === peg$c120) {
20796
+ s0 = peg$c120;
20518
20797
  peg$currPos += 6;
20519
20798
  } else {
20520
20799
  s0 = peg$FAILED;
20521
20800
  if (peg$silentFails === 0) {
20522
- peg$fail(peg$e113);
20801
+ peg$fail(peg$e124);
20523
20802
  }
20524
20803
  }
20525
20804
  if (s0 === peg$FAILED) {
20526
- if (input.substr(peg$currPos, 4) === peg$c110) {
20527
- s0 = peg$c110;
20805
+ if (input.substr(peg$currPos, 4) === peg$c121) {
20806
+ s0 = peg$c121;
20528
20807
  peg$currPos += 4;
20529
20808
  } else {
20530
20809
  s0 = peg$FAILED;
20531
20810
  if (peg$silentFails === 0) {
20532
- peg$fail(peg$e114);
20811
+ peg$fail(peg$e125);
20533
20812
  }
20534
20813
  }
20535
20814
  if (s0 === peg$FAILED) {
20536
- if (input.substr(peg$currPos, 5) === peg$c111) {
20537
- s0 = peg$c111;
20815
+ if (input.substr(peg$currPos, 5) === peg$c122) {
20816
+ s0 = peg$c122;
20538
20817
  peg$currPos += 5;
20539
20818
  } else {
20540
20819
  s0 = peg$FAILED;
20541
20820
  if (peg$silentFails === 0) {
20542
- peg$fail(peg$e115);
20821
+ peg$fail(peg$e126);
20543
20822
  }
20544
20823
  }
20545
20824
  if (s0 === peg$FAILED) {
20546
- if (input.substr(peg$currPos, 6) === peg$c112) {
20547
- s0 = peg$c112;
20825
+ if (input.substr(peg$currPos, 6) === peg$c123) {
20826
+ s0 = peg$c123;
20548
20827
  peg$currPos += 6;
20549
20828
  } else {
20550
20829
  s0 = peg$FAILED;
20551
20830
  if (peg$silentFails === 0) {
20552
- peg$fail(peg$e116);
20831
+ peg$fail(peg$e127);
20553
20832
  }
20554
20833
  }
20555
20834
  if (s0 === peg$FAILED) {
20556
- if (input.substr(peg$currPos, 4) === peg$c113) {
20557
- s0 = peg$c113;
20835
+ if (input.substr(peg$currPos, 4) === peg$c124) {
20836
+ s0 = peg$c124;
20558
20837
  peg$currPos += 4;
20559
20838
  } else {
20560
20839
  s0 = peg$FAILED;
20561
20840
  if (peg$silentFails === 0) {
20562
- peg$fail(peg$e117);
20841
+ peg$fail(peg$e128);
20563
20842
  }
20564
20843
  }
20565
20844
  if (s0 === peg$FAILED) {
20566
- if (input.substr(peg$currPos, 6) === peg$c114) {
20567
- s0 = peg$c114;
20845
+ if (input.substr(peg$currPos, 6) === peg$c125) {
20846
+ s0 = peg$c125;
20568
20847
  peg$currPos += 6;
20569
20848
  } else {
20570
20849
  s0 = peg$FAILED;
20571
20850
  if (peg$silentFails === 0) {
20572
- peg$fail(peg$e118);
20851
+ peg$fail(peg$e129);
20573
20852
  }
20574
20853
  }
20575
20854
  if (s0 === peg$FAILED) {
20576
- if (input.substr(peg$currPos, 3) === peg$c115) {
20577
- s0 = peg$c115;
20855
+ if (input.substr(peg$currPos, 3) === peg$c126) {
20856
+ s0 = peg$c126;
20578
20857
  peg$currPos += 3;
20579
20858
  } else {
20580
20859
  s0 = peg$FAILED;
20581
20860
  if (peg$silentFails === 0) {
20582
- peg$fail(peg$e119);
20861
+ peg$fail(peg$e130);
20583
20862
  }
20584
20863
  }
20585
20864
  if (s0 === peg$FAILED) {
20586
- if (input.substr(peg$currPos, 6) === peg$c116) {
20587
- s0 = peg$c116;
20865
+ if (input.substr(peg$currPos, 6) === peg$c127) {
20866
+ s0 = peg$c127;
20588
20867
  peg$currPos += 6;
20589
20868
  } else {
20590
20869
  s0 = peg$FAILED;
20591
20870
  if (peg$silentFails === 0) {
20592
- peg$fail(peg$e120);
20871
+ peg$fail(peg$e131);
20593
20872
  }
20594
20873
  }
20595
20874
  if (s0 === peg$FAILED) {
20596
- if (input.substr(peg$currPos, 4) === peg$c117) {
20597
- s0 = peg$c117;
20875
+ if (input.substr(peg$currPos, 4) === peg$c128) {
20876
+ s0 = peg$c128;
20598
20877
  peg$currPos += 4;
20599
20878
  } else {
20600
20879
  s0 = peg$FAILED;
20601
20880
  if (peg$silentFails === 0) {
20602
- peg$fail(peg$e121);
20881
+ peg$fail(peg$e132);
20603
20882
  }
20604
20883
  }
20605
20884
  if (s0 === peg$FAILED) {
20606
- if (input.substr(peg$currPos, 6) === peg$c118) {
20607
- s0 = peg$c118;
20885
+ if (input.substr(peg$currPos, 6) === peg$c129) {
20886
+ s0 = peg$c129;
20608
20887
  peg$currPos += 6;
20609
20888
  } else {
20610
20889
  s0 = peg$FAILED;
20611
20890
  if (peg$silentFails === 0) {
20612
- peg$fail(peg$e122);
20891
+ peg$fail(peg$e133);
20613
20892
  }
20614
20893
  }
20615
20894
  if (s0 === peg$FAILED) {
20616
- if (input.substr(peg$currPos, 5) === peg$c119) {
20617
- s0 = peg$c119;
20895
+ if (input.substr(peg$currPos, 5) === peg$c130) {
20896
+ s0 = peg$c130;
20618
20897
  peg$currPos += 5;
20619
20898
  } else {
20620
20899
  s0 = peg$FAILED;
20621
20900
  if (peg$silentFails === 0) {
20622
- peg$fail(peg$e123);
20901
+ peg$fail(peg$e134);
20623
20902
  }
20624
20903
  }
20625
20904
  if (s0 === peg$FAILED) {
20626
- if (input.substr(peg$currPos, 6) === peg$c120) {
20627
- s0 = peg$c120;
20905
+ if (input.substr(peg$currPos, 6) === peg$c131) {
20906
+ s0 = peg$c131;
20628
20907
  peg$currPos += 6;
20629
20908
  } else {
20630
20909
  s0 = peg$FAILED;
20631
20910
  if (peg$silentFails === 0) {
20632
- peg$fail(peg$e124);
20911
+ peg$fail(peg$e135);
20633
20912
  }
20634
20913
  }
20635
20914
  }
@@ -20662,7 +20941,7 @@ function peg$parse(input, options) {
20662
20941
  s0 = peg$currPos;
20663
20942
  s1 = peg$parsebitmarkMinusMinusString();
20664
20943
  peg$savedPos = s0;
20665
- s1 = peg$f90(s1);
20944
+ s1 = peg$f91(s1);
20666
20945
  s0 = s1;
20667
20946
  peg$silentFails--;
20668
20947
  return s0;
@@ -20688,7 +20967,7 @@ function peg$parse(input, options) {
20688
20967
  }
20689
20968
  }
20690
20969
  peg$savedPos = s0;
20691
- s0 = peg$f91(s1, s2);
20970
+ s0 = peg$f92(s1, s2);
20692
20971
  peg$silentFails--;
20693
20972
  return s0;
20694
20973
  }
@@ -20698,7 +20977,7 @@ function peg$parse(input, options) {
20698
20977
  s1 = peg$parseNL();
20699
20978
  if (s1 !== peg$FAILED) {
20700
20979
  peg$savedPos = s0;
20701
- s1 = peg$f92();
20980
+ s1 = peg$f93();
20702
20981
  }
20703
20982
  s0 = s1;
20704
20983
  if (s0 === peg$FAILED) {
@@ -20827,7 +21106,7 @@ function peg$parse(input, options) {
20827
21106
  }
20828
21107
  if (s1 !== peg$FAILED) {
20829
21108
  peg$savedPos = s0;
20830
- s1 = peg$f93(s1);
21109
+ s1 = peg$f94(s1);
20831
21110
  }
20832
21111
  s0 = s1;
20833
21112
  }
@@ -20836,12 +21115,12 @@ function peg$parse(input, options) {
20836
21115
  function peg$parseBoldHalfTag() {
20837
21116
  let s0;
20838
21117
  if (input.charCodeAt(peg$currPos) === 42) {
20839
- s0 = peg$c121;
21118
+ s0 = peg$c132;
20840
21119
  peg$currPos++;
20841
21120
  } else {
20842
21121
  s0 = peg$FAILED;
20843
21122
  if (peg$silentFails === 0) {
20844
- peg$fail(peg$e125);
21123
+ peg$fail(peg$e136);
20845
21124
  }
20846
21125
  }
20847
21126
  return s0;
@@ -20849,12 +21128,12 @@ function peg$parse(input, options) {
20849
21128
  function peg$parseItalicHalfTag() {
20850
21129
  let s0;
20851
21130
  if (input.charCodeAt(peg$currPos) === 95) {
20852
- s0 = peg$c122;
21131
+ s0 = peg$c133;
20853
21132
  peg$currPos++;
20854
21133
  } else {
20855
21134
  s0 = peg$FAILED;
20856
21135
  if (peg$silentFails === 0) {
20857
- peg$fail(peg$e126);
21136
+ peg$fail(peg$e137);
20858
21137
  }
20859
21138
  }
20860
21139
  return s0;
@@ -20862,12 +21141,12 @@ function peg$parse(input, options) {
20862
21141
  function peg$parseLightHalfTag() {
20863
21142
  let s0;
20864
21143
  if (input.charCodeAt(peg$currPos) === 96) {
20865
- s0 = peg$c123;
21144
+ s0 = peg$c134;
20866
21145
  peg$currPos++;
20867
21146
  } else {
20868
21147
  s0 = peg$FAILED;
20869
21148
  if (peg$silentFails === 0) {
20870
- peg$fail(peg$e127);
21149
+ peg$fail(peg$e138);
20871
21150
  }
20872
21151
  }
20873
21152
  return s0;
@@ -20875,12 +21154,12 @@ function peg$parse(input, options) {
20875
21154
  function peg$parseHighlightHalfTag() {
20876
21155
  let s0;
20877
21156
  if (input.charCodeAt(peg$currPos) === 33) {
20878
- s0 = peg$c124;
21157
+ s0 = peg$c135;
20879
21158
  peg$currPos++;
20880
21159
  } else {
20881
21160
  s0 = peg$FAILED;
20882
21161
  if (peg$silentFails === 0) {
20883
- peg$fail(peg$e128);
21162
+ peg$fail(peg$e139);
20884
21163
  }
20885
21164
  }
20886
21165
  return s0;
@@ -20963,13 +21242,13 @@ function peg$parse(input, options) {
20963
21242
  }
20964
21243
  function peg$parseBodyBitOpenTag() {
20965
21244
  let s0;
20966
- if (input.substr(peg$currPos, 2) === peg$c125) {
20967
- s0 = peg$c125;
21245
+ if (input.substr(peg$currPos, 2) === peg$c136) {
21246
+ s0 = peg$c136;
20968
21247
  peg$currPos += 2;
20969
21248
  } else {
20970
21249
  s0 = peg$FAILED;
20971
21250
  if (peg$silentFails === 0) {
20972
- peg$fail(peg$e129);
21251
+ peg$fail(peg$e140);
20973
21252
  }
20974
21253
  }
20975
21254
  return s0;
@@ -20977,12 +21256,12 @@ function peg$parse(input, options) {
20977
21256
  function peg$parseBodyBitCloseTag() {
20978
21257
  let s0;
20979
21258
  if (input.charCodeAt(peg$currPos) === 93) {
20980
- s0 = peg$c126;
21259
+ s0 = peg$c137;
20981
21260
  peg$currPos++;
20982
21261
  } else {
20983
21262
  s0 = peg$FAILED;
20984
21263
  if (peg$silentFails === 0) {
20985
- peg$fail(peg$e130);
21264
+ peg$fail(peg$e141);
20986
21265
  }
20987
21266
  }
20988
21267
  return s0;
@@ -21028,7 +21307,7 @@ function peg$parse(input, options) {
21028
21307
  s3 = peg$parseBodyBitCloseTag();
21029
21308
  if (s3 !== peg$FAILED) {
21030
21309
  peg$savedPos = s0;
21031
- s0 = peg$f94(s2);
21310
+ s0 = peg$f95(s2);
21032
21311
  } else {
21033
21312
  peg$currPos = s0;
21034
21313
  s0 = peg$FAILED;
@@ -21118,7 +21397,7 @@ function peg$parse(input, options) {
21118
21397
  s3 = peg$parseBoldTag();
21119
21398
  if (s3 !== peg$FAILED) {
21120
21399
  peg$savedPos = s0;
21121
- s0 = peg$f95(s2);
21400
+ s0 = peg$f96(s2);
21122
21401
  } else {
21123
21402
  peg$currPos = s0;
21124
21403
  s0 = peg$FAILED;
@@ -21204,7 +21483,7 @@ function peg$parse(input, options) {
21204
21483
  s3 = peg$parseItalicTag();
21205
21484
  if (s3 !== peg$FAILED) {
21206
21485
  peg$savedPos = s0;
21207
- s0 = peg$f96(s2);
21486
+ s0 = peg$f97(s2);
21208
21487
  } else {
21209
21488
  peg$currPos = s0;
21210
21489
  s0 = peg$FAILED;
@@ -21290,7 +21569,7 @@ function peg$parse(input, options) {
21290
21569
  s3 = peg$parseLightTag();
21291
21570
  if (s3 !== peg$FAILED) {
21292
21571
  peg$savedPos = s0;
21293
- s0 = peg$f97(s2);
21572
+ s0 = peg$f98(s2);
21294
21573
  } else {
21295
21574
  peg$currPos = s0;
21296
21575
  s0 = peg$FAILED;
@@ -21376,7 +21655,7 @@ function peg$parse(input, options) {
21376
21655
  s3 = peg$parseHighlightTag();
21377
21656
  if (s3 !== peg$FAILED) {
21378
21657
  peg$savedPos = s0;
21379
- s0 = peg$f98(s2);
21658
+ s0 = peg$f99(s2);
21380
21659
  } else {
21381
21660
  peg$currPos = s0;
21382
21661
  s0 = peg$FAILED;
@@ -21461,22 +21740,22 @@ function peg$parse(input, options) {
21461
21740
  let s0, s1;
21462
21741
  peg$silentFails++;
21463
21742
  if (input.charCodeAt(peg$currPos) === 10) {
21464
- s0 = peg$c127;
21743
+ s0 = peg$c138;
21465
21744
  peg$currPos++;
21466
21745
  } else {
21467
21746
  s0 = peg$FAILED;
21468
21747
  if (peg$silentFails === 0) {
21469
- peg$fail(peg$e132);
21748
+ peg$fail(peg$e143);
21470
21749
  }
21471
21750
  }
21472
21751
  if (s0 === peg$FAILED) {
21473
- if (input.substr(peg$currPos, 2) === peg$c128) {
21474
- s0 = peg$c128;
21752
+ if (input.substr(peg$currPos, 2) === peg$c139) {
21753
+ s0 = peg$c139;
21475
21754
  peg$currPos += 2;
21476
21755
  } else {
21477
21756
  s0 = peg$FAILED;
21478
21757
  if (peg$silentFails === 0) {
21479
- peg$fail(peg$e133);
21758
+ peg$fail(peg$e144);
21480
21759
  }
21481
21760
  }
21482
21761
  if (s0 === peg$FAILED) {
@@ -21486,7 +21765,7 @@ function peg$parse(input, options) {
21486
21765
  } else {
21487
21766
  s0 = peg$FAILED;
21488
21767
  if (peg$silentFails === 0) {
21489
- peg$fail(peg$e134);
21768
+ peg$fail(peg$e145);
21490
21769
  }
21491
21770
  }
21492
21771
  }
@@ -21495,7 +21774,7 @@ function peg$parse(input, options) {
21495
21774
  if (s0 === peg$FAILED) {
21496
21775
  s1 = peg$FAILED;
21497
21776
  if (peg$silentFails === 0) {
21498
- peg$fail(peg$e131);
21777
+ peg$fail(peg$e142);
21499
21778
  }
21500
21779
  }
21501
21780
  return s0;
@@ -21508,7 +21787,7 @@ function peg$parse(input, options) {
21508
21787
  } else {
21509
21788
  s0 = peg$FAILED;
21510
21789
  if (peg$silentFails === 0) {
21511
- peg$fail(peg$e135);
21790
+ peg$fail(peg$e146);
21512
21791
  }
21513
21792
  }
21514
21793
  return s0;
@@ -21542,35 +21821,35 @@ function peg$parse(input, options) {
21542
21821
  let s0, s1, s2, s3, s4, s5, s6, s7, s8;
21543
21822
  s0 = peg$currPos;
21544
21823
  s1 = peg$currPos;
21545
- if (input.substr(peg$currPos, 4) === peg$c129) {
21546
- s2 = peg$c129;
21824
+ if (input.substr(peg$currPos, 4) === peg$c140) {
21825
+ s2 = peg$c140;
21547
21826
  peg$currPos += 4;
21548
21827
  } else {
21549
21828
  s2 = peg$FAILED;
21550
21829
  if (peg$silentFails === 0) {
21551
- peg$fail(peg$e136);
21830
+ peg$fail(peg$e147);
21552
21831
  }
21553
21832
  }
21554
21833
  if (s2 !== peg$FAILED) {
21555
21834
  if (input.charCodeAt(peg$currPos) === 115) {
21556
- s3 = peg$c130;
21835
+ s3 = peg$c141;
21557
21836
  peg$currPos++;
21558
21837
  } else {
21559
21838
  s3 = peg$FAILED;
21560
21839
  if (peg$silentFails === 0) {
21561
- peg$fail(peg$e137);
21840
+ peg$fail(peg$e148);
21562
21841
  }
21563
21842
  }
21564
21843
  if (s3 === peg$FAILED) {
21565
21844
  s3 = null;
21566
21845
  }
21567
- if (input.substr(peg$currPos, 3) === peg$c131) {
21568
- s4 = peg$c131;
21846
+ if (input.substr(peg$currPos, 3) === peg$c142) {
21847
+ s4 = peg$c142;
21569
21848
  peg$currPos += 3;
21570
21849
  } else {
21571
21850
  s4 = peg$FAILED;
21572
21851
  if (peg$silentFails === 0) {
21573
- peg$fail(peg$e138);
21852
+ peg$fail(peg$e149);
21574
21853
  }
21575
21854
  }
21576
21855
  if (s4 !== peg$FAILED) {
@@ -21648,35 +21927,35 @@ function peg$parse(input, options) {
21648
21927
  s0 = peg$currPos;
21649
21928
  s1 = peg$currPos;
21650
21929
  s2 = peg$currPos;
21651
- if (input.substr(peg$currPos, 4) === peg$c129) {
21652
- s3 = peg$c129;
21930
+ if (input.substr(peg$currPos, 4) === peg$c140) {
21931
+ s3 = peg$c140;
21653
21932
  peg$currPos += 4;
21654
21933
  } else {
21655
21934
  s3 = peg$FAILED;
21656
21935
  if (peg$silentFails === 0) {
21657
- peg$fail(peg$e136);
21936
+ peg$fail(peg$e147);
21658
21937
  }
21659
21938
  }
21660
21939
  if (s3 !== peg$FAILED) {
21661
21940
  if (input.charCodeAt(peg$currPos) === 115) {
21662
- s4 = peg$c130;
21941
+ s4 = peg$c141;
21663
21942
  peg$currPos++;
21664
21943
  } else {
21665
21944
  s4 = peg$FAILED;
21666
21945
  if (peg$silentFails === 0) {
21667
- peg$fail(peg$e137);
21946
+ peg$fail(peg$e148);
21668
21947
  }
21669
21948
  }
21670
21949
  if (s4 === peg$FAILED) {
21671
21950
  s4 = null;
21672
21951
  }
21673
- if (input.substr(peg$currPos, 3) === peg$c131) {
21674
- s5 = peg$c131;
21952
+ if (input.substr(peg$currPos, 3) === peg$c142) {
21953
+ s5 = peg$c142;
21675
21954
  peg$currPos += 3;
21676
21955
  } else {
21677
21956
  s5 = peg$FAILED;
21678
21957
  if (peg$silentFails === 0) {
21679
- peg$fail(peg$e138);
21958
+ peg$fail(peg$e149);
21680
21959
  }
21681
21960
  }
21682
21961
  if (s5 !== peg$FAILED) {
@@ -21691,13 +21970,13 @@ function peg$parse(input, options) {
21691
21970
  s2 = peg$FAILED;
21692
21971
  }
21693
21972
  if (s2 === peg$FAILED) {
21694
- if (input.substr(peg$currPos, 7) === peg$c132) {
21695
- s2 = peg$c132;
21973
+ if (input.substr(peg$currPos, 7) === peg$c143) {
21974
+ s2 = peg$c143;
21696
21975
  peg$currPos += 7;
21697
21976
  } else {
21698
21977
  s2 = peg$FAILED;
21699
21978
  if (peg$silentFails === 0) {
21700
- peg$fail(peg$e139);
21979
+ peg$fail(peg$e150);
21701
21980
  }
21702
21981
  }
21703
21982
  }
@@ -21762,7 +22041,7 @@ function peg$parse(input, options) {
21762
22041
  }
21763
22042
  s2 = input.substring(s2, peg$currPos);
21764
22043
  peg$savedPos = s0;
21765
- s0 = peg$f99(s1, s2);
22044
+ s0 = peg$f100(s1, s2);
21766
22045
  } else {
21767
22046
  peg$currPos = s0;
21768
22047
  s0 = peg$FAILED;
@@ -21777,7 +22056,7 @@ function peg$parse(input, options) {
21777
22056
  } else {
21778
22057
  s0 = peg$FAILED;
21779
22058
  if (peg$silentFails === 0) {
21780
- peg$fail(peg$e140);
22059
+ peg$fail(peg$e151);
21781
22060
  }
21782
22061
  }
21783
22062
  return s0;
@@ -23775,6 +24054,12 @@ var Builder = class extends BaseBuilder {
23775
24054
  data.machineTranslated,
23776
24055
  options
23777
24056
  ),
24057
+ translationOf: this.toAstProperty(
24058
+ bitType,
24059
+ ConfigKey.property_translationOf,
24060
+ data.translationOf,
24061
+ options
24062
+ ),
23778
24063
  spansPageBreak: this.toAstProperty(
23779
24064
  bitType,
23780
24065
  ConfigKey.property_spansPageBreak,
@@ -24491,6 +24776,12 @@ var Builder = class extends BaseBuilder {
24491
24776
  data.hasPrintRestriction,
24492
24777
  options
24493
24778
  ),
24779
+ enforceUpdateOverUserInput: this.toAstProperty(
24780
+ bitType,
24781
+ ConfigKey.property_enforceUpdateOverUserInput,
24782
+ data.enforceUpdateOverUserInput,
24783
+ options
24784
+ ),
24494
24785
  tocResource: this.toAstProperty(
24495
24786
  bitType,
24496
24787
  ConfigKey.property_tocResource,
@@ -30191,6 +30482,7 @@ var JsonGenerator = class extends AstWalkerGenerator {
30191
30482
  if (instance2.isOfBitType(bitType, BitType.book)) {
30192
30483
  if (bitJson.maxTocChapterLevel == null) bitJson.maxTocChapterLevel = -1;
30193
30484
  if (bitJson.hasPrintRestriction == null) bitJson.hasPrintRestriction = true;
30485
+ if (bitJson.enforceUpdateOverUserInput == null) bitJson.enforceUpdateOverUserInput = false;
30194
30486
  if (bitJson.hasMarkAsDone == null) bitJson.hasMarkAsDone = false;
30195
30487
  if (bitJson.processHandIn == null) bitJson.processHandIn = false;
30196
30488
  if (bitJson.isPublic == null) bitJson.isPublic = false;