md2cv 1.1.1 → 1.4.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 (93) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.ja.md +69 -1
  3. package/README.md +77 -11
  4. package/dist/cli/index.d.ts +17 -1
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +140 -34
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/generator/common.d.ts +86 -0
  9. package/dist/generator/common.d.ts.map +1 -0
  10. package/dist/generator/common.js +326 -0
  11. package/dist/generator/common.js.map +1 -0
  12. package/dist/generator/index.d.ts +39 -12
  13. package/dist/generator/index.d.ts.map +1 -1
  14. package/dist/generator/index.js +65 -41
  15. package/dist/generator/index.js.map +1 -1
  16. package/dist/generator/resume_en.d.ts +4 -15
  17. package/dist/generator/resume_en.d.ts.map +1 -1
  18. package/dist/generator/resume_en.js +23 -319
  19. package/dist/generator/resume_en.js.map +1 -1
  20. package/dist/generator/resume_ja.d.ts +4 -15
  21. package/dist/generator/resume_ja.d.ts.map +1 -1
  22. package/dist/generator/resume_ja.js +18 -260
  23. package/dist/generator/resume_ja.js.map +1 -1
  24. package/dist/generator/rirekisho/components.d.ts.map +1 -1
  25. package/dist/generator/rirekisho/components.js +1 -1
  26. package/dist/generator/rirekisho/components.js.map +1 -1
  27. package/dist/generator/rirekisho/index.js.map +1 -1
  28. package/dist/generator/rirekisho/layout.d.ts.map +1 -1
  29. package/dist/generator/rirekisho/layout.js +16 -7
  30. package/dist/generator/rirekisho/layout.js.map +1 -1
  31. package/dist/generator/rirekisho/styles.d.ts.map +1 -1
  32. package/dist/generator/rirekisho/styles.js +9 -14
  33. package/dist/generator/rirekisho/styles.js.map +1 -1
  34. package/dist/generator/rirekisho/types.d.ts +2 -2
  35. package/dist/generator/rirekisho/types.d.ts.map +1 -1
  36. package/dist/index.d.ts +3 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +3 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/parser/index.d.ts.map +1 -1
  41. package/dist/parser/index.js +224 -107
  42. package/dist/parser/index.js.map +1 -1
  43. package/dist/parser/lsp.d.ts +58 -0
  44. package/dist/parser/lsp.d.ts.map +1 -0
  45. package/dist/parser/lsp.js +265 -0
  46. package/dist/parser/lsp.js.map +1 -0
  47. package/dist/template/definitions/en.d.ts +17 -0
  48. package/dist/template/definitions/en.d.ts.map +1 -0
  49. package/dist/template/definitions/en.js +204 -0
  50. package/dist/template/definitions/en.js.map +1 -0
  51. package/dist/template/definitions/index.d.ts +6 -0
  52. package/dist/template/definitions/index.d.ts.map +1 -0
  53. package/dist/template/definitions/index.js +6 -0
  54. package/dist/template/definitions/index.js.map +1 -0
  55. package/dist/template/definitions/ja.d.ts +17 -0
  56. package/dist/template/definitions/ja.d.ts.map +1 -0
  57. package/dist/template/definitions/ja.js +243 -0
  58. package/dist/template/definitions/ja.js.map +1 -0
  59. package/dist/template/generator.d.ts +61 -0
  60. package/dist/template/generator.d.ts.map +1 -0
  61. package/dist/template/generator.js +219 -0
  62. package/dist/template/generator.js.map +1 -0
  63. package/dist/template/index.d.ts +6 -0
  64. package/dist/template/index.d.ts.map +1 -0
  65. package/dist/template/index.js +6 -0
  66. package/dist/template/index.js.map +1 -0
  67. package/dist/types/config.d.ts +126 -15
  68. package/dist/types/config.d.ts.map +1 -1
  69. package/dist/types/config.js +94 -1
  70. package/dist/types/config.js.map +1 -1
  71. package/dist/types/index.d.ts +2 -0
  72. package/dist/types/index.d.ts.map +1 -1
  73. package/dist/types/index.js +2 -0
  74. package/dist/types/index.js.map +1 -1
  75. package/dist/types/position.d.ts +42 -0
  76. package/dist/types/position.d.ts.map +1 -0
  77. package/dist/types/position.js +32 -0
  78. package/dist/types/position.js.map +1 -0
  79. package/dist/types/result.d.ts.map +1 -1
  80. package/dist/types/result.js.map +1 -1
  81. package/dist/types/sections.d.ts +39 -24
  82. package/dist/types/sections.d.ts.map +1 -1
  83. package/dist/types/sections.js +30 -2
  84. package/dist/types/sections.js.map +1 -1
  85. package/dist/types/template.d.ts +68 -0
  86. package/dist/types/template.d.ts.map +1 -0
  87. package/dist/types/template.js +12 -0
  88. package/dist/types/template.js.map +1 -0
  89. package/dist/validator/index.d.ts.map +1 -1
  90. package/dist/validator/index.js +1 -2
  91. package/dist/validator/index.js.map +1 -1
  92. package/examples/example-cv-ja.md +1 -1
  93. package/package.json +53 -5
