@zzzen/pyright-internal 1.2.0-dev.20260621 → 1.2.0-dev.20260705

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 (130) hide show
  1. package/dist/analyzer/binder.js +51 -5
  2. package/dist/analyzer/binder.js.map +1 -1
  3. package/dist/analyzer/checker.js +12 -2
  4. package/dist/analyzer/checker.js.map +1 -1
  5. package/dist/analyzer/codeFlowEngine.js +6 -0
  6. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  7. package/dist/analyzer/dataClasses.js +7 -0
  8. package/dist/analyzer/dataClasses.js.map +1 -1
  9. package/dist/analyzer/docStringUtils.d.ts +1 -0
  10. package/dist/analyzer/docStringUtils.js +78 -0
  11. package/dist/analyzer/docStringUtils.js.map +1 -1
  12. package/dist/analyzer/importResolver.js +69 -4
  13. package/dist/analyzer/importResolver.js.map +1 -1
  14. package/dist/analyzer/importStatementUtils.js +19 -1
  15. package/dist/analyzer/importStatementUtils.js.map +1 -1
  16. package/dist/analyzer/parseTreeUtils.js +8 -0
  17. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  18. package/dist/analyzer/patternMatching.js +44 -0
  19. package/dist/analyzer/patternMatching.js.map +1 -1
  20. package/dist/analyzer/program.js +6 -1
  21. package/dist/analyzer/program.js.map +1 -1
  22. package/dist/analyzer/pythonPathUtils.js +2 -2
  23. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  24. package/dist/analyzer/staticExpressions.js +91 -19
  25. package/dist/analyzer/staticExpressions.js.map +1 -1
  26. package/dist/analyzer/typeEvaluator.js +53 -61
  27. package/dist/analyzer/typeEvaluator.js.map +1 -1
  28. package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
  29. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  30. package/dist/analyzer/typeGuards.js +52 -4
  31. package/dist/analyzer/typeGuards.js.map +1 -1
  32. package/dist/analyzer/typeUtils.js +10 -4
  33. package/dist/analyzer/typeUtils.js.map +1 -1
  34. package/dist/common/docStringService.d.ts +2 -0
  35. package/dist/common/docStringService.js +5 -1
  36. package/dist/common/docStringService.js.map +1 -1
  37. package/dist/common/fullAccessHost.d.ts +2 -1
  38. package/dist/common/fullAccessHost.js +43 -9
  39. package/dist/common/fullAccessHost.js.map +1 -1
  40. package/dist/common/host.d.ts +2 -2
  41. package/dist/common/host.js +1 -1
  42. package/dist/common/host.js.map +1 -1
  43. package/dist/common/uri/fileUri.d.ts +1 -0
  44. package/dist/common/uri/fileUri.js +20 -0
  45. package/dist/common/uri/fileUri.js.map +1 -1
  46. package/dist/common/uri/memoization.js +5 -1
  47. package/dist/common/uri/memoization.js.map +1 -1
  48. package/dist/common/uri/uriUtils.d.ts +2 -0
  49. package/dist/common/uri/uriUtils.js +22 -0
  50. package/dist/common/uri/uriUtils.js.map +1 -1
  51. package/dist/languageServerBase.js +6 -1
  52. package/dist/languageServerBase.js.map +1 -1
  53. package/dist/languageService/completionProvider.d.ts +6 -0
  54. package/dist/languageService/completionProvider.js +194 -46
  55. package/dist/languageService/completionProvider.js.map +1 -1
  56. package/dist/languageService/completionProviderUtils.d.ts +2 -0
  57. package/dist/languageService/completionProviderUtils.js.map +1 -1
  58. package/dist/languageService/documentSymbolCollector.d.ts +15 -1
  59. package/dist/languageService/documentSymbolCollector.js +64 -41
  60. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  61. package/dist/languageService/hoverProvider.js +22 -0
  62. package/dist/languageService/hoverProvider.js.map +1 -1
  63. package/dist/languageService/importStatementCandidates.d.ts +16 -0
  64. package/dist/languageService/importStatementCandidates.js +100 -0
  65. package/dist/languageService/importStatementCandidates.js.map +1 -0
  66. package/dist/languageService/referencesProvider.d.ts +16 -9
  67. package/dist/languageService/referencesProvider.js +188 -32
  68. package/dist/languageService/referencesProvider.js.map +1 -1
  69. package/dist/languageService/renameProvider.d.ts +7 -2
  70. package/dist/languageService/renameProvider.js +45 -17
  71. package/dist/languageService/renameProvider.js.map +1 -1
  72. package/dist/localization/localize.d.ts +9 -0
  73. package/dist/localization/localize.js +5 -0
  74. package/dist/localization/localize.js.map +1 -1
  75. package/dist/localization/package.nls.en-us.json +4 -0
  76. package/dist/parser/parser.js +9 -0
  77. package/dist/parser/parser.js.map +1 -1
  78. package/dist/readonlyAugmentedFileSystem.js +13 -6
  79. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  80. package/dist/tests/checker.test.js +4 -0
  81. package/dist/tests/checker.test.js.map +1 -1
  82. package/dist/tests/completions.test.js +118 -9
  83. package/dist/tests/completions.test.js.map +1 -1
  84. package/dist/tests/docStringReturnExtraction.test.d.ts +1 -0
  85. package/dist/tests/docStringReturnExtraction.test.js +125 -0
  86. package/dist/tests/docStringReturnExtraction.test.js.map +1 -0
  87. package/dist/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.d.ts +1 -0
  88. package/dist/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.js +35 -0
  89. package/dist/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.js.map +1 -0
  90. package/dist/tests/fourslash/completions.keywords.expressionContext.fourslash.d.ts +1 -0
  91. package/dist/tests/fourslash/completions.keywords.expressionContext.fourslash.js +86 -0
  92. package/dist/tests/fourslash/completions.keywords.expressionContext.fourslash.js.map +1 -0
  93. package/dist/tests/fourslash/completions.qualname.fourslash.d.ts +1 -0
  94. package/dist/tests/fourslash/completions.qualname.fourslash.js +34 -0
  95. package/dist/tests/fourslash/completions.qualname.fourslash.js.map +1 -0
  96. package/dist/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.d.ts +1 -0
  97. package/dist/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.js +122 -0
  98. package/dist/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.js.map +1 -0
  99. package/dist/tests/fourslash/import.multipartModuleClassShadow.fourslash.d.ts +1 -0
  100. package/dist/tests/fourslash/import.multipartModuleClassShadow.fourslash.js +39 -0
  101. package/dist/tests/fourslash/import.multipartModuleClassShadow.fourslash.js.map +1 -0
  102. package/dist/tests/harness/testAccessHost.d.ts +1 -1
  103. package/dist/tests/harness/testAccessHost.js +1 -1
  104. package/dist/tests/harness/testAccessHost.js.map +1 -1
  105. package/dist/tests/importResolver.test.js +33 -0
  106. package/dist/tests/importResolver.test.js.map +1 -1
  107. package/dist/tests/importStatementUtils.test.js +92 -0
  108. package/dist/tests/importStatementUtils.test.js.map +1 -1
  109. package/dist/tests/lsp/languageServerTestUtils.d.ts +1 -1
  110. package/dist/tests/lsp/languageServerTestUtils.js +1 -1
  111. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  112. package/dist/tests/parser.test.js +18 -0
  113. package/dist/tests/parser.test.js.map +1 -1
  114. package/dist/tests/pyrightFileSystem.test.js +25 -0
  115. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  116. package/dist/tests/signatureHelp.test.js +73 -0
  117. package/dist/tests/signatureHelp.test.js.map +1 -1
  118. package/dist/tests/typeEvaluator1.test.js +4 -0
  119. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  120. package/dist/tests/typeEvaluator2.test.js +6 -0
  121. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  122. package/dist/tests/typeEvaluator3.test.js +1 -1
  123. package/dist/tests/typeEvaluator4.test.js +23 -1
  124. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  125. package/dist/tests/typeEvaluator6.test.js +20 -0
  126. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  127. package/dist/tests/typeEvaluator8.test.js +23 -21
  128. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  129. package/dist/types.d.ts +1 -0
  130. package/package.json +4 -4
@@ -42,7 +42,8 @@ var __importStar = (this && this.__importStar) || (function () {
42
42
  };
43
43
  })();
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.DocumentSymbolCollector = exports.AliasResolver = exports.maxSeedDiscoveryPasses = void 0;
45
+ exports.DocumentSymbolCollector = exports.AliasResolver = void 0;
46
+ exports.getResultRangeKey = getResultRangeKey;
46
47
  exports.getDeclarationsForNameNode = getDeclarationsForNameNode;
47
48
  exports.addDeclarationIfUnique = addDeclarationIfUnique;
