@aster-cloud/aster-lang-ts 1.0.31 → 1.0.33

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 (127) hide show
  1. package/dist/scripts/corpus-loader.d.ts +10 -4
  2. package/dist/scripts/corpus-loader.d.ts.map +1 -1
  3. package/dist/scripts/corpus-loader.js +24 -9
  4. package/dist/scripts/corpus-loader.js.map +1 -1
  5. package/dist/scripts/lexicon-completeness.d.ts +42 -0
  6. package/dist/scripts/lexicon-completeness.d.ts.map +1 -0
  7. package/dist/scripts/lexicon-completeness.js +57 -0
  8. package/dist/scripts/lexicon-completeness.js.map +1 -0
  9. package/dist/scripts/lsp-client-helper.d.ts +7 -1
  10. package/dist/scripts/lsp-client-helper.d.ts.map +1 -1
  11. package/dist/scripts/lsp-client-helper.js +6 -1
  12. package/dist/scripts/lsp-client-helper.js.map +1 -1
  13. package/dist/scripts/verify-lexicon-sync.js +14 -44
  14. package/dist/scripts/verify-lexicon-sync.js.map +1 -1
  15. package/dist/src/lsp/codeaction.d.ts.map +1 -1
  16. package/dist/src/lsp/codeaction.js +12 -4
  17. package/dist/src/lsp/codeaction.js.map +1 -1
  18. package/dist/src/lsp/diagnostics.d.ts +2 -0
  19. package/dist/src/lsp/diagnostics.d.ts.map +1 -1
  20. package/dist/src/lsp/diagnostics.js +4 -0
  21. package/dist/src/lsp/diagnostics.js.map +1 -1
  22. package/dist/src/lsp/navigation/hover.d.ts.map +1 -1
  23. package/dist/src/lsp/navigation/hover.js +23 -0
  24. package/dist/src/lsp/navigation/hover.js.map +1 -1
  25. package/dist/src/lsp/navigation/references.d.ts +3 -1
  26. package/dist/src/lsp/navigation/references.d.ts.map +1 -1
  27. package/dist/src/lsp/navigation/references.js +16 -6
  28. package/dist/src/lsp/navigation/references.js.map +1 -1
  29. package/dist/src/lsp/navigation/rename.d.ts +1 -1
  30. package/dist/src/lsp/navigation/rename.d.ts.map +1 -1
  31. package/dist/src/lsp/navigation/rename.js +31 -42
  32. package/dist/src/lsp/navigation/rename.js.map +1 -1
  33. package/dist/src/lsp/navigation/shared.d.ts +34 -2
  34. package/dist/src/lsp/navigation/shared.d.ts.map +1 -1
  35. package/dist/src/lsp/navigation/shared.js +88 -10
  36. package/dist/src/lsp/navigation/shared.js.map +1 -1
  37. package/dist/src/lsp/navigation.js +2 -2
  38. package/dist/src/lsp/navigation.js.map +1 -1
  39. package/dist/src/lsp/parse-document.d.ts +11 -0
  40. package/dist/src/lsp/parse-document.d.ts.map +1 -0
  41. package/dist/src/lsp/parse-document.js +51 -0
  42. package/dist/src/lsp/parse-document.js.map +1 -0
  43. package/dist/src/lsp/server.js +18 -23
  44. package/dist/src/lsp/server.js.map +1 -1
  45. package/dist/src/lsp/settings.d.ts +35 -0
  46. package/dist/src/lsp/settings.d.ts.map +1 -0
  47. package/dist/src/lsp/settings.js +31 -0
  48. package/dist/src/lsp/settings.js.map +1 -0
  49. package/dist/src/lsp/source-positions.d.ts +47 -0
  50. package/dist/src/lsp/source-positions.d.ts.map +1 -0
  51. package/dist/src/lsp/source-positions.js +92 -0
  52. package/dist/src/lsp/source-positions.js.map +1 -0
  53. package/dist/src/lsp/workspace/document-indexer.d.ts +3 -1
  54. package/dist/src/lsp/workspace/document-indexer.d.ts.map +1 -1
  55. package/dist/src/lsp/workspace/document-indexer.js +5 -7
  56. package/dist/src/lsp/workspace/document-indexer.js.map +1 -1
  57. package/dist/src/lsp/workspace/symbol-finder.d.ts +8 -1
  58. package/dist/src/lsp/workspace/symbol-finder.d.ts.map +1 -1
  59. package/dist/src/lsp/workspace/symbol-finder.js +10 -13
  60. package/dist/src/lsp/workspace/symbol-finder.js.map +1 -1
  61. package/dist/src/parser/constraint-parser.d.ts.map +1 -1
  62. package/dist/src/parser/constraint-parser.js +18 -7
  63. package/dist/src/parser/constraint-parser.js.map +1 -1
  64. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  65. package/dist/src/parser/decl-parser.js +6 -5
  66. package/dist/src/parser/decl-parser.js.map +1 -1
  67. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  68. package/dist/src/parser/expr-stmt-parser.js +95 -38
  69. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  70. package/dist/src/parser/import-parser.d.ts.map +1 -1
  71. package/dist/src/parser/import-parser.js +2 -1
  72. package/dist/src/parser/import-parser.js.map +1 -1
  73. package/dist/src/parser/keyword-display.d.ts +40 -0
  74. package/dist/src/parser/keyword-display.d.ts.map +1 -0
  75. package/dist/src/parser/keyword-display.js +73 -0
  76. package/dist/src/parser/keyword-display.js.map +1 -0
  77. package/dist/src/parser/type-parser.d.ts.map +1 -1
  78. package/dist/src/parser/type-parser.js +5 -4
  79. package/dist/src/parser/type-parser.js.map +1 -1
  80. package/dist/src/parser.d.ts.map +1 -1
  81. package/dist/src/parser.js +1 -0
  82. package/dist/src/parser.js.map +1 -1
  83. package/dist/test/integration/lsp/lsp-rename-safety.test.d.ts +2 -0
  84. package/dist/test/integration/lsp/lsp-rename-safety.test.d.ts.map +1 -0
  85. package/dist/test/integration/lsp/lsp-rename-safety.test.js +114 -0
  86. package/dist/test/integration/lsp/lsp-rename-safety.test.js.map +1 -0
  87. package/dist/test/integration/lsp/lsp-source-positions.test.d.ts +2 -0
  88. package/dist/test/integration/lsp/lsp-source-positions.test.d.ts.map +1 -0
  89. package/dist/test/integration/lsp/lsp-source-positions.test.js +161 -0
  90. package/dist/test/integration/lsp/lsp-source-positions.test.js.map +1 -0
  91. package/dist/test/integration/lsp/lsp-zh-inmemory-navigation.test.d.ts +2 -0
  92. package/dist/test/integration/lsp/lsp-zh-inmemory-navigation.test.d.ts.map +1 -0
  93. package/dist/test/integration/lsp/lsp-zh-inmemory-navigation.test.js +79 -0
  94. package/dist/test/integration/lsp/lsp-zh-inmemory-navigation.test.js.map +1 -0
  95. package/dist/test/unit/eval-regression-poker-straight-high.test.d.ts +2 -0
  96. package/dist/test/unit/eval-regression-poker-straight-high.test.d.ts.map +1 -0
  97. package/dist/test/unit/eval-regression-poker-straight-high.test.js +61 -0
  98. package/dist/test/unit/eval-regression-poker-straight-high.test.js.map +1 -0
  99. package/dist/test/unit/lexicon-completeness.test.d.ts +2 -0
  100. package/dist/test/unit/lexicon-completeness.test.d.ts.map +1 -0
  101. package/dist/test/unit/lexicon-completeness.test.js +42 -0
  102. package/dist/test/unit/lexicon-completeness.test.js.map +1 -0
  103. package/dist/test/unit/lsp/codeaction.test.js +28 -0
  104. package/dist/test/unit/lsp/codeaction.test.js.map +1 -1
  105. package/dist/test/unit/lsp/lsp-locale-fixes.test.d.ts +2 -0
  106. package/dist/test/unit/lsp/lsp-locale-fixes.test.d.ts.map +1 -0
  107. package/dist/test/unit/lsp/lsp-locale-fixes.test.js +105 -0
  108. package/dist/test/unit/lsp/lsp-locale-fixes.test.js.map +1 -0
  109. package/dist/test/unit/lsp/parse-document.test.d.ts +2 -0
  110. package/dist/test/unit/lsp/parse-document.test.d.ts.map +1 -0
  111. package/dist/test/unit/lsp/parse-document.test.js +30 -0
  112. package/dist/test/unit/lsp/parse-document.test.js.map +1 -0
  113. package/dist/test/unit/mapping/redos-budget.test.js +60 -23
  114. package/dist/test/unit/mapping/redos-budget.test.js.map +1 -1
  115. package/dist/test/unit/parser/keyword-display.test.d.ts +8 -0
  116. package/dist/test/unit/parser/keyword-display.test.d.ts.map +1 -0
  117. package/dist/test/unit/parser/keyword-display.test.js +27 -0
  118. package/dist/test/unit/parser/keyword-display.test.js.map +1 -0
  119. package/dist/test/unit/parser/localized-diagnostic-keywords.test.d.ts +15 -0
  120. package/dist/test/unit/parser/localized-diagnostic-keywords.test.d.ts.map +1 -0
  121. package/dist/test/unit/parser/localized-diagnostic-keywords.test.js +98 -0
  122. package/dist/test/unit/parser/localized-diagnostic-keywords.test.js.map +1 -0
  123. package/dist/test/unit/parser/prefix-operator-call.test.js +119 -1
  124. package/dist/test/unit/parser/prefix-operator-call.test.js.map +1 -1
  125. package/dist/test/unit/scripts/corpus-loader.test.js +44 -9
  126. package/dist/test/unit/scripts/corpus-loader.test.js.map +1 -1
  127. package/package.json +1 -1