@@ -0,0 +1,219 @@
1
+ /**
2
+ * Template generator module
3
+ * Generates markdown templates for CV/rirekisho
4
+ */
5
+ import { EN_TEMPLATE } from './definitions/en.js';
6
+ import { JA_TEMPLATE } from './definitions/ja.js';
7
+ /**
8
+ * Language display names
9
+ */
10
+ const LANGUAGE_NAMES = {
11
+ en: 'English',
12
+ ja: '日本語 (Japanese)',
13
+ };
14
+ /**
15
+ * Get template definition for a language
16
+ */
17
+ export function getTemplateDefinition(language) {
18
+ switch (language) {
19
+ case 'ja':
20
+ return JA_TEMPLATE;
21
+ case 'en':
22
+ default:
23
+ return EN_TEMPLATE;
24
+ }
25
+ }
26
+ /**
27
+ * Get information about available templates
28
+ */
29
+ export function getTemplateInfo(language) {
30
+ const definition = getTemplateDefinition(language);
31
+ return {
32
+ language,
33
+ languageName: LANGUAGE_NAMES[language],
34
+ formats: ['cv', 'rirekisho', 'both'],
35
+ sectionCount: definition.sections.length,
36
+ frontmatterFieldCount: definition.frontmatterFields.length,
37
+ };
38
+ }
39
+ /**
40
+ * Get all available template infos
41
+ */
42
+ export function getAllTemplateInfos() {
43
+ return getAvailableLanguages().map(getTemplateInfo);
44
+ }
45
+ /**
46
+ * Get section info for a specific language and format
47
+ */
48
+ export function getSectionInfos(language, format) {
49
+ const definition = getTemplateDefinition(language);
50
+ const sections = filterSectionsForFormat(definition.sections, format);
51
+ return sections.map((section) => ({
52
+ id: section.id,
53
+ title: section.title,
54
+ description: section.description,
55
+ usage: section.usage,
56
+ }));
57
+ }
58
+ /**
59
+ * Format section list for display
60
+ */
61
+ export function formatSectionList(language, format) {
62
+ const sections = getSectionInfos(language, format);
63
+ const lines = [];
64
+ const header = language === 'ja'
65
+ ? `利用可能なセクション (${format} フォーマット):`
66
+ : `Available sections (${format} format):`;
67
+ lines.push(header);
68
+ lines.push('');
69
+ for (const section of sections) {
70
+ const usageLabel = section.usage === 'both'
71
+ ? language === 'ja'
72
+ ? '共通'
73
+ : 'both'
74
+ : section.usage;
75
+ lines.push(` ${section.id}`);
76
+ lines.push(` ${language === 'ja' ? 'タイトル' : 'Title'}: ${section.title}`);
77
+ lines.push(` ${language === 'ja' ? '用途' : 'Usage'}: ${usageLabel}`);
78
+ lines.push(` ${language === 'ja' ? '説明' : 'Description'}: ${section.description}`);
79
+ lines.push('');
80
+ }
81
+ return lines.join('\n');
82
+ }
83
+ /**
84
+ * Format template list for display
85
+ */
86
+ export function formatTemplateList() {
87
+ const infos = getAllTemplateInfos();
88
+ const lines = [];
89
+ lines.push('Available templates:');
90
+ lines.push('');
91
+ for (const info of infos) {
92
+ lines.push(` ${info.language} - ${info.languageName}`);
93
+ lines.push(` Formats: ${info.formats.join(', ')}`);
94
+ lines.push(` Sections: ${info.sectionCount}`);
95
+ lines.push(` Frontmatter fields: ${info.frontmatterFieldCount}`);
96
+ lines.push('');
97
+ }
98
+ return lines.join('\n');
99
+ }
100
+ /**
101
+ * Filter sections based on output format
102
+ */
103
+ export function filterSectionsForFormat(sections, format) {
104
+ return sections.filter((section) => {
105
+ if (format === 'both')
106
+ return true;
107
+ return section.usage === 'both' || section.usage === format;
108
+ });
109
+ }
110
+ /**
111
+ * Generate frontmatter field descriptions as HTML comment block
112
+ * This is placed before the frontmatter to avoid YAML parsing issues
113
+ */
114
+ export function generateFrontmatterDescription(fields, language) {
115
+ const requiredLabel = language === 'ja' ? '必須' : 'required';
116
+ const optionalLabel = language === 'ja' ? '任意' : 'optional';
117
+ const headerLabel = language === 'ja'
118
+ ? 'フロントマターフィールドの説明'
119
+ : 'Frontmatter Field Descriptions';
120
+ const lines = [`<!-- ${headerLabel}:`];
121
+ for (const field of fields) {
122
+ const reqLabel = field.required ? requiredLabel : optionalLabel;
123
+ lines.push(` ${field.key}: ${field.description} (${reqLabel})`);
124
+ }
125
+ lines.push('-->');
126
+ return lines.join('\n');
127
+ }
128
+ /**
129
+ * Generate frontmatter block
130
+ * Note: Comments are NOT included inside YAML frontmatter to avoid parsing issues
131
+ */
132
+ export function generateFrontmatter(fields, _includeComments, _language) {
133
+ const lines = ['---'];
134
+ for (const field of fields) {
135
+ lines.push(`${field.key}: ${field.example}`);
136
+ }
137
+ lines.push('---');
138
+ return lines.join('\n');
139
+ }
140
+ /**
141
+ * Generate section block
142
+ */
143
+ export function generateSection(section, includeComments, _language) {
144
+ const lines = [];
145
+ lines.push(`# ${section.title}`);
146
+ lines.push('');
147
+ if (includeComments) {
148
+ const commentLines = section.description.split('\n');
149
+ for (const line of commentLines) {
150
+ lines.push(`<!-- ${line} -->`);
151
+ }
152
+ lines.push('');
153
+ }
154
+ lines.push(section.content);
155
+ return lines.join('\n');
156
+ }
157
+ /**
158
+ * Generate complete markdown template
159
+ */
160
+ export function generateTemplate(options) {
161
+ const definition = getTemplateDefinition(options.language);
162
+ const sections = filterSectionsForFormat(definition.sections, options.format);
163
+ const parts = [];
164
+ // Add header comment
165
+ if (options.includeComments) {
166
+ const headerComment = options.language === 'ja'
167
+ ? `<!--
168
+ md2cv テンプレート
169
+ フォーマット: ${options.format}
170
+
171
+ このテンプレートを編集して、あなたの CV/履歴書を作成してください。
172
+ コメント(<!-- -->)は出力には含まれません。
173
+
174
+ 使い方:
175
+ md2cv -i this-file.md -f ${options.format}
176
+
177
+ 詳細: https://github.com/yuyash/md2cv
178
+ -->`
179
+ : `<!--
180
+ md2cv Template
181
+ Format: ${options.format}
182
+
183
+ Edit this template to create your CV/resume.
184
+ Comments (<!-- -->) will not appear in the output.
185
+
186
+ Usage:
187
+ md2cv -i this-file.md -f ${options.format}
188
+
189
+ Documentation: https://github.com/yuyash/md2cv
190
+ -->`;
191
+ parts.push(headerComment);
192
+ parts.push('');
193
+ // Add frontmatter field descriptions as HTML comment (outside YAML block)
194
+ parts.push(generateFrontmatterDescription(definition.frontmatterFields, options.language));
195
+ parts.push('');
196
+ }
197
+ // Add frontmatter
198
+ parts.push(generateFrontmatter(definition.frontmatterFields, options.includeComments, options.language));
199
+ parts.push('');
200
+ // Add sections
201
+ for (const section of sections) {
202
+ parts.push(generateSection(section, options.includeComments, options.language));
203
+ parts.push('');
204
+ }
205
+ return parts.join('\n').trimEnd() + '\n';
206
+ }
207
+ /**
208
+ * Get available template languages
209
+ */
210
+ export function getAvailableLanguages() {
211
+ return ['en', 'ja'];
212
+ }
213
+ /**
214
+ * Validate template language
215
+ */
216
+ export function isValidLanguage(lang) {
217
+ return getAvailableLanguages().includes(lang);
218
+ }
219
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/template/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Template module exports
3
+ */
4
+ export { filterSectionsForFormat, formatSectionList, formatTemplateList, generateFrontmatter, generateFrontmatterDescription, generateSection, generateTemplate, getAllTemplateInfos, getAvailableLanguages, getSectionInfos, getTemplateDefinition, getTemplateInfo, isValidLanguage, } from './generator.js';
5
+ export { EN_TEMPLATE, JA_TEMPLATE } from './definitions/index.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/template/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,8BAA8B,EAC9B,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Template module exports
3
+ */
4
+ export { filterSectionsForFormat, formatSectionList, formatTemplateList, generateFrontmatter, generateFrontmatterDescription, generateSection, generateTemplate, getAllTemplateInfos, getAvailableLanguages, getSectionInfos, getTemplateDefinition, getTemplateInfo, isValidLanguage, } from './generator.js';
5
+ export { EN_TEMPLATE, JA_TEMPLATE } from './definitions/index.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/template/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,8BAA8B,EAC9B,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
@@ -14,23 +14,127 @@ export type LogFormat = 'json' | 'text';
14
14
  * - desc: newest first (default for CV)
