@gmb/bitmark-parser-generator 1.2.1 → 1.2.2

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.
Files changed (105) hide show
  1. package/dist/browser/bitmark-parser-generator-antlr.min.js +1 -1
  2. package/dist/browser/bitmark-parser-generator.min.js +1 -1
  3. package/dist/browser/bundle-report.html +2 -2
  4. package/dist/cjs/ast/Builder.js +34 -77
  5. package/dist/cjs/ast/Builder.js.map +1 -1
  6. package/dist/cjs/config/bits/appFlashcardsBitConfig.js +20 -0
  7. package/dist/cjs/config/bits/appFlashcardsBitConfig.js.map +1 -0
  8. package/dist/cjs/config/bits/generic/cardSetBitConfigs.js +1 -1
  9. package/dist/cjs/config/bits/generic/cardSetBitConfigs.js.map +1 -1
  10. package/dist/cjs/config/config.js +2 -0
  11. package/dist/cjs/config/config.js.map +1 -1
  12. package/dist/cjs/config/properties/flashcardSetPropertyConfig.js +8 -0
  13. package/dist/cjs/config/properties/flashcardSetPropertyConfig.js.map +1 -0
  14. package/dist/cjs/generated/build-info.js +1 -1
  15. package/dist/cjs/generator/bitmark/BitmarkGenerator.js +4 -8
  16. package/dist/cjs/generator/bitmark/BitmarkGenerator.js.map +1 -1
  17. package/dist/cjs/generator/json/JsonGenerator.js +3 -0
  18. package/dist/cjs/generator/json/JsonGenerator.js.map +1 -1
  19. package/dist/cjs/model/ast/NodeType.js +2 -0
  20. package/dist/cjs/model/ast/NodeType.js.map +1 -1
  21. package/dist/cjs/model/enum/BitType.js +8 -0
  22. package/dist/cjs/model/enum/BitType.js.map +1 -1
  23. package/dist/cjs/model/enum/PropertyKey.js +1 -0
  24. package/dist/cjs/model/enum/PropertyKey.js.map +1 -1
  25. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js +12 -0
  26. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js.map +1 -1
  27. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserTypes.js.map +1 -1
  28. package/dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js +61 -56
  29. package/dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js.map +1 -1
  30. package/dist/cjs/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js +3 -1
  31. package/dist/cjs/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js.map +1 -1
  32. package/dist/cjs/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js +76 -10
  33. package/dist/cjs/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js.map +1 -1
  34. package/dist/cjs/parser/json/JsonParser.js +2 -1
  35. package/dist/cjs/parser/json/JsonParser.js.map +1 -1
  36. package/dist/cjs/utils/BitUtils.js +62 -0
  37. package/dist/cjs/utils/BitUtils.js.map +1 -1
  38. package/dist/esm/ast/Builder.js +34 -77
  39. package/dist/esm/ast/Builder.js.map +1 -1
  40. package/dist/esm/config/bits/appFlashcardsBitConfig.js +18 -0
  41. package/dist/esm/config/bits/appFlashcardsBitConfig.js.map +1 -0
  42. package/dist/esm/config/bits/generic/cardSetBitConfigs.js +1 -1
  43. package/dist/esm/config/bits/generic/cardSetBitConfigs.js.map +1 -1
  44. package/dist/esm/config/config.js +2 -0
  45. package/dist/esm/config/config.js.map +1 -1
  46. package/dist/esm/config/properties/flashcardSetPropertyConfig.js +6 -0
  47. package/dist/esm/config/properties/flashcardSetPropertyConfig.js.map +1 -0
  48. package/dist/esm/generated/build-info.js +1 -1
  49. package/dist/esm/generator/bitmark/BitmarkGenerator.js +4 -8
  50. package/dist/esm/generator/bitmark/BitmarkGenerator.js.map +1 -1
  51. package/dist/esm/generator/json/JsonGenerator.js +3 -0
  52. package/dist/esm/generator/json/JsonGenerator.js.map +1 -1
  53. package/dist/esm/model/ast/NodeType.js +2 -0
  54. package/dist/esm/model/ast/NodeType.js.map +1 -1
  55. package/dist/esm/model/enum/BitType.js +8 -0
  56. package/dist/esm/model/enum/BitType.js.map +1 -1
  57. package/dist/esm/model/enum/PropertyKey.js +1 -0
  58. package/dist/esm/model/enum/PropertyKey.js.map +1 -1
  59. package/dist/esm/parser/bitmark/peg/BitmarkPegParserProcessor.js +12 -0
  60. package/dist/esm/parser/bitmark/peg/BitmarkPegParserProcessor.js.map +1 -1
  61. package/dist/esm/parser/bitmark/peg/BitmarkPegParserTypes.js.map +1 -1
  62. package/dist/esm/parser/bitmark/peg/contentProcessors/CardContentProcessor.js +61 -56
  63. package/dist/esm/parser/bitmark/peg/contentProcessors/CardContentProcessor.js.map +1 -1
  64. package/dist/esm/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js +3 -1
  65. package/dist/esm/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js.map +1 -1
  66. package/dist/esm/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js +76 -10
  67. package/dist/esm/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js.map +1 -1
  68. package/dist/esm/parser/json/JsonParser.js +2 -1
  69. package/dist/esm/parser/json/JsonParser.js.map +1 -1
  70. package/dist/esm/utils/BitUtils.js +62 -0
  71. package/dist/esm/utils/BitUtils.js.map +1 -1
  72. package/dist/types/ast/Builder.d.ts +10 -8
  73. package/dist/types/ast/Builder.d.ts.map +1 -1
  74. package/dist/types/config/bits/appFlashcardsBitConfig.d.ts +2 -0
  75. package/dist/types/config/bits/appFlashcardsBitConfig.d.ts.map +1 -0
  76. package/dist/types/config/bits/generic/cardSetBitConfigs.d.ts.map +1 -1
  77. package/dist/types/config/config.d.ts +2 -0
  78. package/dist/types/config/config.d.ts.map +1 -1
  79. package/dist/types/config/properties/flashcardSetPropertyConfig.d.ts +2 -0
  80. package/dist/types/config/properties/flashcardSetPropertyConfig.d.ts.map +1 -0
  81. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts +1 -1
  82. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts.map +1 -1
  83. package/dist/types/generator/json/JsonGenerator.d.ts.map +1 -1
  84. package/dist/types/model/ast/NodeType.d.ts +4 -0
  85. package/dist/types/model/ast/NodeType.d.ts.map +1 -1
  86. package/dist/types/model/ast/Nodes.d.ts +6 -0
  87. package/dist/types/model/ast/Nodes.d.ts.map +1 -1
  88. package/dist/types/model/enum/BitType.d.ts +6 -0
  89. package/dist/types/model/enum/BitType.d.ts.map +1 -1
  90. package/dist/types/model/enum/PropertyKey.d.ts +2 -0
  91. package/dist/types/model/enum/PropertyKey.d.ts.map +1 -1
  92. package/dist/types/model/json/BitJson.d.ts +1 -0
  93. package/dist/types/model/json/BitJson.d.ts.map +1 -1
  94. package/dist/types/parser/bitmark/peg/BitmarkPegParserProcessor.d.ts +5 -0
  95. package/dist/types/parser/bitmark/peg/BitmarkPegParserProcessor.d.ts.map +1 -1
  96. package/dist/types/parser/bitmark/peg/BitmarkPegParserTypes.d.ts +1 -0
  97. package/dist/types/parser/bitmark/peg/BitmarkPegParserTypes.d.ts.map +1 -1
  98. package/dist/types/parser/bitmark/peg/contentProcessors/CardContentProcessor.d.ts.map +1 -1
  99. package/dist/types/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.d.ts +1 -1
  100. package/dist/types/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.d.ts.map +1 -1
  101. package/dist/types/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.d.ts.map +1 -1
  102. package/dist/types/parser/json/JsonParser.d.ts.map +1 -1
  103. package/dist/types/utils/BitUtils.d.ts +24 -1
  104. package/dist/types/utils/BitUtils.d.ts.map +1 -1
  105. package/package.json +2 -2
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.exampleTagContentProcessor = void 0;
4
4
  const BitType_1 = require("../../../../model/enum/BitType");