48
49
  const AnalyzerNodeInfo = __importStar(require("../analyzer/analyzerNodeInfo"));
@@ -60,11 +61,6 @@ const core_1 = require("../common/core");
60
61
  const debug_1 = require("../common/debug");
61
62
  const extensibility_1 = require("../common/extensibility");
62
63
  const serviceKeys_1 = require("../common/serviceKeys");
63
- // Upper bound on transitive seed-discovery passes (see `DocumentSymbolCollector.collect` and
64
- // `AsyncDocumentSymbolCollector.collectAsync`). This is a safety net against pathological inputs;
65
- // realistic protocol/inheritance bridging converges in one or two passes. Shared by both the sync
66
- // and async collectors so the bound stays in lockstep.
67
- exports.maxSeedDiscoveryPasses = 16;
68
64
  // 99% of time, `find all references` is looking for a symbol imported from the other file to this file.
69
65
  // By caching the result of `resolveAlias` we only need to resolve it once per a file.
70
66
  const withLocalNamesCacheIndex = 0;
@@ -89,6 +85,13 @@ class AliasResolver {
89
85
  }
90
86
  }
91
87
  exports.AliasResolver = AliasResolver;
88
+ // Stable per-file identity for a result range, shared between the collector and the references provider
89
+ // so the provider's delta-merge keys exactly match the collector's skip checks. Offsets are deterministic
90
+ // for a given source, so this keys the previous-result set even if the parse tree is dropped and
91
+ // re-parsed between passes.
92
+ function getResultRangeKey(range) {
93
+ return `${range.start}:${range.length}`;
94
+ }
92
95
  // This walker looks for symbols that are semantically equivalent
93
96
  // to the requested symbol.