15
15
  */
16
16
  export type ChronologicalOrder = 'asc' | 'desc';
17
+ /**
18
+ * CLI option definition
19
+ */
20
+ export interface CLIOptionDefinition {
21
+ readonly flags: string;
22
+ readonly description: string;
23
+ readonly defaultValue?: string | boolean;
24
+ readonly required?: boolean;
25
+ }
26
+ /**
27
+ * Generate command CLI option definitions
28
+ */
29
+ export declare const GENERATE_OPTIONS: {
30
+ input: {
31
+ flags: string;
32
+ description: string;
33
+ required: true;
34
+ };
35
+ output: {
36
+ flags: string;
37
+ description: string;
38
+ };
39
+ format: {
40
+ flags: string;
41
+ description: string;
42
+ defaultValue: string;
43
+ };
44
+ outputType: {
45
+ flags: string;
46
+ description: string;
47
+ defaultValue: string;
48
+ };
49
+ paperSize: {
50
+ flags: string;
51
+ description: string;
52
+ };
53
+ config: {
54
+ flags: string;
55
+ description: string;
56
+ };
57
+ order: {
58
+ flags: string;
59
+ description: string;
60
+ };
61
+ hideMotivation: {
62
+ flags: string;
63
+ description: string;
64
+ defaultValue: false;
65
+ };
66
+ photo: {
67
+ flags: string;
68
+ description: string;
69
+ };
70
+ sectionOrder: {
71
+ flags: string;
72
+ description: string;
73
+ };
74
+ stylesheet: {
75
+ flags: string;
76
+ description: string;
77
+ };
78
+ logFormat: {
79
+ flags: string;
80
+ description: string;
81
+ defaultValue: string;
82
+ };
83
+ verbose: {
84
+ flags: string;
85
+ description: string;
86
+ defaultValue: false;
87
+ };
88
+ };
89
+ /**
90
+ * Init command CLI option definitions
91
+ */
92
+ export declare const INIT_OPTIONS: {
93
+ output: {
94
+ flags: string;
95
+ description: string;
96
+ };
97
+ lang: {
98
+ flags: string;
99
+ description: string;
100
+ defaultValue: string;
101
+ };
102
+ format: {
103
+ flags: string;
104
+ description: string;
105
+ defaultValue: string;
106
+ };
107
+ noComments: {
108
+ flags: string;
109
+ description: string;
110
+ };
111
+ listTemplates: {
112
+ flags: string;
113
+ description: string;
114
+ };
115
+ listSections: {
116
+ flags: string;
117
+ description: string;
118
+ };
119
+ };
17
120
  /**
18
121
  * CLI options parsed from command line
122
+ * Optional fields use `?:` syntax since CLI parser may not provide all values
19
123
  */