5
+ const BooleanUtils_1 = require("../../../../utils/BooleanUtils");
5
6
  // const builder = new Builder();
6
7
  function exampleTagContentProcessor(context, _bitLevel, bitType, content, target) {
7
8
  const { value } = content;
@@ -12,36 +13,50 @@ function exampleTagContentProcessor(context, _bitLevel, bitType, content, target
12
13
  case BitType_1.RootBitType.clozeAndMultipleChoiceText:
13
14
  case BitType_1.RootBitType.multipleChoiceText:
14
15
  case BitType_1.RootBitType.highlightText:
15
- handleGapOrSelectExample(context, bitType, example, target);
16
+ case BitType_1.RootBitType.trueFalse:
17
+ case BitType_1.RootBitType.trueFalse1:
18
+ case BitType_1.RootBitType.multipleResponse:
19
+ case BitType_1.RootBitType.multipleResponse1:
20
+ case BitType_1.RootBitType.multipleChoice:
21
+ case BitType_1.RootBitType.multipleChoice1:
22
+ handleGapOrSelectOrTrueFalseExample(context, bitType, content, example, target);
16
23
  break;
17
24
  case BitType_1.RootBitType.mark:
18
25
  // Default only example handling
19
- handleDefaultOnlyExample(context, bitType, example, target);
26
+ handleDefaultOnlyExample(context, bitType, content, example, target);
20
27
  break;
21
28
  default:
22
29
  // Standard example handling
23
- handleStandardExample(context, bitType, example, target);
30
+ handleStandardStringExample(context, bitType, content, example, target);
24
31
  }
25
32
  }
26
33
  exports.exampleTagContentProcessor = exampleTagContentProcessor;
