@primmel/primmel 1.12.0 → 1.14.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.
Files changed (163) hide show
  1. package/dist/src/check-rules.d.ts.map +1 -1
  2. package/dist/src/check-rules.js +115 -0
  3. package/dist/src/check-rules.js.map +1 -1
  4. package/dist/src/check.d.ts.map +1 -1
  5. package/dist/src/check.js +896 -0
  6. package/dist/src/check.js.map +1 -1
  7. package/dist/src/model-diff.d.ts.map +1 -1
  8. package/dist/src/model-diff.js +40 -0
  9. package/dist/src/model-diff.js.map +1 -1
  10. package/dist/src/ser-des/config/applicationDeclaration.d.ts +5 -0
  11. package/dist/src/ser-des/config/applicationDeclaration.d.ts.map +1 -0
  12. package/dist/src/ser-des/config/applicationDeclaration.js +102 -0
  13. package/dist/src/ser-des/config/applicationDeclaration.js.map +1 -0
  14. package/dist/src/ser-des/config/aspect.d.ts +5 -0
  15. package/dist/src/ser-des/config/aspect.d.ts.map +1 -0
  16. package/dist/src/ser-des/config/aspect.js +128 -0
  17. package/dist/src/ser-des/config/aspect.js.map +1 -0
  18. package/dist/src/ser-des/config/calculation.d.ts.map +1 -1
  19. package/dist/src/ser-des/config/calculation.js +134 -18
  20. package/dist/src/ser-des/config/calculation.js.map +1 -1
  21. package/dist/src/ser-des/config/calculationContext.d.ts +5 -0
  22. package/dist/src/ser-des/config/calculationContext.d.ts.map +1 -0
  23. package/dist/src/ser-des/config/calculationContext.js +62 -0
  24. package/dist/src/ser-des/config/calculationContext.js.map +1 -0
  25. package/dist/src/ser-des/config/certificateTemplate.d.ts +5 -0
  26. package/dist/src/ser-des/config/certificateTemplate.d.ts.map +1 -0
  27. package/dist/src/ser-des/config/certificateTemplate.js +195 -0
  28. package/dist/src/ser-des/config/certificateTemplate.js.map +1 -0
  29. package/dist/src/ser-des/config/commonTestCondition.d.ts +5 -0
  30. package/dist/src/ser-des/config/commonTestCondition.d.ts.map +1 -0
  31. package/dist/src/ser-des/config/commonTestCondition.js +75 -0
  32. package/dist/src/ser-des/config/commonTestCondition.js.map +1 -0
  33. package/dist/src/ser-des/config/evaluationDimension.d.ts +5 -0
  34. package/dist/src/ser-des/config/evaluationDimension.d.ts.map +1 -0
  35. package/dist/src/ser-des/config/evaluationDimension.js +128 -0
  36. package/dist/src/ser-des/config/evaluationDimension.js.map +1 -0
  37. package/dist/src/ser-des/config/evaluationProfile.d.ts +5 -0
  38. package/dist/src/ser-des/config/evaluationProfile.d.ts.map +1 -0
  39. package/dist/src/ser-des/config/evaluationProfile.js +61 -0
  40. package/dist/src/ser-des/config/evaluationProfile.js.map +1 -0
  41. package/dist/src/ser-des/config/formulaNote.d.ts +5 -0
  42. package/dist/src/ser-des/config/formulaNote.d.ts.map +1 -0
  43. package/dist/src/ser-des/config/formulaNote.js +66 -0
  44. package/dist/src/ser-des/config/formulaNote.js.map +1 -0
  45. package/dist/src/ser-des/config/identitySlot.d.ts +5 -0
  46. package/dist/src/ser-des/config/identitySlot.d.ts.map +1 -0
  47. package/dist/src/ser-des/config/identitySlot.js +120 -0
  48. package/dist/src/ser-des/config/identitySlot.js.map +1 -0
  49. package/dist/src/ser-des/config/index.d.ts.map +1 -1
  50. package/dist/src/ser-des/config/index.js +200 -0
  51. package/dist/src/ser-des/config/index.js.map +1 -1
  52. package/dist/src/ser-des/config/partAnnex.d.ts +5 -0
  53. package/dist/src/ser-des/config/partAnnex.d.ts.map +1 -0
  54. package/dist/src/ser-des/config/partAnnex.js +91 -0
  55. package/dist/src/ser-des/config/partAnnex.js.map +1 -0
  56. package/dist/src/ser-des/config/promiseSet.d.ts +5 -0
  57. package/dist/src/ser-des/config/promiseSet.d.ts.map +1 -0
  58. package/dist/src/ser-des/config/promiseSet.js +46 -0
  59. package/dist/src/ser-des/config/promiseSet.js.map +1 -0
  60. package/dist/src/ser-des/config/selectionRules.d.ts +9 -0
  61. package/dist/src/ser-des/config/selectionRules.d.ts.map +1 -0
  62. package/dist/src/ser-des/config/selectionRules.js +372 -0
  63. package/dist/src/ser-des/config/selectionRules.js.map +1 -0
  64. package/dist/src/ser-des/config/storyline.d.ts +7 -0
  65. package/dist/src/ser-des/config/storyline.d.ts.map +1 -0
  66. package/dist/src/ser-des/config/storyline.js +264 -0
  67. package/dist/src/ser-des/config/storyline.js.map +1 -0
  68. package/dist/src/ser-des/config/subject.d.ts +18 -1
  69. package/dist/src/ser-des/config/subject.d.ts.map +1 -1
  70. package/dist/src/ser-des/config/subject.js +270 -61
  71. package/dist/src/ser-des/config/subject.js.map +1 -1
  72. package/dist/src/ser-des/config/testReport.d.ts +7 -0
  73. package/dist/src/ser-des/config/testReport.d.ts.map +1 -0
  74. package/dist/src/ser-des/config/testReport.js +322 -0
  75. package/dist/src/ser-des/config/testReport.js.map +1 -0
  76. package/dist/src/ser-des/config/verificationPathway.d.ts +5 -0
  77. package/dist/src/ser-des/config/verificationPathway.d.ts.map +1 -0
  78. package/dist/src/ser-des/config/verificationPathway.js +361 -0
  79. package/dist/src/ser-des/config/verificationPathway.js.map +1 -0
  80. package/dist/src/ser-des/config/workflowConfig.d.ts +5 -0
  81. package/dist/src/ser-des/config/workflowConfig.d.ts.map +1 -0
  82. package/dist/src/ser-des/config/workflowConfig.js +129 -0
  83. package/dist/src/ser-des/config/workflowConfig.js.map +1 -0
  84. package/dist/src/ser-des/package.d.ts +10 -0
  85. package/dist/src/ser-des/package.d.ts.map +1 -1
  86. package/dist/src/ser-des/package.js +166 -12
  87. package/dist/src/ser-des/package.js.map +1 -1
  88. package/dist/src/ser-des/parse.d.ts.map +1 -1
  89. package/dist/src/ser-des/parse.js +29 -0
  90. package/dist/src/ser-des/parse.js.map +1 -1
  91. package/dist/src/ser-des/types.d.ts +37 -0
  92. package/dist/src/ser-des/types.d.ts.map +1 -1
  93. package/dist/src/types/ApplicationDeclaration.d.ts +23 -0
  94. package/dist/src/types/ApplicationDeclaration.d.ts.map +1 -0
  95. package/dist/src/types/ApplicationDeclaration.js +32 -0
  96. package/dist/src/types/ApplicationDeclaration.js.map +1 -0
  97. package/dist/src/types/Aspect.d.ts +30 -0
  98. package/dist/src/types/Aspect.d.ts.map +1 -0
  99. package/dist/src/types/Aspect.js +41 -0
  100. package/dist/src/types/Aspect.js.map +1 -0
  101. package/dist/src/types/Calculation.d.ts +35 -0
  102. package/dist/src/types/Calculation.d.ts.map +1 -1
  103. package/dist/src/types/CalculationContext.d.ts +17 -0
  104. package/dist/src/types/CalculationContext.d.ts.map +1 -0
  105. package/dist/src/types/CalculationContext.js +34 -0
  106. package/dist/src/types/CalculationContext.js.map +1 -0
  107. package/dist/src/types/CertificateTemplate.d.ts +46 -0
  108. package/dist/src/types/CertificateTemplate.d.ts.map +1 -0
  109. package/dist/src/types/CertificateTemplate.js +46 -0
  110. package/dist/src/types/CertificateTemplate.js.map +1 -0
  111. package/dist/src/types/CommonTestCondition.d.ts +15 -0
  112. package/dist/src/types/CommonTestCondition.d.ts.map +1 -0
  113. package/dist/src/types/CommonTestCondition.js +22 -0
  114. package/dist/src/types/CommonTestCondition.js.map +1 -0
  115. package/dist/src/types/EvaluationDimension.d.ts +32 -0
  116. package/dist/src/types/EvaluationDimension.d.ts.map +1 -0
  117. package/dist/src/types/EvaluationDimension.js +38 -0
  118. package/dist/src/types/EvaluationDimension.js.map +1 -0
  119. package/dist/src/types/EvaluationProfile.d.ts +10 -0
  120. package/dist/src/types/EvaluationProfile.d.ts.map +1 -0
  121. package/dist/src/types/EvaluationProfile.js +25 -0
  122. package/dist/src/types/EvaluationProfile.js.map +1 -0
  123. package/dist/src/types/IdentitySlot.d.ts +24 -0
  124. package/dist/src/types/IdentitySlot.d.ts.map +1 -0
  125. package/dist/src/types/IdentitySlot.js +34 -0
  126. package/dist/src/types/IdentitySlot.js.map +1 -0
  127. package/dist/src/types/PartAnnex.d.ts +18 -0
  128. package/dist/src/types/PartAnnex.d.ts.map +1 -0
  129. package/dist/src/types/PartAnnex.js +29 -0
  130. package/dist/src/types/PartAnnex.js.map +1 -0
  131. package/dist/src/types/PromiseSet.d.ts +8 -0
  132. package/dist/src/types/PromiseSet.d.ts.map +1 -0
  133. package/dist/src/types/PromiseSet.js +35 -0
  134. package/dist/src/types/PromiseSet.js.map +1 -0
  135. package/dist/src/types/SelectionRules.d.ts +73 -0
  136. package/dist/src/types/SelectionRules.d.ts.map +1 -0
  137. package/dist/src/types/SelectionRules.js +55 -0
  138. package/dist/src/types/SelectionRules.js.map +1 -0
  139. package/dist/src/types/Standard.d.ts +73 -0
  140. package/dist/src/types/Standard.d.ts.map +1 -1
  141. package/dist/src/types/Storyline.d.ts +62 -0
  142. package/dist/src/types/Storyline.d.ts.map +1 -0
  143. package/dist/src/types/Storyline.js +51 -0
  144. package/dist/src/types/Storyline.js.map +1 -0
  145. package/dist/src/types/Subject.d.ts +64 -1
  146. package/dist/src/types/Subject.d.ts.map +1 -1
  147. package/dist/src/types/Symbol.d.ts +17 -0
  148. package/dist/src/types/Symbol.d.ts.map +1 -1
  149. package/dist/src/types/TestReport.d.ts +71 -0
  150. package/dist/src/types/TestReport.d.ts.map +1 -0
  151. package/dist/src/types/TestReport.js +73 -0
  152. package/dist/src/types/TestReport.js.map +1 -0
  153. package/dist/src/types/VerificationPathway.d.ts +63 -0
  154. package/dist/src/types/VerificationPathway.d.ts.map +1 -0
  155. package/dist/src/types/VerificationPathway.js +56 -0
  156. package/dist/src/types/VerificationPathway.js.map +1 -0
  157. package/dist/src/types/WorkflowConfig.d.ts +34 -0
  158. package/dist/src/types/WorkflowConfig.d.ts.map +1 -0
  159. package/dist/src/types/WorkflowConfig.js +47 -0
  160. package/dist/src/types/WorkflowConfig.js.map +1 -0
  161. package/dist-browser/index.mjs +2391 -934
  162. package/dist-cli/primmel.mjs +9364 -5469
  163. package/package.json +1 -1
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // `common_test_condition` construct (smart TODO.roadmap/40 batch 4; the
4
+ // packages-as-SSOT epic) — the model-wide test-conditions register, one
5
+ // construct per entry (types/CommonTestCondition.ts carries the banner
6
+ // and the grammar sketch). Lives in model/conditions.prl behind the
7
+ // condition sets.
8
+ //
9
+ // The register is self-contained — no cross-references, so C127 checks
10
+ // the declaration SHAPE only (title + description carried); the
11
+ // citation coverage stays app-side (the linker's oracle).
12
+ // ─────────────────────────────────────────────────────────────────────
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.dumpCommonTestCondition = exports.parseCommonTestCondition = void 0;
15
+ const tokenize_1 = require("../tokenize");
16
+ const parse_block_1 = require("../parse-block");
17
+ const field_parser_1 = require("./field-parser");
18
+ const parseCommonTestCondition = (id, data) => {
19
+ const condition = {
20
+ id,
21
+ title: '',
22
+ reference: '',
23
+ description: '',
24
+ source: null,
25
+ };
26
+ (0, parse_block_1.forEachEntry)(data, (keyword, value) => {
27
+ if (keyword === 'title') {
28
+ condition.title = (0, tokenize_1.stripWrapping)(value());
29
+ }
30
+ else if (keyword === 'reference') {
31
+ condition.reference = (0, tokenize_1.stripWrapping)(value());
32
+ }
33
+ else if (keyword === 'description') {
34
+ condition.description = (0, tokenize_1.stripWrapping)(value());
35
+ }
36
+ else if (keyword === 'source') {
37
+ condition.source = (0, field_parser_1.readSource)((0, tokenize_1.unwrapBlock)(value()));
38
+ }
39
+ else {
40
+ return false;
41
+ }
42
+ return true;
43
+ }, { construct: 'common_test_condition', id });
44
+ return ctx => {
45
+ ctx.commonTestConditions[id] = condition;
46
+ return ctx;
47
+ };
48
+ };
49
+ exports.parseCommonTestCondition = parseCommonTestCondition;
50
+ const dumpCommonTestCondition = function (c) {
51
+ let out = 'common_test_condition ' + c.id + ' {\n';
52
+ if (c.title) {
53
+ out += ' title "' + (0, tokenize_1.escapeString)(c.title) + '"\n';
54
+ }
55
+ if (c.reference) {
56
+ out += ' reference "' + (0, tokenize_1.escapeString)(c.reference) + '"\n';
57
+ }
58
+ if (c.description) {
59
+ out += ' description "' + (0, tokenize_1.escapeString)(c.description) + '"\n';
60
+ }
61
+ if (c.source && (c.source.doc || c.source.clause)) {
62
+ out += ' source {\n';
63
+ if (c.source.doc) {
64
+ out += ' doc "' + (0, tokenize_1.escapeString)(c.source.doc) + '"\n';
65
+ }
66
+ if (c.source.clause) {
67
+ out += ' clause "' + (0, tokenize_1.escapeString)(c.source.clause) + '"\n';
68
+ }
69
+ out += ' }\n';
70
+ }
71
+ out += '}\n';
72
+ return out;
73
+ };
74
+ exports.dumpCommonTestCondition = dumpCommonTestCondition;
75
+ //# sourceMappingURL=commonTestCondition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonTestCondition.js","sourceRoot":"","sources":["../../../../src/ser-des/config/commonTestCondition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Dumper, Parser } from '../types';
2
+ import EvaluationDimensions from '../../types/EvaluationDimension';
3
+ export declare const parseEvaluationDimensions: Parser;
4
+ export declare const dumpEvaluationDimensions: Dumper<EvaluationDimensions>;
5
+ //# sourceMappingURL=evaluationDimension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluationDimension.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/evaluationDimension.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,oBAEN,MAAM,iCAAiC,CAAC;AAoBzC,eAAO,MAAM,yBAAyB,EAAE,MAsEvC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,oBAAoB,CA8BjE,CAAC"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // `evaluation_dimensions` construct (smart TODO.roadmap/40 batch 3; the
4
+ // packages-as-SSOT epic) — the form-facing classification field schema
5
+ // (types/EvaluationDimension.ts carries the banner and the grammar
6
+ // sketch). The type and setting vocabularies are parse-enforced (the
7
+ // fail-closed precedent); the enum/field-name resolutions are
8
+ // check-enforced (C134) — the codec stays total. `per_channel` is
9
+ // deliberately absent (the owner-settled single home is kernel
10
+ // Instrument.perChannel).
11
+ // ─────────────────────────────────────────────────────────────────────
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.dumpEvaluationDimensions = exports.parseEvaluationDimensions = void 0;
14
+ const tokenize_1 = require("../tokenize");
15
+ const parse_block_1 = require("../parse-block");
16
+ const field_parser_1 = require("./field-parser");
17
+ const EVALUATION_FIELD_TYPES = [
18
+ 'integer',
19
+ 'number',
20
+ 'string',
21
+ 'text',
22
+ 'boolean',
23
+ 'date',
24
+ ];
25
+ const EVALUATION_FIELD_SETTINGS = [
26
+ 'MUST',
27
+ 'SHALL',
28
+ 'RECOMMEND',
29
+ 'SHOULD',
30
+ 'MAY',
31
+ 'OPTIONAL',
32
+ ];
33
+ const parseEvaluationDimensions = (id, data) => {
34
+ const dims = { id, label: '', fields: [] };
35
+ (0, parse_block_1.forEachEntry)(data, (keyword, value) => {
36
+ if (keyword === 'label') {
37
+ dims.label = (0, tokenize_1.stripWrapping)(value());
38
+ }
39
+ else if (keyword === 'field') {
40
+ const field = {
41
+ id: (0, tokenize_1.stripWrapping)((0, field_parser_1.stripColon)(value())),
42
+ label: '',
43
+ type: '',
44
+ enumRef: '',
45
+ required: false,
46
+ editable: true,
47
+ setting: '',
48
+ multiple: false,
49
+ };
50
+ (0, parse_block_1.forEachEntry)((0, tokenize_1.unwrapBlock)(value()), (k2, v2) => {
51
+ if (k2 === 'label') {
52
+ field.label = (0, tokenize_1.stripWrapping)(v2());
53
+ }
54
+ else if (k2 === 'type') {
55
+ const t = (0, tokenize_1.stripWrapping)(v2());
56
+ if (!EVALUATION_FIELD_TYPES.includes(t)) {
57
+ throw new Error(`Parsing error: evaluation_dimensions. ID ${id}: Unknown field type "${t}" (valid: ${EVALUATION_FIELD_TYPES.join(', ')})`);
58
+ }
59
+ field.type = t;
60
+ }
61
+ else if (k2 === 'enum') {
62
+ field.enumRef = (0, tokenize_1.stripWrapping)(v2());
63
+ }
64
+ else if (k2 === 'required') {
65
+ field.required = v2() === 'true';
66
+ }
67
+ else if (k2 === 'editable') {
68
+ field.editable = v2() === 'true';
69
+ }
70
+ else if (k2 === 'setting') {
71
+ const s = (0, tokenize_1.stripWrapping)(v2());
72
+ if (!EVALUATION_FIELD_SETTINGS.includes(s)) {
73
+ throw new Error(`Parsing error: evaluation_dimensions. ID ${id}: Unknown setting "${s}" (valid: ${EVALUATION_FIELD_SETTINGS.join(', ')})`);
74
+ }
75
+ field.setting = s;
76
+ }
77
+ else if (k2 === 'multiple') {
78
+ field.multiple = v2() === 'true';
79
+ }
80
+ else {
81
+ return false;
82
+ }
83
+ return true;
84
+ }, { construct: 'evaluation_dimensions', id });
85
+ dims.fields.push(field);
86
+ }
87
+ else {
88
+ return false;
89
+ }
90
+ return true;
91
+ }, { construct: 'evaluation_dimensions', id });
92
+ return ctx => {
93
+ ctx.evaluationDimensions[id] = dims;
94
+ return ctx;
95
+ };
96
+ };
97
+ exports.parseEvaluationDimensions = parseEvaluationDimensions;
98
+ const dumpEvaluationDimensions = function (d) {
99
+ let out = 'evaluation_dimensions ' + (0, field_parser_1.dumpBareSafe)(d.id) + ' {\n';
100
+ if (d.label) {
101
+ out += ' label "' + (0, tokenize_1.escapeString)(d.label) + '"\n';
102
+ }
103
+ for (const f of d.fields) {
104
+ out += ' field ' + (0, field_parser_1.dumpBareSafe)(f.id) + ' {\n';
105
+ if (f.label) {
106
+ out += ' label "' + (0, tokenize_1.escapeString)(f.label) + '"\n';
107
+ }
108
+ if (f.type) {
109
+ out += ' type ' + (0, field_parser_1.dumpBareSafe)(f.type) + '\n';
110
+ }
111
+ if (f.enumRef) {
112
+ out += ' enum ' + (0, field_parser_1.dumpBareSafe)(f.enumRef) + '\n';
113
+ }
114
+ out += ' required ' + (f.required ? 'true' : 'false') + '\n';
115
+ out += ' editable ' + (f.editable ? 'true' : 'false') + '\n';
116
+ if (f.setting) {
117
+ out += ' setting ' + (0, field_parser_1.dumpBareSafe)(f.setting) + '\n';
118
+ }
119
+ if (f.multiple) {
120
+ out += ' multiple true\n';
121
+ }
122
+ out += ' }\n';
123
+ }
124
+ out += '}\n';
125
+ return out;
126
+ };
127
+ exports.dumpEvaluationDimensions = dumpEvaluationDimensions;
128
+ //# sourceMappingURL=evaluationDimension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluationDimension.js","sourceRoot":"","sources":["../../../../src/ser-des/config/evaluationDimension.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Dumper, Parser } from '../types';
2
+ import EvaluationProfile from '../../types/EvaluationProfile';
3
+ export declare const parseEvaluationProfile: Parser;
4
+ export declare const dumpEvaluationProfile: Dumper<EvaluationProfile>;
5
+ //# sourceMappingURL=evaluationProfile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluationProfile.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/evaluationProfile.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQ/C,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAE9D,eAAO,MAAM,sBAAsB,EAAE,MA8BpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,iBAAiB,CAgB3D,CAAC"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // `evaluation_profile` construct (smart TODO.roadmap/40 batch 3; the
4
+ // packages-as-SSOT epic) — the named dimension-value presets
5
+ // (types/EvaluationProfile.ts carries the banner and the grammar
6
+ // sketch). The dimensions map is open-keyed (no schema lock-in); the
7
+ // key/value resolution is check-enforced (C135) — the codec stays
8
+ // total.
9
+ // ─────────────────────────────────────────────────────────────────────
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.dumpEvaluationProfile = exports.parseEvaluationProfile = void 0;
12
+ const tokenize_1 = require("../tokenize");
13
+ const parse_block_1 = require("../parse-block");
14
+ const field_parser_1 = require("./field-parser");
15
+ const parseEvaluationProfile = (id, data) => {
16
+ const profile = { id, dimensions: {}, description: '' };
17
+ (0, parse_block_1.forEachEntry)(data, (keyword, value) => {
18
+ if (keyword === 'dimensions') {
19
+ // The open dimension-keyed map: alternating key/value tokens.
20
+ const t = (0, tokenize_1.default)((0, tokenize_1.unwrapBlock)(value()));
21
+ for (let i = 0; i + 1 < t.length; i += 2) {
22
+ const k = (0, tokenize_1.stripWrapping)((0, field_parser_1.stripColon)(t[i]));
23
+ const v = (0, tokenize_1.stripWrapping)(t[i + 1]);
24
+ if (k) {
25
+ profile.dimensions[k] = v;
26
+ }
27
+ }
28
+ }
29
+ else if (keyword === 'description') {
30
+ profile.description = (0, tokenize_1.stripWrapping)(value());
31
+ }
32
+ else {
33
+ return false;
34
+ }
35
+ return true;
36
+ }, { construct: 'evaluation_profile', id });
37
+ return ctx => {
38
+ ctx.evaluationProfiles[id] = profile;
39
+ return ctx;
40
+ };
41
+ };
42
+ exports.parseEvaluationProfile = parseEvaluationProfile;
43
+ const dumpEvaluationProfile = function (p) {
44
+ let out = 'evaluation_profile ' + (0, field_parser_1.dumpBareSafe)(p.id) + ' {\n';
45
+ const keys = Object.keys(p.dimensions);
46
+ if (keys.length > 0) {
47
+ out +=
48
+ ' dimensions { ' +
49
+ keys
50
+ .map(k => (0, field_parser_1.dumpBareSafe)(k) + ' ' + (0, field_parser_1.dumpBareSafe)(p.dimensions[k]))
51
+ .join(' ') +
52
+ ' }\n';
53
+ }
54
+ if (p.description) {
55
+ out += ' description "' + (0, tokenize_1.escapeString)(p.description) + '"\n';
56
+ }
57
+ out += '}\n';
58
+ return out;
59
+ };
60
+ exports.dumpEvaluationProfile = dumpEvaluationProfile;
61
+ //# sourceMappingURL=evaluationProfile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluationProfile.js","sourceRoot":"","sources":["../../../../src/ser-des/config/evaluationProfile.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,qEAAqE;AACrE,6DAA6D;AAC7D,iEAAiE;AACjE,qEAAqE;AACrE,kEAAkE;AAClE,SAAS;AACT,wEAAwE;;;AAGxE,0CAIqB;AACrB,gDAA8C;AAC9C,iDAA0D;AAGnD,MAAM,sBAAsB,GAAW,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;IACzE,MAAM,OAAO,GAAsB,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAE3E,IAAA,0BAAY,EACV,IAAI,EACJ,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACjB,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YAC7B,8DAA8D;YAC9D,MAAM,CAAC,GAAG,IAAA,kBAAQ,EAAC,IAAA,sBAAW,EAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,GAAG,IAAA,wBAAa,EAAC,IAAA,yBAAU,EAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;gBAC3C,MAAM,CAAC,GAAG,IAAA,wBAAa,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;gBACnC,IAAI,CAAC,EAAE,CAAC;oBACN,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YACrC,OAAO,CAAC,WAAW,GAAG,IAAA,wBAAa,EAAC,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAAE,SAAS,EAAE,oBAAoB,EAAE,EAAE,EAAE,CACxC,CAAC;IAEF,OAAO,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;QACrC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,sBAAsB,0BA8BjC;AAEK,MAAM,qBAAqB,GAA8B,UAAU,CAAC;IACzE,IAAI,GAAG,GAAW,qBAAqB,GAAG,IAAA,2BAAY,EAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,GAAG;YACD,iBAAiB;gBACjB,IAAI;qBACD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,2BAAY,EAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAA,2BAAY,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC;qBAChE,IAAI,CAAC,GAAG,CAAC;gBACZ,MAAM,CAAC;IACX,CAAC;IACD,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAClB,GAAG,IAAI,iBAAiB,GAAG,IAAA,uBAAY,EAAC,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;IACjE,CAAC;IACD,GAAG,IAAI,KAAK,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAhBW,QAAA,qBAAqB,yBAgBhC"}
@@ -0,0 +1,5 @@
1
+ import type { Dumper, Parser } from '../types';
2
+ import type { FormulaNote } from '../../types/Symbol';
3
+ export declare const parseFormulaNote: Parser;
4
+ export declare const dumpFormulaNote: Dumper<FormulaNote>;
5
+ //# sourceMappingURL=formulaNote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formulaNote.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/formulaNote.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUtD,eAAO,MAAM,gBAAgB,EAAE,MA0B9B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,WAAW,CAU/C,CAAC"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // `formula_note` construct (smart TODO.roadmap/40 batch 4; the
4
+ // packages-as-SSOT epic) — a symbol-annotation register: one note text
5
+ // applying to MANY symbols (the formulas_used/invariant registry
6
+ // precedent; types/Symbol.ts carries the type, folded beside the
7
+ // symbols it annotates):
8
+ //
9
+ // formula_note note-1 {
10
+ // text "Observe extreme caution by referring to calculation
11
+ // procedure for correct application of these formulae."
12
+ // applies_to { c_c c_c_30_20 c_dr conversion_factor_f r_i }
13
+ // }
14
+ //
15
+ // The applies_to targets resolve at check time (C126), per-register
16
+ // gated (the C58 doctrine); the codec stays total.
17
+ // ─────────────────────────────────────────────────────────────────────
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.dumpFormulaNote = exports.parseFormulaNote = void 0;
20
+ const tokenize_1 = require("../tokenize");
21
+ const parse_block_1 = require("../parse-block");
22
+ const field_parser_1 = require("./field-parser");
23
+ function readIdList(block) {
24
+ // Wrap-tolerant: `{ a b }` block OR bare scalar (the subject.ts idiom).
25
+ return (0, tokenize_1.default)((0, tokenize_1.stripWrapping)(block))
26
+ .map(field_parser_1.stripColon)
27
+ .map(tokenize_1.stripWrapping)
28
+ .filter(s => s.length > 0);
29
+ }
30
+ const parseFormulaNote = (id, data) => {
31
+ const note = {
32
+ id,
33
+ text: '',
34
+ appliesTo: [],
35
+ };
36
+ (0, parse_block_1.forEachEntry)(data, (keyword, value) => {
37
+ if (keyword === 'text') {
38
+ note.text = (0, tokenize_1.stripWrapping)(value());
39
+ }
40
+ else if (keyword === 'applies_to') {
41
+ note.appliesTo = readIdList(value());
42
+ }
43
+ else {
44
+ return false;
45
+ }
46
+ return true;
47
+ }, { construct: 'formula_note', id });
48
+ return ctx => {
49
+ ctx.formulaNotes[id] = note;
50
+ return ctx;
51
+ };
52
+ };
53
+ exports.parseFormulaNote = parseFormulaNote;
54
+ const dumpFormulaNote = function (n) {
55
+ let out = 'formula_note ' + n.id + ' {\n';
56
+ if (n.text) {
57
+ out += ' text "' + (0, tokenize_1.escapeString)(n.text) + '"\n';
58
+ }
59
+ if (n.appliesTo.length > 0) {
60
+ out += ' applies_to { ' + n.appliesTo.map(field_parser_1.dumpBareSafe).join(' ') + ' }\n';
61
+ }
62
+ out += '}\n';
63
+ return out;
64
+ };
65
+ exports.dumpFormulaNote = dumpFormulaNote;
66
+ //# sourceMappingURL=formulaNote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formulaNote.js","sourceRoot":"","sources":["../../../../src/ser-des/config/formulaNote.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,+DAA+D;AAC/D,uEAAuE;AACvE,iEAAiE;AACjE,iEAAiE;AACjE,yBAAyB;AACzB,EAAE;AACF,0BAA0B;AAC1B,gEAAgE;AAChE,iEAAiE;AACjE,gEAAgE;AAChE,MAAM;AACN,EAAE;AACF,oEAAoE;AACpE,mDAAmD;AACnD,wEAAwE;;;AAGxE,0CAAoE;AACpE,gDAA8C;AAC9C,iDAA0D;AAG1D,SAAS,UAAU,CAAC,KAAa;IAC/B,wEAAwE;IACxE,OAAO,IAAA,kBAAQ,EAAC,IAAA,wBAAa,EAAC,KAAK,CAAC,CAAC;SAClC,GAAG,CAAC,yBAAU,CAAC;SACf,GAAG,CAAC,wBAAa,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC;AAEM,MAAM,gBAAgB,GAAW,CAAC,EAAU,EAAE,IAAY,EAAE,EAAE;IACnE,MAAM,IAAI,GAAgB;QACxB,EAAE;QACF,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,EAAE;KACd,CAAC;IAEF,IAAA,0BAAY,EACV,IAAI,EACJ,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACjB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAA,wBAAa,EAAC,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,CAClC,CAAC;IAEF,OAAO,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,gBAAgB,oBA0B3B;AAEK,MAAM,eAAe,GAAwB,UAAU,CAAC;IAC7D,IAAI,GAAG,GAAW,eAAe,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC;IAClD,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,IAAI,UAAU,GAAG,IAAA,uBAAY,EAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,IAAI,iBAAiB,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,2BAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IAC9E,CAAC;IACD,GAAG,IAAI,KAAK,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAVW,QAAA,eAAe,mBAU1B"}
@@ -0,0 +1,5 @@
1
+ import type { Dumper, Parser } from '../types';
2
+ import IdentitySlot from '../../types/IdentitySlot';
3
+ export declare const parseIdentitySlot: Parser;
4
+ export declare const dumpIdentitySlot: Dumper<IdentitySlot>;
5
+ //# sourceMappingURL=identitySlot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identitySlot.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/identitySlot.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQ/C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAgBpD,eAAO,MAAM,iBAAiB,EAAE,MA8D/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAiCjD,CAAC"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // `identity_slot` construct (smart TODO.roadmap/40 batch 3; the
4
+ // packages-as-SSOT epic) — the subject's documentary identity register
5
+ // (types/IdentitySlot.ts carries the banner and the grammar sketch).
6
+ // The type and presentation vocabularies are parse-enforced (the
7
+ // fail-closed precedent); the ≥1-presentation shape leg and the
8
+ // bind-path resolution are check-enforced (C130) — the codec stays
9
+ // total.
10
+ // ─────────────────────────────────────────────────────────────────────
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.dumpIdentitySlot = exports.parseIdentitySlot = void 0;
13
+ const tokenize_1 = require("../tokenize");
14
+ const parse_block_1 = require("../parse-block");
15
+ const field_parser_1 = require("./field-parser");
16
+ const IDENTITY_SLOT_TYPES = [
17
+ 'string',
18
+ 'designation',
19
+ 'serial',
20
+ 'year',
21
+ 'mark',
22
+ 'map',
23
+ ];
24
+ const IDENTITY_SLOT_PRESENTATIONS = [
25
+ 'marked-on-instrument',
26
+ 'accompanying-document',
27
+ ];
28
+ const parseIdentitySlot = (id, data) => {
29
+ const slot = {
30
+ id,
31
+ label: '',
32
+ type: '',
33
+ presentation: [],
34
+ optional: false,
35
+ definition: '',
36
+ metamodelClass: '',
37
+ source: null,
38
+ };
39
+ (0, parse_block_1.forEachEntry)(data, (keyword, value) => {
40
+ if (keyword === 'label') {
41
+ slot.label = (0, tokenize_1.stripWrapping)(value());
42
+ }
43
+ else if (keyword === 'type') {
44
+ const type = (0, tokenize_1.stripWrapping)(value());
45
+ if (!IDENTITY_SLOT_TYPES.includes(type)) {
46
+ throw new Error(`Parsing error: identity_slot. ID ${id}: Unknown identity slot type "${type}" (valid: ${IDENTITY_SLOT_TYPES.join(', ')})`);
47
+ }
48
+ slot.type = type;
49
+ }
50
+ else if (keyword === 'presentation') {
51
+ const channels = (0, tokenize_1.default)((0, tokenize_1.stripWrapping)(value()))
52
+ .map(field_parser_1.stripColon)
53
+ .map(tokenize_1.stripWrapping)
54
+ .filter(s => s.length > 0);
55
+ for (const channel of channels) {
56
+ if (!IDENTITY_SLOT_PRESENTATIONS.includes(channel)) {
57
+ throw new Error(`Parsing error: identity_slot. ID ${id}: Unknown presentation channel "${channel}" (valid: ${IDENTITY_SLOT_PRESENTATIONS.join(', ')})`);
58
+ }
59
+ }
60
+ slot.presentation = channels;
61
+ }
62
+ else if (keyword === 'optional') {
63
+ slot.optional = value() === 'true';
64
+ }
65
+ else if (keyword === 'definition') {
66
+ slot.definition = (0, tokenize_1.stripWrapping)(value());
67
+ }
68
+ else if (keyword === 'metamodel_class') {
69
+ slot.metamodelClass = (0, tokenize_1.stripWrapping)(value());
70
+ }
71
+ else if (keyword === 'source') {
72
+ slot.source = (0, field_parser_1.readSource)((0, tokenize_1.unwrapBlock)(value()));
73
+ }
74
+ else {
75
+ return false;
76
+ }
77
+ return true;
78
+ }, { construct: 'identity_slot', id });
79
+ return ctx => {
80
+ ctx.identitySlots[id] = slot;
81
+ return ctx;
82
+ };
83
+ };
84
+ exports.parseIdentitySlot = parseIdentitySlot;
85
+ const dumpIdentitySlot = function (s) {
86
+ let out = 'identity_slot ' + s.id + ' {\n';
87
+ if (s.label) {
88
+ out += ' label "' + (0, tokenize_1.escapeString)(s.label) + '"\n';
89
+ }
90
+ if (s.type) {
91
+ out += ' type ' + (0, field_parser_1.dumpBareSafe)(s.type) + '\n';
92
+ }
93
+ if (s.presentation.length > 0) {
94
+ out +=
95
+ ' presentation { ' + s.presentation.map(field_parser_1.dumpBareSafe).join(' ') + ' }\n';
96
+ }
97
+ if (s.optional) {
98
+ out += ' optional true\n';
99
+ }
100
+ if (s.definition) {
101
+ out += ' definition "' + (0, tokenize_1.escapeString)(s.definition) + '"\n';
102
+ }
103
+ if (s.metamodelClass) {
104
+ out += ' metamodel_class ' + (0, field_parser_1.dumpBareSafe)(s.metamodelClass) + '\n';
105
+ }
106
+ if (s.source && (s.source.doc || s.source.clause)) {
107
+ out += ' source {\n';
108
+ if (s.source.doc) {
109
+ out += ' doc "' + (0, tokenize_1.escapeString)(s.source.doc) + '"\n';
110
+ }
111
+ if (s.source.clause) {
112
+ out += ' clause "' + (0, tokenize_1.escapeString)(s.source.clause) + '"\n';
113
+ }
114
+ out += ' }\n';
115
+ }
116
+ out += '}\n';
117
+ return out;
118
+ };
119
+ exports.dumpIdentitySlot = dumpIdentitySlot;
120
+ //# sourceMappingURL=identitySlot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identitySlot.js","sourceRoot":"","sources":["../../../../src/ser-des/config/identitySlot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/index.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,mBAAmB,EACnB,MAAM,EACN,mBAAmB,EACnB,QAAQ,EACR,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AAuIjD,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC;IAC5C,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,8DAA8D;IAC9D,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,uBAAuB;IACvB,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC;CAC/B;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,mBAAmB,CAE7E;AA4jBD,eAAO,MAAM,aAAa,EAAE,mBAG3B,CAAC;AAMF,eAAO,MAAM,eAAe,EAAE,qBACG,CAAC;AAElC,eAAO,MAAM,aAAa,EAAE,mBAAmD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/index.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,mBAAmB,EACnB,MAAM,EACN,mBAAmB,EACnB,QAAQ,EACR,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AA6LjD,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC;IAC5C,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,8DAA8D;IAC9D,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,uBAAuB;IACvB,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC;CAC/B;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,mBAAmB,CAE7E;AAovBD,eAAO,MAAM,aAAa,EAAE,mBAG3B,CAAC;AAMF,eAAO,MAAM,eAAe,EAAE,qBACG,CAAC;AAElC,eAAO,MAAM,aAAa,EAAE,mBAAmD,CAAC"}