@@ -6,6 +6,69 @@ import { typeText } from '../completion.js';
6
6
  import { canonicalize } from '../../frontend/canonicalizer.js';
7
7
  import { lex } from '../../frontend/lexer.js';
8
8
  import { TokenKind } from '../../frontend/tokens.js';
9
+ import path from 'node:path';
10
+ import { findSemanticTokenKind } from '../../config/lexicons/types.js';
11
+ import { buildCanonicalizeOptions } from '../canonicalize-options.js';
12
+ import { alignTokensToSource } from '../source-positions.js';
13
+ import { EN_US } from '../../config/lexicons/en-US.js';
14
+ /**
15
+ * 词法分析并把 token 位置映射回原文坐标(导航取词/查找用)。
16
+ * canonicalize 会删冠词等、改变行内长度,直接用规范化文本的列号会改错位置。
17
+ */
18
+ export function lexInSourceCoordinates(text, lexicon) {
19
+ const can = canonicalize(text, buildCanonicalizeOptions(lexicon, undefined, undefined));
20
+ return alignTokensToSource(text, can, lex(can, lexicon));
21
+ }
22
+ /**
23
+ * 是否为该文档语言的关键字。无 lexicon(en 文档在服务端就是这样)时按 en-US 判定——
24
+ * 否则 en 下 `Return` / `Rule` 也能被重命名,重命名会改掉所有同名关键字。
25
+ */
26
+ export function isKeywordFor(word, lexicon) {
27
+ return findSemanticTokenKind(lexicon ?? EN_US, word) !== undefined;
28
+ }
29
+ const isIdentToken = (t) => t?.kind === TokenKind.IDENT || t?.kind === TokenKind.TYPE_IDENT;
30
+ /** 位置是否确定可编辑:只有与原文逐字对齐的 token 才算(未对齐过的 token 视为确定) */
31
+ const isExact = (t) => t?.srcAlign === undefined || t.srcAlign === 'exact';
32
+ /**
33
+ * 光标处的**可编辑**标识符:必须是标识符 token、位置与原文逐字对齐、且不是关键字。
34
+ * ★重命名/引用只能基于它,不能退回字符级或正则取词——冠词(the / eine)不是 token,
35
+ * 退回字符级会取到 `the`,再退回全文正则就把每个 the 都改掉。
36
+ */
37
+ export function identifierTokenAt(tokens, text, offset, lexicon) {
38
+ const starts = buildLineStarts(text);
39
+ for (const t of tokens) {
40
+ if (!isIdentToken(t) || !t.start || !t.end)
41
+ continue;
42
+ const s = toOffset(starts, t.start.line, t.start.col);
43
+ const e = toOffset(starts, t.end.line, t.end.col);
44
+ if (offset < s || offset > e)
45
+ continue;
46
+ const name = String(t.value);
47
+ if (!isExact(t) || isKeywordFor(name, lexicon))
48
+ return null;
49
+ return { name, start: s, end: e };
50
+ }
51
+ return null;
52
+ }
53
+ /**
54
+ * 某名字在 token 流里的全部**确定**位置。uncertain=true 表示存在同名但位置非逐字对齐的 token
55
+ * (领域词汇翻译、推算位置)——此时重命名必须整体拒绝,不能只改一部分或改到推算的位置。
56
+ */
57
+ export function exactIdentifierPositions(tokens, text, name) {
58
+ const starts = buildLineStarts(text);
59
+ const positions = [];
60
+ let uncertain = false;
61
+ for (const t of tokens) {
62
+ if (!isIdentToken(t) || !t.start || !t.end || String(t.value) !== name)
63
+ continue;
64
+ if (!isExact(t)) {
65
+ uncertain = true;
66
+ continue;
67
+ }
68
+ positions.push({ start: toOffset(starts, t.start.line, t.start.col), end: toOffset(starts, t.end.line, t.end.col) });
69
+ }
70
+ return { positions, uncertain };
71
+ }
9
72
  import { getSpan, getVariantSpans, getStatements, isAstFunc, isAstData, isAstEnum, isAstBlock, } from '../type-guards.js';