20
124
  export interface CLIOptions {
21
125
  readonly input: string;
22
- readonly output: string | undefined;
23
- readonly format: OutputFormat;
24
- readonly outputType: OutputType;
25
- readonly paperSize: PaperSize | undefined;
26
- readonly config: string | undefined;
126
+ readonly output?: string;
127
+ readonly format?: OutputFormat;
128
+ readonly outputType?: OutputType;
129
+ readonly paperSize?: PaperSize;
130
+ readonly config?: string;
27
131
  readonly debug: boolean;
28
- readonly logFormat: LogFormat;
29
- readonly chronologicalOrder: ChronologicalOrder | undefined;
30
- readonly hideMotivation: boolean;
31
- readonly photo: string | undefined;
32
- readonly sectionOrder: string | undefined;
33
- readonly stylesheet: string | undefined;
132
+ readonly logFormat?: LogFormat;
133
+ readonly chronologicalOrder?: ChronologicalOrder;
134
+ readonly hideMotivation?: boolean;
135
+ readonly photo?: string;
136
+ readonly sectionOrder?: string;
137
+ readonly stylesheet?: string;
34
138
  }
35
139
  /**
36
140
  * Configuration file schema (JSON or YAML)
@@ -58,10 +162,17 @@ export interface ResolvedConfig {
58
162
  readonly paperSize: PaperSize;
59
163
  readonly debug: boolean;
60
164
  readonly logFormat: LogFormat;
61
- readonly chronologicalOrder: ChronologicalOrder | undefined;
165
+ readonly chronologicalOrder?: ChronologicalOrder;
62
166
  readonly hideMotivation: boolean;
63
- readonly photo: string | undefined;
64
- readonly sectionOrder: string[] | undefined;
65
- readonly stylesheet: string | undefined;
167
+ readonly photo?: string;
168
+ readonly sectionOrder?: string[];
169
+ readonly stylesheet?: string;
170
+ }
171
+ /**
172
+ * Options for CV/Resume HTML generation
173
+ */
174
+ export interface CVOptions {
175
+ readonly paperSize: PaperSize;
176
+ readonly customStylesheet?: string;
66
177
  }