27
- function handleGapOrSelectExample(context, bitType, example, target) {
34
+ function handleGapOrSelectOrTrueFalseExample(context, bitType, content, example, target) {
28
35
  var _a, _b;
29
36
  let trueFalse;
30
37
  if (Array.isArray(target.trueFalse) && target.trueFalse.length > 0) {
31
38
  trueFalse = (_a = target.trueFalse[target.trueFalse.length - 1]) !== null && _a !== void 0 ? _a : undefined;
32
39
  }
33
40
  if (trueFalse) {
41
+ // Example is set on the true/false tag [+...] / [-...]
34
42
  if (example === true) {
35
43
  trueFalse.isDefaultExample = true;
36
44
  trueFalse.example = undefined;
37
45
  }
38
46
  else {
39
- // TODO: This should raise a warning, because a value on the example tag is not allowed for select
40
- trueFalse.isDefaultExample = true;
41
- trueFalse.example = undefined;
47
+ if (BooleanUtils_1.BooleanUtils.isBooleanString(example)) {
48
+ trueFalse.example = example;
49
+ }
50
+ else {
51
+ // Example is set to a value other than true / false which is not valid in the case of select
52
+ trueFalse.isDefaultExample = true;
53
+ trueFalse.example = undefined;
54
+ context.addWarning(`Only 'true' / 'false' / default are allowed here, using default`, content);
55
+ }
42
56
  }
43
57
  }
44
58
  else if (Array.isArray(target.solutions) && target.solutions.length > 0) {
59
+ // Example is set on the gap solution tag [_...]
45
60
  if (example === true) {
46
61
  // Extract the solution nearest [@example] tag as the example value
47
62
  target.example = (_b = target.solutions[target.solutions.length - 1]) !== null && _b !== void 0 ? _b : undefined;
@@ -51,14 +66,65 @@ function handleGapOrSelectExample(context, bitType, example, target) {
51
66
  }
52
67
  }
53
68
  else {
54
- handleStandardExample(context, bitType, example, target);
69
+ // Example is higher up the chain, so how it is handled depends on the bit type
70
+ switch (bitType.root) {
71
+ default:
72
+ case BitType_1.RootBitType.cloze:
73
+ // Treat as a standard string
74
+ handleStandardStringExample(context, bitType, content, example, target);
75
+ break;
76
+ case BitType_1.RootBitType.multipleChoiceText:
77
+ case BitType_1.RootBitType.highlightText:
78
+ case BitType_1.RootBitType.trueFalse:
79
+ case BitType_1.RootBitType.trueFalse1:
80
+ case BitType_1.RootBitType.multipleResponse:
81
+ case BitType_1.RootBitType.multipleResponse1:
82
+ // Treat as a standard boolean
83
+ handleStandardBooleanExample(context, bitType, content, example, target);
84
+ break;
85
+ case BitType_1.RootBitType.clozeAndMultipleChoiceText:
86
+ case BitType_1.RootBitType.multipleChoice:
87
+ case BitType_1.RootBitType.multipleChoice1: {
88
+ // For these bits, a specific example value higher up the chain makes no sense
89
+ // Set example to default, and raise a warning if any value is set.
90
+ target.isDefaultExample = true;
91
+ target.example = undefined;
92
+ if (example !== true) {
93
+ // Example is set to a value other than true / false which is not valid in the case of select
94
+ context.addWarning(`At this level, only default [@example] is allowed, using default`, content);
95
+ }
96
+ break;
97
+ }
98
+ }
55
99
  }
56
100
  }
57
- function handleDefaultOnlyExample(_context, _bitType, _example, target) {
101
+ function handleDefaultOnlyExample(context, _bitType, content, example, target) {
102
+ // This bit can have only default examples - nothing else makes sense
58
103
  target.isDefaultExample = true;
59
104
  target.example = undefined;
105
+ if (example !== true) {
106
+ // Example is set to a value other than true / false which is not valid in the case of select
107
+ context.addWarning(`Only default [@example] is allowed, using default`, content);
108
+ }
109
+ }
110
+ function handleStandardBooleanExample(context, _bitType, content, example, target) {
111
+ if (example === true) {
112
+ target.isDefaultExample = true;
113
+ target.example = undefined;
114
+ }
115
+ else {
116
+ if (BooleanUtils_1.BooleanUtils.isBooleanString(example)) {
117
+ target.example = example;
118
+ }
119
+ else {
120
+ // Example is set to a value other than true / false which is not valid in the case of select
121
+ target.isDefaultExample = true;
122
+ target.example = undefined;
123
+ context.addWarning(`Only 'true' / 'false' / default are allowed here, using default`, content);
124
+ }
125
+ }
60
126
  }
61
- function handleStandardExample(_context, _bitType, example, target) {
127
+ function handleStandardStringExample(_context, _bitType, _content, example, target) {
62
128
  if (example === true) {
63
129
  target.isDefaultExample = true;
64
130
  target.example = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"ExampleTagContentProcessor.js","sourceRoot":"","sources":["../../../../../../src/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.ts"],"names":[],"mappings":";;;AAAA,4DAAsE;AAWtE,iCAAiC;AAEjC,SAAS,0BAA0B,CACjC,OAAgC,EAChC,SAA8B,EAC9B,OAAgB,EAChB,OAAmB,EACnB,MAAiC;IAEjC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAoB,CAAC;IACvC,MAAM,OAAO,GAAG,KAAyB,CAAC;IAE1C,iDAAiD;IAEjD,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,qBAAW,CAAC,KAAK,CAAC;QACvB,KAAK,qBAAW,CAAC,0BAA0B,CAAC;QAC5C,KAAK,qBAAW,CAAC,kBAAkB,CAAC;QACpC,KAAK,qBAAW,CAAC,aAAa;YAC5B,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM;QACR,KAAK,qBAAW,CAAC,IAAI;YACnB,gCAAgC;YAChC,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM;QACR;YACE,4BAA4B;YAC5B,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KAC5D;AACH,CAAC;AA2DQ,gEAA0B;AAzDnC,SAAS,wBAAwB,CAC/B,OAAgC,EAChC,OAAgB,EAChB,OAAyB,EACzB,MAAiC;;IAEjC,IAAI,SAAqC,CAAC;IAE1C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QAClE,SAAS,GAAG,MAAA,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,mCAAI,SAAS,CAAC;KACxE;IAED,IAAI,SAAS,EAAE;QACb,IAAI,OAAO,KAAK,IAAI,EAAE;YACpB,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAClC,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;SAC/B;aAAM;YACL,kGAAkG;YAClG,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAClC,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;SAC/B;KACF;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QACzE,IAAI,OAAO,KAAK,IAAI,EAAE;YACpB,mEAAmE;YACnE,MAAM,CAAC,OAAO,GAAG,MAAA,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,mCAAI,SAAS,CAAC;SAC7E;aAAM;YACL,MAAM,CAAC,OAAO,GAAG,OAAiB,CAAC;SACpC;KACF;SAAM;QACL,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KAC1D;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAiC,EACjC,QAAiB,EACjB,QAA0B,EAC1B,MAAiC;IAEjC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;AAC7B,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAiC,EACjC,QAAiB,EACjB,OAAyB,EACzB,MAAiC;IAEjC,IAAI,OAAO,KAAK,IAAI,EAAE;QACpB,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;KAC5B;SAAM;QACL,MAAM,CAAC,OAAO,GAAG,OAAiB,CAAC;KACpC;AACH,CAAC"}
1
+ {"version":3,"file":"ExampleTagContentProcessor.js","sourceRoot":"","sources":["../../../../../../src/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.ts"],"names":[],"mappings":"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"}
@@ -122,7 +122,7 @@ class JsonParser {
122
122
  }
123
123
  bitToAst(bit) {
124
124
  var _a;
125
- const { type, format, id, externalId, spaceId, padletId, AIGenerated, releaseVersion, ageRange, language, computerLanguage, target, tag, icon, iconTag, colorTag, subtype, coverImage, publisher, publications, author, date, location, theme, kind, action, thumbImage, focusX, focusY, duration, deeplink, externalLink, externalLinkText, videoCallLink, bot, list, textReference, isTracked, isInfoOnly, labelTrue, labelFalse, quotedPerson, book, title, subtitle, level, toc, progress, anchor, reference: referenceIn, referenceEnd, item, lead, hint, instruction, example, partner, marks, resource, body, sampleSolution, elements, statement, isCorrect, cards, statements, responses, quizzes, heading, pairs, matrix, choices, questions, footer, placeholders, } = bit;
125
+ const { type, format, id, externalId, spaceId, padletId, AIGenerated, releaseVersion, ageRange, language, computerLanguage, target, tag, icon, iconTag, colorTag, flashcardSet, subtype, coverImage, publisher, publications, author, date, location, theme, kind, action, thumbImage, focusX, focusY, duration, deeplink, externalLink, externalLinkText, videoCallLink, bot, list, textReference, isTracked, isInfoOnly, labelTrue, labelFalse, quotedPerson, book, title, subtitle, level, toc, progress, anchor, reference: referenceIn, referenceEnd, item, lead, hint, instruction, example, partner, marks, resource, body, sampleSolution, elements, statement, isCorrect, cards, statements, responses, quizzes, heading, pairs, matrix, choices, questions, footer, placeholders, } = bit;
126
126
  // Bit type
127
127
  const bitType = BitType_1.BitTypeUtils.getBitType(type);
128
128
  // Text Format
@@ -172,6 +172,7 @@ class JsonParser {
172
172
  icon,
173
173
  iconTag,
174
174
  colorTag,
175
+ flashcardSet,
175
176
  subtype,
176
177
  coverImage,
177
178
  publisher,
@@ -1 +1 @@
1
- {"version":3,"file":"JsonParser.js","sourceRoot":"","sources":["../../../../src/parser/json/JsonParser.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,+DAA4D;AAC5D,sEAAmE;AAEnE,sDAA8E;AAC9E,8DAA2D;AAC3D,gEAA+E;AAC/E,4DAAyE;AAGzE,yDAAsD;AA6EtD,MAAM,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;AAC9B,MAAM,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU;IAGd;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,6BAAa,EAAE,CAAC;IAC3C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAa;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAsB,EAAE,CAAC;QAExC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;YAE3B,mBAAmB;YACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,QAAQ,EAAE;gBACZ,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC1B;SACF;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7D,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAElC,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,IAAsB;QACnC,MAAM,WAAW,GAAqB,EAAE,CAAC;QAEzC,IAAI,yBAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC9B,MAAM,GAAG,GAAG,IAAc,CAAC;YAC3B,IAAI;gBACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACxB;YAAC,OAAO,CAAC,EAAE;gBACV,2CAA2C;gBAC3C,OAAO,EAAE,CAAC;aACX;SACF;QAED,+GAA+G;QAC/G,MAAM,oBAAoB,GAAG,CAAC,IAAa,EAAQ,EAAE;YACnD,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;gBAC3B,MAAM,CAAC,GAAG,IAAsB,CAAC;gBACjC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACrB;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBAC3B,MAAM,CAAC,GAAG,IAAe,CAAC;gBAC1B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC;QAEF,qGAAqG;QACrG,mBAAmB;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;gBACvB,oBAAoB,CAAC,IAAI,CAAC,CAAC;aAC5B;SACF;aAAM;YACL,oBAAoB,CAAC,IAAI,CAAC,CAAC;SAC5B;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,UAAmB;QAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;YAC3D,MAAM,CAAC,GAAG,UAA4B,CAAC;YACvC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAC1B;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAY;QAChB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE;YACrD,MAAM,CAAC,GAAG,GAAc,CAAC;YACzB,OAAO,sBAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAW,CAAC,MAAM,CAAC;SACpE;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,GAAY;QAC1B,OAAO;YACL,GAAG;SACJ,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,GAAY;;QAC3B,MAAM,EACJ,IAAI,EACJ,MAAM,EACN,EAAE,EACF,UAAU,EACV,OAAO,EACP,QAAQ,EACR,WAAW,EACX,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,GAAG,EACH,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,MAAM,EACN,UAAU,EACV,MAAM,EACN,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,GAAG,EACH,IAAI,EACJ,aAAa,EACb,SAAS,EACT,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,GAAG,EACH,QAAQ,EACR,MAAM,EACN,SAAS,EAAE,WAAW,EACtB,YAAY,EACZ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,OAAO,EACP,OAAO,EACP,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,QAAQ,EACR,SAAS,EACT,SAAS,EACT,KAAK,EACL,UAAU,EACV,SAAS,EACT,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,OAAO,EACP,SAAS,EACT,MAAM,EACN,YAAY,GACb,GAAG,GAAG,CAAC;QAER,WAAW;QACX,MAAM,OAAO,GAAG,sBAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE9C,cAAc;QACd,MAAM,UAAU,GAAG,MAAA,uBAAU,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAI,uBAAU,CAAC,iBAAiB,CAAC;QAEhF,WAAW;QACX,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAErD,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAEhE,UAAU;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAElD,cAAc;QACd,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEtD,aAAa;QACb,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEtD,aAAa;QACb,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAE1F,YAAY;QACZ,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAA2B,CAAC,CAAC;QAEnF,UAAU;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEvD,UAAU;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAElD,QAAQ;QACR,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE7C,SAAS;QACT,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAEjD,UAAU;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAElD,YAAY;QACZ,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAExD,eAAe;QACf,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAA8B,CAAC,CAAC;QAE5F,SAAS;QACT,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAExD,yCAAyC;QACzC,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAE1E,YAAY;QACZ,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,6CACzB,OAAO,EACP,UAAU,EAAE,MAAwB,EACpC,EAAE;YACF,UAAU;YACV,OAAO;YACP,QAAQ,EACR,WAAW,EAAE,WAAW,EACxB,cAAc;YACd,QAAQ;YACR,QAAQ;YACR,gBAAgB;YAChB,MAAM;YACN,GAAG;YACH,IAAI;YACJ,OAAO;YACP,QAAQ;YACR,OAAO;YACP,UAAU;YACV,SAAS;YACT,YAAY;YACZ,MAAM;YACN,IAAI;YACJ,QAAQ;YACR,KAAK;YACL,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,iBAAiB;YACjB,UAAU;YACV,MAAM;YACN,MAAM;YACN,QAAQ;YACR,YAAY;YACZ,gBAAgB;YAChB,aAAa;YACb,GAAG;YACH,IAAI;YACJ,aAAa;YACb,SAAS;YACT,UAAU;YACV,SAAS;YACT,UAAU;YACV,YAAY;YACZ,IAAI,EACJ,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAClC,KAAK;YACL,GAAG;YACH,QAAQ;YACR,MAAM;YACN,SAAS;YACT,YAAY,IACT,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,cAAc,EAC9B,QAAQ,EACR,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,UAAU,IAClB,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,OAAqB;QAC3C,IAAI,IAAyB,CAAC;QAE9B,IAAI,OAAO,EAAE;YACX,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,2BAAY,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAA8B,CAAC;YACjH,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;SAC7D;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,kBAAkB,CAAC,KAAwB;QACjD,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;gBACrB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;oBAC9B,IAAI;oBACJ,KAAK;oBACL,QAAQ;iBACT,CAAC,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,kBAAkB,CAAC,UAA4B;QACrD,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;gBAC1B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC3F,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,+BAC5B,QAAQ;oBACR,MAAM;oBACN,kBAAkB,IACf,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,kBAAkB,CACxB,SAAkB,EAClB,SAAmB,EACnB,UAA4B,EAC5B,OAAqB;QAErB,MAAM,KAAK,GAAgB,EAAE,CAAC;QAE9B,IAAI,SAAS,EAAE;YACb,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,iBAAG,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,KAAK,IAAK,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAG,CAAC;YAClH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClB;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;gBAC1B,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;gBAC5F,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,6CAC5B,IAAI,EAAE,SAAS,EACf,SAAS,IACN,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,eAAe,IACf,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,eAAe,CAAC,OAAsB;QAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;gBACvB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;gBACzF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,6CACzB,IAAI,EAAE,MAAM,EACZ,SAAS,IACN,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,eAAe,IACf,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,OAAgB,EAAE,SAA0B;QACpE,MAAM,KAAK,GAAe,EAAE,CAAC;QAE7B,uFAAuF;QACvF,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAW,CAAC,iBAAiB;YAAE,OAAO,SAAS,CAAC;QAErE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;gBACzB,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;gBAC3F,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,6CAC3B,IAAI,EAAE,QAAQ,EACd,SAAS,IACN,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,eAAe,IACf,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,qBAAqB,CAAC,OAA4B;QACxD,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;gBACvB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;gBACvF,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,6CAC/B,IAAI;oBACJ,SAAS,IACN,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,eAAe,IACf,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,sBAAsB,CAAC,cAAoC;QACjE,MAAM,KAAK,GAAoB,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACjC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE;gBAC9B,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;gBACtG,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,6CAChC,IAAI;oBACJ,SAAS;oBACT,aAAa,IACV,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,eAAe,IACf,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,aAAa,CAAC,OAAgB,EAAE,OAAoB;QAC1D,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;gBACvB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;gBAChE,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAClD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACjE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,iCACpB,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,KACnE,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,IACxB,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,eAAe,CAAC,OAAqB;QAC3C,IAAI,IAAyB,CAAC;QAC9B,IAAI,OAAO,EAAE;YACX,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;SACpF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,KAAkB;QACtC,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;gBACrB,MAAM,EACJ,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,OAAO,EACP,eAAe,EACf,YAAY,GACb,GAAG,CAAC,CAAC;gBAEN,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,2BAAY,CAAC,KAAK,EAAE,QAAQ,CAAkB,CAAC;gBACpF,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,2BAAY,CAAC,KAAK,EAAE,QAAQ,CAAkB,CAAC;gBAEpF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,6CACvB,GAAG,EACH,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,KAAK,EACf,MAAM,IACH,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,eAAe,EACf,aAAa,EAAE,CAAC,YAAY,IAC5B,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,eAAe,CAAC,MAAqB;;QAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;gBACtB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;gBAChG,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,6CACzB,GAAG,EACH,KAAK,EAAE,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,mCAAI,EAAE,IACtC,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,eAAe,EACf,aAAa,EAAE,CAAC,YAAY,IAC5B,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,gBAAgB,CAAC,WAA8B;QACrD,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC9B,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE;gBAC5B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;gBAE9D,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,+BAC7B,MAAM,IACH,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,SAA0B;QAClD,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;gBACzB,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,cAAc,EACd,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,OAAO,EACP,eAAe,EACf,aAAa,GACd,GAAG,CAAC,CAAC;gBACN,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,6CAC3B,QAAQ;oBACR,aAAa;oBACb,cAAc,IACX,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,eAAe;oBACf,aAAa,IACb,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,oBAAoB,CAAC,OAAgB,EAAE,SAA6B;QAC1E,MAAM,KAAK,GAAkB,EAAE,CAAC;QAEhC,gGAAgG;QAChG,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAW,CAAC,iBAAiB;YAAE,OAAO,SAAS,CAAC;QAErE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;gBACzB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;oBAC/B,QAAQ;oBACR,QAAQ;oBACR,QAAQ;oBACR,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;iBAC3B,CAAC,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,gBAAgB,CAAC,QAAuB;;QAC9C,IAAI,IAA0B,CAAC;QAE/B,IAAI,QAAQ,EAAE;YACZ,MAAM,WAAW,GAAG,MAAA,2BAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,mCAAI,2BAAY,CAAC,OAAO,CAAC;YACrF,IAAI,IAAkC,CAAC;YAEvC,sCAAsC;YACtC,IAAI,QAAQ,CAAC,IAAI,KAAK,2BAAY,CAAC,cAAc,EAAE;gBACjD,MAAM,CAAC,GAAG,QAAiD,CAAC;gBAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,2BAAY,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAkB,CAAC;gBACvF,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,2BAAY,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAkB,CAAC;gBACvF,IAAI,GAAG,eAAe,CAAC,sBAAsB,CAAC;oBAC5C,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;aACJ;iBAAM;gBACL,gCAAgC;gBAEhC,8DAA8D;gBAC9D,IAAI,GAAI,QAAgB,CAAC,WAAW,CAAC,CAAC;gBAEtC,IAAI,CAAC,IAAI;oBAAE,OAAO,SAAS,CAAC;gBAE5B,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACpD;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iBAAiB,CAAC,IAAsB,EAAE,IAAgC;;QAChF,IAAI,IAA0B,CAAC;QAE/B,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,IAAI;gBAAE,OAAO,SAAS,CAAC;YAE5B,MAAM,YAAY,GAAuB,yBAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAEnG,yBAAyB;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC;YAEvF,gBAAgB;YAChB,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,2BAAY,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAkB,CAAC;YAClG,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;gBAChC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,2BAAY,CAAC,KAAK,EAAE,CAAC,CAAkB,CAAC;gBACxE,CAAC,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAC;YAEd,WAAW;YACX,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC;gBAC9B,IAAI;gBAEJ,sCAAsC;gBACtC,KAAK,EAAE,GAAG;gBAEV,iFAAiF;gBACjF,MAAM,EAAE,IAAI,CAAC,MAAM;gBAEnB,oBAAoB;gBACpB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;gBAErC,wCAAwC;gBACxC,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,SAAS;gBAC9B,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,SAAS;gBAChC,GAAG,EAAE,IAAI,CAAC,GAAG;gBAEb,oBAAoB;gBACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,WAAW;gBACX,UAAU;gBAEV,sBAAsB;gBACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBAEvB,mBAAmB;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,SAAS,CAAC,IAAU,EAAE,UAA0B,EAAE,YAA0B;QAClF,IAAI,IAAsB,CAAC;QAC3B,IAAI,OAA2B,CAAC;QAChC,MAAM,gBAAgB,GAElB,EAAE,CAAC;QAEP,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,2CAA2C;YAE3C,wDAAwD;YACxD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAE3C,4CAA4C;YAC5C,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;SACrD;aAAM;YACL,4BAA4B;YAC5B,OAAO,GAAG,IAAI,CAAC;SAChB;QAED,eAAe;QACf,IAAI,YAAY,EAAE;YAChB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBACrD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBACnC,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAc,CAAC;aACxC;SACF;QAED,IAAI,OAAO,EAAE;YACX,oDAAoD;YACpD,MAAM,aAAa,GAAe,EAAE,CAAC;YACrC,MAAM,SAAS,GAAa,yBAAW,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAElG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAE9B,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE;oBAC9B,0BAA0B;oBAC1B,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;iBAChD;qBAAM;oBACL,gBAAgB;oBAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC9C,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC9B;aACF;YAED,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;SACnD;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,QAAgB;QACpC,OAAO,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEO,YAAY,CAAC,GAAgB;QACnC,QAAQ,GAAG,CAAC,IAAI,EAAE;YAChB,KAAK,yBAAW,CAAC,GAAG,CAAC,CAAC;gBACpB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAClC,OAAO,GAAG,CAAC;aACZ;YACD,KAAK,yBAAW,CAAC,IAAI,CAAC,CAAC;gBACrB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC;aACb;YACD,KAAK,yBAAW,CAAC,MAAM,CAAC,CAAC;gBACvB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBACxC,OAAO,MAAM,CAAC;aACf;YACD,KAAK,yBAAW,CAAC,SAAS,CAAC,CAAC;gBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBAC/C,OAAO,UAAU,CAAC;aACnB;SACF;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAEO,WAAW,CAAC,UAAgB,EAAE,UAA0B;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEpD,IAAI,IAAI,EAAE;YACR,OAAO,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACrC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,cAAc,CAAC,SAA4B;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACpD,OAAO;gBACL,SAAS,EAAE,SAAS;gBACpB,iBAAiB,EAAE,SAAS;aAC7B,CAAC;SACH;QAED,OAAO;YACL,SAAS,EAAE,SAAmB;YAC9B,iBAAiB,EAAE,SAAS;SAC7B,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,GAAY;QAC9B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;QAEnF,YAAY;QACZ,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,6CACzB,SAAS,IACN,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,eAAe,IACf,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY,CAAC,GAAa;QAChC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAEvE,YAAY;QACZ,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,+BAC1B,QAAQ;YACR,IAAI,IACD,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAC7B,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,cAAc,CAAC,GAAe;QACpC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAEjF,qBAAqB;QACrB,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE9D,YAAY;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,6CACzB,OAAO,EAAE,iBAAiB,EAC1B,MAAM;YACN,OAAO,IACJ,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,eAAe,EAAE,IAAI,IACrB,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iBAAiB,CAAC,GAAkB;QAC1C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAE/E,qBAAqB;QACrB,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAE9D,YAAY;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,6CAC5B,KAAK,EAAE,kBAAkB,EACzB,MAAM;YACN,OAAO,IACJ,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,GAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAC7B,eAAe,EAAE,IAAI,IACrB,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,4BAA4B,CAAC,IAAU,EAAE,IAAU,EAAE,IAAU,EAAE,WAAiB;QACxF,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SACzC,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,OAAgC;QACnD,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAiB,CAAC,CAAC;QACrD,IAAI,UAAU,EAAE;YACd,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;SAChC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAEO,SAAS,CAAC,IAAsB,EAAE,UAA2B;QACnE,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,8CAA8C;YAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAErE,OAAO,UAAU,CAAC;SACnB;QAED,OAAO,IAAc,CAAC;IACxB,CAAC;CACF;AAEQ,gCAAU"}
1
+ {"version":3,"file":"JsonParser.js","sourceRoot":"","sources":["../../../../src/parser/json/JsonParser.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BitUtils = void 0;
4
4
  const BitType_1 = require("../model/enum/BitType");
5
5
  const ResourceType_1 = require("../model/enum/ResourceType");
6
+ const BooleanUtils_1 = require("./BooleanUtils");
6
7
  class BitUtils {
7
8
  /**
8
9
  * Calculate the valid bit resource type based on the bit type, resource type, and resource.
@@ -28,6 +29,67 @@ class BitUtils {
28
29
  }
29
30
  return ret;
30
31
  }
32
+ /**
33
+ * Helper function to fill in the example / isExample of a node based on the values of isDefaultExample and example.
34
+ * This function if for 'string' examples.
35
+ *
36
+ * @param nodes
37
+ * @param isDefaultExample
38
+ * @param example
39
+ * @param firstOnly
40
+ * @returns
41
+ */
42
+ fillStringExample(nodes, isDefaultExample, example, firstOnly) {
43
+ if (!nodes)
44
+ return;
45
+ if (!Array.isArray(nodes))
46
+ nodes = [nodes];
47
+ for (const node of nodes) {
48
+ if (!node.isExample) {
49
+ if (isDefaultExample) {
50
+ node.isDefaultExample = true;
51
+ node.isExample = true;
52
+ }
53
+ else {
54
+ node.isDefaultExample = false;
55
+ node.example = example;
56
+ }
57
+ if (firstOnly)
58
+ break;
59
+ }
60
+ }
61
+ }
62
+ /**
63
+ * Helper function to fill in the example / isExample of a node based on the values of isDefaultExample and example.
64
+ * This function if for 'boolean' examples.
65
+ *
66
+ * @param nodes
67
+ * @param isDefaultExample
68
+ * @param example
69
+ * @param firstCorrectOnly
70
+ * @returns
71
+ */
72
+ fillBooleanExample(nodes, isDefaultExample, example, firstCorrectOnly) {
73
+ if (!nodes)
74
+ return;
75
+ if (!Array.isArray(nodes))
76
+ nodes = [nodes];
77
+ for (const node of nodes) {
78
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
79
+ if (!node.isExample && (!firstCorrectOnly || node.isCorrect)) {
80
+ if (isDefaultExample) {
81
+ node.isDefaultExample = true;
82
+ node.isExample = true;
83
+ }
84
+ else {
85
+ node.isDefaultExample = false;
86
+ node.example = BooleanUtils_1.BooleanUtils.toBoolean(example);
87
+ }
88
+ if (firstCorrectOnly)
89
+ break;
90
+ }
91
+ }
92
+ }
31
93
  }
32
94
  const instance = new BitUtils();
33
95
  exports.BitUtils = instance;
@@ -1 +1 @@
1
- {"version":3,"file":"BitUtils.js","sourceRoot":"","sources":["../../../src/utils/BitUtils.ts"],"names":[],"mappings":";;;AACA,mDAAkF;AAClF,6DAA4E;AAE5E,MAAM,QAAQ;IACZ;;;;;;;OAOG;IACH,0BAA0B,CACxB,OAAgB,EAChB,YAAgC,EAChC,QAA8B;QAE9B,IAAI,GAAiC,CAAC;QAEtC,IAAI,YAAY,EAAE;YAChB,GAAG,GAAG,2BAAY,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE;YACpB,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;SACrB;QAED,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,GAAG,qBAAW,CAAC,WAAW,CAAsB,OAAO,CAAC,IAAI,CAAC,CAAC;YAExE,IAAI,IAAI,EAAE;gBACR,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;aACzB;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAEX,4BAAQ"}
1
+ {"version":3,"file":"BitUtils.js","sourceRoot":"","sources":["../../../src/utils/BitUtils.ts"],"names":[],"mappings":";;;AAEA,mDAAkF;AAClF,6DAA4E;AAE5E,iDAA8C;AAE9C,MAAM,QAAQ;IACZ;;;;;;;OAOG;IACH,0BAA0B,CACxB,OAAgB,EAChB,YAAgC,EAChC,QAA8B;QAE9B,IAAI,GAAiC,CAAC;QAEtC,IAAI,YAAY,EAAE;YAChB,GAAG,GAAG,2BAAY,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE;YACpB,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;SACrB;QAED,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,GAAG,qBAAW,CAAC,WAAW,CAAsB,OAAO,CAAC,IAAI,CAAC,CAAC;YAExE,IAAI,IAAI,EAAE;gBACR,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;aACzB;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,iBAAiB,CACf,KAAkC,EAClC,gBAAqC,EACrC,OAA4B,EAC5B,SAAkB;QAElB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;QAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,gBAAgB,EAAE;oBACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;qBAAM;oBACL,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;iBACxB;gBACD,IAAI,SAAS;oBAAE,MAAM;aACtB;SACF;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,kBAAkB,CAChB,KAAkC,EAClC,gBAAqC,EACrC,OAA4B,EAC5B,gBAAyB;QAEzB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;QAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,8DAA8D;YAC9D,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,gBAAgB,IAAK,IAAY,CAAC,SAAS,CAAC,EAAE;gBACrE,IAAI,gBAAgB,EAAE;oBACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;qBAAM;oBACL,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,IAAI,CAAC,OAAO,GAAG,2BAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;iBAChD;gBACD,IAAI,gBAAgB;oBAAE,MAAM;aAC7B;SACF;IACH,CAAC;CACF;AAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAEX,4BAAQ"}
@@ -37,11 +37,11 @@ class Builder extends BaseBuilder {
37
37
  */
38
38
  bit(data) {
39
39
  var _a;
40
- const { bitType, textFormat, resourceType, id, externalId, spaceId, padletId, aiGenerated, releaseVersion, ageRange, language, computerLanguage, target, tag, icon, iconTag, colorTag, subtype, coverImage, publisher, publications, author, subject, date, location, theme, kind, action, thumbImage, focusX, focusY, duration, referenceProperty, deeplink, externalLink, externalLinkText, videoCallLink, bot, list, textReference, isTracked, isInfoOnly, labelTrue, labelFalse, book, quotedPerson, partialAnswer, levelProperty, title, subtitle, level, toc, progress, anchor, reference, referenceEnd, item, lead, hint, instruction, isDefaultExample, example, partner, markConfig, extraProperties, resource, body, sampleSolution, footer, markup, parser, } = data;
40
+ const { bitType, textFormat, resourceType, id, externalId, spaceId, padletId, aiGenerated, releaseVersion, ageRange, language, computerLanguage, target, tag, icon, iconTag, colorTag, flashcardSet, subtype, coverImage, publisher, publications, author, subject, date, location, theme, kind, action, thumbImage, focusX, focusY, duration, referenceProperty, deeplink, externalLink, externalLinkText, videoCallLink, bot, list, textReference, isTracked, isInfoOnly, labelTrue, labelFalse, book, quotedPerson, partialAnswer, levelProperty, title, subtitle, level, toc, progress, anchor, reference, referenceEnd, item, lead, hint, instruction, isDefaultExample, example, partner, markConfig, extraProperties, resource, body, sampleSolution, footer, markup, parser, } = data;
41
41
  // Set the card node data
42
42
  const cardNode = this.cardNode(data);
43
43
  // NOTE: Node order is important and is defined here
44
- const node = Object.assign(Object.assign({ bitType, textFormat: (_a = TextFormat.fromValue(textFormat)) !== null && _a !== void 0 ? _a : TextFormat.bitmarkMinusMinus, resourceType: BitUtils.calculateValidResourceType(bitType, resourceType, resource), id: this.toAstProperty(PropertyKey.id, id), externalId: this.toAstProperty(PropertyKey.externalId, externalId), spaceId: this.toAstProperty(PropertyKey.spaceId, spaceId), padletId: this.toAstProperty(PropertyKey.padletId, padletId), aiGenerated: this.toAstProperty(PropertyKey.aiGenerated, aiGenerated), releaseVersion: this.toAstProperty(PropertyKey.releaseVersion, releaseVersion), book, ageRange: this.toAstProperty(PropertyKey.ageRange, ageRange), language: this.toAstProperty(PropertyKey.language, language), computerLanguage: this.toAstProperty(PropertyKey.computerLanguage, computerLanguage), target: this.toAstProperty(PropertyKey.target, target), tag: this.toAstProperty(PropertyKey.tag, tag), icon: this.toAstProperty(PropertyKey.icon, icon), iconTag: this.toAstProperty(PropertyKey.iconTag, iconTag), colorTag: this.toAstProperty(PropertyKey.colorTag, colorTag), subtype: this.toAstProperty(PropertyKey.subtype, subtype), coverImage: this.toAstProperty(PropertyKey.coverImage, coverImage), publisher: this.toAstProperty(PropertyKey.publisher, publisher), publications: this.toAstProperty(PropertyKey.publications, publications), author: this.toAstProperty(PropertyKey.author, author), subject: this.toAstProperty(PropertyKey.subject, subject), date: this.toAstProperty(PropertyKey.date, date), location: this.toAstProperty(PropertyKey.location, location), theme: this.toAstProperty(PropertyKey.theme, theme), kind: this.toAstProperty(PropertyKey.kind, kind), action: this.toAstProperty(PropertyKey.action, action), thumbImage: this.toAstProperty(PropertyKey.thumbImage, thumbImage), focusX: this.toAstProperty(PropertyKey.focusX, focusX), focusY: this.toAstProperty(PropertyKey.focusY, focusY), deeplink: this.toAstProperty(PropertyKey.deeplink, deeplink), externalLink: this.toAstProperty(PropertyKey.externalLink, externalLink), externalLinkText: this.toAstProperty(PropertyKey.externalLinkText, externalLinkText), videoCallLink: this.toAstProperty(PropertyKey.videoCallLink, videoCallLink), bot: this.toAstProperty(PropertyKey.bot, bot), duration: this.toAstProperty(PropertyKey.duration, duration), referenceProperty: this.toAstProperty(PropertyKey.reference, referenceProperty), list: this.toAstProperty(PropertyKey.list, list), textReference: this.toAstProperty(PropertyKey.textReference, textReference), isTracked: this.toAstProperty(PropertyKey.isTracked, isTracked), isInfoOnly: this.toAstProperty(PropertyKey.isInfoOnly, isInfoOnly), labelTrue: this.toAstProperty(PropertyKey.labelTrue, labelTrue), labelFalse: this.toAstProperty(PropertyKey.labelFalse, labelFalse), quotedPerson: this.toAstProperty(PropertyKey.quotedPerson, quotedPerson), partialAnswer: this.toAstProperty(PropertyKey.partialAnswer, partialAnswer), levelProperty: this.toAstProperty(PropertyKey.level, levelProperty), title,
44
+ const node = Object.assign(Object.assign({ bitType, textFormat: (_a = TextFormat.fromValue(textFormat)) !== null && _a !== void 0 ? _a : TextFormat.bitmarkMinusMinus, resourceType: BitUtils.calculateValidResourceType(bitType, resourceType, resource), id: this.toAstProperty(PropertyKey.id, id), externalId: this.toAstProperty(PropertyKey.externalId, externalId), spaceId: this.toAstProperty(PropertyKey.spaceId, spaceId), padletId: this.toAstProperty(PropertyKey.padletId, padletId), aiGenerated: this.toAstProperty(PropertyKey.aiGenerated, aiGenerated), releaseVersion: this.toAstProperty(PropertyKey.releaseVersion, releaseVersion), book, ageRange: this.toAstProperty(PropertyKey.ageRange, ageRange), language: this.toAstProperty(PropertyKey.language, language), computerLanguage: this.toAstProperty(PropertyKey.computerLanguage, computerLanguage), target: this.toAstProperty(PropertyKey.target, target), tag: this.toAstProperty(PropertyKey.tag, tag), icon: this.toAstProperty(PropertyKey.icon, icon), iconTag: this.toAstProperty(PropertyKey.iconTag, iconTag), colorTag: this.toAstProperty(PropertyKey.colorTag, colorTag), flashcardSet: this.toAstProperty(PropertyKey.flashcardSet, flashcardSet), subtype: this.toAstProperty(PropertyKey.subtype, subtype), coverImage: this.toAstProperty(PropertyKey.coverImage, coverImage), publisher: this.toAstProperty(PropertyKey.publisher, publisher), publications: this.toAstProperty(PropertyKey.publications, publications), author: this.toAstProperty(PropertyKey.author, author), subject: this.toAstProperty(PropertyKey.subject, subject), date: this.toAstProperty(PropertyKey.date, date), location: this.toAstProperty(PropertyKey.location, location), theme: this.toAstProperty(PropertyKey.theme, theme), kind: this.toAstProperty(PropertyKey.kind, kind), action: this.toAstProperty(PropertyKey.action, action), thumbImage: this.toAstProperty(PropertyKey.thumbImage, thumbImage), focusX: this.toAstProperty(PropertyKey.focusX, focusX), focusY: this.toAstProperty(PropertyKey.focusY, focusY), deeplink: this.toAstProperty(PropertyKey.deeplink, deeplink), externalLink: this.toAstProperty(PropertyKey.externalLink, externalLink), externalLinkText: this.toAstProperty(PropertyKey.externalLinkText, externalLinkText), videoCallLink: this.toAstProperty(PropertyKey.videoCallLink, videoCallLink), bot: this.toAstProperty(PropertyKey.bot, bot), duration: this.toAstProperty(PropertyKey.duration, duration), referenceProperty: this.toAstProperty(PropertyKey.reference, referenceProperty), list: this.toAstProperty(PropertyKey.list, list), textReference: this.toAstProperty(PropertyKey.textReference, textReference), isTracked: this.toAstProperty(PropertyKey.isTracked, isTracked), isInfoOnly: this.toAstProperty(PropertyKey.isInfoOnly, isInfoOnly), labelTrue: this.toAstProperty(PropertyKey.labelTrue, labelTrue), labelFalse: this.toAstProperty(PropertyKey.labelFalse, labelFalse), quotedPerson: this.toAstProperty(PropertyKey.quotedPerson, quotedPerson), partialAnswer: this.toAstProperty(PropertyKey.partialAnswer, partialAnswer), levelProperty: this.toAstProperty(PropertyKey.level, levelProperty), title,
45
45
  subtitle, level: NumberUtils.asNumber(level), toc: this.toAstProperty(PropertyKey.toc, toc), progress: this.toAstProperty(PropertyKey.progress, progress), anchor,
46
46
  reference,
47
47
  referenceEnd,
@@ -133,16 +133,16 @@ class Builder extends BaseBuilder {
133
133
  * @returns
134
134
  */
135
135
  quiz(data) {
136
- const { choices, responses, item, lead, hint, instruction, isDefaultExample } = data;
136
+ const { choices, responses, item, lead, hint, instruction, isDefaultExample, example } = data;
137
137
  // Push isDefaultExample down the tree
138
- this.pushExampleDownTreeBoolean(isDefaultExample, undefined, true, choices);
139
- this.pushExampleDownTreeBoolean(isDefaultExample, undefined, false, responses);
138
+ this.pushExampleDownTreeBoolean(isDefaultExample, example, true, choices);
139
+ this.pushExampleDownTreeBoolean(isDefaultExample, example, false, responses);
140
140
  // NOTE: Node order is important and is defined here
141
141
  const node = {
142
142
  itemLead: this.itemLead(item, lead),
143
143
  hint,
144
144
  instruction,
145
- isExample: isDefaultExample,
145
+ isExample: isDefaultExample || example != null,
146
146
  choices,
147
147
  responses,
148
148
  };
@@ -574,38 +574,6 @@ class Builder extends BaseBuilder {
574
574
  }
575
575
  return node;
576
576
  }
577
- /**
578
- * Set examples for boolean nodes
579
- *
580
- * @param isDefaultExample
581
- * @param example
582
- * @param onlyCorrect
583
- * @param nodes
584
- * @returns true if any of the answers has an example, otherwise undefined
585
- */
586
- pushExampleDownTreeBoolean(isDefaultExample, example, onlyCorrect, ...nodes) {
587
- if (!isDefaultExample && !example)
588
- return;
589
- const fillExample = (node) => {
590
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
591
- if (!node.isExample && (!onlyCorrect || node.isCorrect)) {
592
- node.isDefaultExample = true;
593
- node.isExample = true;
594
- }
595
- };
596
- if (Array.isArray(nodes)) {
597
- for (const ds of nodes) {
598
- if (Array.isArray(ds)) {
599
- for (const d of ds) {
600
- fillExample(d);
601
- }
602
- }
603
- else if (ds) {
604
- fillExample(ds);
605
- }
606
- }
607
- }
608
- }
609
577
  /**
610
578
  * Set examples down the tree
611
579
  *
@@ -640,37 +608,42 @@ class Builder extends BaseBuilder {
640
608
  }
641
609
  }
642
610
  /**
643
- * Set examples for string nodes
611
+ * Set examples for boolean nodes
644
612
  *
645
613
  * @param isDefaultExample
646
614
  * @param example
615
+ * @param onlyCorrect
647
616
  * @param nodes
648
617
  * @returns true if any of the answers has an example, otherwise undefined
649
618
  */
650
- pushExampleDownTreeString(isDefaultExample, example, ...nodes) {
619
+ pushExampleDownTreeBoolean(isDefaultExample, example, onlyCorrect, ...nodes) {
651
620
  if (!isDefaultExample && !example)
652
621
  return;
653
- const fillExample = (node) => {
654
- if (!node.isExample) {
655
- if (isDefaultExample) {
656
- node.isDefaultExample = true;
657
- node.isExample = true;
658
- }
659
- else {
660
- node.isDefaultExample = false;
661
- node.example = example;
622
+ if (Array.isArray(nodes)) {
623
+ for (const ds of nodes) {
624
+ if (ds) {
625
+ const exampleNodes = Array.isArray(ds) ? ds : [ds];
626
+ BitUtils.fillBooleanExample(exampleNodes, isDefaultExample, example, onlyCorrect);
662
627
  }
663
628
  }
664
- };
629
+ }
630
+ }
631
+ /**
632
+ * Set examples for string nodes
633
+ *
634
+ * @param isDefaultExample
635
+ * @param example
636
+ * @param nodes
637
+ * @returns true if any of the answers has an example, otherwise undefined
638
+ */
639
+ pushExampleDownTreeString(isDefaultExample, example, ...nodes) {
640
+ if (!isDefaultExample && !example)
641
+ return;
665
642
  if (Array.isArray(nodes)) {
666
643
  for (const ds of nodes) {
667
- if (Array.isArray(ds)) {
668
- for (const d of ds) {
669
- fillExample(d);
670
- }
671
- }
672
- else if (ds) {
673
- fillExample(ds);
644
+ if (ds) {
645
+ const exampleNodes = Array.isArray(ds) ? ds : [ds];
646
+ BitUtils.fillStringExample(exampleNodes, isDefaultExample, example, false);
674
647
  }
675
648
  }
676
649
  }
@@ -685,38 +658,22 @@ class Builder extends BaseBuilder {
685
658
  switch (part.type) {
686
659
  case BodyBitType.gap: {
687
660
  const gap = part;
688
- if (!gap.data.isExample) {
689
- gap.data.isDefaultExample = true;
690
- gap.data.isExample = true;
691
- }
661
+ BitUtils.fillStringExample([gap.data], isDefaultExample, example, false);
692
662
  break;
693
663
  }
694
664
  case BodyBitType.mark: {
695
665
  const mark = part;
696
- if (!mark.data.isExample) {
697
- mark.data.isDefaultExample = true;
698
- mark.data.isExample = true;
699
- }
666
+ BitUtils.fillBooleanExample([mark.data], isDefaultExample, example, false);
700
667
  break;
701
668
  }
702
669
  case BodyBitType.select: {
703
670
  const select = part;
704
- for (const option of select.data.options) {
705
- if (!option.isExample && option.isCorrect) {
706
- option.isDefaultExample = true;
707
- option.isExample = true;
708
- }
709
- }
671
+ BitUtils.fillBooleanExample(select.data.options, isDefaultExample, example, true);
710
672
  break;
711
673
  }
712
674
  case BodyBitType.highlight: {
713
675
  const highlight = part;
714
- for (const text of highlight.data.texts) {
715
- if (!text.isExample && text.isCorrect) {
716
- text.isDefaultExample = true;
717
- text.isExample = true;
718
- }
719
- }
676
+ BitUtils.fillBooleanExample(highlight.data.texts, isDefaultExample, example, true);
720
677
  break;
721
678
  }
722
679
  }