@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.
package/dist/index.cjs CHANGED
@@ -655,6 +655,7 @@ var BitType = {
655
655
  trueFalse: "true-false",
656
656
  trueFalse1: "true-false-1",
657
657
  vendorAmcharts5Chart: "vendor-amcharts-5-chart",
658
+ vendorDatadogDashboard: "vendor-datadog-dashboard",
658
659
  vendorDatadogDashboardEmbed: "vendor-datadog-dashboard-embed",
659
660
  vendorFormbricksEmbed: "vendor-formbricks-embed",
660
661
  vendorFormbricksLink: "vendor-formbricks-link",
@@ -1294,6 +1295,7 @@ var propertyKeys = {
1294
1295
  property_internalComment: "@internalComment",
1295
1296
  property_internalPrintPdf: "@internalPrintPdf",
1296
1297
  property_hasPrintRestriction: "@hasPrintRestriction",
1298
+ property_enforceUpdateOverUserInput: "@enforceUpdateOverUserInput",
1297
1299
  property_isCaseSensitive: "@isCaseSensitive",
1298
1300
  property_isInfoOnly: "@isInfoOnly",
1299
1301
  property_isPublic: "@isPublic",
@@ -1320,6 +1322,7 @@ var propertyKeys = {
1320
1322
  property_listItemIndent: "@listItemIndent",
1321
1323
  property_location: "@location",
1322
1324
  property_machineTranslated: "@machineTranslated",
1325
+ property_translationOf: "@translationOf",
1323
1326
  property_spansPageBreak: "@spansPageBreak",
1324
1327
  property_mailingList: "@mailingList",
1325
1328
  property_mark: "@mark",
@@ -2807,6 +2810,11 @@ var GROUPS = {
2807
2810
  description: "If true, the bit is machine-translated",
2808
2811
  format: TagFormat.plainText
2809
2812
  },
2813
+ {
2814
+ key: ConfigKey.property_translationOf,
2815
+ description: "Translation source reference",
2816
+ format: TagFormat.plainText
2817
+ },
2810
2818
  {
2811
2819
  key: ConfigKey.property_spansPageBreak,
2812
2820
  description: "If true, the bit spans a page break",
@@ -3457,6 +3465,12 @@ var GROUPS = {
3457
3465
  description: "If true, the book has print restrictions",
3458
3466
  format: TagFormat.boolean,
3459
3467
  defaultValue: "true"
3468
+ },
3469
+ {
3470
+ key: ConfigKey.property_enforceUpdateOverUserInput,
3471
+ description: "If true, prioritize new content over legacy content from the instance API",
3472
+ format: TagFormat.boolean,
3473
+ defaultValue: "false"
3460
3474
  }
3461
3475
  ]
3462
3476
  },
@@ -9645,6 +9659,11 @@ var BITS = {
9645
9659
  description: "AmCharts 5 chart bit, used to embed AmCharts 5 charts in articles or books",
9646
9660
  textFormatDefault: TextFormat.json
9647
9661
  },
9662
+ [BitType.vendorDatadogDashboard]: {
9663
+ since: "5.2.0",
9664
+ baseBitType: BitType.nonProductionPrototypeIframe,
9665
+ description: "A Datadog dashboard bit, used to embed Datadog dashboards"
9666
+ },
9648
9667
  [BitType.vendorDatadogDashboardEmbed]: {
9649
9668
  since: "3.12.0",
9650
9669
  baseBitType: BitType.code,
@@ -10274,7 +10293,7 @@ var instance2 = new Config();
10274
10293
  // src/generated/package_info.ts
10275
10294
  var PACKAGE_INFO = {
10276
10295
  "name": "@gmb/bitmark-parser-generator",
10277
- "version": "5.0.1",
10296
+ "version": "5.2.0",
10278
10297
  "author": "Get More Brain Ltd",
10279
10298
  "license": "ISC",
10280
10299
  "description": "A bitmark parser and generator using Peggy.js"
@@ -10571,6 +10590,7 @@ var TextMarkType = {
10571
10590
  timer: "timer",
10572
10591
  duration: "duration",
10573
10592
  color: "color",
10593
+ colorPicker: "colorPicker",
10574
10594
  comment: "comment"
10575
10595
  };
10576
10596
 
@@ -10894,6 +10914,8 @@ var NodeType = {
10894
10914
  internalPrintPdfValue: "internalPrintPdfValue",
10895
10915
  hasPrintRestriction: "hasPrintRestriction",
10896
10916
  hasPrintRestrictionValue: "hasPrintRestrictionValue",
10917
+ enforceUpdateOverUserInput: "enforceUpdateOverUserInput",
10918
+ enforceUpdateOverUserInputValue: "enforceUpdateOverUserInputValue",
10897
10919
  isCaseSensitive: "isCaseSensitive",
10898
10920
  isCommented: "isCommented",
10899
10921
  isCorrect: "isCorrect",
@@ -10960,6 +10982,8 @@ var NodeType = {
10960
10982
  locationValue: "locationValue",
10961
10983
  machineTranslated: "machineTranslated",
10962
10984
  machineTranslatedValue: "machineTranslatedValue",
10985
+ translationOf: "translationOf",
10986
+ translationOfValue: "translationOfValue",
10963
10987
  spansPageBreak: "spansPageBreak",
10964
10988
  spansPageBreakValue: "spansPageBreakValue",
10965
10989
  mailingList: "mailingList",
@@ -12068,6 +12092,7 @@ var INLINE_MARK_TYPES = [
12068
12092
  TextMarkType.timer,
12069
12093
  TextMarkType.duration,
12070
12094
  TextMarkType.color,
12095
+ TextMarkType.colorPicker,
12071
12096
  TextMarkType.comment
12072
12097
  ];
12073
12098
  var INDENTATION_REGEX = new RegExp(/(\n|\r\n)/, "g");
@@ -12078,7 +12103,7 @@ var Stage = {
12078
12103
  between: "between",
12079
12104
  exit: "exit"
12080
12105
  };
12081
- var TextGenerator = class extends AstWalkerGenerator {
12106
+ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
12082
12107
  /**
12083
12108
  * Generate text from a bitmark text AST
12084
12109
  *
@@ -12090,6 +12115,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12090
12115
  __publicField(this, "ast", new Ast());
12091
12116
  __publicField(this, "bitmarkVersion");
12092
12117
  __publicField(this, "options");
12118
+ __publicField(this, "internalTextGenerator", null);
12093
12119
  // State
12094
12120
  __publicField(this, "generateOptions", {});
12095
12121
  __publicField(this, "textFormat", TextFormat.bitmarkText);
@@ -12105,6 +12131,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12105
12131
  __publicField(this, "exitedCodeBlock", false);
12106
12132
  __publicField(this, "inBulletList", false);
12107
12133
  __publicField(this, "inInline", false);
12134
+ __publicField(this, "markDepth", 0);
12108
12135
  __publicField(this, "textDepth", 0);
12109
12136
  __publicField(this, "placeholderIndex", 0);
12110
12137
  __publicField(this, "placeholders", {});
@@ -12129,6 +12156,13 @@ var TextGenerator = class extends AstWalkerGenerator {
12129
12156
  this.between = this.between.bind(this);
12130
12157
  this.exit = this.exit.bind(this);
12131
12158
  this.leaf = this.leaf.bind(this);
12159
+ if (!this.options.isInternal) {
12160
+ this.internalTextGenerator = new _TextGenerator(bitmarkVersion, {
12161
+ ...this.options,
12162
+ writeCallback: void 0,
12163
+ isInternal: true
12164
+ });
12165
+ }
12132
12166
  }
12133
12167
  /**
12134
12168
  * Generate text from a bitmark text AST
@@ -12185,6 +12219,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12185
12219
  this.exitedCodeBlock = false;
12186
12220
  this.inBulletList = false;
12187
12221
  this.inInline = false;
12222
+ this.markDepth = 0;
12188
12223
  this.textDepth = 0;
12189
12224
  this.placeholderIndex = 0;
12190
12225
  this.placeholders = {};
@@ -12232,8 +12267,16 @@ var TextGenerator = class extends AstWalkerGenerator {
12232
12267
  exit_contentValueValue(node, route) {
12233
12268
  return this.handleExitNode(node.value, route);
12234
12269
  }
12270
+ // * -> marks
12271
+ enter_marks(_node, _route) {
12272
+ this.markDepth++;
12273
+ }
12274
+ exit_marks(_node, _route) {
12275
+ this.markDepth--;
12276
+ }
12235
12277
  // END NODE HANDLERS
12236
12278
  handleEnterNode(node, route) {
12279
+ if (this.markDepth > 0) return;
12237
12280
  this.handleEnterNodePreTextCheck(node, route);
12238
12281
  this.handleIndent(node);
12239
12282
  switch (node.type) {
@@ -12244,7 +12287,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12244
12287
  case TextNodeType.hardBreak:
12245
12288
  this.writeHardBreak(node);
12246
12289
  break;
12247
- case TextNodeType.text:
12290
+ case TextNodeType.text: {
12248
12291
  this.writeMarks(node, Stage.enter);
12249
12292
  this.writeText(node);
12250
12293
  this.writeMarks(node, Stage.between);
@@ -12253,6 +12296,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12253
12296
  }
12254
12297
  this.textDepth++;
12255
12298
  break;
12299
+ }
12256
12300
  case TextNodeType.heading:
12257
12301
  this.writeHeading(node);
12258
12302
  this.inHeading = true;
@@ -12303,6 +12347,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12303
12347
  }
12304
12348
  }
12305
12349
  handleExitNode(node, _route) {
12350
+ if (this.markDepth > 0) return;
12306
12351
  switch (node.type) {
12307
12352
  case TextNodeType.text:
12308
12353
  this.textDepth--;
@@ -12609,7 +12654,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12609
12654
  */
12610
12655
  writeMarks(node, stage) {
12611
12656
  if (node.marks) {
12612
- const forceSingleMark = !!(this.inInline || this.inHeading);
12657
+ const forceSingleMark = this.generateOptions.forceInline || !!(this.inInline || this.inHeading);
12613
12658
  this.thisNodeIsPreText = false;
12614
12659
  const emptyMarks = node.marks.length === 0;
12615
12660
  if (emptyMarks) {
@@ -12799,7 +12844,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12799
12844
  let s = `${mark.type}`;
12800
12845
  if (mark.attrs) {
12801
12846
  for (const [k, v] of Object.entries(mark.attrs)) {
12802
- if (k === "language" && v !== "plain text" || k === "color" || k === "name" || k === "duration") {
12847
+ if (k === "language" && v !== "plain text" || k === "color" || k === "propertyRef" || k === "name" || k === "duration") {
12803
12848
  s = `${s}:${v}`;
12804
12849
  }
12805
12850
  }
@@ -12840,13 +12885,33 @@ var TextGenerator = class extends AstWalkerGenerator {
12840
12885
  s += `|provider:${provider}`;
12841
12886
  this.write(s);
12842
12887
  }
12843
- writeFootnoteMark(_mark) {
12888
+ writeFootnoteMark(mark) {
12844
12889
  const s = `footnote:`;
12845
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);
12846
12901
  }
12847
- writeFootnoteStarMark(_mark) {
12902
+ writeFootnoteStarMark(mark) {
12848
12903
  const s = `footnote*:`;
12849
12904
  this.write(s);
12905
+ const text = this.internalTextGenerator?.generateSync(
12906
+ mark.attrs?.content,
12907
+ this.textFormat,
12908
+ this.textLocation,
12909
+ {
12910
+ ...this.generateOptions,
12911
+ forceInline: true
12912
+ }
12913
+ ) ?? "";
12914
+ this.write(text);
12850
12915
  }
12851
12916
  writeSymbolMark(mark) {
12852
12917
  if (mark.attrs == null) return;
@@ -12990,7 +13055,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12990
13055
  };
12991
13056
 
12992
13057
  // src/generated/parser/text/text-peggy-parser.js
12993
- var VERSION = "8.35.0";
13058
+ var VERSION = "8.37.3";
12994
13059
  function unbreakscape(str) {
12995
13060
  if (typeof str !== "string") return null;
12996
13061
  return instance3.unbreakscape(str);
@@ -13209,72 +13274,83 @@ function peg$parse(input, options) {
13209
13274
  const peg$c64 = "duration:";
13210
13275
  const peg$c65 = "P";
13211
13276
  const peg$c66 = "color:";
13212
- const peg$c67 = "|\u25BA";
13213
- const peg$c68 = "bold";
13214
- const peg$c69 = "italic";
13215
- const peg$c70 = "light";
13216
- const peg$c71 = "highlight";
13217
- const peg$c72 = "strike";
13218
- const peg$c73 = "subscript";
13219
- const peg$c74 = "superscript";
13220
- const peg$c75 = "ins";
13221
- const peg$c76 = "del";
13222
- const peg$c77 = "underline";
13223
- const peg$c78 = "doubleUnderline";
13224
- const peg$c79 = "circle";
13225
- const peg$c80 = "languageEmRed";
13226
- const peg$c81 = "languageEmOrange";
13227
- const peg$c82 = "languageEmYellow";
13228
- const peg$c83 = "languageEmGreen";
13229
- const peg$c84 = "languageEmBlue";
13230
- const peg$c85 = "languageEmPurple";
13231
- const peg$c86 = "languageEmPink";
13232
- const peg$c87 = "languageEmBrown";
13233
- const peg$c88 = "languageEmBlack";
13234
- const peg$c89 = "languageEmWhite";
13235
- const peg$c90 = "languageEmGray";
13236
- const peg$c91 = "languageEm";
13237
- const peg$c92 = "userUnderline";
13238
- const peg$c93 = "userDoubleUnderline";
13239
- const peg$c94 = "userStrike";
13240
- const peg$c95 = "userCircle";
13241
- const peg$c96 = "userHighlight";
13242
- const peg$c97 = "notranslate";
13243
- const peg$c98 = "aqua";
13244
- const peg$c99 = "black";
13245
- const peg$c100 = "blue";
13246
- const peg$c101 = "brown";
13247
- const peg$c102 = "fuchsia";
13248
- const peg$c103 = "lightgrey";
13249
- const peg$c104 = "gray";
13250
- const peg$c105 = "darkgray";
13251
- const peg$c106 = "green";
13252
- const peg$c107 = "lime";
13253
- const peg$c108 = "magenta";
13254
- const peg$c109 = "maroon";
13255
- const peg$c110 = "navy";
13256
- const peg$c111 = "olive";
13257
- const peg$c112 = "orange";
13258
- const peg$c113 = "pink";
13259
- const peg$c114 = "purple";
13260
- const peg$c115 = "red";
13261
- const peg$c116 = "silver";
13262
- const peg$c117 = "teal";
13263
- const peg$c118 = "violet";
13264
- const peg$c119 = "white";
13265
- const peg$c120 = "yellow";
13266
- const peg$c121 = "*";
13267
- const peg$c122 = "_";
13268
- const peg$c123 = "`";
13269
- const peg$c124 = "!";
13270
- const peg$c125 = "[!";
13271
- const peg$c126 = "]";
13272
- const peg$c127 = "\n";
13273
- const peg$c128 = "\r\n";
13274
- const peg$c129 = "http";
13275
- const peg$c130 = "s";
13276
- const peg$c131 = "://";
13277
- const peg$c132 = "mailto:";
13277
+ const peg$c67 = "colorPicker:";
13278
+ const peg$c68 = "|\u25BA";
13279
+ const peg$c69 = "bold";
13280
+ const peg$c70 = "italic";
13281
+ const peg$c71 = "light";
13282
+ const peg$c72 = "highlightOrange";
13283
+ const peg$c73 = "highlightYellow";
13284
+ const peg$c74 = "highlightGreen";
13285
+ const peg$c75 = "highlightBlue";
13286
+ const peg$c76 = "highlightPurple";
13287
+ const peg$c77 = "highlightPink";
13288
+ const peg$c78 = "highlightBrown";
13289
+ const peg$c79 = "highlightBlack";
13290
+ const peg$c80 = "highlightWhite";
13291
+ const peg$c81 = "highlightGray";
13292
+ const peg$c82 = "highlight";
13293
+ const peg$c83 = "strike";
13294
+ const peg$c84 = "subscript";
13295
+ const peg$c85 = "superscript";
13296
+ const peg$c86 = "ins";
13297
+ const peg$c87 = "del";
13298
+ const peg$c88 = "underline";
13299
+ const peg$c89 = "doubleUnderline";
13300
+ const peg$c90 = "circle";
13301
+ const peg$c91 = "languageEmRed";
13302
+ const peg$c92 = "languageEmOrange";
13303
+ const peg$c93 = "languageEmYellow";
13304
+ const peg$c94 = "languageEmGreen";
13305
+ const peg$c95 = "languageEmBlue";
13306
+ const peg$c96 = "languageEmPurple";
13307
+ const peg$c97 = "languageEmPink";
13308
+ const peg$c98 = "languageEmBrown";
13309
+ const peg$c99 = "languageEmBlack";
13310
+ const peg$c100 = "languageEmWhite";
13311
+ const peg$c101 = "languageEmGray";
13312
+ const peg$c102 = "languageEm";
13313
+ const peg$c103 = "userUnderline";
13314
+ const peg$c104 = "userDoubleUnderline";
13315
+ const peg$c105 = "userStrike";
13316
+ const peg$c106 = "userCircle";
13317
+ const peg$c107 = "userHighlight";
13318
+ const peg$c108 = "notranslate";
13319
+ const peg$c109 = "aqua";
13320
+ const peg$c110 = "black";
13321
+ const peg$c111 = "blue";
13322
+ const peg$c112 = "brown";
13323
+ const peg$c113 = "fuchsia";
13324
+ const peg$c114 = "lightgrey";
13325
+ const peg$c115 = "gray";
13326
+ const peg$c116 = "darkgray";
13327
+ const peg$c117 = "green";
13328
+ const peg$c118 = "lime";
13329
+ const peg$c119 = "magenta";
13330
+ const peg$c120 = "maroon";
13331
+ const peg$c121 = "navy";
13332
+ const peg$c122 = "olive";
13333
+ const peg$c123 = "orange";
13334
+ const peg$c124 = "pink";
13335
+ const peg$c125 = "purple";
13336
+ const peg$c126 = "red";
13337
+ const peg$c127 = "silver";
13338
+ const peg$c128 = "teal";
13339
+ const peg$c129 = "violet";
13340
+ const peg$c130 = "white";
13341
+ const peg$c131 = "yellow";
13342
+ const peg$c132 = "*";
13343
+ const peg$c133 = "_";
13344
+ const peg$c134 = "`";
13345
+ const peg$c135 = "!";
13346
+ const peg$c136 = "[!";
13347
+ const peg$c137 = "]";
13348
+ const peg$c138 = "\n";
13349
+ const peg$c139 = "\r\n";
13350
+ const peg$c140 = "http";
13351
+ const peg$c141 = "s";
13352
+ const peg$c142 = "://";
13353
+ const peg$c143 = "mailto:";
13278
13354
  const peg$r0 = /^[ \t]/;
13279
13355
  const peg$r1 = /^[0-9]/;
13280
13356
  const peg$r2 = /^[\r\u2028-\u2029]/;
@@ -13351,76 +13427,87 @@ function peg$parse(input, options) {
13351
13427
  const peg$e68 = peg$literalExpectation("duration:", false);
13352
13428
  const peg$e69 = peg$literalExpectation("P", false);
13353
13429
  const peg$e70 = peg$literalExpectation("color:", false);
13354
- const peg$e71 = peg$literalExpectation("|\u25BA", false);
13355
- const peg$e72 = peg$literalExpectation("bold", false);
13356
- const peg$e73 = peg$literalExpectation("italic", false);
13357
- const peg$e74 = peg$literalExpectation("light", false);
13358
- const peg$e75 = peg$literalExpectation("highlight", false);
13359
- const peg$e76 = peg$literalExpectation("strike", false);
13360
- const peg$e77 = peg$literalExpectation("subscript", false);
13361
- const peg$e78 = peg$literalExpectation("superscript", false);
13362
- const peg$e79 = peg$literalExpectation("ins", false);
13363
- const peg$e80 = peg$literalExpectation("del", false);
13364
- const peg$e81 = peg$literalExpectation("underline", false);
13365
- const peg$e82 = peg$literalExpectation("doubleUnderline", false);
13366
- const peg$e83 = peg$literalExpectation("circle", false);
13367
- const peg$e84 = peg$literalExpectation("languageEmRed", false);
13368
- const peg$e85 = peg$literalExpectation("languageEmOrange", false);
13369
- const peg$e86 = peg$literalExpectation("languageEmYellow", false);
13370
- const peg$e87 = peg$literalExpectation("languageEmGreen", false);
13371
- const peg$e88 = peg$literalExpectation("languageEmBlue", false);
13372
- const peg$e89 = peg$literalExpectation("languageEmPurple", false);
13373
- const peg$e90 = peg$literalExpectation("languageEmPink", false);
13374
- const peg$e91 = peg$literalExpectation("languageEmBrown", false);
13375
- const peg$e92 = peg$literalExpectation("languageEmBlack", false);
13376
- const peg$e93 = peg$literalExpectation("languageEmWhite", false);
13377
- const peg$e94 = peg$literalExpectation("languageEmGray", false);
13378
- const peg$e95 = peg$literalExpectation("languageEm", false);
13379
- const peg$e96 = peg$literalExpectation("userUnderline", false);
13380
- const peg$e97 = peg$literalExpectation("userDoubleUnderline", false);
13381
- const peg$e98 = peg$literalExpectation("userStrike", false);
13382
- const peg$e99 = peg$literalExpectation("userCircle", false);
13383
- const peg$e100 = peg$literalExpectation("userHighlight", false);
13384
- const peg$e101 = peg$literalExpectation("notranslate", false);
13385
- const peg$e102 = peg$literalExpectation("aqua", false);
13386
- const peg$e103 = peg$literalExpectation("black", false);
13387
- const peg$e104 = peg$literalExpectation("blue", false);
13388
- const peg$e105 = peg$literalExpectation("brown", false);
13389
- const peg$e106 = peg$literalExpectation("fuchsia", false);
13390
- const peg$e107 = peg$literalExpectation("lightgrey", false);
13391
- const peg$e108 = peg$literalExpectation("gray", false);
13392
- const peg$e109 = peg$literalExpectation("darkgray", false);
13393
- const peg$e110 = peg$literalExpectation("green", false);
13394
- const peg$e111 = peg$literalExpectation("lime", false);
13395
- const peg$e112 = peg$literalExpectation("magenta", false);
13396
- const peg$e113 = peg$literalExpectation("maroon", false);
13397
- const peg$e114 = peg$literalExpectation("navy", false);
13398
- const peg$e115 = peg$literalExpectation("olive", false);
13399
- const peg$e116 = peg$literalExpectation("orange", false);
13400
- const peg$e117 = peg$literalExpectation("pink", false);
13401
- const peg$e118 = peg$literalExpectation("purple", false);
13402
- const peg$e119 = peg$literalExpectation("red", false);
13403
- const peg$e120 = peg$literalExpectation("silver", false);
13404
- const peg$e121 = peg$literalExpectation("teal", false);
13405
- const peg$e122 = peg$literalExpectation("violet", false);
13406
- const peg$e123 = peg$literalExpectation("white", false);
13407
- const peg$e124 = peg$literalExpectation("yellow", false);
13408
- const peg$e125 = peg$literalExpectation("*", false);
13409
- const peg$e126 = peg$literalExpectation("_", false);
13410
- const peg$e127 = peg$literalExpectation("`", false);
13411
- const peg$e128 = peg$literalExpectation("!", false);
13412
- const peg$e129 = peg$literalExpectation("[!", false);
13413
- const peg$e130 = peg$literalExpectation("]", false);
13414
- const peg$e131 = peg$otherExpectation("Line Terminator");
13415
- const peg$e132 = peg$literalExpectation("\n", false);
13416
- const peg$e133 = peg$literalExpectation("\r\n", false);
13417
- const peg$e134 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
13418
- const peg$e135 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
13419
- const peg$e136 = peg$literalExpectation("http", false);
13420
- const peg$e137 = peg$literalExpectation("s", false);
13421
- const peg$e138 = peg$literalExpectation("://", false);
13422
- const peg$e139 = peg$literalExpectation("mailto:", false);
13423
- const peg$e140 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
13430
+ const peg$e71 = peg$literalExpectation("colorPicker:", false);
13431
+ const peg$e72 = peg$literalExpectation("|\u25BA", false);
13432
+ const peg$e73 = peg$literalExpectation("bold", false);
13433
+ const peg$e74 = peg$literalExpectation("italic", false);
13434
+ const peg$e75 = peg$literalExpectation("light", false);
13435
+ const peg$e76 = peg$literalExpectation("highlightOrange", false);
13436
+ const peg$e77 = peg$literalExpectation("highlightYellow", false);
13437
+ const peg$e78 = peg$literalExpectation("highlightGreen", false);
13438
+ const peg$e79 = peg$literalExpectation("highlightBlue", false);
13439
+ const peg$e80 = peg$literalExpectation("highlightPurple", false);
13440
+ const peg$e81 = peg$literalExpectation("highlightPink", false);
13441
+ const peg$e82 = peg$literalExpectation("highlightBrown", false);
13442
+ const peg$e83 = peg$literalExpectation("highlightBlack", false);
13443
+ const peg$e84 = peg$literalExpectation("highlightWhite", false);
13444
+ const peg$e85 = peg$literalExpectation("highlightGray", false);
13445
+ const peg$e86 = peg$literalExpectation("highlight", false);
13446
+ const peg$e87 = peg$literalExpectation("strike", false);
13447
+ const peg$e88 = peg$literalExpectation("subscript", false);
13448
+ const peg$e89 = peg$literalExpectation("superscript", false);
13449
+ const peg$e90 = peg$literalExpectation("ins", false);
13450
+ const peg$e91 = peg$literalExpectation("del", false);
13451
+ const peg$e92 = peg$literalExpectation("underline", false);
13452
+ const peg$e93 = peg$literalExpectation("doubleUnderline", false);
13453
+ const peg$e94 = peg$literalExpectation("circle", false);
13454
+ const peg$e95 = peg$literalExpectation("languageEmRed", false);
13455
+ const peg$e96 = peg$literalExpectation("languageEmOrange", false);
13456
+ const peg$e97 = peg$literalExpectation("languageEmYellow", false);
13457
+ const peg$e98 = peg$literalExpectation("languageEmGreen", false);
13458
+ const peg$e99 = peg$literalExpectation("languageEmBlue", false);
13459
+ const peg$e100 = peg$literalExpectation("languageEmPurple", false);
13460
+ const peg$e101 = peg$literalExpectation("languageEmPink", false);
13461
+ const peg$e102 = peg$literalExpectation("languageEmBrown", false);
13462
+ const peg$e103 = peg$literalExpectation("languageEmBlack", false);
13463
+ const peg$e104 = peg$literalExpectation("languageEmWhite", false);
13464
+ const peg$e105 = peg$literalExpectation("languageEmGray", false);
13465
+ const peg$e106 = peg$literalExpectation("languageEm", false);
13466
+ const peg$e107 = peg$literalExpectation("userUnderline", false);
13467
+ const peg$e108 = peg$literalExpectation("userDoubleUnderline", false);
13468
+ const peg$e109 = peg$literalExpectation("userStrike", false);
13469
+ const peg$e110 = peg$literalExpectation("userCircle", false);
13470
+ const peg$e111 = peg$literalExpectation("userHighlight", false);
13471
+ const peg$e112 = peg$literalExpectation("notranslate", false);
13472
+ const peg$e113 = peg$literalExpectation("aqua", false);
13473
+ const peg$e114 = peg$literalExpectation("black", false);
13474
+ const peg$e115 = peg$literalExpectation("blue", false);
13475
+ const peg$e116 = peg$literalExpectation("brown", false);
13476
+ const peg$e117 = peg$literalExpectation("fuchsia", false);
13477
+ const peg$e118 = peg$literalExpectation("lightgrey", false);
13478
+ const peg$e119 = peg$literalExpectation("gray", false);
13479
+ const peg$e120 = peg$literalExpectation("darkgray", false);
13480
+ const peg$e121 = peg$literalExpectation("green", false);
13481
+ const peg$e122 = peg$literalExpectation("lime", false);
13482
+ const peg$e123 = peg$literalExpectation("magenta", false);
13483
+ const peg$e124 = peg$literalExpectation("maroon", false);
13484
+ const peg$e125 = peg$literalExpectation("navy", false);
13485
+ const peg$e126 = peg$literalExpectation("olive", false);
13486
+ const peg$e127 = peg$literalExpectation("orange", false);
13487
+ const peg$e128 = peg$literalExpectation("pink", false);
13488
+ const peg$e129 = peg$literalExpectation("purple", false);
13489
+ const peg$e130 = peg$literalExpectation("red", false);
13490
+ const peg$e131 = peg$literalExpectation("silver", false);
13491
+ const peg$e132 = peg$literalExpectation("teal", false);
13492
+ const peg$e133 = peg$literalExpectation("violet", false);
13493
+ const peg$e134 = peg$literalExpectation("white", false);
13494
+ const peg$e135 = peg$literalExpectation("yellow", false);
13495
+ const peg$e136 = peg$literalExpectation("*", false);
13496
+ const peg$e137 = peg$literalExpectation("_", false);
13497
+ const peg$e138 = peg$literalExpectation("`", false);
13498
+ const peg$e139 = peg$literalExpectation("!", false);
13499
+ const peg$e140 = peg$literalExpectation("[!", false);
13500
+ const peg$e141 = peg$literalExpectation("]", false);
13501
+ const peg$e142 = peg$otherExpectation("Line Terminator");
13502
+ const peg$e143 = peg$literalExpectation("\n", false);
13503
+ const peg$e144 = peg$literalExpectation("\r\n", false);
13504
+ const peg$e145 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
13505
+ const peg$e146 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
13506
+ const peg$e147 = peg$literalExpectation("http", false);
13507
+ const peg$e148 = peg$literalExpectation("s", false);
13508
+ const peg$e149 = peg$literalExpectation("://", false);
13509
+ const peg$e150 = peg$literalExpectation("mailto:", false);
13510
+ const peg$e151 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
13424
13511
  function peg$f0() {
13425
13512
  return VERSION;
13426
13513
  }
@@ -13787,44 +13874,47 @@ function peg$parse(input, options) {
13787
13874
  function peg$f86(color) {
13788
13875
  return { type: "color", attrs: { color } };
13789
13876
  }
13790
- function peg$f87(style) {
13877
+ function peg$f87(str) {
13878
+ return { type: "colorPicker", attrs: { propertyRef: str.trim() } };
13879
+ }
13880
+ function peg$f88(style) {
13791
13881
  return { type: style };
13792
13882
  }
13793
- function peg$f88(str) {
13883
+ function peg$f89(str) {
13794
13884
  return { type: "comment", comment: str };
13795
13885
  }
13796
- function peg$f89(r) {
13886
+ function peg$f90(r) {
13797
13887
  return r.trim();
13798
13888
  }
13799
- function peg$f90(bs) {
13889
+ function peg$f91(bs) {
13800
13890
  return [{ type: "paragraph", content: bs, attrs: {} }];
13801
13891
  }
13802
- function peg$f91(first, more) {
13892
+ function peg$f92(first, more) {
13803
13893
  const cleaned_ = cleanEmptyTextNodes(first ? [first, ...more.flat()] : more.flat());
13804
13894
  return cleaned_;
13805
13895
  }
13806
- function peg$f92() {
13896
+ function peg$f93() {
13807
13897
  return { "type": "hardBreak" };
13808
13898
  }
13809
- function peg$f93(t) {
13899
+ function peg$f94(t) {
13810
13900
  return { text: unbreakscape(t), type: "text" };
13811
13901
  }
13812
- function peg$f94(t) {
13902
+ function peg$f95(t) {
13813
13903
  return { index: +t, type: "bit" };
13814
13904
  }
13815
- function peg$f95(t) {
13905
+ function peg$f96(t) {
13816
13906
  return { marks: [{ type: "bold" }], text: unbreakscape(t), type: "text" };
13817
13907
  }
13818
- function peg$f96(t) {
13908
+ function peg$f97(t) {
13819
13909
  return { marks: [{ type: "italic" }], text: unbreakscape(t), type: "text" };
13820
13910
  }
13821
- function peg$f97(t) {
13911
+ function peg$f98(t) {
13822
13912
  return { marks: [{ type: "light" }], text: unbreakscape(t), type: "text" };
13823
13913
  }
13824
- function peg$f98(t) {
13914
+ function peg$f99(t) {
13825
13915
  return { marks: [{ type: "highlight" }], text: unbreakscape(t), type: "text" };
13826
13916
  }
13827
- function peg$f99(pr, t) {
13917
+ function peg$f100(pr, t) {
13828
13918
  return { pr, t };
13829
13919
  }
13830
13920
  let peg$currPos = options.peg$currPos | 0;
@@ -19888,34 +19978,44 @@ function peg$parse(input, options) {
19888
19978
  }
19889
19979
  if (s0 === peg$FAILED) {
19890
19980
  s0 = peg$currPos;
19891
- s1 = peg$parseAlternativeStyleTags();
19892
- if (s1 !== peg$FAILED) {
19893
- s2 = peg$parseBlockTag();
19894
- if (s2 !== peg$FAILED) {
19895
- peg$savedPos = s0;
19896
- s0 = peg$f87(s1);
19897
- } else {
19898
- peg$currPos = s0;
19899
- s0 = peg$FAILED;
19900
- }
19981
+ if (input.substr(peg$currPos, 12) === peg$c67) {
19982
+ s1 = peg$c67;
19983
+ peg$currPos += 12;
19901
19984
  } else {
19902
- peg$currPos = s0;
19903
- s0 = peg$FAILED;
19985
+ s1 = peg$FAILED;
19986
+ if (peg$silentFails === 0) {
19987
+ peg$fail(peg$e71);
19988
+ }
19904
19989
  }
19905
- if (s0 === peg$FAILED) {
19906
- s0 = peg$currPos;
19907
- if (input.charCodeAt(peg$currPos) === 35) {
19908
- s1 = peg$c21;
19909
- peg$currPos++;
19990
+ if (s1 !== peg$FAILED) {
19991
+ s2 = peg$currPos;
19992
+ s3 = [];
19993
+ s4 = peg$currPos;
19994
+ s5 = peg$currPos;
19995
+ peg$silentFails++;
19996
+ s6 = peg$parseBlockTag();
19997
+ peg$silentFails--;
19998
+ if (s6 === peg$FAILED) {
19999
+ s5 = void 0;
19910
20000
  } else {
19911
- s1 = peg$FAILED;
19912
- if (peg$silentFails === 0) {
19913
- peg$fail(peg$e25);
20001
+ peg$currPos = s5;
20002
+ s5 = peg$FAILED;
20003
+ }
20004
+ if (s5 !== peg$FAILED) {
20005
+ s6 = peg$parsechar();
20006
+ if (s6 !== peg$FAILED) {
20007
+ s5 = [s5, s6];
20008
+ s4 = s5;
20009
+ } else {
20010
+ peg$currPos = s4;
20011
+ s4 = peg$FAILED;
19914
20012
  }
20013
+ } else {
20014
+ peg$currPos = s4;
20015
+ s4 = peg$FAILED;
19915
20016
  }
19916
- if (s1 !== peg$FAILED) {
19917
- s2 = peg$currPos;
19918
- s3 = [];
20017
+ while (s4 !== peg$FAILED) {
20018
+ s3.push(s4);
19919
20019
  s4 = peg$currPos;
19920
20020
  s5 = peg$currPos;
19921
20021
  peg$silentFails++;
@@ -19940,8 +20040,50 @@ function peg$parse(input, options) {
19940
20040
  peg$currPos = s4;
19941
20041
  s4 = peg$FAILED;
19942
20042
  }
19943
- while (s4 !== peg$FAILED) {
19944
- s3.push(s4);
20043
+ }
20044
+ s2 = input.substring(s2, peg$currPos);
20045
+ s3 = peg$parseBlockTag();
20046
+ if (s3 !== peg$FAILED) {
20047
+ peg$savedPos = s0;
20048
+ s0 = peg$f87(s2);
20049
+ } else {
20050
+ peg$currPos = s0;
20051
+ s0 = peg$FAILED;
20052
+ }
20053
+ } else {
20054
+ peg$currPos = s0;
20055
+ s0 = peg$FAILED;
20056
+ }
20057
+ if (s0 === peg$FAILED) {
20058
+ s0 = peg$currPos;
20059
+ s1 = peg$parseAlternativeStyleTags();
20060
+ if (s1 !== peg$FAILED) {
20061
+ s2 = peg$parseBlockTag();
20062
+ if (s2 !== peg$FAILED) {
20063
+ peg$savedPos = s0;
20064
+ s0 = peg$f88(s1);
20065
+ } else {
20066
+ peg$currPos = s0;
20067
+ s0 = peg$FAILED;
20068
+ }
20069
+ } else {
20070
+ peg$currPos = s0;
20071
+ s0 = peg$FAILED;
20072
+ }
20073
+ if (s0 === peg$FAILED) {
20074
+ s0 = peg$currPos;
20075
+ if (input.charCodeAt(peg$currPos) === 35) {
20076
+ s1 = peg$c21;
20077
+ peg$currPos++;
20078
+ } else {
20079
+ s1 = peg$FAILED;
20080
+ if (peg$silentFails === 0) {
20081
+ peg$fail(peg$e25);
20082
+ }
20083
+ }
20084
+ if (s1 !== peg$FAILED) {
20085
+ s2 = peg$currPos;
20086
+ s3 = [];
19945
20087
  s4 = peg$currPos;
19946
20088
  s5 = peg$currPos;
19947
20089
  peg$silentFails++;
@@ -19966,19 +20108,46 @@ function peg$parse(input, options) {
19966
20108
  peg$currPos = s4;
19967
20109
  s4 = peg$FAILED;
19968
20110
  }
19969
- }
19970
- s2 = input.substring(s2, peg$currPos);
19971
- s3 = peg$parseBlockTag();
19972
- if (s3 !== peg$FAILED) {
19973
- peg$savedPos = s0;
19974
- s0 = peg$f88(s2);
20111
+ while (s4 !== peg$FAILED) {
20112
+ s3.push(s4);
20113
+ s4 = peg$currPos;
20114
+ s5 = peg$currPos;
20115
+ peg$silentFails++;
20116
+ s6 = peg$parseBlockTag();
20117
+ peg$silentFails--;
20118
+ if (s6 === peg$FAILED) {
20119
+ s5 = void 0;
20120
+ } else {
20121
+ peg$currPos = s5;
20122
+ s5 = peg$FAILED;
20123
+ }
20124
+ if (s5 !== peg$FAILED) {
20125
+ s6 = peg$parsechar();
20126
+ if (s6 !== peg$FAILED) {
20127
+ s5 = [s5, s6];
20128
+ s4 = s5;
20129
+ } else {
20130
+ peg$currPos = s4;
20131
+ s4 = peg$FAILED;
20132
+ }
20133
+ } else {
20134
+ peg$currPos = s4;
20135
+ s4 = peg$FAILED;
20136
+ }
20137
+ }
20138
+ s2 = input.substring(s2, peg$currPos);
20139
+ s3 = peg$parseBlockTag();
20140
+ if (s3 !== peg$FAILED) {
20141
+ peg$savedPos = s0;
20142
+ s0 = peg$f89(s2);
20143
+ } else {
20144
+ peg$currPos = s0;
20145
+ s0 = peg$FAILED;
20146
+ }
19975
20147
  } else {
19976
20148
  peg$currPos = s0;
19977
20149
  s0 = peg$FAILED;
19978
20150
  }
19979
- } else {
19980
- peg$currPos = s0;
19981
- s0 = peg$FAILED;
19982
20151
  }
19983
20152
  }
19984
20153
  }
@@ -20011,13 +20180,13 @@ function peg$parse(input, options) {
20011
20180
  function peg$parseRef() {
20012
20181
  let s0, s1, s2, s3, s4, s5, s6;
20013
20182
  s0 = peg$currPos;
20014
- if (input.substr(peg$currPos, 2) === peg$c67) {
20015
- s1 = peg$c67;
20183
+ if (input.substr(peg$currPos, 2) === peg$c68) {
20184
+ s1 = peg$c68;
20016
20185
  peg$currPos += 2;
20017
20186
  } else {
20018
20187
  s1 = peg$FAILED;
20019
20188
  if (peg$silentFails === 0) {
20020
- peg$fail(peg$e71);
20189
+ peg$fail(peg$e72);
20021
20190
  }
20022
20191
  }
20023
20192
  if (s1 !== peg$FAILED) {
@@ -20076,7 +20245,7 @@ function peg$parse(input, options) {
20076
20245
  }
20077
20246
  s2 = input.substring(s2, peg$currPos);
20078
20247
  peg$savedPos = s0;
20079
- s0 = peg$f89(s2);
20248
+ s0 = peg$f90(s2);
20080
20249
  } else {
20081
20250
  peg$currPos = s0;
20082
20251
  s0 = peg$FAILED;
@@ -20085,303 +20254,413 @@ function peg$parse(input, options) {
20085
20254
  }
20086
20255
  function peg$parseAlternativeStyleTags() {
20087
20256
  let s0;
20088
- if (input.substr(peg$currPos, 4) === peg$c68) {
20089
- s0 = peg$c68;
20257
+ if (input.substr(peg$currPos, 4) === peg$c69) {
20258
+ s0 = peg$c69;
20090
20259
  peg$currPos += 4;
20091
20260
  } else {
20092
20261
  s0 = peg$FAILED;
20093
20262
  if (peg$silentFails === 0) {
20094
- peg$fail(peg$e72);
20263
+ peg$fail(peg$e73);
20095
20264
  }
20096
20265
  }
20097
20266
  if (s0 === peg$FAILED) {
20098
- if (input.substr(peg$currPos, 6) === peg$c69) {
20099
- s0 = peg$c69;
20267
+ if (input.substr(peg$currPos, 6) === peg$c70) {
20268
+ s0 = peg$c70;
20100
20269
  peg$currPos += 6;
20101
20270
  } else {
20102
20271
  s0 = peg$FAILED;
20103
20272
  if (peg$silentFails === 0) {
20104
- peg$fail(peg$e73);
20273
+ peg$fail(peg$e74);
20105
20274
  }
20106
20275
  }
20107
20276
  if (s0 === peg$FAILED) {
20108
- if (input.substr(peg$currPos, 5) === peg$c70) {
20109
- s0 = peg$c70;
20277
+ if (input.substr(peg$currPos, 5) === peg$c71) {
20278
+ s0 = peg$c71;
20110
20279
  peg$currPos += 5;
20111
20280
  } else {
20112
20281
  s0 = peg$FAILED;
20113
20282
  if (peg$silentFails === 0) {
20114
- peg$fail(peg$e74);
20283
+ peg$fail(peg$e75);
20115
20284
  }
20116
20285
  }
20117
20286
  if (s0 === peg$FAILED) {
20118
- if (input.substr(peg$currPos, 9) === peg$c71) {
20119
- s0 = peg$c71;
20120
- peg$currPos += 9;
20287
+ if (input.substr(peg$currPos, 15) === peg$c72) {
20288
+ s0 = peg$c72;
20289
+ peg$currPos += 15;
20121
20290
  } else {
20122
20291
  s0 = peg$FAILED;
20123
20292
  if (peg$silentFails === 0) {
20124
- peg$fail(peg$e75);
20293
+ peg$fail(peg$e76);
20125
20294
  }
20126
20295
  }
20127
20296
  if (s0 === peg$FAILED) {
20128
- if (input.substr(peg$currPos, 6) === peg$c72) {
20129
- s0 = peg$c72;
20130
- peg$currPos += 6;
20297
+ if (input.substr(peg$currPos, 15) === peg$c73) {
20298
+ s0 = peg$c73;
20299
+ peg$currPos += 15;
20131
20300
  } else {
20132
20301
  s0 = peg$FAILED;
20133
20302
  if (peg$silentFails === 0) {
20134
- peg$fail(peg$e76);
20303
+ peg$fail(peg$e77);
20135
20304
  }
20136
20305
  }
20137
20306
  if (s0 === peg$FAILED) {
20138
- if (input.substr(peg$currPos, 9) === peg$c73) {
20139
- s0 = peg$c73;
20140
- peg$currPos += 9;
20307
+ if (input.substr(peg$currPos, 14) === peg$c74) {
20308
+ s0 = peg$c74;
20309
+ peg$currPos += 14;
20141
20310
  } else {
20142
20311
  s0 = peg$FAILED;
20143
20312
  if (peg$silentFails === 0) {
20144
- peg$fail(peg$e77);
20313
+ peg$fail(peg$e78);
20145
20314
  }
20146
20315
  }
20147
20316
  if (s0 === peg$FAILED) {
20148
- if (input.substr(peg$currPos, 11) === peg$c74) {
20149
- s0 = peg$c74;
20150
- peg$currPos += 11;
20317
+ if (input.substr(peg$currPos, 13) === peg$c75) {
20318
+ s0 = peg$c75;
20319
+ peg$currPos += 13;
20151
20320
  } else {
20152
20321
  s0 = peg$FAILED;
20153
20322
  if (peg$silentFails === 0) {
20154
- peg$fail(peg$e78);
20323
+ peg$fail(peg$e79);
20155
20324
  }
20156
20325
  }
20157
20326
  if (s0 === peg$FAILED) {
20158
- if (input.substr(peg$currPos, 3) === peg$c75) {
20159
- s0 = peg$c75;
20160
- peg$currPos += 3;
20327
+ if (input.substr(peg$currPos, 15) === peg$c76) {
20328
+ s0 = peg$c76;
20329
+ peg$currPos += 15;
20161
20330
  } else {
20162
20331
  s0 = peg$FAILED;
20163
20332
  if (peg$silentFails === 0) {
20164
- peg$fail(peg$e79);
20333
+ peg$fail(peg$e80);
20165
20334
  }
20166
20335
  }
20167
20336
  if (s0 === peg$FAILED) {
20168
- if (input.substr(peg$currPos, 3) === peg$c76) {
20169
- s0 = peg$c76;
20170
- peg$currPos += 3;
20337
+ if (input.substr(peg$currPos, 13) === peg$c77) {
20338
+ s0 = peg$c77;
20339
+ peg$currPos += 13;
20171
20340
  } else {
20172
20341
  s0 = peg$FAILED;
20173
20342
  if (peg$silentFails === 0) {
20174
- peg$fail(peg$e80);
20343
+ peg$fail(peg$e81);
20175
20344
  }
20176
20345
  }
20177
20346
  if (s0 === peg$FAILED) {
20178
- if (input.substr(peg$currPos, 9) === peg$c77) {
20179
- s0 = peg$c77;
20180
- peg$currPos += 9;
20347
+ if (input.substr(peg$currPos, 14) === peg$c78) {
20348
+ s0 = peg$c78;
20349
+ peg$currPos += 14;
20181
20350
  } else {
20182
20351
  s0 = peg$FAILED;
20183
20352
  if (peg$silentFails === 0) {
20184
- peg$fail(peg$e81);
20353
+ peg$fail(peg$e82);
20185
20354
  }
20186
20355
  }
20187
20356
  if (s0 === peg$FAILED) {
20188
- if (input.substr(peg$currPos, 15) === peg$c78) {
20189
- s0 = peg$c78;
20190
- peg$currPos += 15;
20357
+ if (input.substr(peg$currPos, 14) === peg$c79) {
20358
+ s0 = peg$c79;
20359
+ peg$currPos += 14;
20191
20360
  } else {
20192
20361
  s0 = peg$FAILED;
20193
20362
  if (peg$silentFails === 0) {
20194
- peg$fail(peg$e82);
20363
+ peg$fail(peg$e83);
20195
20364
  }
20196
20365
  }
20197
20366
  if (s0 === peg$FAILED) {
20198
- if (input.substr(peg$currPos, 6) === peg$c79) {
20199
- s0 = peg$c79;
20200
- peg$currPos += 6;
20367
+ if (input.substr(peg$currPos, 14) === peg$c80) {
20368
+ s0 = peg$c80;
20369
+ peg$currPos += 14;
20201
20370
  } else {
20202
20371
  s0 = peg$FAILED;
20203
20372
  if (peg$silentFails === 0) {
20204
- peg$fail(peg$e83);
20373
+ peg$fail(peg$e84);
20205
20374
  }
20206
20375
  }
20207
20376
  if (s0 === peg$FAILED) {
20208
- if (input.substr(peg$currPos, 13) === peg$c80) {
20209
- s0 = peg$c80;
20377
+ if (input.substr(peg$currPos, 13) === peg$c81) {
20378
+ s0 = peg$c81;
20210
20379
  peg$currPos += 13;
20211
20380
  } else {
20212
20381
  s0 = peg$FAILED;
20213
20382
  if (peg$silentFails === 0) {
20214
- peg$fail(peg$e84);
20383
+ peg$fail(peg$e85);
20215
20384
  }
20216
20385
  }
20217
20386
  if (s0 === peg$FAILED) {
20218
- if (input.substr(peg$currPos, 16) === peg$c81) {
20219
- s0 = peg$c81;
20220
- peg$currPos += 16;
20387
+ if (input.substr(peg$currPos, 9) === peg$c82) {
20388
+ s0 = peg$c82;
20389
+ peg$currPos += 9;
20221
20390
  } else {
20222
20391
  s0 = peg$FAILED;
20223
20392
  if (peg$silentFails === 0) {
20224
- peg$fail(peg$e85);
20393
+ peg$fail(peg$e86);
20225
20394
  }
20226
20395
  }
20227
20396
  if (s0 === peg$FAILED) {
20228
- if (input.substr(peg$currPos, 16) === peg$c82) {
20229
- s0 = peg$c82;
20230
- peg$currPos += 16;
20397
+ if (input.substr(peg$currPos, 6) === peg$c83) {
20398
+ s0 = peg$c83;
20399
+ peg$currPos += 6;
20231
20400
  } else {
20232
20401
  s0 = peg$FAILED;
20233
20402
  if (peg$silentFails === 0) {
20234
- peg$fail(peg$e86);
20403
+ peg$fail(peg$e87);
20235
20404
  }
20236
20405
  }
20237
20406
  if (s0 === peg$FAILED) {
20238
- if (input.substr(peg$currPos, 15) === peg$c83) {
20239
- s0 = peg$c83;
20240
- peg$currPos += 15;
20407
+ if (input.substr(peg$currPos, 9) === peg$c84) {
20408
+ s0 = peg$c84;
20409
+ peg$currPos += 9;
20241
20410
  } else {
20242
20411
  s0 = peg$FAILED;
20243
20412
  if (peg$silentFails === 0) {
20244
- peg$fail(peg$e87);
20413
+ peg$fail(peg$e88);
20245
20414
  }
20246
20415
  }
20247
20416
  if (s0 === peg$FAILED) {
20248
- if (input.substr(peg$currPos, 14) === peg$c84) {
20249
- s0 = peg$c84;
20250
- peg$currPos += 14;
20417
+ if (input.substr(peg$currPos, 11) === peg$c85) {
20418
+ s0 = peg$c85;
20419
+ peg$currPos += 11;
20251
20420
  } else {
20252
20421
  s0 = peg$FAILED;
20253
20422
  if (peg$silentFails === 0) {
20254
- peg$fail(peg$e88);
20423
+ peg$fail(peg$e89);
20255
20424
  }
20256
20425
  }
20257
20426
  if (s0 === peg$FAILED) {
20258
- if (input.substr(peg$currPos, 16) === peg$c85) {
20259
- s0 = peg$c85;
20260
- peg$currPos += 16;
20427
+ if (input.substr(peg$currPos, 3) === peg$c86) {
20428
+ s0 = peg$c86;
20429
+ peg$currPos += 3;
20261
20430
  } else {
20262
20431
  s0 = peg$FAILED;
20263
20432
  if (peg$silentFails === 0) {
20264
- peg$fail(peg$e89);
20433
+ peg$fail(peg$e90);
20265
20434
  }
20266
20435
  }
20267
20436
  if (s0 === peg$FAILED) {
20268
- if (input.substr(peg$currPos, 14) === peg$c86) {
20269
- s0 = peg$c86;
20270
- peg$currPos += 14;
20437
+ if (input.substr(peg$currPos, 3) === peg$c87) {
20438
+ s0 = peg$c87;
20439
+ peg$currPos += 3;
20271
20440
  } else {
20272
20441
  s0 = peg$FAILED;
20273
20442
  if (peg$silentFails === 0) {
20274
- peg$fail(peg$e90);
20443
+ peg$fail(peg$e91);
20275
20444
  }
20276
20445
  }
20277
20446
  if (s0 === peg$FAILED) {
20278
- if (input.substr(peg$currPos, 15) === peg$c87) {
20279
- s0 = peg$c87;
20280
- peg$currPos += 15;
20447
+ if (input.substr(peg$currPos, 9) === peg$c88) {
20448
+ s0 = peg$c88;
20449
+ peg$currPos += 9;
20281
20450
  } else {
20282
20451
  s0 = peg$FAILED;
20283
20452
  if (peg$silentFails === 0) {
20284
- peg$fail(peg$e91);
20453
+ peg$fail(peg$e92);
20285
20454
  }
20286
20455
  }
20287
20456
  if (s0 === peg$FAILED) {
20288
- if (input.substr(peg$currPos, 15) === peg$c88) {
20289
- s0 = peg$c88;
20457
+ if (input.substr(peg$currPos, 15) === peg$c89) {
20458
+ s0 = peg$c89;
20290
20459
  peg$currPos += 15;
20291
20460
  } else {
20292
20461
  s0 = peg$FAILED;
20293
20462
  if (peg$silentFails === 0) {
20294
- peg$fail(peg$e92);
20463
+ peg$fail(peg$e93);
20295
20464
  }
20296
20465
  }
20297
20466
  if (s0 === peg$FAILED) {
20298
- if (input.substr(peg$currPos, 15) === peg$c89) {
20299
- s0 = peg$c89;
20300
- peg$currPos += 15;
20467
+ if (input.substr(peg$currPos, 6) === peg$c90) {
20468
+ s0 = peg$c90;
20469
+ peg$currPos += 6;
20301
20470
  } else {
20302
20471
  s0 = peg$FAILED;
20303
20472
  if (peg$silentFails === 0) {
20304
- peg$fail(peg$e93);
20473
+ peg$fail(peg$e94);
20305
20474
  }
20306
20475
  }
20307
20476
  if (s0 === peg$FAILED) {
20308
- if (input.substr(peg$currPos, 14) === peg$c90) {
20309
- s0 = peg$c90;
20310
- peg$currPos += 14;
20477
+ if (input.substr(peg$currPos, 13) === peg$c91) {
20478
+ s0 = peg$c91;
20479
+ peg$currPos += 13;
20311
20480
  } else {
20312
20481
  s0 = peg$FAILED;
20313
20482
  if (peg$silentFails === 0) {
20314
- peg$fail(peg$e94);
20483
+ peg$fail(peg$e95);
20315
20484
  }
20316
20485
  }
20317
20486
  if (s0 === peg$FAILED) {
20318
- if (input.substr(peg$currPos, 10) === peg$c91) {
20319
- s0 = peg$c91;
20320
- peg$currPos += 10;
20487
+ if (input.substr(peg$currPos, 16) === peg$c92) {
20488
+ s0 = peg$c92;
20489
+ peg$currPos += 16;
20321
20490
  } else {
20322
20491
  s0 = peg$FAILED;
20323
20492
  if (peg$silentFails === 0) {
20324
- peg$fail(peg$e95);
20493
+ peg$fail(peg$e96);
20325
20494
  }
20326
20495
  }
20327
20496
  if (s0 === peg$FAILED) {
20328
- if (input.substr(peg$currPos, 13) === peg$c92) {
20329
- s0 = peg$c92;
20330
- peg$currPos += 13;
20497
+ if (input.substr(peg$currPos, 16) === peg$c93) {
20498
+ s0 = peg$c93;
20499
+ peg$currPos += 16;
20331
20500
  } else {
20332
20501
  s0 = peg$FAILED;
20333
20502
  if (peg$silentFails === 0) {
20334
- peg$fail(peg$e96);
20503
+ peg$fail(peg$e97);
20335
20504
  }
20336
20505
  }
20337
20506
  if (s0 === peg$FAILED) {
20338
- if (input.substr(peg$currPos, 19) === peg$c93) {
20339
- s0 = peg$c93;
20340
- peg$currPos += 19;
20507
+ if (input.substr(peg$currPos, 15) === peg$c94) {
20508
+ s0 = peg$c94;
20509
+ peg$currPos += 15;
20341
20510
  } else {
20342
20511
  s0 = peg$FAILED;
20343
20512
  if (peg$silentFails === 0) {
20344
- peg$fail(peg$e97);
20513
+ peg$fail(peg$e98);
20345
20514
  }
20346
20515
  }
20347
20516
  if (s0 === peg$FAILED) {
20348
- if (input.substr(peg$currPos, 10) === peg$c94) {
20349
- s0 = peg$c94;
20350
- peg$currPos += 10;
20517
+ if (input.substr(peg$currPos, 14) === peg$c95) {
20518
+ s0 = peg$c95;
20519
+ peg$currPos += 14;
20351
20520
  } else {
20352
20521
  s0 = peg$FAILED;
20353
20522
  if (peg$silentFails === 0) {
20354
- peg$fail(peg$e98);
20523
+ peg$fail(peg$e99);
20355
20524
  }
20356
20525
  }
20357
20526
  if (s0 === peg$FAILED) {
20358
- if (input.substr(peg$currPos, 10) === peg$c95) {
20359
- s0 = peg$c95;
20360
- peg$currPos += 10;
20527
+ if (input.substr(peg$currPos, 16) === peg$c96) {
20528
+ s0 = peg$c96;
20529
+ peg$currPos += 16;
20361
20530
  } else {
20362
20531
  s0 = peg$FAILED;
20363
20532
  if (peg$silentFails === 0) {
20364
- peg$fail(peg$e99);
20533
+ peg$fail(peg$e100);
20365
20534
  }
20366
20535
  }
20367
20536
  if (s0 === peg$FAILED) {
20368
- if (input.substr(peg$currPos, 13) === peg$c96) {
20369
- s0 = peg$c96;
20370
- peg$currPos += 13;
20537
+ if (input.substr(peg$currPos, 14) === peg$c97) {
20538
+ s0 = peg$c97;
20539
+ peg$currPos += 14;
20371
20540
  } else {
20372
20541
  s0 = peg$FAILED;
20373
20542
  if (peg$silentFails === 0) {
20374
- peg$fail(peg$e100);
20543
+ peg$fail(peg$e101);
20375
20544
  }
20376
20545
  }
20377
20546
  if (s0 === peg$FAILED) {
20378
- if (input.substr(peg$currPos, 11) === peg$c97) {
20379
- s0 = peg$c97;
20380
- peg$currPos += 11;
20547
+ if (input.substr(peg$currPos, 15) === peg$c98) {
20548
+ s0 = peg$c98;
20549
+ peg$currPos += 15;
20381
20550
  } else {
20382
20551
  s0 = peg$FAILED;
20383
20552
  if (peg$silentFails === 0) {
20384
- peg$fail(peg$e101);
20553
+ peg$fail(peg$e102);
20554
+ }
20555
+ }
20556
+ if (s0 === peg$FAILED) {
20557
+ if (input.substr(peg$currPos, 15) === peg$c99) {
20558
+ s0 = peg$c99;
20559
+ peg$currPos += 15;
20560
+ } else {
20561
+ s0 = peg$FAILED;
20562
+ if (peg$silentFails === 0) {
20563
+ peg$fail(peg$e103);
20564
+ }
20565
+ }
20566
+ if (s0 === peg$FAILED) {
20567
+ if (input.substr(peg$currPos, 15) === peg$c100) {
20568
+ s0 = peg$c100;
20569
+ peg$currPos += 15;
20570
+ } else {
20571
+ s0 = peg$FAILED;
20572
+ if (peg$silentFails === 0) {
20573
+ peg$fail(peg$e104);
20574
+ }
20575
+ }
20576
+ if (s0 === peg$FAILED) {
20577
+ if (input.substr(peg$currPos, 14) === peg$c101) {
20578
+ s0 = peg$c101;
20579
+ peg$currPos += 14;
20580
+ } else {
20581
+ s0 = peg$FAILED;
20582
+ if (peg$silentFails === 0) {
20583
+ peg$fail(peg$e105);
20584
+ }
20585
+ }
20586
+ if (s0 === peg$FAILED) {
20587
+ if (input.substr(peg$currPos, 10) === peg$c102) {
20588
+ s0 = peg$c102;
20589
+ peg$currPos += 10;
20590
+ } else {
20591
+ s0 = peg$FAILED;
20592
+ if (peg$silentFails === 0) {
20593
+ peg$fail(peg$e106);
20594
+ }
20595
+ }
20596
+ if (s0 === peg$FAILED) {
20597
+ if (input.substr(peg$currPos, 13) === peg$c103) {
20598
+ s0 = peg$c103;
20599
+ peg$currPos += 13;
20600
+ } else {
20601
+ s0 = peg$FAILED;
20602
+ if (peg$silentFails === 0) {
20603
+ peg$fail(peg$e107);
20604
+ }
20605
+ }
20606
+ if (s0 === peg$FAILED) {
20607
+ if (input.substr(peg$currPos, 19) === peg$c104) {
20608
+ s0 = peg$c104;
20609
+ peg$currPos += 19;
20610
+ } else {
20611
+ s0 = peg$FAILED;
20612
+ if (peg$silentFails === 0) {
20613
+ peg$fail(peg$e108);
20614
+ }
20615
+ }
20616
+ if (s0 === peg$FAILED) {
20617
+ if (input.substr(peg$currPos, 10) === peg$c105) {
20618
+ s0 = peg$c105;
20619
+ peg$currPos += 10;
20620
+ } else {
20621
+ s0 = peg$FAILED;
20622
+ if (peg$silentFails === 0) {
20623
+ peg$fail(peg$e109);
20624
+ }
20625
+ }
20626
+ if (s0 === peg$FAILED) {
20627
+ if (input.substr(peg$currPos, 10) === peg$c106) {
20628
+ s0 = peg$c106;
20629
+ peg$currPos += 10;
20630
+ } else {
20631
+ s0 = peg$FAILED;
20632
+ if (peg$silentFails === 0) {
20633
+ peg$fail(peg$e110);
20634
+ }
20635
+ }
20636
+ if (s0 === peg$FAILED) {
20637
+ if (input.substr(peg$currPos, 13) === peg$c107) {
20638
+ s0 = peg$c107;
20639
+ peg$currPos += 13;
20640
+ } else {
20641
+ s0 = peg$FAILED;
20642
+ if (peg$silentFails === 0) {
20643
+ peg$fail(peg$e111);
20644
+ }
20645
+ }
20646
+ if (s0 === peg$FAILED) {
20647
+ if (input.substr(peg$currPos, 11) === peg$c108) {
20648
+ s0 = peg$c108;
20649
+ peg$currPos += 11;
20650
+ } else {
20651
+ s0 = peg$FAILED;
20652
+ if (peg$silentFails === 0) {
20653
+ peg$fail(peg$e112);
20654
+ }
20655
+ }
20656
+ }
20657
+ }
20658
+ }
20659
+ }
20660
+ }
20661
+ }
20662
+ }
20663
+ }
20385
20664
  }
20386
20665
  }
20387
20666
  }
@@ -20417,233 +20696,233 @@ function peg$parse(input, options) {
20417
20696
  }
20418
20697
  function peg$parseColor() {
20419
20698
  let s0;
20420
- if (input.substr(peg$currPos, 4) === peg$c98) {
20421
- s0 = peg$c98;
20699
+ if (input.substr(peg$currPos, 4) === peg$c109) {
20700
+ s0 = peg$c109;
20422
20701
  peg$currPos += 4;
20423
20702
  } else {
20424
20703
  s0 = peg$FAILED;
20425
20704
  if (peg$silentFails === 0) {
20426
- peg$fail(peg$e102);
20705
+ peg$fail(peg$e113);
20427
20706
  }
20428
20707
  }
20429
20708
  if (s0 === peg$FAILED) {
20430
- if (input.substr(peg$currPos, 5) === peg$c99) {
20431
- s0 = peg$c99;
20709
+ if (input.substr(peg$currPos, 5) === peg$c110) {
20710
+ s0 = peg$c110;
20432
20711
  peg$currPos += 5;
20433
20712
  } else {
20434
20713
  s0 = peg$FAILED;
20435
20714
  if (peg$silentFails === 0) {
20436
- peg$fail(peg$e103);
20715
+ peg$fail(peg$e114);
20437
20716
  }
20438
20717
  }
20439
20718
  if (s0 === peg$FAILED) {
20440
- if (input.substr(peg$currPos, 4) === peg$c100) {
20441
- s0 = peg$c100;
20719
+ if (input.substr(peg$currPos, 4) === peg$c111) {
20720
+ s0 = peg$c111;
20442
20721
  peg$currPos += 4;
20443
20722
  } else {
20444
20723
  s0 = peg$FAILED;
20445
20724
  if (peg$silentFails === 0) {
20446
- peg$fail(peg$e104);
20725
+ peg$fail(peg$e115);
20447
20726
  }
20448
20727
  }
20449
20728
  if (s0 === peg$FAILED) {
20450
- if (input.substr(peg$currPos, 5) === peg$c101) {
20451
- s0 = peg$c101;
20729
+ if (input.substr(peg$currPos, 5) === peg$c112) {
20730
+ s0 = peg$c112;
20452
20731
  peg$currPos += 5;
20453
20732
  } else {
20454
20733
  s0 = peg$FAILED;
20455
20734
  if (peg$silentFails === 0) {
20456
- peg$fail(peg$e105);
20735
+ peg$fail(peg$e116);
20457
20736
  }
20458
20737
  }
20459
20738
  if (s0 === peg$FAILED) {
20460
- if (input.substr(peg$currPos, 7) === peg$c102) {
20461
- s0 = peg$c102;
20739
+ if (input.substr(peg$currPos, 7) === peg$c113) {
20740
+ s0 = peg$c113;
20462
20741
  peg$currPos += 7;
20463
20742
  } else {
20464
20743
  s0 = peg$FAILED;
20465
20744
  if (peg$silentFails === 0) {
20466
- peg$fail(peg$e106);
20745
+ peg$fail(peg$e117);
20467
20746
  }
20468
20747
  }
20469
20748
  if (s0 === peg$FAILED) {
20470
- if (input.substr(peg$currPos, 9) === peg$c103) {
20471
- s0 = peg$c103;
20749
+ if (input.substr(peg$currPos, 9) === peg$c114) {
20750
+ s0 = peg$c114;
20472
20751
  peg$currPos += 9;
20473
20752
  } else {
20474
20753
  s0 = peg$FAILED;
20475
20754
  if (peg$silentFails === 0) {
20476
- peg$fail(peg$e107);
20755
+ peg$fail(peg$e118);
20477
20756
  }
20478
20757
  }
20479
20758
  if (s0 === peg$FAILED) {
20480
- if (input.substr(peg$currPos, 4) === peg$c104) {
20481
- s0 = peg$c104;
20759
+ if (input.substr(peg$currPos, 4) === peg$c115) {
20760
+ s0 = peg$c115;
20482
20761
  peg$currPos += 4;
20483
20762
  } else {
20484
20763
  s0 = peg$FAILED;
20485
20764
  if (peg$silentFails === 0) {
20486
- peg$fail(peg$e108);
20765
+ peg$fail(peg$e119);
20487
20766
  }
20488
20767
  }
20489
20768
  if (s0 === peg$FAILED) {
20490
- if (input.substr(peg$currPos, 8) === peg$c105) {
20491
- s0 = peg$c105;
20769
+ if (input.substr(peg$currPos, 8) === peg$c116) {
20770
+ s0 = peg$c116;
20492
20771
  peg$currPos += 8;
20493
20772
  } else {
20494
20773
  s0 = peg$FAILED;
20495
20774
  if (peg$silentFails === 0) {
20496
- peg$fail(peg$e109);
20775
+ peg$fail(peg$e120);
20497
20776
  }
20498
20777
  }
20499
20778
  if (s0 === peg$FAILED) {
20500
- if (input.substr(peg$currPos, 5) === peg$c106) {
20501
- s0 = peg$c106;
20779
+ if (input.substr(peg$currPos, 5) === peg$c117) {
20780
+ s0 = peg$c117;
20502
20781
  peg$currPos += 5;
20503
20782
  } else {
20504
20783
  s0 = peg$FAILED;
20505
20784
  if (peg$silentFails === 0) {
20506
- peg$fail(peg$e110);
20785
+ peg$fail(peg$e121);
20507
20786
  }
20508
20787
  }
20509
20788
  if (s0 === peg$FAILED) {
20510
- if (input.substr(peg$currPos, 4) === peg$c107) {
20511
- s0 = peg$c107;
20789
+ if (input.substr(peg$currPos, 4) === peg$c118) {
20790
+ s0 = peg$c118;
20512
20791
  peg$currPos += 4;
20513
20792
  } else {
20514
20793
  s0 = peg$FAILED;
20515
20794
  if (peg$silentFails === 0) {
20516
- peg$fail(peg$e111);
20795
+ peg$fail(peg$e122);
20517
20796
  }
20518
20797
  }
20519
20798
  if (s0 === peg$FAILED) {
20520
- if (input.substr(peg$currPos, 7) === peg$c108) {
20521
- s0 = peg$c108;
20799
+ if (input.substr(peg$currPos, 7) === peg$c119) {
20800
+ s0 = peg$c119;
20522
20801
  peg$currPos += 7;
20523
20802
  } else {
20524
20803
  s0 = peg$FAILED;
20525
20804
  if (peg$silentFails === 0) {
20526
- peg$fail(peg$e112);
20805
+ peg$fail(peg$e123);
20527
20806
  }
20528
20807
  }
20529
20808
  if (s0 === peg$FAILED) {
20530
- if (input.substr(peg$currPos, 6) === peg$c109) {
20531
- s0 = peg$c109;
20809
+ if (input.substr(peg$currPos, 6) === peg$c120) {
20810
+ s0 = peg$c120;
20532
20811
  peg$currPos += 6;
20533
20812
  } else {
20534
20813
  s0 = peg$FAILED;
20535
20814
  if (peg$silentFails === 0) {
20536
- peg$fail(peg$e113);
20815
+ peg$fail(peg$e124);
20537
20816
  }
20538
20817
  }
20539
20818
  if (s0 === peg$FAILED) {
20540
- if (input.substr(peg$currPos, 4) === peg$c110) {
20541
- s0 = peg$c110;
20819
+ if (input.substr(peg$currPos, 4) === peg$c121) {
20820
+ s0 = peg$c121;
20542
20821
  peg$currPos += 4;
20543
20822
  } else {
20544
20823
  s0 = peg$FAILED;
20545
20824
  if (peg$silentFails === 0) {
20546
- peg$fail(peg$e114);
20825
+ peg$fail(peg$e125);
20547
20826
  }
20548
20827
  }
20549
20828
  if (s0 === peg$FAILED) {
20550
- if (input.substr(peg$currPos, 5) === peg$c111) {
20551
- s0 = peg$c111;
20829
+ if (input.substr(peg$currPos, 5) === peg$c122) {
20830
+ s0 = peg$c122;
20552
20831
  peg$currPos += 5;
20553
20832
  } else {
20554
20833
  s0 = peg$FAILED;
20555
20834
  if (peg$silentFails === 0) {
20556
- peg$fail(peg$e115);
20835
+ peg$fail(peg$e126);
20557
20836
  }
20558
20837
  }
20559
20838
  if (s0 === peg$FAILED) {
20560
- if (input.substr(peg$currPos, 6) === peg$c112) {
20561
- s0 = peg$c112;
20839
+ if (input.substr(peg$currPos, 6) === peg$c123) {
20840
+ s0 = peg$c123;
20562
20841
  peg$currPos += 6;
20563
20842
  } else {
20564
20843
  s0 = peg$FAILED;
20565
20844
  if (peg$silentFails === 0) {
20566
- peg$fail(peg$e116);
20845
+ peg$fail(peg$e127);
20567
20846
  }
20568
20847
  }
20569
20848
  if (s0 === peg$FAILED) {
20570
- if (input.substr(peg$currPos, 4) === peg$c113) {
20571
- s0 = peg$c113;
20849
+ if (input.substr(peg$currPos, 4) === peg$c124) {
20850
+ s0 = peg$c124;
20572
20851
  peg$currPos += 4;
20573
20852
  } else {
20574
20853
  s0 = peg$FAILED;
20575
20854
  if (peg$silentFails === 0) {
20576
- peg$fail(peg$e117);
20855
+ peg$fail(peg$e128);
20577
20856
  }
20578
20857
  }
20579
20858
  if (s0 === peg$FAILED) {
20580
- if (input.substr(peg$currPos, 6) === peg$c114) {
20581
- s0 = peg$c114;
20859
+ if (input.substr(peg$currPos, 6) === peg$c125) {
20860
+ s0 = peg$c125;
20582
20861
  peg$currPos += 6;
20583
20862
  } else {
20584
20863
  s0 = peg$FAILED;
20585
20864
  if (peg$silentFails === 0) {
20586
- peg$fail(peg$e118);
20865
+ peg$fail(peg$e129);
20587
20866
  }
20588
20867
  }
20589
20868
  if (s0 === peg$FAILED) {
20590
- if (input.substr(peg$currPos, 3) === peg$c115) {
20591
- s0 = peg$c115;
20869
+ if (input.substr(peg$currPos, 3) === peg$c126) {
20870
+ s0 = peg$c126;
20592
20871
  peg$currPos += 3;
20593
20872
  } else {
20594
20873
  s0 = peg$FAILED;
20595
20874
  if (peg$silentFails === 0) {
20596
- peg$fail(peg$e119);
20875
+ peg$fail(peg$e130);
20597
20876
  }
20598
20877
  }
20599
20878
  if (s0 === peg$FAILED) {
20600
- if (input.substr(peg$currPos, 6) === peg$c116) {
20601
- s0 = peg$c116;
20879
+ if (input.substr(peg$currPos, 6) === peg$c127) {
20880
+ s0 = peg$c127;
20602
20881
  peg$currPos += 6;
20603
20882
  } else {
20604
20883
  s0 = peg$FAILED;
20605
20884
  if (peg$silentFails === 0) {
20606
- peg$fail(peg$e120);
20885
+ peg$fail(peg$e131);
20607
20886
  }
20608
20887
  }
20609
20888
  if (s0 === peg$FAILED) {
20610
- if (input.substr(peg$currPos, 4) === peg$c117) {
20611
- s0 = peg$c117;
20889
+ if (input.substr(peg$currPos, 4) === peg$c128) {
20890
+ s0 = peg$c128;
20612
20891
  peg$currPos += 4;
20613
20892
  } else {
20614
20893
  s0 = peg$FAILED;
20615
20894
  if (peg$silentFails === 0) {
20616
- peg$fail(peg$e121);
20895
+ peg$fail(peg$e132);
20617
20896
  }
20618
20897
  }
20619
20898
  if (s0 === peg$FAILED) {
20620
- if (input.substr(peg$currPos, 6) === peg$c118) {
20621
- s0 = peg$c118;
20899
+ if (input.substr(peg$currPos, 6) === peg$c129) {
20900
+ s0 = peg$c129;
20622
20901
  peg$currPos += 6;
20623
20902
  } else {
20624
20903
  s0 = peg$FAILED;
20625
20904
  if (peg$silentFails === 0) {
20626
- peg$fail(peg$e122);
20905
+ peg$fail(peg$e133);
20627
20906
  }
20628
20907
  }
20629
20908
  if (s0 === peg$FAILED) {
20630
- if (input.substr(peg$currPos, 5) === peg$c119) {
20631
- s0 = peg$c119;
20909
+ if (input.substr(peg$currPos, 5) === peg$c130) {
20910
+ s0 = peg$c130;
20632
20911
  peg$currPos += 5;
20633
20912
  } else {
20634
20913
  s0 = peg$FAILED;
20635
20914
  if (peg$silentFails === 0) {
20636
- peg$fail(peg$e123);
20915
+ peg$fail(peg$e134);
20637
20916
  }
20638
20917
  }
20639
20918
  if (s0 === peg$FAILED) {
20640
- if (input.substr(peg$currPos, 6) === peg$c120) {
20641
- s0 = peg$c120;
20919
+ if (input.substr(peg$currPos, 6) === peg$c131) {
20920
+ s0 = peg$c131;
20642
20921
  peg$currPos += 6;
20643
20922
  } else {
20644
20923
  s0 = peg$FAILED;
20645
20924
  if (peg$silentFails === 0) {
20646
- peg$fail(peg$e124);
20925
+ peg$fail(peg$e135);
20647
20926
  }
20648
20927
  }
20649
20928
  }
@@ -20676,7 +20955,7 @@ function peg$parse(input, options) {
20676
20955
  s0 = peg$currPos;
20677
20956
  s1 = peg$parsebitmarkMinusMinusString();
20678
20957
  peg$savedPos = s0;
20679
- s1 = peg$f90(s1);
20958
+ s1 = peg$f91(s1);
20680
20959
  s0 = s1;
20681
20960
  peg$silentFails--;
20682
20961
  return s0;
@@ -20702,7 +20981,7 @@ function peg$parse(input, options) {
20702
20981
  }
20703
20982
  }
20704
20983
  peg$savedPos = s0;
20705
- s0 = peg$f91(s1, s2);
20984
+ s0 = peg$f92(s1, s2);
20706
20985
  peg$silentFails--;
20707
20986
  return s0;
20708
20987
  }
@@ -20712,7 +20991,7 @@ function peg$parse(input, options) {
20712
20991
  s1 = peg$parseNL();
20713
20992
  if (s1 !== peg$FAILED) {
20714
20993
  peg$savedPos = s0;
20715
- s1 = peg$f92();
20994
+ s1 = peg$f93();
20716
20995
  }
20717
20996
  s0 = s1;
20718
20997
  if (s0 === peg$FAILED) {
@@ -20841,7 +21120,7 @@ function peg$parse(input, options) {
20841
21120
  }
20842
21121
  if (s1 !== peg$FAILED) {
20843
21122
  peg$savedPos = s0;
20844
- s1 = peg$f93(s1);
21123
+ s1 = peg$f94(s1);
20845
21124
  }
20846
21125
  s0 = s1;
20847
21126
  }
@@ -20850,12 +21129,12 @@ function peg$parse(input, options) {
20850
21129
  function peg$parseBoldHalfTag() {
20851
21130
  let s0;
20852
21131
  if (input.charCodeAt(peg$currPos) === 42) {
20853
- s0 = peg$c121;
21132
+ s0 = peg$c132;
20854
21133
  peg$currPos++;
20855
21134
  } else {
20856
21135
  s0 = peg$FAILED;
20857
21136
  if (peg$silentFails === 0) {
20858
- peg$fail(peg$e125);
21137
+ peg$fail(peg$e136);
20859
21138
  }
20860
21139
  }
20861
21140
  return s0;
@@ -20863,12 +21142,12 @@ function peg$parse(input, options) {
20863
21142
  function peg$parseItalicHalfTag() {
20864
21143
  let s0;
20865
21144
  if (input.charCodeAt(peg$currPos) === 95) {
20866
- s0 = peg$c122;
21145
+ s0 = peg$c133;
20867
21146
  peg$currPos++;
20868
21147
  } else {
20869
21148
  s0 = peg$FAILED;
20870
21149
  if (peg$silentFails === 0) {
20871
- peg$fail(peg$e126);
21150
+ peg$fail(peg$e137);
20872
21151
  }
20873
21152
  }
20874
21153
  return s0;
@@ -20876,12 +21155,12 @@ function peg$parse(input, options) {
20876
21155
  function peg$parseLightHalfTag() {
20877
21156
  let s0;
20878
21157
  if (input.charCodeAt(peg$currPos) === 96) {
20879
- s0 = peg$c123;
21158
+ s0 = peg$c134;
20880
21159
  peg$currPos++;
20881
21160
  } else {
20882
21161
  s0 = peg$FAILED;
20883
21162
  if (peg$silentFails === 0) {
20884
- peg$fail(peg$e127);
21163
+ peg$fail(peg$e138);
20885
21164
  }
20886
21165
  }
20887
21166
  return s0;
@@ -20889,12 +21168,12 @@ function peg$parse(input, options) {
20889
21168
  function peg$parseHighlightHalfTag() {
20890
21169
  let s0;
20891
21170
  if (input.charCodeAt(peg$currPos) === 33) {
20892
- s0 = peg$c124;
21171
+ s0 = peg$c135;
20893
21172
  peg$currPos++;
20894
21173
  } else {
20895
21174
  s0 = peg$FAILED;
20896
21175
  if (peg$silentFails === 0) {
20897
- peg$fail(peg$e128);
21176
+ peg$fail(peg$e139);
20898
21177
  }
20899
21178
  }
20900
21179
  return s0;
@@ -20977,13 +21256,13 @@ function peg$parse(input, options) {
20977
21256
  }
20978
21257
  function peg$parseBodyBitOpenTag() {
20979
21258
  let s0;
20980
- if (input.substr(peg$currPos, 2) === peg$c125) {
20981
- s0 = peg$c125;
21259
+ if (input.substr(peg$currPos, 2) === peg$c136) {
21260
+ s0 = peg$c136;
20982
21261
  peg$currPos += 2;
20983
21262
  } else {
20984
21263
  s0 = peg$FAILED;
20985
21264
  if (peg$silentFails === 0) {
20986
- peg$fail(peg$e129);
21265
+ peg$fail(peg$e140);
20987
21266
  }
20988
21267
  }
20989
21268
  return s0;
@@ -20991,12 +21270,12 @@ function peg$parse(input, options) {
20991
21270
  function peg$parseBodyBitCloseTag() {
20992
21271
  let s0;
20993
21272
  if (input.charCodeAt(peg$currPos) === 93) {
20994
- s0 = peg$c126;
21273
+ s0 = peg$c137;
20995
21274
  peg$currPos++;
20996
21275
  } else {
20997
21276
  s0 = peg$FAILED;
20998
21277
  if (peg$silentFails === 0) {
20999
- peg$fail(peg$e130);
21278
+ peg$fail(peg$e141);
21000
21279
  }
21001
21280
  }
21002
21281
  return s0;
@@ -21042,7 +21321,7 @@ function peg$parse(input, options) {
21042
21321
  s3 = peg$parseBodyBitCloseTag();
21043
21322
  if (s3 !== peg$FAILED) {
21044
21323
  peg$savedPos = s0;
21045
- s0 = peg$f94(s2);
21324
+ s0 = peg$f95(s2);
21046
21325
  } else {
21047
21326
  peg$currPos = s0;
21048
21327
  s0 = peg$FAILED;
@@ -21132,7 +21411,7 @@ function peg$parse(input, options) {
21132
21411
  s3 = peg$parseBoldTag();
21133
21412
  if (s3 !== peg$FAILED) {
21134
21413
  peg$savedPos = s0;
21135
- s0 = peg$f95(s2);
21414
+ s0 = peg$f96(s2);
21136
21415
  } else {
21137
21416
  peg$currPos = s0;
21138
21417
  s0 = peg$FAILED;
@@ -21218,7 +21497,7 @@ function peg$parse(input, options) {
21218
21497
  s3 = peg$parseItalicTag();
21219
21498
  if (s3 !== peg$FAILED) {
21220
21499
  peg$savedPos = s0;
21221
- s0 = peg$f96(s2);
21500
+ s0 = peg$f97(s2);
21222
21501
  } else {
21223
21502
  peg$currPos = s0;
21224
21503
  s0 = peg$FAILED;
@@ -21304,7 +21583,7 @@ function peg$parse(input, options) {
21304
21583
  s3 = peg$parseLightTag();
21305
21584
  if (s3 !== peg$FAILED) {
21306
21585
  peg$savedPos = s0;
21307
- s0 = peg$f97(s2);
21586
+ s0 = peg$f98(s2);
21308
21587
  } else {
21309
21588
  peg$currPos = s0;
21310
21589
  s0 = peg$FAILED;
@@ -21390,7 +21669,7 @@ function peg$parse(input, options) {
21390
21669
  s3 = peg$parseHighlightTag();
21391
21670
  if (s3 !== peg$FAILED) {
21392
21671
  peg$savedPos = s0;
21393
- s0 = peg$f98(s2);
21672
+ s0 = peg$f99(s2);
21394
21673
  } else {
21395
21674
  peg$currPos = s0;
21396
21675
  s0 = peg$FAILED;
@@ -21475,22 +21754,22 @@ function peg$parse(input, options) {
21475
21754
  let s0, s1;
21476
21755
  peg$silentFails++;
21477
21756
  if (input.charCodeAt(peg$currPos) === 10) {
21478
- s0 = peg$c127;
21757
+ s0 = peg$c138;
21479
21758
  peg$currPos++;
21480
21759
  } else {
21481
21760
  s0 = peg$FAILED;
21482
21761
  if (peg$silentFails === 0) {
21483
- peg$fail(peg$e132);
21762
+ peg$fail(peg$e143);
21484
21763
  }
21485
21764
  }
21486
21765
  if (s0 === peg$FAILED) {
21487
- if (input.substr(peg$currPos, 2) === peg$c128) {
21488
- s0 = peg$c128;
21766
+ if (input.substr(peg$currPos, 2) === peg$c139) {
21767
+ s0 = peg$c139;
21489
21768
  peg$currPos += 2;
21490
21769
  } else {
21491
21770
  s0 = peg$FAILED;
21492
21771
  if (peg$silentFails === 0) {
21493
- peg$fail(peg$e133);
21772
+ peg$fail(peg$e144);
21494
21773
  }
21495
21774
  }
21496
21775
  if (s0 === peg$FAILED) {
@@ -21500,7 +21779,7 @@ function peg$parse(input, options) {
21500
21779
  } else {
21501
21780
  s0 = peg$FAILED;
21502
21781
  if (peg$silentFails === 0) {
21503
- peg$fail(peg$e134);
21782
+ peg$fail(peg$e145);
21504
21783
  }
21505
21784
  }
21506
21785
  }
@@ -21509,7 +21788,7 @@ function peg$parse(input, options) {
21509
21788
  if (s0 === peg$FAILED) {
21510
21789
  s1 = peg$FAILED;
21511
21790
  if (peg$silentFails === 0) {
21512
- peg$fail(peg$e131);
21791
+ peg$fail(peg$e142);
21513
21792
  }
21514
21793
  }
21515
21794
  return s0;
@@ -21522,7 +21801,7 @@ function peg$parse(input, options) {
21522
21801
  } else {
21523
21802
  s0 = peg$FAILED;
21524
21803
  if (peg$silentFails === 0) {
21525
- peg$fail(peg$e135);
21804
+ peg$fail(peg$e146);
21526
21805
  }
21527
21806
  }
21528
21807
  return s0;
@@ -21556,35 +21835,35 @@ function peg$parse(input, options) {
21556
21835
  let s0, s1, s2, s3, s4, s5, s6, s7, s8;
21557
21836
  s0 = peg$currPos;
21558
21837
  s1 = peg$currPos;
21559
- if (input.substr(peg$currPos, 4) === peg$c129) {
21560
- s2 = peg$c129;
21838
+ if (input.substr(peg$currPos, 4) === peg$c140) {
21839
+ s2 = peg$c140;
21561
21840
  peg$currPos += 4;
21562
21841
  } else {
21563
21842
  s2 = peg$FAILED;
21564
21843
  if (peg$silentFails === 0) {
21565
- peg$fail(peg$e136);
21844
+ peg$fail(peg$e147);
21566
21845
  }
21567
21846
  }
21568
21847
  if (s2 !== peg$FAILED) {
21569
21848
  if (input.charCodeAt(peg$currPos) === 115) {
21570
- s3 = peg$c130;
21849
+ s3 = peg$c141;
21571
21850
  peg$currPos++;
21572
21851
  } else {
21573
21852
  s3 = peg$FAILED;
21574
21853
  if (peg$silentFails === 0) {
21575
- peg$fail(peg$e137);
21854
+ peg$fail(peg$e148);
21576
21855
  }
21577
21856
  }
21578
21857
  if (s3 === peg$FAILED) {
21579
21858
  s3 = null;
21580
21859
  }
21581
- if (input.substr(peg$currPos, 3) === peg$c131) {
21582
- s4 = peg$c131;
21860
+ if (input.substr(peg$currPos, 3) === peg$c142) {
21861
+ s4 = peg$c142;
21583
21862
  peg$currPos += 3;
21584
21863
  } else {
21585
21864
  s4 = peg$FAILED;
21586
21865
  if (peg$silentFails === 0) {
21587
- peg$fail(peg$e138);
21866
+ peg$fail(peg$e149);
21588
21867
  }
21589
21868
  }
21590
21869
  if (s4 !== peg$FAILED) {
@@ -21662,35 +21941,35 @@ function peg$parse(input, options) {
21662
21941
  s0 = peg$currPos;
21663
21942
  s1 = peg$currPos;
21664
21943
  s2 = peg$currPos;
21665
- if (input.substr(peg$currPos, 4) === peg$c129) {
21666
- s3 = peg$c129;
21944
+ if (input.substr(peg$currPos, 4) === peg$c140) {
21945
+ s3 = peg$c140;
21667
21946
  peg$currPos += 4;
21668
21947
  } else {
21669
21948
  s3 = peg$FAILED;
21670
21949
  if (peg$silentFails === 0) {
21671
- peg$fail(peg$e136);
21950
+ peg$fail(peg$e147);
21672
21951
  }
21673
21952
  }
21674
21953
  if (s3 !== peg$FAILED) {
21675
21954
  if (input.charCodeAt(peg$currPos) === 115) {
21676
- s4 = peg$c130;
21955
+ s4 = peg$c141;
21677
21956
  peg$currPos++;
21678
21957
  } else {
21679
21958
  s4 = peg$FAILED;
21680
21959
  if (peg$silentFails === 0) {
21681
- peg$fail(peg$e137);
21960
+ peg$fail(peg$e148);
21682
21961
  }
21683
21962
  }
21684
21963
  if (s4 === peg$FAILED) {
21685
21964
  s4 = null;
21686
21965
  }
21687
- if (input.substr(peg$currPos, 3) === peg$c131) {
21688
- s5 = peg$c131;
21966
+ if (input.substr(peg$currPos, 3) === peg$c142) {
21967
+ s5 = peg$c142;
21689
21968
  peg$currPos += 3;
21690
21969
  } else {
21691
21970
  s5 = peg$FAILED;
21692
21971
  if (peg$silentFails === 0) {
21693
- peg$fail(peg$e138);
21972
+ peg$fail(peg$e149);
21694
21973
  }
21695
21974
  }
21696
21975
  if (s5 !== peg$FAILED) {
@@ -21705,13 +21984,13 @@ function peg$parse(input, options) {
21705
21984
  s2 = peg$FAILED;
21706
21985
  }
21707
21986
  if (s2 === peg$FAILED) {
21708
- if (input.substr(peg$currPos, 7) === peg$c132) {
21709
- s2 = peg$c132;
21987
+ if (input.substr(peg$currPos, 7) === peg$c143) {
21988
+ s2 = peg$c143;
21710
21989
  peg$currPos += 7;
21711
21990
  } else {
21712
21991
  s2 = peg$FAILED;
21713
21992
  if (peg$silentFails === 0) {
21714
- peg$fail(peg$e139);
21993
+ peg$fail(peg$e150);
21715
21994
  }
21716
21995
  }
21717
21996
  }
@@ -21776,7 +22055,7 @@ function peg$parse(input, options) {
21776
22055
  }
21777
22056
  s2 = input.substring(s2, peg$currPos);
21778
22057
  peg$savedPos = s0;
21779
- s0 = peg$f99(s1, s2);
22058
+ s0 = peg$f100(s1, s2);
21780
22059
  } else {
21781
22060
  peg$currPos = s0;
21782
22061
  s0 = peg$FAILED;
@@ -21791,7 +22070,7 @@ function peg$parse(input, options) {
21791
22070
  } else {
21792
22071
  s0 = peg$FAILED;
21793
22072
  if (peg$silentFails === 0) {
21794
- peg$fail(peg$e140);
22073
+ peg$fail(peg$e151);
21795
22074
  }
21796
22075
  }
21797
22076
  return s0;
@@ -23789,6 +24068,12 @@ var Builder = class extends BaseBuilder {
23789
24068
  data.machineTranslated,
23790
24069
  options
23791
24070
  ),
24071
+ translationOf: this.toAstProperty(
24072
+ bitType,
24073
+ ConfigKey.property_translationOf,
24074
+ data.translationOf,
24075
+ options
24076
+ ),
23792
24077
  spansPageBreak: this.toAstProperty(
23793
24078
  bitType,
23794
24079
  ConfigKey.property_spansPageBreak,
@@ -24505,6 +24790,12 @@ var Builder = class extends BaseBuilder {
24505
24790
  data.hasPrintRestriction,
24506
24791
  options
24507
24792
  ),
24793
+ enforceUpdateOverUserInput: this.toAstProperty(
24794
+ bitType,
24795
+ ConfigKey.property_enforceUpdateOverUserInput,
24796
+ data.enforceUpdateOverUserInput,
24797
+ options
24798
+ ),
24508
24799
  tocResource: this.toAstProperty(
24509
24800
  bitType,
24510
24801
  ConfigKey.property_tocResource,
@@ -30205,6 +30496,7 @@ var JsonGenerator = class extends AstWalkerGenerator {
30205
30496
  if (instance2.isOfBitType(bitType, BitType.book)) {
30206
30497
  if (bitJson.maxTocChapterLevel == null) bitJson.maxTocChapterLevel = -1;
30207
30498
  if (bitJson.hasPrintRestriction == null) bitJson.hasPrintRestriction = true;
30499
+ if (bitJson.enforceUpdateOverUserInput == null) bitJson.enforceUpdateOverUserInput = false;
30208
30500
  if (bitJson.hasMarkAsDone == null) bitJson.hasMarkAsDone = false;
30209
30501
  if (bitJson.processHandIn == null) bitJson.processHandIn = false;
30210
30502
  if (bitJson.isPublic == null) bitJson.isPublic = false;