67
178
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC;AAC7D,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,98 @@
1
1
  /**
2
2
  * Configuration types for CLI and frontmatter
3
3
  */
4
- export {};
4
+ /**
5
+ * Generate command CLI option definitions
6
+ */
7
+ export const GENERATE_OPTIONS = {
8
+ input: {
9
+ flags: '-i, --input <filepath>',
10
+ description: 'Input markdown file path',
11
+ required: true,
12
+ },
13
+ output: {
14
+ flags: '-o, --output <filepath>',
15
+ description: 'Output filepath (default: input directory)',
16
+ },
17
+ format: {
18
+ flags: '-f, --format <format>',
19
+ description: 'Output format (cv, rirekisho, or both)',
20
+ defaultValue: 'cv',
21
+ },
22
+ outputType: {
23
+ flags: '-t, --output-type <type>',
24
+ description: 'Output type (html, pdf, or both)',
25
+ defaultValue: 'pdf',
26
+ },
27
+ paperSize: {
28
+ flags: '-p, --paper-size <size>',
29
+ description: 'Paper size (a3, a4, b4, b5, letter)',
30
+ },
31
+ config: {
32
+ flags: '-c, --config <file>',
33
+ description: 'Configuration file (JSON or YAML)',
34
+ },
35
+ order: {
36
+ flags: '--order <order>',
37
+ description: 'Chronological order for CV format only (asc: oldest first, desc: newest first). Default: desc. Rirekisho always uses oldest first.',
38
+ },
39
+ hideMotivation: {
40
+ flags: '--hide-motivation',
41
+ description: 'Hide motivation section in rirekisho format (increases history/license rows)',
42
+ defaultValue: false,
43
+ },
44
+ photo: {
45
+ flags: '--photo <filepath>',
46
+ description: 'Photo image file for rirekisho format (png, jpg, tiff). Only used with rirekisho format.',
47
+ },
48
+ sectionOrder: {
49
+ flags: '--section-order <sections>',
50
+ description: 'Comma-separated list of section IDs to include in CV output (e.g., "summary,experience,education,skills"). Sections not listed will be skipped. Only applies to CV format.',
51
+ },
52
+ stylesheet: {
53
+ flags: '--stylesheet <filepath>',
54
+ description: 'Custom CSS stylesheet file to apply additional styles. The stylesheet is appended after default styles, allowing you to override fonts, colors, spacing, etc.',
55
+ },
56
+ logFormat: {
57
+ flags: '--log-format <format>',
58
+ description: 'Log format (json or text)',
59
+ defaultValue: 'text',
60
+ },
61
+ verbose: {
62
+ flags: '--verbose',
63
+ description: 'Enable verbose logging',
64
+ defaultValue: false,
65
+ },
66
+ };
67
+ /**
68
+ * Init command CLI option definitions
69
+ */
70
+ export const INIT_OPTIONS = {
71
+ output: {
72
+ flags: '-o, --output <filepath>',
73
+ description: 'Output file path (default: stdout)',
74
+ },
75
+ lang: {
76
+ flags: '-l, --lang <language>',
77
+ description: 'Template language',
78
+ defaultValue: 'en',
79
+ },
80
+ format: {
81
+ flags: '-f, --format <format>',
82
+ description: 'Output format (cv, rirekisho, or both)',
83
+ defaultValue: 'cv',
84
+ },
85
+ noComments: {
86
+ flags: '--no-comments',
87
+ description: 'Exclude explanatory comments from template',
88
+ },
89
+ listTemplates: {
90
+ flags: '--list-templates',
91
+ description: 'List available templates and their details',
92
+ },
93
+ listSections: {
94
+ flags: '--list-sections',
95
+ description: 'List available sections for the specified language and format',
96
+ },
97
+ };
5
98
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2BH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,KAAK,EAAE;QACL,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,0BAA0B;QACvC,QAAQ,EAAE,IAAI;KACf;IACD,MAAM,EAAE;QACN,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,4CAA4C;KAC1D;IACD,MAAM,EAAE;QACN,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,wCAAwC;QACrD,YAAY,EAAE,IAAI;KACnB;IACD,UAAU,EAAE;QACV,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,kCAAkC;QAC/C,YAAY,EAAE,KAAK;KACpB;IACD,SAAS,EAAE;QACT,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,qCAAqC;KACnD;IACD,MAAM,EAAE;QACN,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,mCAAmC;KACjD;IACD,KAAK,EAAE;QACL,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,oIAAoI;KACvI;IACD,cAAc,EAAE;QACd,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,8EAA8E;QAChF,YAAY,EAAE,KAAK;KACpB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,0FAA0F;KAC7F;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACT,4KAA4K;KAC/K;IACD,UAAU,EAAE;QACV,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,+JAA+J;KAClK;IACD,SAAS,EAAE;QACT,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,2BAA2B;QACxC,YAAY,EAAE,MAAM;KACrB;IACD,OAAO,EAAE;QACP,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,wBAAwB;QACrC,YAAY,EAAE,KAAK;KACpB;CAC4C,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE;QACN,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,oCAAoC;KAClD;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,mBAAmB;QAChC,YAAY,EAAE,IAAI;KACnB;IACD,MAAM,EAAE;QACN,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,wCAAwC;QACrD,YAAY,EAAE,IAAI;KACnB;IACD,UAAU,EAAE;QACV,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,4CAA4C;KAC1D;IACD,aAAa,EAAE;QACb,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,4CAA4C;KAC1D;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,+DAA+D;KAClE;CAC4C,CAAC"}
@@ -4,6 +4,8 @@
4
4
  export * from './config.js';
