@zzzen/pyright-internal 1.2.0-dev.2022-07-02 → 1.2.0-dev.20220717

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 (166) hide show
  1. package/README.md +82 -1
  2. package/dist/analyzer/aliasDeclarationUtils.js +2 -2
  3. package/dist/analyzer/analyzerFileInfo.d.ts +2 -1
  4. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  5. package/dist/analyzer/analyzerNodeInfo.d.ts +4 -1
  6. package/dist/analyzer/analyzerNodeInfo.js +12 -1
  7. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  8. package/dist/analyzer/binder.d.ts +6 -1
  9. package/dist/analyzer/binder.js +148 -31
  10. package/dist/analyzer/binder.js.map +1 -1
  11. package/dist/analyzer/checker.d.ts +4 -1
  12. package/dist/analyzer/checker.js +176 -90
  13. package/dist/analyzer/checker.js.map +1 -1
  14. package/dist/analyzer/codeFlowEngine.d.ts +0 -1
  15. package/dist/analyzer/codeFlowEngine.js +196 -197
  16. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  17. package/dist/analyzer/codeFlowTypes.d.ts +1 -1
  18. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  19. package/dist/analyzer/constraintSolver.js +9 -6
  20. package/dist/analyzer/constraintSolver.js.map +1 -1
  21. package/dist/analyzer/declaration.d.ts +18 -6
  22. package/dist/analyzer/declaration.js +19 -9
  23. package/dist/analyzer/declaration.js.map +1 -1
  24. package/dist/analyzer/declarationUtils.d.ts +1 -1
  25. package/dist/analyzer/declarationUtils.js +19 -16
  26. package/dist/analyzer/declarationUtils.js.map +1 -1
  27. package/dist/analyzer/functionTransform.js +2 -1
  28. package/dist/analyzer/functionTransform.js.map +1 -1
  29. package/dist/analyzer/importResolver.js +3 -2
  30. package/dist/analyzer/importResolver.js.map +1 -1
  31. package/dist/analyzer/packageTypeVerifier.js +6 -6
  32. package/dist/analyzer/parseTreeUtils.d.ts +6 -3
  33. package/dist/analyzer/parseTreeUtils.js +65 -21
  34. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  35. package/dist/analyzer/parseTreeWalker.d.ts +4 -1
  36. package/dist/analyzer/parseTreeWalker.js +19 -1
  37. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  38. package/dist/analyzer/patternMatching.js +1 -1
  39. package/dist/analyzer/patternMatching.js.map +1 -1
  40. package/dist/analyzer/program.d.ts +2 -2
  41. package/dist/analyzer/program.js +1 -1
  42. package/dist/analyzer/program.js.map +1 -1
  43. package/dist/analyzer/properties.js +2 -0
  44. package/dist/analyzer/properties.js.map +1 -1
  45. package/dist/analyzer/protocols.d.ts +0 -1
  46. package/dist/analyzer/protocols.js +1 -63
  47. package/dist/analyzer/protocols.js.map +1 -1
  48. package/dist/analyzer/service.d.ts +3 -2
  49. package/dist/analyzer/service.js +4 -2
  50. package/dist/analyzer/service.js.map +1 -1
  51. package/dist/analyzer/sourceFile.d.ts +6 -1
  52. package/dist/analyzer/sourceFile.js +57 -14
  53. package/dist/analyzer/sourceFile.js.map +1 -1
  54. package/dist/analyzer/tracePrinter.js +8 -4
  55. package/dist/analyzer/tracePrinter.js.map +1 -1
  56. package/dist/analyzer/typeDocStringUtils.js +1 -1
  57. package/dist/analyzer/typeEvaluator.d.ts +1 -1
  58. package/dist/analyzer/typeEvaluator.js +839 -375
  59. package/dist/analyzer/typeEvaluator.js.map +1 -1
  60. package/dist/analyzer/typeEvaluatorTypes.d.ts +9 -7
  61. package/dist/analyzer/typeEvaluatorWithTracker.js +10 -7
  62. package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
  63. package/dist/analyzer/typeGuards.js +6 -1
  64. package/dist/analyzer/typeGuards.js.map +1 -1
  65. package/dist/analyzer/typePrinter.js +4 -1
  66. package/dist/analyzer/typePrinter.js.map +1 -1
  67. package/dist/analyzer/typeStubWriter.d.ts +4 -1
  68. package/dist/analyzer/typeStubWriter.js +36 -0
  69. package/dist/analyzer/typeStubWriter.js.map +1 -1
  70. package/dist/analyzer/typeUtils.d.ts +3 -2
  71. package/dist/analyzer/typeUtils.js +94 -13
  72. package/dist/analyzer/typeUtils.js.map +1 -1
  73. package/dist/analyzer/typedDicts.d.ts +1 -0
  74. package/dist/analyzer/typedDicts.js +25 -2
  75. package/dist/analyzer/typedDicts.js.map +1 -1
  76. package/dist/analyzer/types.d.ts +21 -5
  77. package/dist/analyzer/types.js +87 -11
  78. package/dist/analyzer/types.js.map +1 -1
  79. package/dist/common/diagnostic.d.ts +2 -1
  80. package/dist/common/diagnostic.js +2 -1
  81. package/dist/common/diagnostic.js.map +1 -1
  82. package/dist/common/diagnosticSink.d.ts +3 -0
  83. package/dist/common/diagnosticSink.js +15 -2
  84. package/dist/common/diagnosticSink.js.map +1 -1
  85. package/dist/languageServerBase.d.ts +5 -8
  86. package/dist/languageServerBase.js +30 -18
  87. package/dist/languageServerBase.js.map +1 -1
  88. package/dist/languageService/autoImporter.js +1 -1
  89. package/dist/languageService/callHierarchyProvider.js +9 -9
  90. package/dist/languageService/completionProvider.d.ts +15 -11
  91. package/dist/languageService/completionProvider.js +95 -18
  92. package/dist/languageService/completionProvider.js.map +1 -1
  93. package/dist/languageService/definitionProvider.js +3 -3
  94. package/dist/languageService/documentSymbolCollector.js +1 -1
  95. package/dist/languageService/documentSymbolProvider.js +10 -7
  96. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  97. package/dist/languageService/hoverProvider.js +19 -5
  98. package/dist/languageService/hoverProvider.js.map +1 -1
  99. package/dist/languageService/indentationUtils.js +3 -2
  100. package/dist/languageService/indentationUtils.js.map +1 -1
  101. package/dist/languageService/insertionPointUtils.d.ts +9 -0
  102. package/dist/languageService/insertionPointUtils.js +110 -0
  103. package/dist/languageService/insertionPointUtils.js.map +1 -0
  104. package/dist/languageService/referencesProvider.js +8 -5
  105. package/dist/languageService/referencesProvider.js.map +1 -1
  106. package/dist/languageService/signatureHelpProvider.js +4 -2
  107. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  108. package/dist/languageService/tooltipUtils.js +2 -4
  109. package/dist/languageService/tooltipUtils.js.map +1 -1
  110. package/dist/localization/localize.d.ts +32 -0
  111. package/dist/localization/localize.js +18 -0
  112. package/dist/localization/localize.js.map +1 -1
  113. package/dist/localization/package.nls.en-us.json +20 -2
  114. package/dist/parser/parseNodes.d.ts +41 -5
  115. package/dist/parser/parseNodes.js +83 -4
  116. package/dist/parser/parseNodes.js.map +1 -1
  117. package/dist/parser/parser.d.ts +5 -1
  118. package/dist/parser/parser.js +140 -14
  119. package/dist/parser/parser.js.map +1 -1
  120. package/dist/parser/tokenizer.d.ts +2 -1
  121. package/dist/parser/tokenizer.js +7 -5
  122. package/dist/parser/tokenizer.js.map +1 -1
  123. package/dist/parser/tokenizerTypes.d.ts +5 -3
  124. package/dist/parser/tokenizerTypes.js +6 -4
  125. package/dist/parser/tokenizerTypes.js.map +1 -1
  126. package/dist/pyright.js +3 -1
  127. package/dist/pyright.js.map +1 -1
  128. package/dist/pyrightFileSystem.d.ts +1 -1
  129. package/dist/pyrightFileSystem.js +11 -1
  130. package/dist/pyrightFileSystem.js.map +1 -1
  131. package/dist/tests/chainedSourceFiles.test.js +4 -1
  132. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  133. package/dist/tests/fourslash/completions.commitChars.fourslash.d.ts +1 -0
  134. package/dist/tests/fourslash/completions.commitChars.fourslash.js +47 -0
  135. package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +1 -0
  136. package/dist/tests/fourslash/completions.triggers.fourslash.d.ts +1 -0
  137. package/dist/tests/fourslash/completions.triggers.fourslash.js +29 -0
  138. package/dist/tests/fourslash/completions.triggers.fourslash.js.map +1 -0
  139. package/dist/tests/fourslash/fourslash.d.ts +1 -0
  140. package/dist/tests/fourslash/import.multipart.fourslash.d.ts +1 -0
  141. package/dist/tests/fourslash/import.multipart.fourslash.js +18 -0
  142. package/dist/tests/fourslash/import.multipart.fourslash.js.map +1 -0
  143. package/dist/tests/fourslash/signature.simple.fourslash.js +16 -0
  144. package/dist/tests/fourslash/signature.simple.fourslash.js.map +1 -1
  145. package/dist/tests/harness/fourslash/testState.js +11 -2
  146. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  147. package/dist/tests/insertionPointUtils.test.d.ts +1 -0
  148. package/dist/tests/insertionPointUtils.test.js +74 -0
  149. package/dist/tests/insertionPointUtils.test.js.map +1 -0
  150. package/dist/tests/pyrightFileSystem.test.js +28 -0
  151. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  152. package/dist/tests/testUtils.d.ts +2 -1
  153. package/dist/tests/testUtils.js +10 -6
  154. package/dist/tests/testUtils.js.map +1 -1
  155. package/dist/tests/typeEvaluator1.test.js +2 -2
  156. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  157. package/dist/tests/typeEvaluator2.test.js +12 -4
  158. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  159. package/dist/tests/typeEvaluator3.test.js +9 -1
  160. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  161. package/dist/tests/typeEvaluator4.test.js +18 -0
  162. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  163. package/dist/tests/typeEvaluator5.test.d.ts +1 -0
  164. package/dist/tests/typeEvaluator5.test.js +118 -0
  165. package/dist/tests/typeEvaluator5.test.js.map +1 -0
  166. package/package.json +3 -2