10
73
  /**
11
74
  * 转义字符串中的正则元字符,使其可安全嵌入 `new RegExp(...)`。
@@ -21,8 +84,20 @@ export function escapeRegExp(str) {
21
84
  * @param offset 偏移量位置
22
85
  * @returns 捕获的单词,如果不在单词位置则返回 null
23
86
  */
24
- export function captureWordAt(text, offset) {
25
- const isWord = (c) => /[A-Za-z0-9_.]/.test(c);
87
+ export function captureWordAt(text, offset, lexicon) {
88
+ // ★优先按词法规则取光标所在的标识符 token:标识符可以是任意 Unicode 字母(zh「加倍」、
89
+ // de「größe」),且 zh 关键字与标识符之间可以不留空格(「返回加倍(…)」),ASCII 正则
90
+ // 两种情况都处理不了——旧实现对「加倍」恒回 null,重命名框弹出却什么都不改。
91
+ // 关键字不是可重命名的符号,直接拒绝。
92
+ try {
93
+ const toks = lexInSourceCoordinates(text, lexicon);
94
+ // 词法成功时只认 token:光标不在可编辑标识符上(如冠词 the)就是 null,不退回字符级
95
+ return identifierTokenAt(toks, text, offset, lexicon)?.name ?? null;
96
+ }
97
+ catch {
98
+ // 词法失败(文本残缺)时退回字符级捕获
99
+ }
100
+ const isWord = (c) => /[\p{L}\p{N}_.]/u.test(c);
26
101
  let s = offset;
27
102
  while (s > 0 && isWord(text[s - 1]))
28
103
  s--;
@@ -41,7 +116,8 @@ export function captureWordAt(text, offset) {
41
116
  */
42
117
  export function findWordPositions(text, word) {
43
118
  const out = [];
44
- const re = new RegExp(`(?<![A-Za-z0-9_.])${escapeRegExp(word)}(?![A-Za-z0-9_.])`, 'g');
119
+ // 词边界按 Unicode 字母/数字判定(标识符可以是中文、带变音的德文等)
120
+ const re = new RegExp(`(?<![\\p{L}\\p{N}_.])${escapeRegExp(word)}(?![\\p{L}\\p{N}_.])`, 'gu');
45
121
  for (let m; (m = re.exec(text));) {
46
122
  out.push({ start: m.index, end: m.index + word.length });
47
123
  }
@@ -53,13 +129,14 @@ export function findWordPositions(text, word) {
53
129
  * @param word 要查找的标记或单词
54
130
  * @returns 标记位置数组,如果词法分析失败则回退到正则匹配
55
131
  */
56
- export function findTokenPositionsSafe(text, word) {
132
+ export function findTokenPositionsSafe(text, word, lexicon) {
57
133
  // If word contains '.', fallback to simple word regex matching over text
58
134
  if (word.includes('.'))
59
135
  return findWordPositions(text, word);
60
136
  try {
61
- const can = canonicalize(text);
62
- const toks = lex(can);
137
+ // ★非英文文档必须带 lexicon 词法分析,否则 lexer 遇到中文关键字即抛,
138
+ // 静默退化成 ASCII 词边界正则(会命中字符串字面量里的同名文本)。
139
+ const toks = lexInSourceCoordinates(text, lexicon);
63
140
  const starts = buildLineStarts(text);
64
141
  const out = [];
65
142
  for (const t of toks) {
@@ -121,11 +198,12 @@ export function offsetToPos(text, off) {
121
198
  * @returns file:// URI 字符串
122
199
  */
123
200
  export function ensureUri(u) {
124
- if (u.startsWith('file://'))
201
+ // ★已带 scheme 的 URI(file:// 以及编辑器的 inmemory:// 等)原样返回。
202
+ // 旧实现在 ESM 里调 require(ReferenceError: require is not defined),
203
+ // 且会把 inmemory://x 拼成 file:///cwd/inmemory://x。
204
+ if (/^[a-z][a-z0-9+.-]*:\/\//i.test(u))
125
205
  return u;
126
- const path = require('node:path');
127
- const to = 'file://' + (path.isAbsolute(u) ? u : path.join(process.cwd(), u));
128
- return to;
206
+ return 'file://' + (path.isAbsolute(u) ? u : path.join(process.cwd(), u));
129
207
  }
130
208
  /**
131
209
  * URI 转文件系统路径
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/lsp/navigation/shared.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EACL,OAAO,EACP,eAAe,EACf,aAAa,EACb,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,GACX,MAAM,mBAAmB,CAAC;AAS3B;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,MAAc;IACxD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,GAAG,MAAM,CAAC;IACf,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QAAE,CAAC,EAAE,CAAC;IAC1C,IAAI,CAAC,GAAG,MAAM,CAAC;IACf,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QAAE,CAAC,EAAE,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,IAAY;IAC1D,MAAM,GAAG,GAA0C,EAAE,CAAC;IACtD,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,qBAAqB,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACvF,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAI,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,IAAY;IAC/D,yEAAyE;IACzE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,GAAG,GAA0C,EAAE,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChG,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtD,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,CAAC,GAAa,CAAC,CAAC,CAAC,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAyB,EAAE,IAAY,EAAE,GAAW;IAC3E,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,GAAW;IACnD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;QAAE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAAC,IAAI,EAAE,CAAC;YAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;IAChG,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,IAAsB,EAAE,GAAiB;IACjE,IAAI,IAAI,EAAE,CAAC;QACT,OAAO;YACL,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE;YAC7F,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE;SACxF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;IACjI,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,CAAU;IACnC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,OAAO,IAAI,MAAM,QAAQ,GAAG,GAAG,MAAM,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,IAAsB,EAAE,GAAwC;IACrF,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,CAAY,EAAE,GAAwC;IAC/E,IAAI,KAAK,GAAmB,IAAI,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,EAAE,GAAqB,OAAO,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;YACpB,KAAK,GAAG,CAAY,CAAC;YACrB,IAAI,SAAS,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAsB,EAAE,GAAwC;IAC1F,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG;YAAE,SAAS;QACvC,MAAM,IAAI,GAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC;QAClH,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;gBAAE,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,EAAQ;IAC9C,OAAO;QACL,GAAG;QACH,KAAK,EAAE;YACL,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE;YAC/D,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE;SAC1D;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAAW,EAAE,IAAY,EAAE,GAAwC;IAC1G,MAAM,OAAO,GAAG,CAAC,EAAS,EAAW,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,SAAS,GAAG,CAAC,CAAW,EAAwD,EAAE;QACtF,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACvB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBACxB,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,IAAI,MAA0B,CAAC;oBAC/B,MAAM,OAAO,GAAG,CAAC,CAAM,EAAQ,EAAE;wBAC/B,IAAI,CAAC,CAAC;4BAAE,OAAO;wBACf,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;4BAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;6BAC5C,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;4BAClC,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC;4BAC9B,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;4BACtD,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC,CAAC;oBACF,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACnB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;oBACpB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;oBACzB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;wBACxC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;oBAC9C,CAAC;oBACD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAClC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAgB,CAAC,CAAC;wBAC1C,IAAI,KAAK;4BAAE,OAAO,KAAK,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,SAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1G,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAC;YAClB,CAAC;iBAAM,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC;oBAAE,OAAO,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,OAAO,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,CAAkB,EAAE,IAAY;IACnE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,EAAE;gBAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,SAAqB,EAAE,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC;YAChB,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAChB,MAAM,EAAE,GAAG,oBAAoB,CAAC,CAAC,CAAC,SAAqB,EAAE,IAAI,CAAC,CAAC;gBAC/D,IAAI,EAAE;oBAAE,OAAO,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC5B,MAAM,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAgB,EAAE,IAAI,CAAC,CAAC;oBACzD,IAAI,CAAC;wBAAE,OAAO,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAkB;IACpD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAgB,CAAC;IACpC,IAAI,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACnB,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,EAAE,GAAK,CAAS,CAAC,QAA6B,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;YACnE,IAAI,EAAE;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC3B,mBAAmB,CAAC,CAAC,CAAC,SAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,CAAC,SAAS;gBAAE,mBAAmB,CAAC,CAAC,CAAC,SAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjG,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;gBAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;oBAAE,mBAAmB,CAAC,CAAC,CAAC,IAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjI,CAAC;aAAM,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAY;IAC7C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAgB,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAkB,EAAE,CAAC;QACrC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,MAAM,GAAyB,eAAe,CAAC,CAAC,CAAC,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;gBAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrB,IAAI,EAAE;oBAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAY;IAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAgB,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAkB,EAAE,CAAC;QACrC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,EAAE;oBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,CAAY,EAAE,GAAwC;IACzF,6EAA6E;IAC7E,MAAM,UAAU,GAAG,CAAC,EAAoB,EAAW,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACtE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAkB,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAAE,SAAS;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC;QACZ,MAAM,SAAS,GAAG,CAAC,CAAW,EAAQ,EAAE;YACtC,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACxB,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;qBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;oBAChD,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;qBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC3B,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACjB,SAAS,CAAC,CAAC,CAAC,SAAqB,CAAC,CAAC;oBACnC,IAAI,CAAC,CAAC,SAAS;wBAAE,SAAS,CAAC,CAAC,CAAC,SAAqB,CAAC,CAAC;gBACtD,CAAC;qBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC9B,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACjB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;wBACxB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;4BAAE,SAAS,CAAC,CAAC,CAAC,IAAgB,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;qBAAM,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzB,SAAS,CAAC,CAAC,CAAC,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAQ,EAAE;YAChC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,OAAO;YAC1B,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC3B,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;oBACjC,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;oBACxB,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;wBAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAkB,EAAE,KAAK,EAAE,GAAG,CAAC,IAAc,EAAE,CAAC;wBAAC,OAAO;oBAAC,CAAC;gBACxG,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC7B,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QACF,IAAI,KAAK,GAA+C,IAAI,CAAC;QAC7D,IAAI,CAAC,CAAC,IAAI;YAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/lsp/navigation/shared.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,8 @@ import { registerDocumentSymbolHandler } from './navigation/document-symbol.js';
19
19
  */
20
20
  export function registerNavigationHandlers(connection, documents, getOrParse, getDocumentSettings, getLexiconForDoc) {
21
21
  // 注册各个处理器
22
- registerReferencesHandler(connection, documents, getDocumentSettings);
23
- registerRenameHandlers(connection, documents, getOrParse, getDocumentSettings);
22
+ registerReferencesHandler(connection, documents, getDocumentSettings, getLexiconForDoc, getOrParse);
23
+ registerRenameHandlers(connection, documents, getOrParse, getDocumentSettings, getLexiconForDoc);
24
24
  registerHoverHandler(connection, documents, getOrParse, getLexiconForDoc);
25
25
  registerDefinitionHandler(connection, documents, getOrParse);
26
26
  registerDocumentSymbolHandler(connection, documents, getOrParse);
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/lsp/navigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,iBAAiB;AACjB,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,EACX,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,cAAc;AACd,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAsB,EACtB,SAA2E,EAC3E,UAAqF,EACrF,mBAAkD,EAClD,gBAA6F;IAE7F,UAAU;IACV,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACtE,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAC/E,oBAAoB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC1E,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7D,6BAA6B,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/lsp/navigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,iBAAiB;AACjB,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,EACX,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,cAAc;AACd,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAsB,EACtB,SAA2E,EAC3E,UAAqF,EACrF,mBAAkD,EAClD,gBAA6F;IAE7F,UAAU;IACV,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACpG,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IACjG,oBAAoB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC1E,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7D,6BAA6B,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACnE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Module as AstModule } from '../types.js';
2
+ import type { Diagnostic } from '../diagnostics/diagnostics.js';
3
+ import type { Lexicon } from '../config/lexicons/types.js';
4
+ export interface ParsedDocument {
5
+ readonly can: string;
6
+ readonly tokens: readonly any[];
7
+ readonly ast: AstModule | null;
8
+ readonly parseDiagnostics: readonly Diagnostic[];
9
+ }
10
+ export declare function parseDocumentText(text: string, lexicon: Lexicon | undefined, tenantId: string | undefined, domain: string | undefined): ParsedDocument;
11
+ //# sourceMappingURL=parse-document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-document.d.ts","sourceRoot":"","sources":["../../../src/lsp/parse-document.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAK3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,UAAU,EAAE,CAAC;CAClD;AAkBD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,cAAc,CAiBhB"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * LSP 文档解析(无副作用,便于直接测试)。
3
+ *
4
+ * ★非英文文档必须把 lexicon 一路传给 canonicalize **和 lex**:canonicalize 只做
5
+ * 标点/空白归一(「。」→「.」),关键字仍是原文;无 lexicon 的 lexer 见到「模」
6
+ * 就抛 "Unexpected character"。曾因 getOrParse 写成 `lex(can)`,zh/de 文档的
7
+ * hover、跳转、文档符号全部失败(诊断路径吞掉异常,表现为「无问题」)。
8
+ * 浏览器侧编译(browser.ts)与 formatter 一直是 `lex(canonical, lexicon)`,此处对齐。
9
+ *
10
+ * 返回的 tokens 与 ast 的位置均为**原文**坐标(`can` 仅供需要规范化文本的调用方)。
11
+ */
12
+ import { canonicalize } from '../frontend/canonicalizer.js';
13
+ import { lex } from '../frontend/lexer.js';
14
+ import { parse, parseWithLexicon } from '../parser.js';
15
+ import { needsKeywordTranslation } from '../frontend/keyword-translator.js';
16
+ import { buildCanonicalizeOptions } from './canonicalize-options.js';
17
+ import { alignTokensToSource } from './source-positions.js';
18
+ import { vocabularyRegistry, initBuiltinVocabularies } from '../config/lexicons/identifiers/registry.js';
19
+ /**
20
+ * 领域词汇的「规范名 → 本地化写法」查找:canonicalize 用同一份词汇把本地化词替换成规范名,
21
+ * 对齐时据此在原文里找回本地化写法(否则该 token 及其后同一行的位置全部推算错位)。
22
+ */
23
+ function localizedLookup(lexicon, tenantId, domain) {
24
+ if (!lexicon || !tenantId || !domain)
25
+ return undefined;
26
+ initBuiltinVocabularies();
27
+ const index = vocabularyRegistry.getWithCustom(tenantId, domain, lexicon.id)?.index;
28
+ if (!index)
29
+ return undefined;
30
+ return (canonical) => index.toLocalized.get(canonical) ?? index.toLocalized.get(canonical.toLowerCase());
31
+ }
32
+ export function parseDocumentText(text, lexicon, tenantId, domain) {
33
+ const can = canonicalize(text, buildCanonicalizeOptions(lexicon, tenantId, domain));
34
+ // ★token 位置改为原文坐标后再解析:AST span 由 token 派生,于是高亮/跳转/hover/重命名/
35
+ // 诊断的位置都对应原文(canonicalize 删冠词等会改变行内长度,见 source-positions.ts)。
36
+ const tokens = alignTokensToSource(text, can, lex(can, lexicon), { localizedOf: localizedLookup(lexicon, tenantId, domain) });
37
+ let ast;
38
+ let parseDiagnostics = [];
39
+ try {
40
+ const result = lexicon && needsKeywordTranslation(lexicon)
41
+ ? parseWithLexicon(tokens, lexicon)
42
+ : parse(tokens, lexicon);
43
+ ast = result.ast;
44
+ parseDiagnostics = result.diagnostics;
45
+ }
46
+ catch {
47
+ ast = null;
48
+ }
49
+ return { can, tokens, ast, parseDiagnostics };
50
+ }
51
+ //# sourceMappingURL=parse-document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-document.js","sourceRoot":"","sources":["../../../src/lsp/parse-document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAI5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AASzG;;;GAGG;AACH,SAAS,eAAe,CACtB,OAA4B,EAC5B,QAA4B,EAC5B,MAA0B;IAE1B,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACvD,uBAAuB,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,kBAAkB,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;IACpF,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3G,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,OAA4B,EAC5B,QAA4B,EAC5B,MAA0B;IAE1B,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACpF,6DAA6D;IAC7D,gEAAgE;IAChE,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9H,IAAI,GAAqB,CAAC;IAC1B,IAAI,gBAAgB,GAA0B,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC;YACxD,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;YACnC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3B,GAAG,GAAG,MAAM,CAAC,GAAgB,CAAC;QAC9B,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC;AAChD,CAAC"}
@@ -3,12 +3,9 @@
3
3
  import { createConnection, TextDocuments, ProposedFeatures, DidChangeConfigurationNotification, DidChangeWatchedFilesNotification, TextDocumentSyncKind, CodeActionKind, } from 'vscode-languageserver/node.js';
4
4
  import { performance } from 'node:perf_hooks';
5
5
  import { TextDocument } from 'vscode-languageserver-textdocument';
6
- import { canonicalize } from '../frontend/canonicalizer.js';
7
- import { lex } from '../frontend/lexer.js';
8
- import { parse, parseWithLexicon } from '../parser.js';
9
- import { needsKeywordTranslation } from '../frontend/keyword-translator.js';
10
6
  import { LexiconRegistry, initializeAllBundledLexicons } from '../config/lexicons/index.js';
11
- import { buildCanonicalizeOptions } from './canonicalize-options.js';
7
+ import { parseDocumentText } from './parse-document.js';
8
+ import { resolvePushedSettings } from './settings.js';
12
9
  import { resolveTenantContext } from './tenant-init.js';
13
10
  import { attachDiagnosticMessages } from '../config/lexicons/diagnostic-messages.js';
14
11
  import { buildIdIndex, exprTypeText } from './utils.js';
@@ -68,20 +65,8 @@ function getOrParse(doc) {
68
65
  return prev;
69
66
  const text = doc.getText();
70
67
  const lexicon = getLexiconForDoc(doc.uri);
71
- const can = canonicalize(text, buildCanonicalizeOptions(lexicon, currentTenantId, currentDomain));
72
- const tokens = lex(can);
73
- let ast;
74
- let parseDiagnostics = [];
75
- try {
76
- const result = lexicon && needsKeywordTranslation(lexicon)
77
- ? parseWithLexicon(tokens, lexicon)
78
- : parse(tokens, lexicon);
79
- ast = result.ast;
80
- parseDiagnostics = result.diagnostics;
81
- }
82
- catch {
83
- ast = null;
84
- }
68
+ // 解析逻辑抽到 parse-document.ts(可测):lexicon 必须同时传给 canonicalize 与 lex。
69
+ const { can, tokens, ast, parseDiagnostics } = parseDocumentText(text, lexicon, currentTenantId, currentDomain);
85
70
  const entry = { version: doc.version, text, can, tokens, ast, parseDiagnostics };
86
71
  // Build simple identifier index for performance (by token value)
87
72
  entry.idIndex = buildIdIndex(tokens);
@@ -146,6 +131,13 @@ connection.onInitialize(async (params) => {
146
131
  interFileDependencies: false,
147
132
  workspaceDiagnostics: true,
148
133
  },
134
+ /* ★能力探测标志:客户端据此决定注册哪些功能,而不是猜服务端版本。
135
+ * localizedParsing —— 非英文文档的 hover/跳转/符号等按 lexicon 解析(旧版恒抛错)
136
+ * openDocumentNavigation —— 引用/重命名读打开中的内存文本(旧版对 inmemory 文档恒空)
137
+ * 旧版服务端不带这些标志,客户端应只对 en-US 注册基于解析的功能,且不注册引用/重命名。 */
138
+ experimental: {
139
+ aster: { localizedParsing: true, openDocumentNavigation: true },
140
+ },
149
141
  codeActionProvider: {
150
142
  codeActionKinds: [CodeActionKind.QuickFix],
151
143
  },
@@ -305,8 +297,10 @@ connection.onInitialized(() => {
305
297
  // Register tokens handlers (semantic tokens, inlay hints, document highlight)
306
298
  registerTokensHandlers(connection, documents, getOrParse, typeText, exprTypeText, tokenNameAt, collectLetsWithSpan);
307
299
  });
300
+ // The example settings
301
+ // 设置默认值与合并规则见 settings.ts(可测)。
308
302
  // The global settings, used when the `workspace/configuration` request is not supported by the client.
309
- const defaultSettings = { maxNumberOfProblems: 1000, format: { mode: 'lossless', reflow: true }, index: { persist: true }, rename: { scope: 'workspace' }, diagnostics: { workspace: true }, streaming: { referencesChunk: 200, renameChunk: 200, logChunks: false } };
303
+ const defaultSettings = resolvePushedSettings(undefined);
310
304
  let globalSettings = defaultSettings;
311
305
  // Cache the settings of all open documents
312
306
  const documentSettings = new Map();
@@ -316,7 +310,8 @@ connection.onDidChangeConfiguration(change => {
316
310
  documentSettings.clear();
317
311
  }
318
312
  else {
319
- globalSettings = (change.settings.asterLanguageServer || defaultSettings);
313
+ // ★合并而非整体替换:客户端只推 locale 时其余默认值必须保留
314
+ globalSettings = resolvePushedSettings(change.settings?.asterLanguageServer);
320
315
  }
321
316
  // 更新 diagnostics/index/locale 设置;缓存失效必须在更新 locale 后执行,
322
317
  // 否则任何后续的 getOrParse 都会再次塞入旧 lexicon 解析结果。
@@ -453,7 +448,7 @@ documents.onDidChangeContent(change => {
453
448
  }
454
449
  // Update index for open document
455
450
  try {
456
- void updateDocumentIndex(change.document.uri, change.document.getText()).catch(() => { });
451
+ void updateDocumentIndex(change.document.uri, change.document.getText(), getLexiconForDoc(change.document.uri)).catch(() => { });
457
452
  }
458
453
  catch {
459
454
  // ignore
@@ -461,7 +456,7 @@ documents.onDidChangeContent(change => {
461
456
  });
462
457
  documents.onDidSave(e => {
463
458
  try {
464
- void updateDocumentIndex(e.document.uri, e.document.getText()).catch(() => { });
459
+ void updateDocumentIndex(e.document.uri, e.document.getText(), getLexiconForDoc(e.document.uri)).catch(() => { });
465
460
  }
466
461
  catch {
467
462
  // ignore
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/lsp/server.ts"],"names":[],"mappings":";AAEA,4CAA4C;AAE5C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAEhB,kCAAkC,EAClC,iCAAiC,EACjC,oBAAoB,EAEpB,cAAc,GACf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAM5E,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EACL,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,yCAAyC,EACzC,2BAA2B,EAC3B,oBAAoB,EACpB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,EACX,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,kDAAkD;AAElD,uEAAuE;AACvE,MAAM,UAAU,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAE1D,yCAAyC;AACzC,MAAM,SAAS,GAAgC,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,UAAU,CAAC,SAAS,GAAG;IACrB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;CAC1C,CAAC;AAaF,MAAM,QAAQ,GAA2B,IAAI,GAAG,EAAE,CAAC;AACnD,MAAM,eAAe,GAAG,IAAI,WAAW,EAAE,CAAC;AAC1C,IAAI,gBAAgB,GAAkB,IAAI,CAAC;AAC3C,IAAI,sBAAsB,GAAG,IAAI,CAAC;AAClC,MAAM,gBAAgB,GAAa,EAAE,CAAC;AAEtC,8BAA8B;AAC9B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAmB,CAAC;AAEpD,6CAA6C;AAC7C,IAAI,cAAmC,CAAC;AAExC;6CAC6C;AAC7C,IAAI,eAAmC,CAAC;AACxC,IAAI,aAAiC,CAAC;AAEtC,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC;AACrD,CAAC;AAED,SAAS,UAAU,CAAC,GAAiB;IACnC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,wBAAwB,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;IAClG,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,GAAqB,CAAC;IAC1B,IAAI,gBAAgB,GAA0B,EAAE,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC;YACxD,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;YACnC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3B,GAAG,GAAG,MAAM,CAAC,GAAgB,CAAC;QAC9B,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IACD,MAAM,KAAK,GAAc,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC;IAC5F,iEAAiE;IACjE,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,IAAI,0BAA0B,GAAG,KAAK,CAAC;AACvC,IAAI,4BAA4B,GAAG,KAAK,CAAC;AACzC,IAAI,yCAAyC,GAAG,KAAK,CAAC;AACtD,IAAI,yBAAyB,GAAG,KAAK,CAAC;AACtC,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAE9B,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,MAAwB,EAAE,EAAE;IACzD,mEAAmE;IACnE,4BAA4B,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAEzC,iEAAiE;IACjE,0BAA0B,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAClG,4BAA4B,GAAG,CAAC,CAAC,CAC/B,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,gBAAgB,CACpE,CAAC;IACF,yCAAyC,GAAG,CAAC,CAAC,CAC5C,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,YAAY,CAAC,kBAAkB;QAC5C,YAAY,CAAC,YAAY,CAAC,kBAAkB,CAAC,kBAAkB,CAChE,CAAC;IACF,yBAAyB,GAAG,CAAC,CAAC,CAC5B,YAAY,CAAC,SAAS;QACrB,YAAY,CAAC,SAAiB,CAAC,qBAAqB;QACpD,YAAY,CAAC,SAAiB,CAAC,qBAAqB,CAAC,mBAAmB,CAC1E,CAAC;IAEF;;;;;;;;;;;;;;;OAeG;IACH,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAChD,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC;IACtC,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACrC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,8CAA8C;IAC9C,mBAAmB,CAAC;QAClB,2BAA2B,EAAE,yCAAyC;QACtE,2BAA2B,EAAE,IAAI;QACjC,sBAAsB,EAAE,aAAa,CAAC,WAAW,EAAE,CAAC,gBAAgB;KACrE,CAAC,CAAC;IAEH,MAAM,MAAM,GAAqB;QAC/B,YAAY,EAAE;YACZ,gBAAgB,EAAE,oBAAoB,CAAC,WAAW;YAClD,6DAA6D;YAC7D,kBAAkB,EAAE;gBAClB,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aACnC;YACD,kBAAkB,EAAE;gBAClB,qBAAqB,EAAE,KAAK;gBAC5B,oBAAoB,EAAE,IAAI;aAC3B;YACD,kBAAkB,EAAE;gBAClB,eAAe,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC;aAC3C;YACD,aAAa,EAAE,IAAI;YACnB,yBAAyB,EAAE,IAAI;YAC/B,qBAAqB,EAAE;gBACrB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;gBAC7B,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aAChC;YACD,sBAAsB,EAAE,IAAI;YAC5B,sBAAsB,EAAE;gBACtB,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,IAAI;aACX;YACD,uBAAuB,EAAE,IAAI;YAC7B,0BAA0B,EAAE,IAAI;YAChC,+BAA+B,EAAE,IAAI;YACrC,iBAAiB,EAAE,IAAI;YACvB,0BAA0B;YAC1B,kBAAkB,EAAE,IAAI;YACxB,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;YACzC,oBAAoB,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;SACjD;KACF,CAAC;IACF,IAAI,4BAA4B,EAAE,CAAC;QACjC,MAAM,CAAC,YAAY,CAAC,SAAS,GAAG;YAC9B,gBAAgB,EAAE;gBAChB,SAAS,EAAE,IAAI;aAChB;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,cAAc,GAAqC,EAAE,CAAC;QAE5D,oDAAoD;QACpD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,MAAM,EAAE,CAAC;oBACX,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC9B,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QACD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAuB,CAAC;QAEnG,wDAAwD;QACxD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAC1C,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACvC,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,cAAc,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,IAAI,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;QAClG,sBAAsB,GAAG,IAAI,CAAC;QAC9B,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;YACjD,IAAI,MAAM,EAAE,CAAC;gBACX,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC7G,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE;IAC5B,qBAAqB,EAAE,CAAC,CAAC,SAAS;IAClC,UAAU;IACV,kBAAkB,CAAC;QACjB,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,KAAK,EAAE,OAAO;QAC3B,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,IAAI,0BAA0B,EAAE,CAAC;QAC/B,0CAA0C;QAC1C,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,kCAAkC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,4BAA4B,EAAE,CAAC;QACjC,UAAU,CAAC,SAAS,CAAC,2BAA2B,CAAC,GAAG,EAAE;YACpD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YAClE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,yDAAyD;IACzD,IAAI,yBAAyB,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,iCAAiC,CAAC,IAAI,EAAE;gBACjE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;aAC1C,CAAC,CAAC;YACH,iBAAiB,GAAG,IAAI,CAAC;YACzB,4BAA4B;YAC5B,oBAAoB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;QACD,UAAU,CAAC,uBAAuB,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;YAC5C,IAAI,CAAC;gBACH,MAAM,uBAAuB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,OAAO,CAAC,IAAI,CACrB,gFAAgF,CACjF,CAAC;QACF,iBAAiB;QACjB,oBAAoB,CAAC;YACnB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,IAAI,EAAE,UAAU;SAClC,CAAC,CAAC;QACH,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACrC,CAAC;IAED,yEAAyE;IACzE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,CAAC,KAAK,IAAmB,EAAE;YAC/C,IAAI,CAAC;gBACH,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;gBAC9C,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,aAAa,EAAE,CAAC,MAAM,kBAAkB,CAAC,CAAC;gBAE7F,kDAAkD;gBAClD,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;gBAChC,MAAM,2BAA2B,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;gBAClE,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;gBACvD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAmC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3F,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IAED,2BAA2B;IAC3B,sBAAsB,CAAC,UAAU,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAEjI,+BAA+B;IAC/B,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAEhF,+BAA+B;IAC/B,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAEhF,+BAA+B;IAC/B,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IAErG,+BAA+B;IAC/B,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAEvE,gCAAgC;IAChC,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAE7F,4BAA4B;IAC5B,uBAAuB,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAEtF,8EAA8E;IAC9E,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;AACtH,CAAC,CAAC,CAAC;AAaH,uGAAuG;AACvG,MAAM,eAAe,GAAkB,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;AACtR,IAAI,cAAc,GAAkB,eAAe,CAAC;AAEpD,2CAA2C;AAC3C,MAAM,gBAAgB,GAAwC,IAAI,GAAG,EAAE,CAAC;AAExE,UAAU,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE;IAC3C,IAAI,0BAA0B,EAAE,CAAC;QAC/B,qCAAqC;QACrC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,cAAc,GAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,IAAI,eAAe,CAAC,CAAC;IAC3F,CAAC;IAED,uDAAuD;IACvD,2CAA2C;IAC3C,mBAAmB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC/B,mBAAmB,CAAC;YAClB,2BAA2B,EAAE,CAAC,CAAC,WAAW,EAAE,SAAS,IAAI,IAAI;SAC9D,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC;QAChD,IAAI,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,cAAc,CAAC;YACb,cAAc;YACd,SAAS,EAAE,gBAAgB,IAAI,IAAI;SACpC,CAAC,CAAC;QACH,sBAAsB,GAAG,cAAc,CAAC;QAExC,wBAAwB;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC;QACnC,MAAM,aAAa,GAAG,cAAc,EAAE,EAAE,CAAC;QACzC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,cAAc,GAAG,SAAS,CAAC;YAC3B,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,CAAC;QACD,6CAA6C;QAC7C,4DAA4D;QAC5D,MAAM,YAAY,GAAG,cAAc,EAAE,EAAE,CAAC;QACxC,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;YACnC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,sDAAsD;YACtD,8BAA8B;YAC9B,yCAAyC,EAAE,CAAC;YAC5C,sDAAsD;YACtD,iDAAiD;YACjD,uCAAuC;YACvC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,gCAAgC;QAChC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC;gBAAC,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YAC7B,yDAAyD;YACzD,+CAA+C;YAC/C,OAAO,GAAG,EAAE,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,GAAG,CAAC,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;QACzI,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACZ,mBAAmB,CAAC;YAClB,2BAA2B,EAAE,IAAI;SAClC,CAAC,CAAC;QACH,cAAc,CAAC;YACb,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,gBAAgB,IAAI,IAAI;SACpC,CAAC,CAAC;QACH,sBAAsB,GAAG,IAAI,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC;YAC7C,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,qBAAqB;SAC/B,CAAC,CAAC;QACH,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wCAAwC;AACxC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;IACvB,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,kCAAkC;IAClC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,qDAAqD;AACrD,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9B,IAAI,CAAC;QACH,sDAAsD;QACtD,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,IAAI,CAAC;gBAAC,MAAM,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YAC9C,OAAO,GAAG,EAAE,CAAC;gBAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;QAC/J,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,oEAAoE;AACpE,uEAAuE;AACvE,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;IACpC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;IAChC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE;QAC5C,+CAA+C;QAC/C,IAAI,CAAC;YAAC,KAAK,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QACzC,OAAO,GAAG,EAAE,CAAC;YAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,wCAAwC,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QAC5I,qFAAqF;QACrF,IAAI,CAAC;YAAC,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QACnC,OAAO,GAAG,EAAE,CAAC;YAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,6CAA6C,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;IACnJ,CAAC,CAAC,CAAC;IACH,+CAA+C;IAC/C,IAAI,CAAC;QACH,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,kDAAkD;IAClD,IAAI,CAAC;QACH,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,iCAAiC;IACjC,IAAI,CAAC;QACH,KAAK,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;IACtB,IAAI,CAAC;QACH,KAAK,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,gEAAgE;AAChE,qFAAqF;AACrF,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;IACvB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,QAAQ;YAAE,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,sEAAsE;AAEtE,gGAAgG;AAChG,+FAA+F;AAE/F,2CAA2C;AAE3C,+GAA+G;AAE/G,mDAAmD;AAEnD,2CAA2C;AAG3C,kDAAkD;AAElD,sHAAsH;AAEtH,sHAAsH;AAEtH,gEAAgE;AAChE,+FAA+F;AAC/F,mHAAmH;AAEnH,kDAAkD;AAClD,qEAAqE;AAErE,0DAA0D;AAC1D,kDAAkD;AAClD,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAE7B,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE;IACrB,eAAe,EAAE,CAAC;IAClB,IAAI,CAAC,gBAAgB,IAAI,CAAC,sBAAsB;QAAE,OAAO;IACzD,KAAK,SAAS,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,2BAA2B;AAC3B,UAAU,CAAC,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/lsp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * LSP 服务端设置:默认值与客户端推送的合并(纯函数,便于测试)。
3
+ *
4
+ * ★客户端未声明 workspace.configuration 时,服务端只从 didChangeConfiguration
5
+ * 推送的 settings 取值。旧实现整体替换(`pushed || defaults`):客户端只推
6
+ * `{ locale }` 就会把其余默认值全部丢掉(如 format.reflow 从 true 变成 undefined)。
7
+ * 这里按顶层字段合并,嵌套对象逐项覆盖。
8
+ */
9
+ export interface AsterSettings {
10
+ maxNumberOfProblems: number;
11
+ format?: {
12
+ mode?: 'lossless' | 'normalize';
13
+ reflow?: boolean;
14
+ };
15
+ index?: {
16
+ persist?: boolean;
17
+ path?: string;
18
+ };
19
+ rename?: {
20
+ scope?: 'open' | 'workspace';
21
+ };
22
+ diagnostics?: {
23
+ workspace?: boolean;
24
+ };
25
+ streaming?: {
26
+ referencesChunk?: number;
27
+ renameChunk?: number;
28
+ logChunks?: boolean;
29
+ };
30
+ locale?: string;
31
+ }
32
+ export declare const DEFAULT_SETTINGS: Readonly<AsterSettings>;
33
+ /** 把客户端推送的(可能不完整的)设置合并到默认值上 */
34
+ export declare function resolvePushedSettings(pushed: unknown): AsterSettings;
35
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/lsp/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,aAAa;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/D,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAC;IAC1C,WAAW,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACtC,SAAS,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAUD,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,aAAa,CAA2B,CAAC;AAIjF,+BAA+B;AAC/B,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CASpE"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * LSP 服务端设置:默认值与客户端推送的合并(纯函数,便于测试)。
3
+ *
4
+ * ★客户端未声明 workspace.configuration 时,服务端只从 didChangeConfiguration
5
+ * 推送的 settings 取值。旧实现整体替换(`pushed || defaults`):客户端只推
6
+ * `{ locale }` 就会把其余默认值全部丢掉(如 format.reflow 从 true 变成 undefined)。
7
+ * 这里按顶层字段合并,嵌套对象逐项覆盖。
8
+ */
9
+ const DEFAULTS = {
10
+ maxNumberOfProblems: 1000,
11
+ format: { mode: 'lossless', reflow: true },
12
+ index: { persist: true },
13
+ rename: { scope: 'workspace' },
14
+ diagnostics: { workspace: true },
15
+ streaming: { referencesChunk: 200, renameChunk: 200, logChunks: false },
16
+ };
17
+ export const DEFAULT_SETTINGS = Object.freeze(DEFAULTS);
18
+ const NESTED_KEYS = ['format', 'index', 'rename', 'diagnostics', 'streaming'];
19
+ /** 把客户端推送的(可能不完整的)设置合并到默认值上 */
20
+ export function resolvePushedSettings(pushed) {
21
+ const p = (pushed && typeof pushed === 'object' ? pushed : {});
22
+ const merged = { ...DEFAULT_SETTINGS, ...p };
23
+ for (const key of NESTED_KEYS) {
24
+ const base = DEFAULT_SETTINGS[key];
25
+ const over = p[key];
26
+ if (base || over)
27
+ merged[key] = { ...base, ...over };
28
+ }
29
+ return merged;
30
+ }
31
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/lsp/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,MAAM,QAAQ,GAAkB;IAC9B,mBAAmB,EAAE,IAAI;IACzB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;IAC1C,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IACxB,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;IAC9B,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IAChC,SAAS,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE;CACxE,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAA4B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEjF,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAU,CAAC;AAEvF,+BAA+B;AAC/B,MAAM,UAAU,qBAAqB,CAAC,MAAe;IACnD,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAA2B,CAAC;IACzF,MAAM,MAAM,GAAkB,EAAE,GAAG,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;IAC5D,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAwC,CAAC;QAC1E,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAwC,CAAC;QAC3D,IAAI,IAAI,IAAI,IAAI;YAAG,MAA6C,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;IAC/F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * 把规范化文本上的 token 位置映射回**原文**坐标(LSP 专用)。
3
+ *
4
+ * ★为什么需要:canonicalize 会改变行内长度——删除冠词(en: the/a,de: eine/die/der)、
5
+ * 折叠多余空格、tab → 两个空格、仅对关键字生效的转写(de: zurueck → zurück)等。
6
+ * lexer 在规范化文本上给出的列号直接用于原文,会让重命名改错位置
7
+ * (`Let the total be helper(x).` 里改 helper 实际改掉了 ` be he`)、高亮偏移、
8
+ * 跳转定义命中不到。zh 的规范化恰好等长,所以只在 en/de 暴露。
9
+ *
10
+ * 做法:规范化保持行数不变(注释行留空行占位)。逐行把 token 按顺序在原文该行里找对应
11
+ * 文本(标识符按 Unicode 词边界),找到即精确映射;找不到(被转写的关键字、全角标点等)
12
+ * 就按与上一个已对齐 token 的相对偏移推算。被删除的冠词不是 token,顺序查找自然跳过。
13
+ *
14
+ * 只用于 LSP:编译路径(Core IR、跨引擎 parity)的 span 语义不受影响。
15
+ */
16
+ interface Pos {
17
+ line: number;
18
+ col: number;
19
+ }
20
+ interface TokenLike {
21
+ start?: Pos;
22
+ end?: Pos;
23
+ value?: unknown;
24
+ kind?: unknown;
25
+ }
26
+ /**
27
+ * 对齐结果:
28
+ * exact —— 原文里找到了同样的文本,位置确定
29
+ * translated —— 规范化文本里是领域词汇的规范名(如 Applicant),原文里找到的是其本地化写法
30
+ * (申请人);位置确定,但这不是用户自己的标识符
31
+ * guessed —— 原文里找不到(被转写的关键字、全角标点等),位置按相对偏移推算,不可靠
32
+ * ★编辑类操作(重命名)只能基于 exact,绝不能基于推算的位置产生编辑。
33
+ */
34
+ export type SourceAlignment = 'exact' | 'translated' | 'guessed';
35
+ export type AlignedToken<T> = T & {
36
+ srcAlign?: SourceAlignment;
37
+ };
38
+ export interface AlignOptions {
39
+ /** 规范名 → 原文中的本地化写法(领域词汇;canonicalize 会把本地化词替换成规范名) */
40
+ readonly localizedOf?: ((canonical: string) => string | undefined) | undefined;
41
+ }
42
+ /**
43
+ * 返回位置已改为原文坐标的新 token 数组(不修改入参)。行号均为 1-based、列号 1-based。
44
+ */
45
+ export declare function alignTokensToSource<T extends TokenLike>(original: string, canonical: string, tokens: readonly T[], options?: AlignOptions): AlignedToken<T>[];
46
+ export {};
47
+ //# sourceMappingURL=source-positions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-positions.d.ts","sourceRoot":"","sources":["../../../src/lsp/source-positions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,UAAU,GAAG;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AAC3C,UAAU,SAAS;IAAG,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE;AAE/E;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;AACjE,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC;AAEjE,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;CAChF;AAoBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,SAAS,EACrD,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,OAAO,GAAE,YAAiB,GACzB,YAAY,CAAC,CAAC,CAAC,EAAE,CAiDnB"}