5
5
  export * from './errors.js';
6
6
  export * from './metadata.js';
7
+ export * from './position.js';
7
8
  export * from './result.js';
8
9
  export * from './sections.js';
10
+ export * from './template.js';
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -4,6 +4,8 @@
4
4
  export * from './config.js';
5
5
  export * from './errors.js';
6
6
  export * from './metadata.js';
7
+ export * from './position.js';
7
8
  export * from './result.js';
8
9
  export * from './sections.js';
10
+ export * from './template.js';
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Position and Range types for LSP integration
3
+ * These types are compatible with VS Code's Position and Range
4
+ */
5
+ /**
6
+ * A position in a text document (0-based line and character)
7
+ */
8
+ export interface Position {
9
+ readonly line: number;
10
+ readonly character: number;
11
+ }
12
+ /**
13
+ * A range in a text document
14
+ */
15
+ export interface Range {
16
+ readonly start: Position;
17
+ readonly end: Position;
18
+ }
19
+ /**
20
+ * Create a Position
21
+ */
22
+ export declare function createPosition(line: number, character: number): Position;
23
+ /**
24
+ * Create a Range
25
+ */
26
+ export declare function createRange(start: Position, end: Position): Range;
27
+ /**
28
+ * Create a Range from line/character numbers
29
+ */
30
+ export declare function createRangeFromNumbers(startLine: number, startChar: number, endLine: number, endChar: number): Range;
31
+ /**
32
+ * A located value - wraps a value with its position in the document
33
+ */
34
+ export interface Located<T> {
35
+ readonly value: T;
36
+ readonly range: Range;
37
+ }
38
+ /**
39
+ * Create a Located value
40
+ */
41
+ export declare function located<T>(value: T, range: Range): Located<T>;
42
+ //# sourceMappingURL=position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../src/types/position.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,CAExE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,KAAK,CAEjE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,KAAK,CAKP;AAED;;GAEG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAE7D"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Position and Range types for LSP integration
3
+ * These types are compatible with VS Code's Position and Range
4
+ */
5
+ /**
6
+ * Create a Position
7
+ */
8
+ export function createPosition(line, character) {
9
+ return { line, character };
10
+ }
11
+ /**
12
+ * Create a Range
13
+ */
14
+ export function createRange(start, end) {
15
+ return { start, end };
16
+ }
17
+ /**
18
+ * Create a Range from line/character numbers
19
+ */
20
+ export function createRangeFromNumbers(startLine, startChar, endLine, endChar) {
21
+ return {
22
+ start: { line: startLine, character: startChar },
23
+ end: { line: endLine, character: endChar },
24
+ };
25
+ }
26
+ /**
27
+ * Create a Located value
28
+ */
29
+ export function located(value, range) {
30
+ return { value, range };
31
+ }
32
+ //# sourceMappingURL=position.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position.js","sourceRoot":"","sources":["../../src/types/position.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,SAAiB;IAC5D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAe,EAAE,GAAa;IACxD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,SAAiB,EACjB,SAAiB,EACjB,OAAe,EACf,OAAe;IAEf,OAAO;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;QAChD,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE;KAC3C,CAAC;AACJ,CAAC;AAUD;;GAEG;AACH,MAAM,UAAU,OAAO,CAAI,KAAQ,EAAE,KAAY;IAC/C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/types/result.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEnD,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CACnB;AAED,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE/C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE/C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAE1E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAE1E;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAKpF;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAKzF;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAKd;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAKpD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAKvE"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/types/result.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEnD,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CACnB;AAED,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE/C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE/C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAE1E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAE1E;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACzB,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAClB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAKd;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC9B,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAClB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAKd;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAKd;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAKpD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAKvE"}