@@ -129,13 +129,13 @@ class DefinitionProvider {
129
129
  /* allowExternallyHiddenAccess */ true);
130
130
  if (resolvedDecl && resolvedDecl.path) {
131
131
  // If the decl is an unresolved import, skip it.
132
- if (resolvedDecl.type === 6 /* Alias */ && resolvedDecl.isUnresolved) {
132
+ if (resolvedDecl.type === 8 /* Alias */ && resolvedDecl.isUnresolved) {
133
133
  return;
134
134
  }
135
135
  // If the resolved decl is still an alias, it means it
136
136
  // resolved to a module. We need to apply loader actions
137
137
  // to determine its path.
138
- if (resolvedDecl.type === 6 /* Alias */ &&
138
+ if (resolvedDecl.type === 8 /* Alias */ &&
139
139
  resolvedDecl.symbolName &&
140
140
  resolvedDecl.submoduleFallback &&
141
141
  resolvedDecl.submoduleFallback.path) {
@@ -160,7 +160,7 @@ class DefinitionProvider {
160
160
  }
161
161
  }
162
162
  if ((0, sourceMapper_1.isStubFile)(resolvedDecl.path)) {
163
- if (resolvedDecl.type === 6 /* Alias */) {
163
+ if (resolvedDecl.type === 8 /* Alias */) {
164
164
  // Add matching source module
165
165
  sourceMapper
166
166
  .findModules(resolvedDecl.path)
@@ -164,7 +164,7 @@ class DocumentSymbolCollector extends parseTreeWalker_1.ParseTreeWalker {
164
164
  : resolvedDecl;
165
165
  function isAliasDeclFromImportAsWithAlias(decl) {
166
166
  return (!!decl &&
167
- decl.type === 6 /* Alias */ &&
167
+ decl.type === 8 /* Alias */ &&
168
168
  decl.node &&
169
169
  decl.usesLocalName &&
170
170
  decl.node.nodeType === 21 /* ImportAs */);
@@ -110,11 +110,11 @@ exports.DocumentSymbolProvider = DocumentSymbolProvider;
110
110
  function getSymbolKind(name, declaration, evaluator) {
111
111
  let symbolKind;
112
112
  switch (declaration.type) {
113
- case 4 /* Class */:
114
- case 5 /* SpecialBuiltInClass */:
113
+ case 6 /* Class */:
114
+ case 7 /* SpecialBuiltInClass */:
115
115
  symbolKind = vscode_languageserver_1.SymbolKind.Class;
116
116
  break;
117
- case 3 /* Function */:
117
+ case 5 /* Function */:
118
118
  if (declaration.isMethod) {
119
119
  const declType = evaluator === null || evaluator === void 0 ? void 0 : evaluator.getTypeForDeclaration(declaration);
120
120
  if (declType && (0, typeUtils_1.isProperty)(declType)) {
@@ -128,7 +128,7 @@ function getSymbolKind(name, declaration, evaluator) {
128
128
  symbolKind = vscode_languageserver_1.SymbolKind.Function;
129
129
  }
130
130
  break;
131
- case 6 /* Alias */:
131
+ case 8 /* Alias */:
132
132
  symbolKind = vscode_languageserver_1.SymbolKind.Module;
133
133
  break;
134
134
  case 2 /* Parameter */:
@@ -137,6 +137,9 @@ function getSymbolKind(name, declaration, evaluator) {
137
137
  }
138
138
  symbolKind = vscode_languageserver_1.SymbolKind.Variable;
139
139
  break;
140
+ case 3 /* TypeParameter */:
141
+ symbolKind = vscode_languageserver_1.SymbolKind.TypeParameter;
142
+ break;
140
143
  case 1 /* Variable */:
141
144
  if (name === '_') {
142
145
  return;
@@ -231,7 +234,7 @@ function collectSymbolIndexData(fileInfo, parseResults, node, options, indexSymb
231
234
  if (!declaration) {
232
235
  return;
233
236
  }
234
- if (6 /* Alias */ === declaration.type) {
237
+ if (8 /* Alias */ === declaration.type) {
235
238
  if (!options.indexingForAutoImportMode) {
236
239
  // We don't include import alias for workspace files.
237
240
  return;
@@ -260,14 +263,14 @@ function collectSymbolIndexDataForName(fileInfo, parseResults, declaration, opti
260
263
  const selectionRange = declaration.range;
261
264
  let range = selectionRange;
262
265
  const children = [];
263
- if (declaration.type === 4 /* Class */ || declaration.type === 3 /* Function */) {
266
+ if (declaration.type === 6 /* Class */ || declaration.type === 5 /* Function */) {
264
267
  if (!options.indexingForAutoImportMode) {
265
268
  collectSymbolIndexData(fileInfo, parseResults, declaration.node, options, children, token);
266
269
  }
267
270
  range = (0, positionUtils_1.convertOffsetsToRange)(declaration.node.start, declaration.node.start + declaration.node.length, parseResults.tokenizerOutput.lines);
268
271
  }
269
272
  let aliasData = undefined;
270
- if (6 /* Alias */ === declaration.type) {
273
+ if (8 /* Alias */ === declaration.type) {
271
274
  aliasData = getIndexAliasData(AnalyzerNodeInfo.getFileInfo(parseResults.parseTree).importLookup, declaration);
272
275
  // If we can't create alias data for import alias, then don't include it in index.
273
276
  if (!aliasData) {
@@ -1 +1 @@
1
- {"version":3,"file":"documentSymbolProvider.js","sourceRoot":"","sources":["../../../src/languageService/documentSymbolProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documentSymbolProvider.js","sourceRoot":"","sources":["../../../src/languageService/documentSymbolProvider.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;AAEH,iEAO+B;AAC/B,2CAAiC;AAEjC,6EAA4E;AAE5E,+EAAiE;AAEjE,mEAAsE;AACtE,yDAAwE;AAExE,qDAAmD;AACnD,mEAA2E;AAC3E,2DAAgE;AAChE,mEAAqD;AAGrD,iDAAuE;AAgCvE,SAAgB,iBAAiB,CAC7B,YAA0B,EAC1B,WAA6B;;IAE7B,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;QACzB,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,YAAY,GAAG,IAAA,+CAAuB,EACxC,YAAY,EACZ,WAAW;IACX,uBAAuB,CAAC,IAAI;IAC5B,iCAAiC,CAAC,KAAK,CAC1C,CAAC;IACF,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;QAC5C,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,YAAY,CAAC,SAAS,EAAE;QACxB,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,SAAS,GAAG,IAAA,yCAAsB,EAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACnE,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;QACzD,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,UAAU,GAAG,MAAA,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,mCAAI,kCAAU,CAAC,MAAM,CAAC;IAC3F,OAAO;QACH,YAAY,EAAE,SAAS;QACvB,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI;QACzC,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,IAAA,oDAAqC,EAAC,UAAU,CAAC;KAC9D,CAAC;AACN,CAAC;AAlCD,8CAkCC;AAED,SAAgB,oBAAoB,CAAC,WAAmB,EAAE,UAA4B;IAClF,MAAM,WAAW,GAAwB,EAAE,CAAC;IAE5C,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;QAC7B,4BAA4B,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;KAClE;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AARD,oDAQC;AAED,MAAa,sBAAsB;IAC/B,MAAM,CAAC,qBAAqB,CACxB,QAAsC,EACtC,YAAsC,EACtC,YAAsC,EACtC,QAAgB,EAChB,KAAa,EACb,KAAwB;;QAExB,MAAM,UAAU,GAAwB,EAAE,CAAC;QAE3C,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,EAAE;YAChC,OAAO,UAAU,CAAC;SACrB;QAED,MAAM,eAAe,GACjB,MAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAA6B,mCAC5C,sBAAsB,CAAC,YAAY,CAAC,QAAS,EAAE,YAAa,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QAE/G,+BAA+B,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACzF,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,iCAAiC,CACpC,QAAsC,EACtC,YAAsC,EACtC,YAAsC,EACtC,UAA4B,EAC5B,KAAwB;;QAExB,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,EAAE;YAChC,OAAO;SACV;QAED,MAAM,eAAe,GACjB,MAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAA6B,mCAC5C,sBAAsB,CAAC,YAAY,CAAC,QAAS,EAAE,YAAa,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/G,8BAA8B,CAAC,eAAe,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,YAAY,CACf,QAA0B,EAC1B,YAA0B,EAC1B,OAAqB,EACrB,KAAwB;QAExB,4DAA4D;QAC5D,2HAA2H;QAC3H,4EAA4E;QAC5E,2GAA2G;QAC3G,6FAA6F;QAC7F,0EAA0E;QAE1E,MAAM,eAAe,GAAsB,EAAE,CAAC;QAC9C,sBAAsB,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QAExG,OAAO,eAAe,CAAC;IAC3B,CAAC;CACJ;AA1DD,wDA0DC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,WAAwB,EAAE,SAAyB;IACpF,IAAI,UAAsB,CAAC;IAC3B,QAAQ,WAAW,CAAC,IAAI,EAAE;QACtB,mBAA2B;QAC3B;YACI,UAAU,GAAG,kCAAU,CAAC,KAAK,CAAC;YAC9B,MAAM;QAEV;YACI,IAAI,WAAW,CAAC,QAAQ,EAAE;gBACtB,MAAM,QAAQ,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;gBAC/D,IAAI,QAAQ,IAAI,IAAA,sBAAU,EAAC,QAAQ,CAAC,EAAE;oBAClC,UAAU,GAAG,kCAAU,CAAC,QAAQ,CAAC;iBACpC;qBAAM;oBACH,UAAU,GAAG,kCAAU,CAAC,MAAM,CAAC;iBAClC;aACJ;iBAAM;gBACH,UAAU,GAAG,kCAAU,CAAC,QAAQ,CAAC;aACpC;YACD,MAAM;QAEV;YACI,UAAU,GAAG,kCAAU,CAAC,MAAM,CAAC;YAC/B,MAAM;QAEV;YACI,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,EAAE;gBACnD,OAAO;aACV;YACD,UAAU,GAAG,kCAAU,CAAC,QAAQ,CAAC;YACjC,MAAM;QAEV;YACI,UAAU,GAAG,kCAAU,CAAC,aAAa,CAAC;YACtC,MAAM;QAEV;YACI,IAAI,IAAI,KAAK,GAAG,EAAE;gBACd,OAAO;aACV;YACD,UAAU,GAAG,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,kCAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,kCAAU,CAAC,QAAQ,CAAC;YACvG,MAAM;QAEV;YACI,UAAU,GAAG,kCAAU,CAAC,QAAQ,CAAC;YACjC,MAAM;KACb;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,+BAA+B,CACpC,eAA8C,EAC9C,QAAgB,EAChB,KAAa,EACb,SAAiB,EACjB,UAA+B,EAC/B,KAAwB;IAExB,IAAA,gDAA4B,EAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,CAAC,eAAe,EAAE;QAClB,OAAO;KACV;IAED,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE;QACtC,IAAI,UAAU,CAAC,KAAK,EAAE;YAClB,SAAS;SACZ;QAED,IAAI,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE;YACvD,MAAM,QAAQ,GAAa;gBACvB,GAAG,EAAE,gBAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;gBAClC,KAAK,EAAE,UAAU,CAAC,cAAe;aACpC,CAAC;YAEF,MAAM,UAAU,GAAsB;gBAClC,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,QAAQ;aACX,CAAC;YAEF,IAAI,SAAS,CAAC,MAAM,EAAE;gBAClB,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC;aACxC;YAED,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC/B;QAED,+BAA+B,CAC3B,UAAU,CAAC,QAAQ,EACnB,QAAQ,EACR,KAAK,EACL,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,EAC5C,UAAU,EACV,KAAK,CACR,CAAC;KACL;IAED,SAAS,gBAAgB,CAAC,SAAiB,EAAE,IAAY;QACrD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,OAAO,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;SACjC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,8BAA8B,CACnC,eAA8C,EAC9C,UAA4B,EAC5B,KAAwB;IAExB,IAAA,gDAA4B,EAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,CAAC,eAAe,EAAE;QAClB,OAAO;KACV;IAED,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE;QACtC,IAAI,UAAU,CAAC,KAAK,EAAE;YAClB,SAAS;SACZ;QAED,MAAM,QAAQ,GAAqB,EAAE,CAAC;QACtC,8BAA8B,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAErE,MAAM,UAAU,GAAmB;YAC/B,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,UAAU,CAAC,KAAM;YACxB,cAAc,EAAE,UAAU,CAAC,cAAe;YAC1C,QAAQ,EAAE,QAAS;SACtB,CAAC;QAEF,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC/B;AACL,CAAC;AAED,SAAS,sBAAsB,CAC3B,QAA0B,EAC1B,YAA0B,EAC1B,IAAiC,EACjC,OAAqB,EACrB,eAAkC,EAClC,KAAwB;IAExB,IAAA,gDAA4B,EAAC,KAAK,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,EAAE;QACR,OAAO;KACV;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACtC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACjC,IAAI,MAAM,CAAC,yBAAyB,EAAE,EAAE;YACpC,OAAO;SACV;QAED,qFAAqF;QACrF,IACI,OAAO,CAAC,yBAAyB;YACjC,CAAC,OAAO,CAAC,aAAa;YACtB,CAAC,QAAQ,CAAC,UAAU;YACpB,CAAC,QAAQ,CAAC,kBAAkB;YAC5B,CAAC,MAAM,CAAC,aAAa,EAAE,EACzB;YACE,OAAO;SACV;QAED,2CAA2C;QAC3C,IAAI,WAAW,GAAG,IAAA,2CAA6B,EAAC,MAAM,CAAC,CAAC;QAExD,4CAA4C;QAC5C,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,eAAe,EAAE,EAAE;YAC1C,WAAW,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;SAC7C;QAED,IAAI,CAAC,WAAW,EAAE;YACd,OAAO;SACV;QAED,IAAI,kBAA0B,WAAW,CAAC,IAAI,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE;gBACpC,qDAAqD;gBACrD,OAAO;aACV;YAED,IAAI,CAAC,WAAW,CAAC,mBAAmB,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;gBAClE,uEAAuE;gBACvE,2BAA2B;gBAC3B,wEAAwE;gBACxE,yBAAyB;gBACzB,OAAO;aACV;SACJ;QAED,qDAAqD;QACrD,mDAAmD;QACnD,6BAA6B,CACzB,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,OAAO,EACP,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAC5B,IAAI,EACJ,eAAe,EACf,KAAK,CACR,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,6BAA6B,CAClC,QAA0B,EAC1B,YAA0B,EAC1B,WAAwB,EACxB,OAAqB,EACrB,iBAA0B,EAC1B,IAAY,EACZ,eAAkC,EAClC,KAAwB;IAExB,IAAI,OAAO,CAAC,yBAAyB,IAAI,CAAC,iBAAiB,EAAE;QACzD,OAAO;KACV;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACpD,IAAI,UAAU,KAAK,SAAS,EAAE;QAC1B,OAAO;KACV;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC;IACzC,IAAI,KAAK,GAAG,cAAc,CAAC;IAC3B,MAAM,QAAQ,GAAsB,EAAE,CAAC;IAEvC,IAAI,WAAW,CAAC,IAAI,kBAA0B,IAAI,WAAW,CAAC,IAAI,qBAA6B,EAAE;QAC7F,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE;YACpC,sBAAsB,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;SAC9F;QAED,KAAK,GAAG,IAAA,qCAAqB,EACzB,WAAW,CAAC,IAAI,CAAC,KAAK,EACtB,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAChD,YAAY,CAAC,eAAe,CAAC,KAAK,CACrC,CAAC;KACL;IAED,IAAI,SAAS,GAA+B,SAAS,CAAC;IACtD,IAAI,kBAA0B,WAAW,CAAC,IAAI,EAAE;QAC5C,SAAS,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC/G,kFAAkF;QAClF,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO;SACV;KACJ;IAED,MAAM,IAAI,GAAoB;QAC1B,IAAI;QACJ,iBAAiB;QACjB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,IAAA,oDAAqC,EAAC,UAAU,CAAC;QAC3D,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;QAC5D,cAAc,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;QAC9E,QAAQ,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;KACrE,CAAC;IAEF,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,4BAA4B,CACjC,WAAgC,EAChC,WAAmB,EACnB,MAAsB,EACtB,MAAuB;IAEvB,MAAM,UAAU,GAAsB;QAClC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,gCAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC;KACvD,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,EAAE;QACb,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;KACjC;IAED,IAAI,MAAM,EAAE;QACR,UAAU,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;KAC1C;IAED,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE7B,IAAI,MAAM,CAAC,QAAQ,EAAE;QACjB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE;YACjC,4BAA4B,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACzE;KACJ;AACL,CAAC"}
@@ -71,7 +71,7 @@ class HoverProvider {
71
71
  // the first declaration, it will show up as a module rather than
72
72
  // the imported symbol type.
73
73
  let primaryDeclaration = declarations[0];
74
- if (primaryDeclaration.type === 6 /* Alias */ && declarations.length > 1) {
74
+ if (primaryDeclaration.type === 8 /* Alias */ && declarations.length > 1) {
75
75
  primaryDeclaration = declarations[1];
76
76
  }
77
77
  this._addResultsForDeclaration(format, sourceMapper, results.parts, primaryDeclaration, node, evaluator);
@@ -172,8 +172,14 @@ class HoverProvider {
172
172
  this._addDocumentationPart(format, sourceMapper, parts, node, evaluator, resolvedDecl);
173
173
  break;
174
174
  }
175
- case 4 /* Class */:
176
- case 5 /* SpecialBuiltInClass */: {
175
+ case 3 /* TypeParameter */: {
176
+ this._addResultsPart(parts, '(type parameter) ' + node.value + this._getTypeText(node, evaluator),
177
+ /* python */ true);
178
+ this._addDocumentationPart(format, sourceMapper, parts, node, evaluator, resolvedDecl);
179
+ break;
180
+ }
181
+ case 6 /* Class */:
182
+ case 7 /* SpecialBuiltInClass */: {
177
183
  if (this._addInitMethodInsteadIfCallNode(format, node, evaluator, parts, sourceMapper, resolvedDecl)) {
178
184
  return;
179
185
  }
@@ -181,7 +187,7 @@ class HoverProvider {
181
187
  this._addDocumentationPart(format, sourceMapper, parts, node, evaluator, resolvedDecl);
182
188
  break;
183
189
  }
184
- case 3 /* Function */: {
190
+ case 5 /* Function */: {
185
191
  let label = 'function';
186
192
  if (resolvedDecl.isMethod) {
187
193
  const declaredType = evaluator.getTypeForDeclaration(resolvedDecl);
@@ -202,11 +208,19 @@ class HoverProvider {
202
208
  this._addDocumentationPart(format, sourceMapper, parts, node, evaluator, resolvedDecl);
203
209
  break;
204
210
  }
205
- case 6 /* Alias */: {
211
+ case 8 /* Alias */: {
206
212
  this._addResultsPart(parts, '(module) ' + node.value, /* python */ true);
207
213
  this._addDocumentationPart(format, sourceMapper, parts, node, evaluator, resolvedDecl);
208
214
  break;
209
215
  }
216
+ case 4 /* TypeAlias */: {
217
+ const typeText = node.value + this._getTypeText(node, evaluator, /* expandTypeAlias */ true);
218
+ this._addResultsPart(parts, `(type alias) ${typeText}`, /* python */ true);
219
+ this._addDocumentationPart(format, sourceMapper, parts, node, evaluator, resolvedDecl);
220
+ break;
221
+ }
222
+ default:
223
+ (0, debug_1.assertNever)(resolvedDecl);
210
224
  }
211
225
  }
212
226
  static _tryAddPartsForTypedDictKey(format, sourceMapper, evaluator, node, type, parts) {
@@ -1 +1 @@
1
- {"version":3,"file":"hoverProvider.js","sourceRoot":"","sources":["../../../src/languageService/hoverProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hoverProvider.js","sourceRoot":"","sources":["../../../src/languageService/hoverProvider.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ const collectionUtils_1 = require("../common/collectionUtils");
13
13
  const positionUtils_1 = require("../common/positionUtils");
14
14
  const textRange_1 = require("../common/textRange");
15
15
  const tokenizer_1 = require("../parser/tokenizer");
16
+ const insertionPointUtils_1 = require("./insertionPointUtils");
16
17
  function getIndentation(parseResults, offset, preferDedent) {
17
18
  // ex)
18
19
  // a = """
@@ -105,7 +106,7 @@ function _getIndentation(parseResults, offset, preferDedent) {
105
106
  const suiteSpan = (0, positionUtils_1.convertTextRangeToRange)(suite, parseResults.tokenizerOutput.lines);
106
107
  if (preferDedent || suiteSpan.start.line === suiteSpan.end.line) {
107
108
  // Go one more level up.
108
- const outerContainer = (0, parseTreeUtils_1.getFirstAncestorOrSelf)(suite, (n) => n !== suite && n.nodeType === 50 /* Suite */);
109
+ const outerContainer = (0, insertionPointUtils_1.getContainer)(suite, /*includeSelf*/ false);
109
110
  return _getIndentationForNode(parseResults, outerContainer !== null && outerContainer !== void 0 ? outerContainer : parseResults.parseTree, suite);
110
111
  }
111
112
  return _getIndentationForNode(parseResults, suite, node);
@@ -120,7 +121,7 @@ function _getIndentationForNode(parseResults, container, current) {
120
121
  }
121
122
  if (_containsNoIndentBeforeFirstStatement(parseResults, container)) {
122
123
  const tabSize = _getTabSize(parseResults);
123
- const outerContainer = (0, parseTreeUtils_1.getFirstAncestorOrSelf)(container, (n) => n !== container && n.nodeType === 50 /* Suite */);
124
+ const outerContainer = (0, insertionPointUtils_1.getContainer)(container, /*includeSelf*/ false);
124
125
  const result = _getIndentationForNode(parseResults, outerContainer !== null && outerContainer !== void 0 ? outerContainer : parseResults.parseTree, container);
125
126
  return {
126
127
  token: result.token,
@@ -1 +1 @@
1
- {"version":3,"file":"indentationUtils.js","sourceRoot":"","sources":["../../../src/languageService/indentationUtils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAIH,+DAOoC;AACpC,+DAAwD;AACxD,2DAA2F;AAC3F,mDAAuD;AAIvD,mDAAqD;AAoBrD,SAAgB,cAAc,CAAC,YAA0B,EAAE,MAAc,EAAE,YAAsB;IAC7F,MAAM;IACN,UAAU;IACV,iBAAiB;IACjB,MAAM,SAAS,GAAG,wBAAwB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,SAAS,KAAK,SAAS,EAAE;QACzB,OAAO,SAAS,CAAC;KACpB;IAED,MAAM;IACN,YAAY;IACZ,gBAAgB;IAChB,KAAK;IACL,WAAW;IACX,gBAAgB;IAChB,MAAM,UAAU,GAAG,6BAA6B,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACvE,IAAI,UAAU,KAAK,SAAS,EAAE;QAC1B,OAAO,UAAU,CAAC;KACrB;IAED,YAAY,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,yBAAyB,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtG,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACxF,CAAC;AAtBD,wCAsBC;AAED,SAAgB,YAAY,CACxB,YAA0B,EAC1B,IAAe,EACf,WAAmB,EACnB,gBAAgB,GAAG,IAAI;IAEvB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,4FAA4F;IAC5F,gFAAgF;IAChF,EAAE;IACF,qGAAqG;IACrG,6FAA6F;IAC7F,oFAAoF;IACpF,MAAM,SAAS,GAAG,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAEhC,WAAW;QACP,WAAW;YACX,uBAAuB,CAAC,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;iBACnG,WAAW,CAAC;IAErB,IAAI,YAAY,CAAC,mBAAmB,EAAE;QAClC,IAAA,6BAAW,EAAC,KAAK,EAAE,sBAAsB,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;KACvF;SAAM;QACH,IAAI,gBAAgB,EAAE;YAClB,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;SACnE;QAED,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KACjC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,KAAK,CAAC,IAAI,CACN,YAAY,CAAC,eAAe,CAAC,4BAA4B,CAAC,MAAM,CAC5D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CACtD,CACJ,CAAC;YAEF,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,IAAA,6BAAW,EAAC,KAAK,EAAE,sBAAsB,CAAC,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;aAC/E;iBAAM;gBACH,mDAAmD;gBACnD,KAAK,CAAC,IAAI,CACN,wBAAwB,CACpB,YAAY,EACZ,IAAI,CAAC,GAAG,CACJ,CAAC,EACD,uBAAuB,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;qBACnF,WAAW,GAAG,WAAW,CACjC,CACJ,CACJ,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;SACJ;aAAM;YACH,+CAA+C;YAC/C,sBAAsB;YACtB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YACtF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;QAED,YAAY,GAAG,IAAI,CAAC;KACvB;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AArED,oCAqEC;AAED,SAAS,eAAe,CACpB,YAA0B,EAC1B,MAAc,EACd,YAAqB;IAErB,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;IACnD,MAAM,aAAa,GAAG,+BAA+B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtE,IAAI,CAAC,aAAa,EAAE;QAChB,OAAO;YACH,WAAW,EAAE,CAAC;SACjB,CAAC;KACL;IAED,MAAM,IAAI,GAAG,IAAA,iCAAgB,EAAC,YAAY,CAAC,SAAS,EAAE,qBAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACvF,IAAI,CAAC,IAAI,EAAE;QACP,OAAO;YACH,WAAW,EAAE,CAAC;SACjB,CAAC;KACL;IAED,MAAM,KAAK,GAAG,IAAA,6CAA4B,EAAC,IAAI,iBAAsB,CAAC;IACtE,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,sBAAsB,CAAC,YAAY,EAAE,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;KAC7E;IAED,MAAM,SAAS,GAAG,IAAA,uCAAuB,EAAC,KAAK,EAAE,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACrF,IAAI,YAAY,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE;QAC7D,wBAAwB;QACxB,MAAM,cAAc,GAAG,IAAA,uCAAsB,EACzC,KAAK,EACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,mBAAwB,CAClC,CAAC;QAC3B,OAAO,sBAAsB,CAAC,YAAY,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KAChG;IAED,OAAO,sBAAsB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,sBAAsB,CAC3B,YAA0B,EAC1B,SAAiC,EACjC,OAAkB;IAElB,IAAI,SAAS,CAAC,QAAQ,oBAAyB,EAAE;QAC7C,4BAA4B;QAC5B,OAAO;YACH,KAAK,EAAE,yBAAyB,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC;YAClE,WAAW,EAAE,CAAC;SACjB,CAAC;KACL;IAED,IAAI,qCAAqC,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE;QAChE,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,IAAA,uCAAsB,EACzC,SAAS,EACT,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,mBAAwB,CACtC,CAAC;QAE3B,MAAM,MAAM,GAAG,sBAAsB,CAAC,YAAY,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACzG,OAAO;YACH,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW,GAAG,OAAO;SAC5C,CAAC;KACL;SAAM;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;QACnD,OAAO;YACH,KAAK,EAAE,yBAAyB,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC;YAClE,WAAW,EAAE,8BAA8B,CAAC,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACjG,CAAC;KACL;AACL,CAAC;AAED,SAAS,qCAAqC,CAAC,YAA0B,EAAE,KAAgB;IACvF,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3D,sCAAsC;QACtC,MAAM;QACN,aAAa;QACb,YAAY;QACZ,OAAO,IAAI,CAAC;KACf;IAED,2GAA2G;IAC3G,iCAAiC;IACjC,MAAM;IACN,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX,EAAE;IACF,gFAAgF;IAChF,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEhE,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,oBAAqB,EAAE;YAClC,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,yBAAyB,CAC9B,YAA0B,EAC1B,SAAiC,EACjC,IAAe;IAEf,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;IACnD,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE;QAC1C,IAAI,CAAC,qBAAS,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE;YAC3C,SAAS;SACZ;QAED,OAAO,IAAA,2BAAU,EAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAE,CAAC;KAC/C;IAED,OAAO,IAAA,2BAAU,EAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAE,CAAC;AAChD,CAAC;AAED,SAAS,8BAA8B,CAAC,MAAkC,EAAE,KAAa;IACrF,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,oBAAqB,EAAE;YAClC,OAAQ,KAAqB,CAAC,YAAY,CAAC;SAC9C;KACJ;IAED,uBAAuB;IACvB,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAS,6BAA6B,CAAC,YAA0B,EAAE,MAAc;IAC7E,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;IAEnD,iDAAiD;IACjD,4EAA4E;IAC5E,gBAAgB;IAChB,oBAAoB;IACpB,aAAa;IACb,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC;IACjD,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAE1C,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAE,CAAC;QAC3C,IAAI,qBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE;YAClC,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAE,CAAC;QACvD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAA,uCAAuB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,IAAA,uCAAuB,EAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpG,IACI,SAAS;YACT,iBAAiB;YACjB,iBAAiB,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI;YACjD,aAAc,CAAC,IAAI,oBAAsB,EAC3C;YACE,MAAM,iBAAiB,GAAG,eAAe,CAAC,YAAY,EAAE,aAAc,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACxG,MAAM,eAAe,GAAG,IAAA,uCAAuB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAE/D,qDAAqD;YACrD,gBAAgB;YAChB,oBAAoB;YACpB,KAAK;YACL,YAAY;YACZ,YAAY;YACZ,oBAAoB;YACpB,KAAK;YACL,YAAY;YACZ,oBAAoB;YACpB,MAAM,SAAS,GACX,eAAe,CAAC,IAAI;gBACpB,CAAC,iBAAiB,CAAC,KAAK;oBACpB,CAAC,CAAC,IAAA,uCAAuB,EAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI;oBACpE,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAExC,MAAM,WAAW,GAAG,wCAAwC,CACxD,YAAY,EACZ,eAAe,CAAC,IAAI,EACpB,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAC/B,CAAC;YAEF,OAAO,WAAW,GAAG,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxD;KACJ;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,wBAAwB,CAAC,YAA0B,EAAE,MAAc;IACxE,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,mBAAqB,EAAE;QAC3C,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,WAAW,GAAG,KAAoB,CAAC;IACzC,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,qBAA8B,CAAC,EAAE;QACpD,kCAAkC;QAClC,OAAO,SAAS,CAAC;KACpB;IAED,IACI,CAAC,CAAC,WAAW,CAAC,KAAK,2BAAgC,CAAC;QACpD,CAAC,qBAAS,CAAC,QAAQ,CAAC,IAAA,oCAAmB,EAAC,WAAW,CAAC,EAAE,MAAM,CAAC,EAC/D;QACE,qCAAqC;QACrC,UAAU;QACV,gBAAgB;QAChB,SAAS;QACT,UAAU;QACV,gBAAgB;QAChB,UAAU;QACV,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC;IACjD,MAAM,KAAK,GAAG,IAAA,uCAAuB,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAA,uCAAuB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEvD,OAAO,wCAAwC,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,wCAAwC,CAAC,YAA0B,EAAE,WAAmB,EAAE,UAAkB;IACjH,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,uBAAuB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAExD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE;YACnD,kBAAkB;YAClB,yBAAyB;YACzB,OAAO,MAAM,CAAC,WAAW,CAAC;SAC7B;KACJ;IAED,OAAO,uBAAuB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,WAAW,CAAC;AACzE,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAkC,EAAE,KAAa;IACvE,MAAM,KAAK,GAAG,wCAAwC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtE,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,KAAK,CAAC,IAAI,mBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,SAAS,+BAA+B,CAAC,MAAkC,EAAE,MAAc;IACvF,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,wCAAwC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,wCAAwC,CAC7C,MAAkC,EAClC,KAAa;IAEb,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE;YACR,MAAM;SACT;QAED,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAChC,SAAS;SACZ;QAED,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAkC,EAAE,MAAc;IAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,OAAO,KAAK,CAAC;KAChB;IAED,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,oBAAqB,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,qBAAsB,EAAE;YACvE,SAAS;SACZ;QAED,OAAO,CAAC,CAAC;KACZ;IAED,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAkC,EAAE,KAAa;IACvE,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAkC,EAAE,MAAc;IACjF,4CAA4C;IAC5C,8EAA8E;IAC9E,mEAAmE;IACnE,sBAAsB;IACtB,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,OAAO,KAAK,CAAC;KAChB;IAED,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,KAAK,CAAC;SAChB;QAED,QAAQ,KAAK,CAAC,IAAI,EAAE;YAChB,oBAAsB;YACtB,qBAAuB;YACvB;gBACI,SAAS;YAEb,oBAAsB,CAAC,CAAC;gBACpB,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,oBAAoB,EAAE;oBACzC,iCAAiC;oBACjC,sBAAsB;oBACtB,OAAO,KAAK,CAAC;iBAChB;gBAED,MAAM,OAAO,GAAG,KAAqB,CAAC;gBACtC,OAAO,CACH,OAAO,CAAC,WAAW,kBAAqB;oBACxC,OAAO,CAAC,WAAW,oBAAuB;oBAC1C,OAAO,CAAC,WAAW,kBAAsB;oBACzC,OAAO,CAAC,WAAW,qBAAyB;oBAC5C,OAAO,CAAC,WAAW,mBAAsB,CAC5C,CAAC;aACL;YAED;gBACI,OAAO,KAAK,CAAC;SACpB;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,YAA0B,EAAE,IAAY,EAAE,UAAkB;IAC9E,MAAM,YAAY,GAAG,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAEpE,OAAO,UAAU,KAAK,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC;AACzD,CAAC;AAED,SAAS,oBAAoB,CAAC,YAA0B,EAAE,IAAY;IAClE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAEjE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/D,QAAQ,QAAQ,EAAE;YACd,uBAAmB;YACnB,mBAAe;YACf,uBAAmB;YACnB;gBACI,MAAM,EAAE,CAAC;gBACT,MAAM;YAEV;gBACI,OAAO,MAAM,CAAC;SACrB;KACJ;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,uBAAuB,CAC5B,YAA0B,EAC1B,IAAY,EACZ,cAAuB;IAEvB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/D,QAAQ,QAAQ,EAAE;YACd;gBACI,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,CAAC;gBACd,MAAM;YAEV;gBACI,UAAU,EAAE,CAAC;gBACb,WAAW,IAAI,OAAO,CAAC;gBACvB,MAAM;YAEV;gBACI,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,CAAC,EAAE;oBACzC,OAAO;wBACH,UAAU;wBACV,WAAW;qBACd,CAAC;iBACL;gBAED,gDAAgD;gBAChD,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,CAAC;SACrB;KACJ;IAED,OAAO;QACH,UAAU;QACV,WAAW;KACd,CAAC;AACN,CAAC;AAED,SAAS,oBAAoB,CAAC,YAA0B,EAAE,IAAe;IACrE,gFAAgF;IAChF,0FAA0F;IAC1F,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;IAEnD,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAE,CAAC;IACzD,IAAI,qBAAS,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;QAC3C,kCAAkC;QAClC,UAAU,EAAE,CAAC;KAChB;IAED,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7F,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAE,CAAC;IACrD,IAAI,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE;QACzC,+BAA+B;QAC/B,QAAQ,EAAE,CAAC;KACd;IAED,MAAM,cAAc,GAAgB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC;IAEjD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAE,CAAC;QAE3C,IAAI,KAAK,CAAC,QAAQ,EAAE;YAChB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClC,cAAc,CAAC,IAAI,CAAC;oBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,KAAK,EAAE,IAAA,uCAAuB,EAAC,OAAO,EAAE,KAAK,CAAC;oBAC9C,IAAI,EAAE,OAAO,CAAC,KAAK;oBAEnB,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,mBAAmB,EAAE,KAAK;iBAC7B,CAAC,CAAC;aACN;SACJ;QAED,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtD,SAAS;SACZ;QAED,cAAc,CAAC,IAAI,CAAC;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,IAAA,uCAAuB,EAAC,KAAK,EAAE,KAAK,CAAC;YAC5C,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAEzD,IAAI,EAAE,KAAK,CAAC,IAAI,mBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;YAC1D,gBAAgB,EAAE,KAAK;YACvB,mBAAmB,EAAE,KAAK;SAC7B,CAAC,CAAC;KACN;IAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,OAAO,cAAc,CAAC;KACzB;IAED,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAEjD,8DAA8D;IAC9D,IAAI,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,gBAAgB,GAAgB,EAAE,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAE/B,oEAAoE;QACpE,yEAAyE;QACzE,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE;YACjC,KACI,IAAI,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAChD,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EACtC,cAAc,EAAE,EAClB;gBACE,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBACtD,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,GAAG,oBAAoB,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;gBACrG,IAAI,cAAc,IAAI,CAAC,EAAE;oBACrB,8CAA8C;oBAC9C,cAAc;oBACd,gBAAgB;oBAChB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,GAAG,cAAc,CAAC;oBACnD,oBAAoB,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,sBAAkB,gBAAgB,CAAC,CAAC;iBAC1F;aACJ;SACJ;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YACzB,MAAM,KAAK,GACP,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;gBACjD,CAAC,CAAC,qBAAS,CAAC,MAAM,CAAC,YAAY,CAAC;gBAChC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;YAEvD,wBAAwB;YACxB,oBAAoB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,iBAAa,gBAAgB,CAAC,CAAC;SACtF;QAED,YAAY,GAAG,IAAI,CAAC;KACvB;IAED,IAAA,6BAAW,EAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAC9C,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAEjD,kDAAkD;IAClD,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAEjC,IAAI,UAAU,KAAK,CAAC,EAAE;QAClB,qCAAqC;QACrC,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC;KACxC;SAAM;QACH,MAAM,aAAa,GAAG,wCAAwC,CAAC,MAAM,EAAE,UAAU,GAAG,CAAC,CAAE,CAAC;QACxF,MAAM,WAAW,GAAG,IAAA,uCAAuB,EAAC,qBAAS,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;QACpF,YAAY,CAAC,gBAAgB,GAAG,WAAW,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;KACtF;IAED,YAAY,CAAC,mBAAmB,GAAG,sBAAsB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAEtF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QAC9E,IAAI,CAAC,mBAAmB,GAAG,sBAAsB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAEtE,YAAY,GAAG,IAAI,CAAC;KACvB;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED,SAAS,oBAAoB,CACzB,YAA0B,EAC1B,KAAa,EACb,GAAW,EACX,QAAgB,EAChB,MAAmB;IAEnB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YAC9C,MAAM,CAAC,IAAI,CAAC;gBACR,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,IAAA,uCAAuB,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC;gBAC1F,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAEnC,IAAI,EAAE,OAAO;gBACb,gBAAgB,EAAE,KAAK;gBACvB,mBAAmB,EAAE,KAAK;aAC7B,CAAC,CAAC;SACN;KACJ;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAe;IACvC,QAAQ,IAAI,EAAE;QACV,oBAAsB;QACtB,qBAAuB;QACvB,oBAAsB;QACtB;YACI,OAAO,IAAI,CAAC;QAEhB;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,YAA0B,EAAE,IAAe;;IACvE,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;QACnG,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,IAAI,GAAG,IAAA,iCAAgB,EAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,IACI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,qBAAyB;QACvC,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,yBAA6B;QAClD,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,4BAAgC,EAC9D;QACE,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,IAAA,4BAAW,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,sBAAsB,CAAC,YAA0B,EAAE,IAAe,EAAE,WAAmB;IAC5F,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC/D,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;KACjH;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,qBAAqB,CAC1B,YAA0B,EAC1B,IAAY,EACZ,WAAmB,EACnB,KAAiB;IAEjB,MAAM,MAAM,GAAG,uBAAuB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE;QACrD,OAAO,EAAE,CAAC;KACb;IAED,IAAI,SAAS,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,KAAK,EAAE;QACP,SAAS,GAAG,qBAAS,CAAC,UAAU,CAC5B,SAAS,CAAC,KAAK,EACf,IAAI,CAAC,GAAG,CAAC,qBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,qBAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CACjE,CAAC;KACL;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACjH,OAAO,wBAAwB,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACxG,CAAC;AAED,SAAS,WAAW,CAAC,YAA0B;IAC3C,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,sBAAsB,CAAC;IAChE,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;IAC7B,IAAI,SAAS,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAa,EAAE;QACnD,oFAAoF;QACpF,OAAO,0BAAc,CAAC;KACzB;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,wBAAwB,CAAC,YAA0B,EAAE,WAAmB;IAC7E,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,sBAAsB,CAAC;IAChE,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;IAC7B,IAAI,SAAS,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAa,EAAE;QACnD,MAAM,UAAU,GAAG,WAAW,GAAG,0BAAc,CAAC;QAChD,MAAM,QAAQ,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,0BAAc,CAAC;QAE7D,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KACzD;IAED,OAAO,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"indentationUtils.js","sourceRoot":"","sources":["../../../src/languageService/indentationUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { TypeEvaluator } from '../analyzer/typeEvaluatorTypes';
2
+ import { ParseNode, SuiteNode } from '../parser/parseNodes';
3
+ import { ParseResults } from '../parser/parser';
4
+ export interface InsertionOptions {
5
+ insertBefore?: number;
6
+ symbolDeclToIgnore?: string;
7
+ }
8
+ export declare function getInsertionPointForSymbolUnderModule(evaluator: TypeEvaluator, parseResults: ParseResults, symbolName: string, options?: InsertionOptions): number | undefined;
9
+ export declare function getContainer(node: ParseNode, includeSelf?: boolean): SuiteNode | undefined;
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ /*
3
+ * insertionPointUtils.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ *
7
+ * Provides code to get position to inject generated code.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.getContainer = exports.getInsertionPointForSymbolUnderModule = void 0;
11
+ const analyzerNodeInfo_1 = require("../analyzer/analyzerNodeInfo");
12
+ const declarationUtils_1 = require("../analyzer/declarationUtils");
13
+ const parseTreeUtils_1 = require("../analyzer/parseTreeUtils");
14
+ const symbolNameUtils_1 = require("../analyzer/symbolNameUtils");
15
+ const textRange_1 = require("../common/textRange");
16
+ function getInsertionPointForSymbolUnderModule(evaluator, parseResults, symbolName, options) {
17
+ var _a;
18
+ const module = parseResults.parseTree;
19
+ const defaultInsertionPoint = textRange_1.TextRange.getEnd(module);
20
+ if (module.statements.length === 0) {
21
+ // Empty file.
22
+ return defaultInsertionPoint;
23
+ }
24
+ // See whether same name is already taken.
25
+ const scope = (0, analyzerNodeInfo_1.getScope)(module);
26
+ if (!scope) {
27
+ // No symbol is defined.
28
+ return defaultInsertionPoint;
29
+ }
30
+ const fileInfo = (0, analyzerNodeInfo_1.getFileInfo)(module);
31
+ const symbol = scope.lookUpSymbol(symbolName);
32
+ if (symbol &&
33
+ _getDeclarationsDefinedInCurrentModule(evaluator, symbol.getDeclarations(), fileInfo.filePath, options).length >
34
+ 0) {
35
+ // Same name symbol is already defined in the module level.
36
+ // We can't add another one.
37
+ return undefined;
38
+ }
39
+ if ((0, symbolNameUtils_1.isPrivateName)(symbolName)) {
40
+ return Math.max(0, (_a = options === null || options === void 0 ? void 0 : options.insertBefore) !== null && _a !== void 0 ? _a : defaultInsertionPoint);
41
+ }
42
+ const lastStatement = _getLastStatementWithPublicName(module.statements);
43
+ return textRange_1.TextRange.getEnd(lastStatement);
44
+ }
45
+ exports.getInsertionPointForSymbolUnderModule = getInsertionPointForSymbolUnderModule;
46
+ function getContainer(node, includeSelf = true) {
47
+ return (0, parseTreeUtils_1.getFirstAncestorOrSelf)(node, (n) => {
48
+ if (!includeSelf && node === n) {
49
+ return false;
50
+ }
51
+ return n.nodeType === 50 /* Suite */;
52
+ });
53
+ }
54
+ exports.getContainer = getContainer;
55
+ function _getDeclarationsDefinedInCurrentModule(evaluator, declarations, moduleFilePath, options) {
56
+ return declarations.filter((d) => {
57
+ const resolved = evaluator.resolveAliasDeclaration(d,
58
+ /*resolveLocalNames*/ true,
59
+ /*allowExternallyHiddenAccess*/ true);
60
+ if (!resolved) {
61
+ return false;
62
+ }
63
+ if ((options === null || options === void 0 ? void 0 : options.symbolDeclToIgnore) && resolved.path === options.symbolDeclToIgnore) {
64
+ // Even if the symbol is defined in current file, if it is something we are going to remove
65
+ // we should ignore the symbol being exist in current file.
66
+ // ex) inserting "myFunc" to a file that has "from lib import myFunc"
67
+ return false;
68
+ }
69
+ if (d.type === 8 /* Alias */) {
70
+ const name = (0, declarationUtils_1.getNameNodeForDeclaration)(d);
71
+ if (!name) {
72
+ return false;
73
+ }
74
+ // Check alias is defined in this module.
75
+ const fileInfo = (0, analyzerNodeInfo_1.getFileInfo)(name);
76
+ return fileInfo.filePath === moduleFilePath;
77
+ }
78
+ return resolved.path === moduleFilePath;
79
+ });
80
+ }
81
+ function _getLastStatementWithPublicName(statements) {
82
+ let lastStatement = statements[0];
83
+ for (let i = 1; i < statements.length; i++) {
84
+ const statement = statements[i];
85
+ switch (statement.nodeType) {
86
+ case 10 /* Class */:
87
+ case 28 /* Function */: {
88
+ if ((0, symbolNameUtils_1.isPrivateName)(statement.name.value)) {
89
+ return lastStatement;
90
+ }
91
+ lastStatement = statement;
92
+ continue;
93
+ }
94
+ case 47 /* StatementList */: {
95
+ if (statement.statements.some((s) => s.nodeType === 3 /* Assignment */ &&
96
+ s.leftExpression.nodeType === 38 /* Name */ &&
97
+ (0, symbolNameUtils_1.isPrivateName)(s.leftExpression.value))) {
98
+ return lastStatement;
99
+ }
100
+ lastStatement = statement;
101
+ continue;
102
+ }
103
+ default:
104
+ lastStatement = statement;
105
+ continue;
106
+ }
107
+ }
108
+ return lastStatement;
109
+ }
110
+ //# sourceMappingURL=insertionPointUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insertionPointUtils.js","sourceRoot":"","sources":["../../../src/languageService/insertionPointUtils.ts"],"names":[],"mappings":"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"}
@@ -190,16 +190,19 @@ function isVisibleOutside(evaluator, currentFilePath, node, declarations) {
190
190
  return false;
191
191
  }
192
192
  switch (decl.type) {
193
- case 6 /* Alias */:
193
+ case 8 /* Alias */:
194
194
  case 0 /* Intrinsic */:
195
- case 5 /* SpecialBuiltInClass */:
195
+ case 7 /* SpecialBuiltInClass */:
196
196
  return isVisible;
197
- case 4 /* Class */:
198
- case 3 /* Function */:
197
+ case 6 /* Class */:
198
+ case 5 /* Function */:
199
199
  return isVisible && isContainerExternallyVisible(decl.node.name, recursionCount);
200
200
  case 2 /* Parameter */:
201
201
  return isVisible && isContainerExternallyVisible(decl.node.name, recursionCount);
202
- case 1 /* Variable */: {
202
+ case 3 /* TypeParameter */:
203
+ return false;
204
+ case 1 /* Variable */:
205
+ case 4 /* TypeAlias */: {
203
206
  if (decl.node.nodeType === 38 /* Name */) {
204
207
  return isVisible && isContainerExternallyVisible(decl.node, recursionCount);
205
208
  }
@@ -1 +1 @@
1
- {"version":3,"file":"referencesProvider.js","sourceRoot":"","sources":["../../../src/languageService/referencesProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"referencesProvider.js","sourceRoot":"","sources":["../../../src/languageService/referencesProvider.ts"],"names":[],"mappings":"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"}
@@ -56,8 +56,10 @@ class SignatureHelpProvider {
56
56
  while (curOffset >= 0) {
57
57
  // Don't scan back across a comma because commas separate
58
58
  // arguments, and we don't want to mistakenly think that we're
59
- // pointing to a previous argument.
60
- if (parseResults.text.substr(curOffset, 1) === ',') {
59
+ // pointing to a previous argument. Don't scan across open parenthesis so that
60
+ // we don't go into the wrong function call
61
+ const ch = parseResults.text.substr(curOffset, 1);
62
+ if (ch === ',' || ch === '(') {
61
63
  break;
62
64
  }
63
65
  const curNode = ParseTreeUtils.findNodeByOffset(parseResults.parseTree, curOffset);
@@ -1 +1 @@
1
- {"version":3,"file":"signatureHelpProvider.js","sourceRoot":"","sources":["../../../src/languageService/signatureHelpProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signatureHelpProvider.js","sourceRoot":"","sources":["../../../src/languageService/signatureHelpProvider.ts"],"names":[],"mappings":"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"}