94
97
  class DocumentSymbolCollector extends parseTreeWalker_1.ParseTreeWalker {
@@ -109,6 +112,7 @@ class DocumentSymbolCollector extends parseTreeWalker_1.ParseTreeWalker {
109
112
  this._treatModuleInImportAndFromImportSame = options?.treatModuleInImportAndFromImportSame ?? false;
110
113
  this._skipUnreachableCode = options?.skipUnreachableCode ?? true;
111
114
  this._useCase = options?.useCase ?? extensibility_1.ReferenceUseCase.References;
115
+ this._previousResultRanges = options?.previousResultRanges;
112
116
  this._usageProviders =
113
117
  options?.providers ??
114
118
  (this._program.serviceProvider.tryGet(serviceKeys_1.ServiceKeys.symbolUsageProviderFactory) ?? [])
@@ -213,36 +217,24 @@ class DocumentSymbolCollector extends parseTreeWalker_1.ParseTreeWalker {
213
217
  return (0, parseTreeUtils_1.getEvaluationScopeNode)(decl.node).node.nodeType === 36 /* ParseNodeType.Module */;
214
218
  }
215
219
  }
220
+ // Returns the seed declarations after collection (the original seed plus any declarations this
221
+ // single walk discovered through seed-usage providers). The workspace-wide closure loop in
222
+ // ReferencesProvider harvests these and re-walks files to propagate discoveries to a fixpoint.
223
+ getSeedDeclarations() {
224
+ return this._declarations;
225
+ }
216
226
  collect() {
217
- // Fast path: no provider needs transitive discovery, so a single pass is exact.
218
- if (!this._hasSeedProviders) {
219
- this.walk(this._startingNode);
220
- return this._results;
221
- }
222
- // Fixpoint: a matched usage can reveal additional seed declarations (e.g. a class that
223
- // bridges two disjoint protocol co-bases). Re-walk with the grown seed until no new
224
- // declarations are discovered. Clearing results each pass keeps the final pass complete
225
- // and duplicate-free. Passes are bounded as a safety net against pathological inputs.
226
- //
227
- // NOTE: keep this loop's observable behavior in lockstep with
228
- // AsyncDocumentSymbolCollector.collectAsync. The two paths are intentionally structured
229
- // differently (sync clears `_results` and re-walks the whole tree each pass; async keeps
230
- // `_results` and re-runs only the monotonic match phase), but must converge on the same set.
231
- for (let pass = 0; pass < exports.maxSeedDiscoveryPasses; pass++) {
232
- (0, cancellationUtils_1.throwIfCancellationRequested)(this._cancellationToken);
233
- this._results.length = 0;
234
- this._pendingSeedDeclarations.length = 0;
235
- this.walk(this._startingNode);
236
- if (!this._mergePendingSeedDeclarations()) {
237
- // Converged: no new seed declarations, so `_results` reflects the final seed.
238
- return this._results;
239
- }
240
- }
241
- // Pass budget exhausted while the seed was still growing. The last merge added declarations
242
- // after the final walk, so `_results` may lag the seed. Re-walk once more so results match
243
- // the final seed set; this keeps rename edit sets complete even for pathological inputs.
244
- this._results.length = 0;
245
227
  this.walk(this._startingNode);
228
+ // When seed-usage providers are active (rename only), a matched usage can reveal additional
229
+ // seed declarations (e.g. a class that bridges two disjoint protocol co-bases, or a union
230
+ // sibling key). We deliberately do NOT close that transitively inside this single file: the
231
+ // workspace-wide loop in `ReferencesProvider.collectWorkspaceReferences` re-walks every file
232
+ // as the seed grows, so exposing the freshly discovered declarations through
233
+ // `getSeedDeclarations` is enough for the next workspace pass to pick up their usages.
234
+ // Keeping the per-file collector single-pass avoids redundant re-walks here.
235
+ if (this._hasSeedProviders) {
236
+ this._mergePendingSeedDeclarations();
237
+ }
246
238
  return this._results;
247
239
  }
248
240
  walk(node) {
@@ -256,18 +248,27 @@ class DocumentSymbolCollector extends parseTreeWalker_1.ParseTreeWalker {
256
248
  if (!this._symbolNames.has(node.d.value)) {
257
249
  return false;
258
250
  }
251
+ // Delta collection: a range already in the caller's previous result matched on an earlier walk
252
+ // (seed growth is monotonic) and is therefore not part of this file's delta. The previous result is
253
+ // READ-ONLY here -- the references provider owns merging the returned delta back in for the next
254
+ // pass. Gating here both skips the expensive declaration resolution and excludes the duplicate
255
+ // result, so `_addResult` can stay a pure push.
256
+ const range = this._resultRange(node);
257
+ if (this._isAlreadyCollected(range)) {
258
+ return false;
259
+ }
259
260
  if (this._declarations.length > 0) {
260
261
  const declarations = getDeclarationsForNameNode(this._evaluator, node, this._skipUnreachableCode);
261
262
  if (declarations && declarations.length > 0) {
262
263
  // Does this name share a declaration with the symbol of interest?
263
264
  if (this._resultsContainsDeclaration(node, declarations)) {
264
- this._addResult(node);
265
+ this._addResult(node, range);
265
266
  }
266
267
  }
267
268
  }
268
269
  else {
269
270
  // There were no declarations
270
- this._addResult(node);
271
+ this._addResult(node, range);
271
272
  }
272
273
  return false;
273
274
  }
@@ -277,7 +278,11 @@ class DocumentSymbolCollector extends parseTreeWalker_1.ParseTreeWalker {
277
278
  // Then the matching string should be included
278
279
  const matching = node.d.strings.find((s) => this._symbolNames.has(s.d.value));
279
280
  if (matching && matching.nodeType === 49 /* ParseNodeType.String */) {
280
- this._addResult(matching);
281
+ // Delta collection: skip already-collected ranges (see visitName).
282
+ const range = this._resultRange(matching);
283
+ if (!this._isAlreadyCollected(range)) {
284
+ this._addResult(matching, range);
285
+ }
281
286
  }
282
287
  }
283
288
  return super.visitStringList(node);
@@ -285,15 +290,24 @@ class DocumentSymbolCollector extends parseTreeWalker_1.ParseTreeWalker {
285
290
  visitString(node) {
286
291
  (0, cancellationUtils_1.throwIfCancellationRequested)(this._cancellationToken);
287
292
  if (this._dunderAllNameNodes.has(node)) {
288
- this._addResult(node);
293
+ // Delta collection: skip already-collected ranges (see visitName).
294
+ const range = this._resultRange(node);
295
+ if (!this._isAlreadyCollected(range)) {
296
+ this._addResult(node, range);
297
+ }
289
298
  return false;
290
299
  }
291
300
  // Allow symbol usage providers to contribute declarations for string literals that
292
301
  // encode type names (e.g. Annotated["T", ...]) without special-casing StringList
293
302
  // traversal logic.
294
303
  if (this._symbolNames.has(node.d.value) && this._declarations.length > 0) {
304
+ // Delta collection: skip already-collected ranges (see visitName).
305
+ const range = this._resultRange(node);
306
+ if (this._isAlreadyCollected(range)) {
307
+ return false;
308
+ }
295
309
  if (!this._results.some((r) => r.node === node) && this._resultsContainsDeclaration(node, [])) {
296
- this._addResult(node);
310
+ this._addResult(node, range);
297
311
  }
298
312
  }
299
313
  return false;
@@ -301,8 +315,17 @@ class DocumentSymbolCollector extends parseTreeWalker_1.ParseTreeWalker {
301
315
  get _evaluator() {
302
316
  return this._program.evaluator;
303
317
  }
304
- _addResult(node) {
305
- const range = node.nodeType === 38 /* ParseNodeType.Name */ ? node.d.token : (0, parseTreeUtils_1.getStringNodeValueRange)(node);
318
+ _resultRange(node) {
319
+ return node.nodeType === 38 /* ParseNodeType.Name */ ? node.d.token : (0, parseTreeUtils_1.getStringNodeValueRange)(node);
320
+ }
321
+ // Delta collection: true when `range` is in the caller's read-only previous result, i.e. it was reported
322
+ // on an earlier walk and is not part of this file's delta. `_previousResultRanges` never changes during a
323
+ // walk, so a single check per candidate is enough -- callers gate before doing expensive work and pass
324
+ // the range to `_addResult`, which then stays a pure push.
325
+ _isAlreadyCollected(range) {
326
+ return this._previousResultRanges?.has(getResultRangeKey(range)) ?? false;
327
+ }
328
+ _addResult(node, range) {
306
329
  this._results.push({ node, range });
307
330
  }
308
331
  _isDeclarationAllowed(resolvedDecl) {
@@ -1 +1 @@
1
- {"version":3,"file":"documentSymbolCollector.js","sourceRoot":"","sources":["../../../../../src/languageService/documentSymbolCollector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documentSymbolCollector.js","sourceRoot":"","sources":["../../../../../src/languageService/documentSymbolCollector.ts"],"names":[],"mappings":"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"}
@@ -121,6 +121,21 @@ function addParameterResultsPart(serviceProvider, paramNameNode, resolvedDecl, f
121
121
  text: docString,
122
122
  });
123
123
  }
124
+ function addReturnResultsPart(serviceProvider, functionNode, format, parts) {
125
+ // See if we have a docstring for the function whose return arrow is being hovered.
126
+ const docString = ParseTreeUtils.getDocString(functionNode.d.suite?.d.statements ?? []);
127
+ if (!docString) {
128
+ return;
129
+ }
130
+ const returnDoc = serviceProvider.docStringService().extractReturnDocumentation(docString, format);
131
+ if (!returnDoc) {
132
+ return;
133
+ }
134
+ parts.push({
135
+ python: false,
136
+ text: returnDoc,
137
+ });
138
+ }
124
139
  function addDocumentationResultsPart(serviceProvider, docString, format, parts, resolvedDecl, forceLiteralOverride) {
125
140
  if (!docString) {
126
141
  return;
@@ -281,6 +296,13 @@ class HoverProvider {
281
296
  this._tryAddPartsForTypedDictKey(node, type, results.parts);
282
297
  }
283
298
  }
299
+ else if (node.nodeType === 31 /* ParseNodeType.Function */) {
300
+ // Hovering over the `->` return-type arrow shows the function's return documentation.
301
+ const token = ParseTreeUtils.getTokenOverlapping(this._parseResults.tokenizerOutput.tokens, offset);
302
+ if (token?.type === 21 /* TokenType.Arrow */) {
303
+ addReturnResultsPart(this._program.serviceProvider, node, this._format, results.parts);
304
+ }
305
+ }
284
306
  return results.parts.length > 0 ? results : null;
285
307
  }
286
308
  _addResultsForDeclaration(parts, declaration, node) {
@@ -1 +1 @@
1
- {"version":3,"file":"hoverProvider.js","sourceRoot":"","sources":["../../../../../src/languageService/hoverProvider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DH,kDA4BC;AAkBD,0DA2BC;AAED,kEAgCC;AAED,kDAqDC;AA3ND,iEAA6E;AAE7E,yDAMiC;AACjC,2EAA6D;AAG7D,uEAAiE;AAEjE,qDAAuG;AACvG,6CAY2B;AAC3B,mEAA2E;AAE3E,2CAAoD;AAEpD,2DAA2F;AAE3F,mDAAiE;AAIjE,iDAOwB;AAYxB,SAAgB,mBAAmB,CAAC,YAAiC,EAAE,MAAkB;IACrF,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK;SAClC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACV,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,MAAM,KAAK,kCAAU,CAAC,QAAQ,EAAE,CAAC;gBACjC,OAAO,aAAa,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;YACjD,CAAC;iBAAM,IAAI,MAAM,KAAK,kCAAU,CAAC,SAAS,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACJ,IAAA,YAAI,EAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC;SACR,OAAO,EAAE,CAAC;IAEf,OAAO;QACH,QAAQ,EAAE;YACN,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,YAAY;SACtB;QACD,KAAK,EAAE,YAAY,CAAC,KAAK;KAC5B,CAAC;AACN,CAAC;AAED,SAAS,yBAAyB,CAAC,YAA2B;IAC1D,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,SAAgB,uBAAuB,CACnC,eAAgC,EAChC,aAAuB,EACvB,YAAqC,EACrC,MAAkB,EAClB,KAAsB;IAEtB,sDAAsD;IACtD,IAAI,SAAS,GAAuB,SAAS,CAAC;IAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,IAAI,aAAa,CAAC,CAAC;IAC1F,IAAI,QAAQ,EAAE,CAAC;QACX,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAC/E,IAAI,SAAS,EAAE,CAAC;YACZ,6BAA6B;YAC7B,SAAS,GAAG,eAAe;iBACtB,gBAAgB,EAAE;iBAClB,6BAA6B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACjF,CAAC;IACL,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;IACX,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACP,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,SAAS;KAClB,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,2BAA2B,CACvC,eAAgC,EAChC,SAA6B,EAC7B,MAAkB,EAClB,KAAsB,EACtB,YAAqC,EACrC,oBAA8B;IAE9B,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;IACX,CAAC;IAED,IAAI,MAAM,KAAK,kCAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,oBAAoB,IAAI,IAAA,oCAAe,EAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,eAAe;aAC3B,gBAAgB,EAAE;aAClB,0BAA0B,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;QAE5E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,yBAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,OAAO;IACX,CAAC;IAED,IAAI,MAAM,KAAK,kCAAU,CAAC,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,gBAAgB,EAAE,CAAC,2BAA2B,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/G,OAAO;IACX,CAAC;IAED,IAAA,YAAI,EAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,mBAAmB,CAC/B,SAAwB,EACxB,WAA4C,EAC5C,IAAY,EACZ,IAAU,EACV,QAAwB,EACxB,wBAA8C,EAC9C,YAA2B;IAE3B,IAAI,KAAK,GAAG,UAAU,CAAC;IACvB,IAAI,WAAW,EAAE,CAAC;QACd,KAAK,GAAG,WAAW,CAAC,UAAU,IAAI,SAAS,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IAClH,CAAC;IAED,IAAI,WAA+B,CAAC;IAEpC,IAAI,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,QAAQ,CAAC,QAAQ,gCAAuB,EAAE,CAAC;QACxE,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,aAAa,EAAE,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAClD,IAAI,IAAA,iBAAS,EAAC,IAAI,CAAC,EAAE,CAAC;gBAClB,KAAK,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC3D,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACJ,iCAAiC;gBACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,IAAA,6BAAiB,EAAC,IAAA,gCAAiB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;oBAC5F,eAAe,EAAE,IAAI;iBACxB,CAAC,CAAC;gBAEH,OAAO,UAAU,IAAI,KAAK,GAAG,QAAQ,CAAC;YAC1C,CAAC;QACL,CAAC;IACL,CAAC;IAED,IACI,IAAI,CAAC,QAAQ,kCAA0B;QACvC,IAAI,CAAC,QAAQ,oCAA4B;QACzC,QAAQ,CAAC,MAAM,EAAE,QAAQ,+BAAuB,EAClD,CAAC;QACC,OAAO,IAAA,gCAAiB,EACpB,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,SAAS;QACT,gBAAgB,CAAC,KAAK,EACtB,wBAAwB,EACxB,QAAQ,EACR,YAAY,CACf,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,IAAA,gCAAiB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1G,OAAO,IAAI,KAAK,IAAI,GAAG,QAAQ,CAAC;AACpC,CAAC;AAED,MAAa,aAAa;IAItB,YACqB,QAAqB,EACrB,QAAa,EACb,SAAmB,EACnB,OAAmB,EACnB,MAAyB;QAJzB,aAAQ,GAAR,QAAQ,CAAa;QACrB,aAAQ,GAAR,QAAQ,CAAK;QACb,cAAS,GAAT,SAAS,CAAU;QACnB,YAAO,GAAP,OAAO,CAAY;QACnB,WAAM,GAAN,MAAM,CAAmB;QAE1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3G,CAAC;IAED,QAAQ;QACJ,OAAO,mBAAmB,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,YAA2B;QACpD,iEAAiE;QACjE,8DAA8D;QAC9D,iEAAiE;QACjE,iEAAiE;QACjE,mEAAmE;QACnE,iEAAiE;QACjE,iEAAiE;QACjE,4BAA4B;QAC5B,MAAM,kBAAkB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,kBAAkB,CAAC,IAAI,kCAA0B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/E,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,IACH,kBAAkB,CAAC,IAAI,qCAA6B;YACpD,YAAY,CAAC,MAAM,GAAG,CAAC;YACvB,kBAAkB,CAAC,gBAAgB,EACrC,CAAC;YACC,uDAAuD;YACvD,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED,IAAY,UAAU;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC;IACpC,CAAC;IAED,IAAY,yBAAyB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC;IAChE,CAAC;IAEO,eAAe;QACnB,IAAA,gDAA4B,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACjG,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAChG,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAiB;YAC1B,KAAK,EAAE,EAAE;YACT,KAAK,EAAE;gBACH,KAAK,EAAE,IAAA,uCAAuB,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC;gBACpF,GAAG,EAAE,IAAA,uCAAuB,EAAC,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC;aACjG;SACJ,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,gCAAuB,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,YAAY,GAAG,QAAQ,EAAE,KAAK,CAAC;YAErC,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,kBAAkB,GAAG,aAAa,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;gBAC7E,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;YAC5E,CAAC;iBAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC;gBACtB,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxC,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAClF,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,sCAA6B,EAAE,CAAC;gBAC3E,gFAAgF;gBAChF,mFAAmF;gBACnF,+EAA+E;gBAC/E,4BAA4B;gBAC5B,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACjC,IAAI,QAAgB,CAAC;oBACrB,IAAI,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;wBACjB,qEAAqE;wBACrE,oEAAoE;wBACpE,uDAAuD;wBACvD,QAAQ,GAAG,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACJ,IAAI,KAAK,GAAG,UAAU,CAAC;wBACvB,IAAI,UAAU,GAAG,KAAK,CAAC;wBAEvB,IAAI,IAAA,qCAAyB,EAAC,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC7D,UAAU,GAAG,IAAI,CAAC;4BAClB,KAAK,GAAG,UAAU,CAAC;wBACvB,CAAC;wBAED,QAAQ,GAAG,IAAA,gCAAiB,EACxB,IAAI,EACJ,KAAK,EACL,IAAI,CAAC,CAAC,CAAC,KAAK,EACZ,IAAI,CAAC,UAAU,EACf,UAAU,EACV,IAAI,CAAC,yBAAyB,CACjC,CAAC;oBACN,CAAC;oBAED,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;oBACjE,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAClF,CAAC;YACL,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,kCAAyB,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;YACzD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;IAEO,yBAAyB,CAAC,KAAsB,EAAE,WAAwB,EAAE,IAAc;QAC9F,MAAM,YAAY,GACd,WAAW,CAAC,IAAI,kCAA0B;YACtC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,WAAW,EAAE,uBAAuB,CAAC,IAAI,CAAC;YACpF,CAAC,CAAC,WAAW,CAAC;QACtB,IACI,CAAC,YAAY;YACb,CAAC,YAAY,CAAC,IAAI,kCAA0B,IAAI,IAAA,0CAA4B,EAAC,YAAY,CAAC,CAAC,EAC7F,CAAC;YACC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YACrG,OAAO;QACX,CAAC;QAED,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;YACxB,sCAA8B,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBACvF,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED,qCAA6B,CAAC,CAAC,CAAC;gBAC5B,+DAA+D;gBAC/D,8DAA8D;gBAC9D,wDAAwD;gBACxD,IAAI,QAAQ,GAAc,IAAI,CAAC;gBAC/B,IAAI,qBAAuC,CAAC;gBAC5C,IACI,WAAW,CAAC,IAAI,CAAC,QAAQ,oCAA2B;oBACpD,WAAW,CAAC,IAAI,CAAC,QAAQ,wCAA+B,EAC1D,CAAC;oBACC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;wBAChE,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,gCAAuB,EAAE,CAAC;4BACpD,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;wBACjC,CAAC;oBACL,CAAC;gBACL,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,mCAA2B,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACzF,uFAAuF;oBACvF,sFAAsF;oBACtF,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,gCAAuB,EAAE,CAAC;wBACnD,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;4BACnC,gDAAgD;4BAChD,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;wBAChC,CAAC;6BAAM,CAAC;4BACJ,kEAAkE;4BAClE,2EAA2E;4BAC3E,yEAAyE;4BACzE,8CAA8C;4BAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACzC,IAAI,IAAA,sBAAc,EAAC,YAAY,CAAC,EAAE,CAAC;gCAC/B,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;4BAChC,CAAC;iCAAM,CAAC;gCACJ,+DAA+D;gCAC/D,0DAA0D;gCAC1D,qBAAqB,GAAG,YAAY,CAAC;4BACzC,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,8DAA8D;gBAC9D,qDAAqD;gBACrD,MAAM,IAAI,GAAG,qBAAqB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC9D,MAAM,QAAQ,GAAG,mBAAmB,CAChC,IAAI,CAAC,UAAU,EACf,YAAY,EACZ,IAAI,CAAC,CAAC,CAAC,KAAK,EACZ,IAAI,EACJ,QAAQ,EACR,IAAI,CAAC,yBAAyB,EAC9B,IAAI,CAAC,aAAa,CACrB,CAAC;gBAEF,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBACzD,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED,kCAA0B,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBACxG,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAChG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED,sCAA8B,CAAC,CAAC,CAAC;gBAC7B,+EAA+E;gBAC/E,yDAAyD;gBACzD,MAAM,iBAAiB,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,2CAAkC,CAAC;gBACpG,MAAM,QAAQ,GAAG,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC;gBACrD,MAAM,oBAAoB,GAAG,QAAQ,iCAAwB,IAAI,QAAQ,qCAA4B,CAAC;gBAEtG,IAAI,CAAC,eAAe,CAChB,KAAK,EACL,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,oBAAoB,EAAE,CAAC;gBACtF,YAAY,CAAC,IAAI,CACpB,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED,mCAA2B;YAC3B,gDAAwC,CAAC,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,oCAAoC,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;oBACvE,OAAO;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,kCAA0B,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC/F,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC9E,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED,qCAA6B,CAAC,CAAC,CAAC;gBAC5B,IAAI,KAAK,GAAG,UAAU,CAAC;gBACvB,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;oBACxB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;oBAC/E,UAAU,GAAG,CAAC,CAAC,YAAY,IAAI,IAAA,qCAAyB,EAAC,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;oBAClG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC/C,CAAC;gBAED,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7D,IAAI,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;gBAElD,8FAA8F;gBAC9F,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;oBACnB,MAAM,WAAW,GAAG,IAAA,qCAAsB,EAAC,YAAmC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;oBACjG,IAAI,WAAW,EAAE,CAAC;wBACd,IAAI,GAAG,WAAW,CAAC;oBACvB,CAAC;gBACL,CAAC;gBACD,MAAM,eAAe,GAAG,IAAA,gCAAiB,EACrC,IAAI,EACJ,KAAK,EACL,IAAI,CAAC,CAAC,CAAC,KAAK,EACZ,IAAI,CAAC,UAAU,EACf,UAAU,EACV,IAAI,CAAC,yBAAyB;gBAC9B,cAAc,CAAC,SAAS,EACxB,IAAI,CAAC,aAAa,CACrB,CAAC;gBAEF,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBAChE,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED,kCAA0B,CAAC,CAAC,CAAC;gBACzB,6BAA6B;gBAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC3E,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED,sCAA8B,CAAC,CAAC,CAAC;gBAC7B,MAAM,IAAI,GAAG,IAAA,6BAAiB,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5E,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,QAAQ,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBACvF,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED;gBACI,IAAA,mBAAW,EAAC,YAAY,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAEO,6BAA6B,CAAC,KAAsB,EAAE,QAA6B,EAAE,SAAmB;QAC5G,IAAI,QAA4B,CAAC;QAEjC,IAAI,IAAA,gBAAQ,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC;YAExC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjC,QAAQ,GAAG,mBAAmB,CAC1B,IAAI,CAAC,UAAU;YACf,iBAAiB,CAAC,SAAS,EAC3B,IAAI,CAAC,CAAC,CAAC,KAAK,EACZ,IAAI,EACJ,IAAI,EACJ,IAAI,CAAC,yBAAyB,EAC9B,IAAI,CAAC,aAAa,CACrB,CAAC;QACN,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;IAEO,2BAA2B,CAAC,IAAgB,EAAE,IAAU,EAAE,KAAsB;QACpF,wGAAwG;QACxG,sEAAsE;QACtE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,IAAA,4BAAgB,EAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAC/B,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,iBAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5E,IAAI,KAAK,EAAE,CAAC;oBACR,uBAAuB;oBACvB,MAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBAEzF,MAAM,YAAY,GAAG,iBAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;oBAC5F,IAAI,kBAA2C,CAAC;oBAChD,IAAI,SAAS,GAAG,EAAE,CAAC;oBACnB,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC3D,0EAA0E;wBAC1E,0EAA0E;wBAC1E,qDAAqD;wBACrD,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;wBACpC,IAAI,WAAW,CAAC,IAAI,qCAA6B,IAAI,WAAW,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;4BACvF,kBAAkB,GAAG,WAAW,CAAC;4BACjC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;wBACtC,CAAC;oBACL,CAAC;oBAED,MAAM,QAAQ,GAAG,GAAG,IAAI,KAAK,SAAS,EAAE,CAAC;oBACzC,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC5B,OAAO;oBACX,CAAC;oBAED,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAE1B,kHAAkH;oBAClH,2DAA2D;oBAC3D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;oBACtC,CAAC;oBAED,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;oBAErD,IAAI,kBAAkB,EAAE,CAAC;wBACrB,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;oBAC1E,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,oCAAoC,CAAC,IAAc,EAAE,KAAsB,EAAE,WAAwB;QACzG,MAAM,MAAM,GAAG,IAAA,0CAA2B,EAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,IAAI,IAAA,8BAAsB,EAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,eAAe,CAChB,KAAK,EACL,IAAA,oCAAqB,EAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,yBAAyB,CAAC;YACvG,YAAY,CAAC,IAAI,CACpB,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAE1F,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,QAAQ,CAAC,IAAoB;QACjC,4DAA4D;QAC5D,2BAA2B;QAC3B,OAAO,IAAA,gCAAiB,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAEO,YAAY,CAAC,IAAoB,EAAE,OAA0B;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAEO,qBAAqB,CAAC,KAAsB,EAAE,IAAc,EAAE,YAAqC;QACvG,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/E,CAAC;IAEO,4BAA4B,CAChC,KAAsB,EACtB,IAAsB,EACtB,YAAqC,EACrC,IAAa;QAEb,MAAM,aAAa,GAAG,IAAA,4DAA6C,EAC/D,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ,YAAY,EACZ,IAAI,CAAC,UAAU,EACf;YACI,IAAI;SACP,CACJ,CAAC;QAEF,2BAA2B,CACvB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAC7B,aAAa,EAAE,IAAI,EACnB,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,YAAY,EACZ,aAAa,EAAE,YAAY,CAC9B,CAAC;QACF,OAAO,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC;IACjC,CAAC;IAEO,eAAe,CAAC,KAAsB,EAAE,IAAY,EAAE,MAAM,GAAG,KAAK;QACxE,KAAK,CAAC,IAAI,CAAC;YACP,MAAM;YACN,IAAI;SACP,CAAC,CAAC;IACP,CAAC;CACJ;AAhcD,sCAgcC"}
1
+ {"version":3,"file":"hoverProvider.js","sourceRoot":"","sources":["../../../../../src/languageService/hoverProvider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DH,kDA4BC;AAkBD,0DA2BC;AAyBD,kEAgCC;AAED,kDAqDC;AAnPD,iEAA6E;AAE7E,yDAMiC;AACjC,2EAA6D;AAG7D,uEAAiE;AAEjE,qDAAuG;AACvG,6CAY2B;AAC3B,mEAA2E;AAE3E,2CAAoD;AAEpD,2DAA2F;AAE3F,mDAAiE;AAKjE,iDAOwB;AAYxB,SAAgB,mBAAmB,CAAC,YAAiC,EAAE,MAAkB;IACrF,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK;SAClC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACV,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,MAAM,KAAK,kCAAU,CAAC,QAAQ,EAAE,CAAC;gBACjC,OAAO,aAAa,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;YACjD,CAAC;iBAAM,IAAI,MAAM,KAAK,kCAAU,CAAC,SAAS,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACJ,IAAA,YAAI,EAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC;SACR,OAAO,EAAE,CAAC;IAEf,OAAO;QACH,QAAQ,EAAE;YACN,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,YAAY;SACtB;QACD,KAAK,EAAE,YAAY,CAAC,KAAK;KAC5B,CAAC;AACN,CAAC;AAED,SAAS,yBAAyB,CAAC,YAA2B;IAC1D,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,SAAgB,uBAAuB,CACnC,eAAgC,EAChC,aAAuB,EACvB,YAAqC,EACrC,MAAkB,EAClB,KAAsB;IAEtB,sDAAsD;IACtD,IAAI,SAAS,GAAuB,SAAS,CAAC;IAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,IAAI,aAAa,CAAC,CAAC;IAC1F,IAAI,QAAQ,EAAE,CAAC;QACX,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAC/E,IAAI,SAAS,EAAE,CAAC;YACZ,6BAA6B;YAC7B,SAAS,GAAG,eAAe;iBACtB,gBAAgB,EAAE;iBAClB,6BAA6B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACjF,CAAC;IACL,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;IACX,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACP,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,SAAS;KAClB,CAAC,CAAC;AACP,CAAC;AAED,SAAS,oBAAoB,CACzB,eAAgC,EAChC,YAA0B,EAC1B,MAAkB,EAClB,KAAsB;IAEtB,mFAAmF;IACnF,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACxF,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;IACX,CAAC;IAED,MAAM,SAAS,GAAG,eAAe,CAAC,gBAAgB,EAAE,CAAC,0BAA0B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnG,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;IACX,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACP,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,SAAS;KAClB,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,2BAA2B,CACvC,eAAgC,EAChC,SAA6B,EAC7B,MAAkB,EAClB,KAAsB,EACtB,YAAqC,EACrC,oBAA8B;IAE9B,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;IACX,CAAC;IAED,IAAI,MAAM,KAAK,kCAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,oBAAoB,IAAI,IAAA,oCAAe,EAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,eAAe;aAC3B,gBAAgB,EAAE;aAClB,0BAA0B,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;QAE5E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,yBAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,OAAO;IACX,CAAC;IAED,IAAI,MAAM,KAAK,kCAAU,CAAC,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,gBAAgB,EAAE,CAAC,2BAA2B,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/G,OAAO;IACX,CAAC;IAED,IAAA,YAAI,EAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,mBAAmB,CAC/B,SAAwB,EACxB,WAA4C,EAC5C,IAAY,EACZ,IAAU,EACV,QAAwB,EACxB,wBAA8C,EAC9C,YAA2B;IAE3B,IAAI,KAAK,GAAG,UAAU,CAAC;IACvB,IAAI,WAAW,EAAE,CAAC;QACd,KAAK,GAAG,WAAW,CAAC,UAAU,IAAI,SAAS,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IAClH,CAAC;IAED,IAAI,WAA+B,CAAC;IAEpC,IAAI,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,QAAQ,CAAC,QAAQ,gCAAuB,EAAE,CAAC;QACxE,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,aAAa,EAAE,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAClD,IAAI,IAAA,iBAAS,EAAC,IAAI,CAAC,EAAE,CAAC;gBAClB,KAAK,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC3D,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACJ,iCAAiC;gBACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,IAAA,6BAAiB,EAAC,IAAA,gCAAiB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;oBAC5F,eAAe,EAAE,IAAI;iBACxB,CAAC,CAAC;gBAEH,OAAO,UAAU,IAAI,KAAK,GAAG,QAAQ,CAAC;YAC1C,CAAC;QACL,CAAC;IACL,CAAC;IAED,IACI,IAAI,CAAC,QAAQ,kCAA0B;QACvC,IAAI,CAAC,QAAQ,oCAA4B;QACzC,QAAQ,CAAC,MAAM,EAAE,QAAQ,+BAAuB,EAClD,CAAC;QACC,OAAO,IAAA,gCAAiB,EACpB,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,SAAS;QACT,gBAAgB,CAAC,KAAK,EACtB,wBAAwB,EACxB,QAAQ,EACR,YAAY,CACf,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,IAAA,gCAAiB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1G,OAAO,IAAI,KAAK,IAAI,GAAG,QAAQ,CAAC;AACpC,CAAC;AAED,MAAa,aAAa;IAItB,YACqB,QAAqB,EACrB,QAAa,EACb,SAAmB,EACnB,OAAmB,EACnB,MAAyB;QAJzB,aAAQ,GAAR,QAAQ,CAAa;QACrB,aAAQ,GAAR,QAAQ,CAAK;QACb,cAAS,GAAT,SAAS,CAAU;QACnB,YAAO,GAAP,OAAO,CAAY;QACnB,WAAM,GAAN,MAAM,CAAmB;QAE1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3G,CAAC;IAED,QAAQ;QACJ,OAAO,mBAAmB,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,YAA2B;QACpD,iEAAiE;QACjE,8DAA8D;QAC9D,iEAAiE;QACjE,iEAAiE;QACjE,mEAAmE;QACnE,iEAAiE;QACjE,iEAAiE;QACjE,4BAA4B;QAC5B,MAAM,kBAAkB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,kBAAkB,CAAC,IAAI,kCAA0B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/E,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,IACH,kBAAkB,CAAC,IAAI,qCAA6B;YACpD,YAAY,CAAC,MAAM,GAAG,CAAC;YACvB,kBAAkB,CAAC,gBAAgB,EACrC,CAAC;YACC,uDAAuD;YACvD,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED,IAAY,UAAU;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC;IACpC,CAAC;IAED,IAAY,yBAAyB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC;IAChE,CAAC;IAEO,eAAe;QACnB,IAAA,gDAA4B,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACjG,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAChG,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAiB;YAC1B,KAAK,EAAE,EAAE;YACT,KAAK,EAAE;gBACH,KAAK,EAAE,IAAA,uCAAuB,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC;gBACpF,GAAG,EAAE,IAAA,uCAAuB,EAAC,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC;aACjG;SACJ,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,gCAAuB,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,YAAY,GAAG,QAAQ,EAAE,KAAK,CAAC;YAErC,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,kBAAkB,GAAG,aAAa,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;gBAC7E,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;YAC5E,CAAC;iBAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC;gBACtB,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxC,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAClF,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,sCAA6B,EAAE,CAAC;gBAC3E,gFAAgF;gBAChF,mFAAmF;gBACnF,+EAA+E;gBAC/E,4BAA4B;gBAC5B,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACjC,IAAI,QAAgB,CAAC;oBACrB,IAAI,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;wBACjB,qEAAqE;wBACrE,oEAAoE;wBACpE,uDAAuD;wBACvD,QAAQ,GAAG,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACJ,IAAI,KAAK,GAAG,UAAU,CAAC;wBACvB,IAAI,UAAU,GAAG,KAAK,CAAC;wBAEvB,IAAI,IAAA,qCAAyB,EAAC,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC7D,UAAU,GAAG,IAAI,CAAC;4BAClB,KAAK,GAAG,UAAU,CAAC;wBACvB,CAAC;wBAED,QAAQ,GAAG,IAAA,gCAAiB,EACxB,IAAI,EACJ,KAAK,EACL,IAAI,CAAC,CAAC,CAAC,KAAK,EACZ,IAAI,CAAC,UAAU,EACf,UAAU,EACV,IAAI,CAAC,yBAAyB,CACjC,CAAC;oBACN,CAAC;oBAED,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;oBACjE,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAClF,CAAC;YACL,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,kCAAyB,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;YACzD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,oCAA2B,EAAE,CAAC;YAClD,sFAAsF;YACtF,MAAM,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpG,IAAI,KAAK,EAAE,IAAI,6BAAoB,EAAE,CAAC;gBAClC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3F,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;IAEO,yBAAyB,CAAC,KAAsB,EAAE,WAAwB,EAAE,IAAc;QAC9F,MAAM,YAAY,GACd,WAAW,CAAC,IAAI,kCAA0B;YACtC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,WAAW,EAAE,uBAAuB,CAAC,IAAI,CAAC;YACpF,CAAC,CAAC,WAAW,CAAC;QACtB,IACI,CAAC,YAAY;YACb,CAAC,YAAY,CAAC,IAAI,kCAA0B,IAAI,IAAA,0CAA4B,EAAC,YAAY,CAAC,CAAC,EAC7F,CAAC;YACC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YACrG,OAAO;QACX,CAAC;QAED,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;YACxB,sCAA8B,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBACvF,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED,qCAA6B,CAAC,CAAC,CAAC;gBAC5B,+DAA+D;gBAC/D,8DAA8D;gBAC9D,wDAAwD;gBACxD,IAAI,QAAQ,GAAc,IAAI,CAAC;gBAC/B,IAAI,qBAAuC,CAAC;gBAC5C,IACI,WAAW,CAAC,IAAI,CAAC,QAAQ,oCAA2B;oBACpD,WAAW,CAAC,IAAI,CAAC,QAAQ,wCAA+B,EAC1D,CAAC;oBACC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;wBAChE,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,gCAAuB,EAAE,CAAC;4BACpD,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;wBACjC,CAAC;oBACL,CAAC;gBACL,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,mCAA2B,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACzF,uFAAuF;oBACvF,sFAAsF;oBACtF,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,gCAAuB,EAAE,CAAC;wBACnD,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;4BACnC,gDAAgD;4BAChD,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;wBAChC,CAAC;6BAAM,CAAC;4BACJ,kEAAkE;4BAClE,2EAA2E;4BAC3E,yEAAyE;4BACzE,8CAA8C;4BAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACzC,IAAI,IAAA,sBAAc,EAAC,YAAY,CAAC,EAAE,CAAC;gCAC/B,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;4BAChC,CAAC;iCAAM,CAAC;gCACJ,+DAA+D;gCAC/D,0DAA0D;gCAC1D,qBAAqB,GAAG,YAAY,CAAC;4BACzC,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,8DAA8D;gBAC9D,qDAAqD;gBACrD,MAAM,IAAI,GAAG,qBAAqB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC9D,MAAM,QAAQ,GAAG,mBAAmB,CAChC,IAAI,CAAC,UAAU,EACf,YAAY,EACZ,IAAI,CAAC,CAAC,CAAC,KAAK,EACZ,IAAI,EACJ,QAAQ,EACR,IAAI,CAAC,yBAAyB,EAC9B,IAAI,CAAC,aAAa,CACrB,CAAC;gBAEF,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBACzD,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED,kCAA0B,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBACxG,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAChG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED,sCAA8B,CAAC,CAAC,CAAC;gBAC7B,+EAA+E;gBAC/E,yDAAyD;gBACzD,MAAM,iBAAiB,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,2CAAkC,CAAC;gBACpG,MAAM,QAAQ,GAAG,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC;gBACrD,MAAM,oBAAoB,GAAG,QAAQ,iCAAwB,IAAI,QAAQ,qCAA4B,CAAC;gBAEtG,IAAI,CAAC,eAAe,CAChB,KAAK,EACL,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,oBAAoB,EAAE,CAAC;gBACtF,YAAY,CAAC,IAAI,CACpB,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED,mCAA2B;YAC3B,gDAAwC,CAAC,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,oCAAoC,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;oBACvE,OAAO;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,kCAA0B,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC/F,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC9E,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED,qCAA6B,CAAC,CAAC,CAAC;gBAC5B,IAAI,KAAK,GAAG,UAAU,CAAC;gBACvB,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;oBACxB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;oBAC/E,UAAU,GAAG,CAAC,CAAC,YAAY,IAAI,IAAA,qCAAyB,EAAC,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;oBAClG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC/C,CAAC;gBAED,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7D,IAAI,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;gBAElD,8FAA8F;gBAC9F,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;oBACnB,MAAM,WAAW,GAAG,IAAA,qCAAsB,EAAC,YAAmC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;oBACjG,IAAI,WAAW,EAAE,CAAC;wBACd,IAAI,GAAG,WAAW,CAAC;oBACvB,CAAC;gBACL,CAAC;gBACD,MAAM,eAAe,GAAG,IAAA,gCAAiB,EACrC,IAAI,EACJ,KAAK,EACL,IAAI,CAAC,CAAC,CAAC,KAAK,EACZ,IAAI,CAAC,UAAU,EACf,UAAU,EACV,IAAI,CAAC,yBAAyB;gBAC9B,cAAc,CAAC,SAAS,EACxB,IAAI,CAAC,aAAa,CACrB,CAAC;gBAEF,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBAChE,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED,kCAA0B,CAAC,CAAC,CAAC;gBACzB,6BAA6B;gBAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC3E,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED,sCAA8B,CAAC,CAAC,CAAC;gBAC7B,MAAM,IAAI,GAAG,IAAA,6BAAiB,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5E,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,QAAQ,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBACvF,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtD,MAAM;YACV,CAAC;YAED;gBACI,IAAA,mBAAW,EAAC,YAAY,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAEO,6BAA6B,CAAC,KAAsB,EAAE,QAA6B,EAAE,SAAmB;QAC5G,IAAI,QAA4B,CAAC;QAEjC,IAAI,IAAA,gBAAQ,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC;YAExC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjC,QAAQ,GAAG,mBAAmB,CAC1B,IAAI,CAAC,UAAU;YACf,iBAAiB,CAAC,SAAS,EAC3B,IAAI,CAAC,CAAC,CAAC,KAAK,EACZ,IAAI,EACJ,IAAI,EACJ,IAAI,CAAC,yBAAyB,EAC9B,IAAI,CAAC,aAAa,CACrB,CAAC;QACN,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;IAEO,2BAA2B,CAAC,IAAgB,EAAE,IAAU,EAAE,KAAsB;QACpF,wGAAwG;QACxG,sEAAsE;QACtE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,IAAA,4BAAgB,EAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAC/B,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,iBAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5E,IAAI,KAAK,EAAE,CAAC;oBACR,uBAAuB;oBACvB,MAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBAEzF,MAAM,YAAY,GAAG,iBAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;oBAC5F,IAAI,kBAA2C,CAAC;oBAChD,IAAI,SAAS,GAAG,EAAE,CAAC;oBACnB,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC3D,0EAA0E;wBAC1E,0EAA0E;wBAC1E,qDAAqD;wBACrD,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;wBACpC,IAAI,WAAW,CAAC,IAAI,qCAA6B,IAAI,WAAW,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;4BACvF,kBAAkB,GAAG,WAAW,CAAC;4BACjC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;wBACtC,CAAC;oBACL,CAAC;oBAED,MAAM,QAAQ,GAAG,GAAG,IAAI,KAAK,SAAS,EAAE,CAAC;oBACzC,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC5B,OAAO;oBACX,CAAC;oBAED,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAE1B,kHAAkH;oBAClH,2DAA2D;oBAC3D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;oBACtC,CAAC;oBAED,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;oBAErD,IAAI,kBAAkB,EAAE,CAAC;wBACrB,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;oBAC1E,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,oCAAoC,CAAC,IAAc,EAAE,KAAsB,EAAE,WAAwB;QACzG,MAAM,MAAM,GAAG,IAAA,0CAA2B,EAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,IAAI,IAAA,8BAAsB,EAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,eAAe,CAChB,KAAK,EACL,IAAA,oCAAqB,EAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,yBAAyB,CAAC;YACvG,YAAY,CAAC,IAAI,CACpB,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAE1F,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,QAAQ,CAAC,IAAoB;QACjC,4DAA4D;QAC5D,2BAA2B;QAC3B,OAAO,IAAA,gCAAiB,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAEO,YAAY,CAAC,IAAoB,EAAE,OAA0B;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAEO,qBAAqB,CAAC,KAAsB,EAAE,IAAc,EAAE,YAAqC;QACvG,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/E,CAAC;IAEO,4BAA4B,CAChC,KAAsB,EACtB,IAAsB,EACtB,YAAqC,EACrC,IAAa;QAEb,MAAM,aAAa,GAAG,IAAA,4DAA6C,EAC/D,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ,YAAY,EACZ,IAAI,CAAC,UAAU,EACf;YACI,IAAI;SACP,CACJ,CAAC;QAEF,2BAA2B,CACvB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAC7B,aAAa,EAAE,IAAI,EACnB,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,YAAY,EACZ,aAAa,EAAE,YAAY,CAC9B,CAAC;QACF,OAAO,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC;IACjC,CAAC;IAEO,eAAe,CAAC,KAAsB,EAAE,IAAY,EAAE,MAAM,GAAG,KAAK;QACxE,KAAK,CAAC,IAAI,CAAC;YACP,MAAM;YACN,IAAI;SACP,CAAC,CAAC;IACP,CAAC;CACJ;AAtcD,sCAscC"}
@@ -0,0 +1,16 @@
1
+ import { ImportedModuleDescriptor, ImportResolver } from '../analyzer/importResolver';
2
+ import { ImplicitImport, ImportResult } from '../analyzer/importResult';
3
+ import { SymbolTable } from '../analyzer/symbol';
4
+ import { ExecutionEnvironment } from '../common/configOptions';
5
+ import { ProgramView } from '../common/extensibility';
6
+ import { Uri } from '../common/uri/uri';
7
+ import { ImportFromNode, ModuleNameNode } from '../parser/parseNodes';
8
+ export declare function createModuleNameCompletionDescriptor(moduleNode: ModuleNameNode, enumerateAll?: boolean): ImportedModuleDescriptor;
9
+ export declare function getModuleNameCompletionSuggestions(importResolver: ImportResolver, fileUri: Uri, execEnv: ExecutionEnvironment, moduleNode: ModuleNameNode, enumerateAll?: boolean): Map<string, Uri>;
10
+ export declare function getImportFromTarget(program: ProgramView, importFromNode: ImportFromNode): ImportFromTarget;
11
+ export interface ImportFromTarget {
12
+ importInfo?: ImportResult;
13
+ hasParseResults: boolean;
14
+ symbolTable?: SymbolTable;
15
+ implicitImports?: Map<string, ImplicitImport>;
16
+ }
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ /*
3
+ * importStatementCandidates.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ *
7
+ * Shared helpers that enumerate the candidate names valid at an import-statement
8
+ * position. These are the same candidate sources the completion provider uses,
9
+ * extracted so that the change-spelling code action can offer near-name
10
+ * replacements from the identical corpus instead of the auto-import index.
11
+ */
12
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ var desc = Object.getOwnPropertyDescriptor(m, k);
15
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
16
+ desc = { enumerable: true, get: function() { return m[k]; } };
17
+ }
18
+ Object.defineProperty(o, k2, desc);
19
+ }) : (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k;
21
+ o[k2] = m[k];
22
+ }));
23
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
24
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
25
+ }) : function(o, v) {
26
+ o["default"] = v;
27
+ });
28
+ var __importStar = (this && this.__importStar) || (function () {
29
+ var ownKeys = function(o) {
30
+ ownKeys = Object.getOwnPropertyNames || function (o) {
31
+ var ar = [];
32
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
33
+ return ar;
34
+ };
35
+ return ownKeys(o);
36
+ };
37
+ return function (mod) {
38
+ if (mod && mod.__esModule) return mod;
39
+ var result = {};
40
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
41
+ __setModuleDefault(result, mod);
42
+ return result;
43
+ };
44
+ })();
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.createModuleNameCompletionDescriptor = createModuleNameCompletionDescriptor;
47
+ exports.getModuleNameCompletionSuggestions = getModuleNameCompletionSuggestions;
48
+ exports.getImportFromTarget = getImportFromTarget;
49
+ const AnalyzerNodeInfo = __importStar(require("../analyzer/analyzerNodeInfo"));
50
+ const uri_1 = require("../common/uri/uri");
51
+ // Builds the module descriptor used to enumerate module-name completion candidates
52
+ // for the module-name position (`import X`, `from X import ...`).
53
+ //
54
+ // When `enumerateAll` is true, the final (typed) name segment is dropped so the
55
+ // resolver returns the full set of siblings under the parent package. This is
56
+ // used by the change-spelling code action, where the typed segment is a
57
+ // misspelling rather than a prefix and must be matched by edit distance. When
58
+ // false (completion), the typed segment is kept and used as a prefix filter.
59
+ function createModuleNameCompletionDescriptor(moduleNode, enumerateAll = false) {
60
+ const nameParts = moduleNode.d.nameParts.map((part) => part.d.value);
61
+ let hasTrailingDot = moduleNode.d.hasTrailingDot || false;
62
+ if (enumerateAll && !hasTrailingDot && nameParts.length > 0) {
63
+ // Drop the misspelled final segment and enumerate everything under its
64
+ // parent so edit-distance matching has the full sibling corpus.
65
+ nameParts.pop();
66
+ hasTrailingDot = nameParts.length > 0 || moduleNode.d.leadingDots > 0;
67
+ }
68
+ return {
69
+ leadingDots: moduleNode.d.leadingDots,
70
+ hasTrailingDot,
71
+ nameParts,
72
+ importedSymbols: new Set(),
73
+ };
74
+ }
75
+ // Enumerates module-name completion candidates for the module-name position
76
+ // (`import X`, `from X import ...`). See `createModuleNameCompletionDescriptor`
77
+ // for the meaning of `enumerateAll`.
78
+ function getModuleNameCompletionSuggestions(importResolver, fileUri, execEnv, moduleNode, enumerateAll = false) {
79
+ const moduleDescriptor = createModuleNameCompletionDescriptor(moduleNode, enumerateAll);
80
+ return importResolver.getCompletionSuggestions(fileUri, execEnv, moduleDescriptor);
81
+ }
82
+ // Resolves the target module of a `from X import ...` statement and returns its
83
+ // top-level (module-scope) symbol table and implicit submodule imports. The symbol
84
+ // table is the raw module scope: it can include non-exported / underscore-private
85
+ // names and is not filtered by `__all__` or visibility. Callers that need
86
+ // completion-style filtering must apply it themselves.
87
+ function getImportFromTarget(program, importFromNode) {
88
+ const importInfo = AnalyzerNodeInfo.getImportInfo(importFromNode.d.module);
89
+ if (!importInfo) {
90
+ return { hasParseResults: false };
91
+ }
92
+ const resolvedPath = importInfo.resolvedUris.length > 0 ? importInfo.resolvedUris[importInfo.resolvedUris.length - 1] : uri_1.Uri.empty();
93
+ const parseResults = program.getParseResults(resolvedPath);
94
+ if (!parseResults) {
95
+ return { importInfo, hasParseResults: false, implicitImports: importInfo.implicitImports };
96
+ }
97
+ const symbolTable = AnalyzerNodeInfo.getScope(parseResults.parserOutput.parseTree)?.symbolTable;
98
+ return { importInfo, hasParseResults: true, symbolTable, implicitImports: importInfo.implicitImports };
99
+ }
100
+ //# sourceMappingURL=importStatementCandidates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importStatementCandidates.js","sourceRoot":"","sources":["../../../../../src/languageService/importStatementCandidates.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBH,oFAoBC;AAKD,gFASC;AAOD,kDAgBC;AA1ED,+EAAiE;AAMjE,2CAAwC;AAGxC,mFAAmF;AACnF,kEAAkE;AAClE,EAAE;AACF,gFAAgF;AAChF,8EAA8E;AAC9E,wEAAwE;AACxE,8EAA8E;AAC9E,6EAA6E;AAC7E,SAAgB,oCAAoC,CAChD,UAA0B,EAC1B,YAAY,GAAG,KAAK;IAEpB,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACrE,IAAI,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,IAAI,KAAK,CAAC;IAE1D,IAAI,YAAY,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,uEAAuE;QACvE,gEAAgE;QAChE,SAAS,CAAC,GAAG,EAAE,CAAC;QAChB,cAAc,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO;QACH,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,WAAW;QACrC,cAAc;QACd,SAAS;QACT,eAAe,EAAE,IAAI,GAAG,EAAU;KACrC,CAAC;AACN,CAAC;AAED,4EAA4E;AAC5E,gFAAgF;AAChF,qCAAqC;AACrC,SAAgB,kCAAkC,CAC9C,cAA8B,EAC9B,OAAY,EACZ,OAA6B,EAC7B,UAA0B,EAC1B,YAAY,GAAG,KAAK;IAEpB,MAAM,gBAAgB,GAAG,oCAAoC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACxF,OAAO,cAAc,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACvF,CAAC;AAED,gFAAgF;AAChF,mFAAmF;AACnF,kFAAkF;AAClF,0EAA0E;AAC1E,uDAAuD;AACvD,SAAgB,mBAAmB,CAAC,OAAoB,EAAE,cAA8B;IACpF,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3E,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,YAAY,GACd,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAG,CAAC,KAAK,EAAE,CAAC;IAEnH,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,eAAe,EAAE,CAAC;IAC/F,CAAC;IAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;IAChG,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,eAAe,EAAE,CAAC;AAC3G,CAAC"}
@@ -1,18 +1,21 @@
1
1
  import { CancellationToken, Location, ResultProgressReporter } from 'vscode-languageserver';
2
2
  import { Declaration } from '../analyzer/declaration';
3
3
  import { DocumentRange } from '../common/docRange';
4
- import { ProgramView, ReferenceUseCase, SymbolUsageProvider } from '../common/extensibility';
4
+ import { ProgramView, ReferenceUseCase, SourceFileInfo, SymbolUsageProvider } from '../common/extensibility';
5
5
  import { ReadOnlyFileSystem } from '../common/fileSystem';
6
- import { Position, Range } from '../common/textRange';
6
+ import { Position, TextRange } from '../common/textRange';
7
7
  import { Uri } from '../common/uri/uri';
8
8
  import { NameNode, ParseNode } from '../parser/parseNodes';
9
9
  import { ParseFileResults } from '../parser/parser';
10
10
  import { CollectionResult } from './documentSymbolCollector';
11
11
  export type ReferenceCallback = (locations: DocumentRange[]) => void;
12
- export interface LocationWithNode {
12
+ export interface ReferenceLocation {
13
13
  location: DocumentRange;
14
- parentRange?: Range;
15
- node: ParseNode;
14
+ range: TextRange;
15
+ }
16
+ interface FileReferenceCollection {
17
+ results: ReferenceLocation[];
18
+ discoveredDeclarations: readonly Declaration[];
16
19
  }
17
20
  export declare class ReferencesResult {
18
21
  readonly requiresGlobalSearch: boolean;
@@ -27,8 +30,8 @@ export declare class ReferencesResult {
27
30
  constructor(requiresGlobalSearch: boolean, nodeAtOffset: ParseNode, symbolNames: string[], declarations: Declaration[], useCase: ReferenceUseCase, providers: readonly SymbolUsageProvider[], _reporter?: ReferenceCallback | undefined);
28
31
  get containsOnlyImportDecls(): boolean;
29
32
  get locations(): readonly DocumentRange[];
30
- get results(): readonly LocationWithNode[];
31
- addResults(...locs: LocationWithNode[]): void;
33
+ get results(): readonly ReferenceLocation[];
34
+ addResults(...locs: ReferenceLocation[]): void;
32
35
  }
33
36
  export declare class FindReferencesTreeWalker {
34
37
  private _program;
@@ -37,9 +40,10 @@ export declare class FindReferencesTreeWalker {
37
40
  private _includeDeclaration;
38
41
  private _cancellationToken;
39
42
  private readonly _createDocumentRange;
43
+ private readonly _previousResultRanges?;
40
44
  private _parseResults;
41
- constructor(_program: ProgramView, _fileUri: Uri, _referencesResult: ReferencesResult, _includeDeclaration: boolean, _cancellationToken: CancellationToken, _createDocumentRange?: (fileUri: Uri, result: CollectionResult, parseResults: ParseFileResults) => DocumentRange);
42
- findReferences(rootNode?: import("../parser/parseNodes").ModuleNode | undefined): LocationWithNode[];
45
+ constructor(_program: ProgramView, _fileUri: Uri, _referencesResult: ReferencesResult, _includeDeclaration: boolean, _cancellationToken: CancellationToken, _createDocumentRange?: (fileUri: Uri, result: CollectionResult, parseResults: ParseFileResults) => DocumentRange, _previousResultRanges?: ReadonlySet<string> | undefined);
46
+ findReferences(rootNode?: import("../parser/parseNodes").ModuleNode | undefined): FileReferenceCollection;
43
47
  static createDocumentRange(fileUri: Uri, result: CollectionResult, parseResults: ParseFileResults): DocumentRange;
44
48
  }
45
49
  export declare class ReferencesProvider {
@@ -49,7 +53,10 @@ export declare class ReferencesProvider {
49
53
  private readonly _convertToLocation?;
50
54
  constructor(_program: ProgramView, _token: CancellationToken, _createDocumentRange?: ((fileUri: Uri, result: CollectionResult, parseResults: ParseFileResults) => DocumentRange) | undefined, _convertToLocation?: ((fs: ReadOnlyFileSystem, ranges: DocumentRange) => Location | undefined) | undefined);
51
55
  reportReferences(fileUri: Uri, position: Position, includeDeclaration: boolean, resultReporter?: ResultProgressReporter<Location[]>): Location[] | undefined;
56
+ collectFileReferences(fileUri: Uri, includeDeclaration: boolean, referencesResult: ReferencesResult, previousResultRanges?: Set<string>): FileReferenceCollection;
52
57
  addReferencesToResult(fileUri: Uri, includeDeclaration: boolean, referencesResult: ReferencesResult): void;
58
+ collectWorkspaceReferences(referencesResult: ReferencesResult, includeDeclaration: boolean, isCandidateFile: (sourceFileInfo: SourceFileInfo) => boolean): void;
53
59
  static getDeclarationForNode(program: ProgramView, fileUri: Uri, node: NameNode, reporter: ReferenceCallback | undefined, useCase: ReferenceUseCase, token: CancellationToken): ReferencesResult | undefined;
54
60
  static getDeclarationForPosition(program: ProgramView, fileUri: Uri, position: Position, reporter: ReferenceCallback | undefined, useCase: ReferenceUseCase, token: CancellationToken): ReferencesResult | undefined;
55
61
  }
62
+ export {};