@zzzen/pyright-internal 1.2.0-dev.20231112 → 1.2.0-dev.20231119

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 (71) hide show
  1. package/dist/analyzer/checker.d.ts +1 -0
  2. package/dist/analyzer/checker.js +31 -19
  3. package/dist/analyzer/checker.js.map +1 -1
  4. package/dist/analyzer/constraintSolver.js +10 -0
  5. package/dist/analyzer/constraintSolver.js.map +1 -1
  6. package/dist/analyzer/constructors.js +10 -6
  7. package/dist/analyzer/constructors.js.map +1 -1
  8. package/dist/analyzer/declarationUtils.js +5 -2
  9. package/dist/analyzer/declarationUtils.js.map +1 -1
  10. package/dist/analyzer/docStringConversion.js +1 -1
  11. package/dist/analyzer/docStringConversion.js.map +1 -1
  12. package/dist/analyzer/docStringUtils.js +1 -1
  13. package/dist/analyzer/importResolver.js +6 -1
  14. package/dist/analyzer/importResolver.js.map +1 -1
  15. package/dist/analyzer/patternMatching.js +19 -14
  16. package/dist/analyzer/patternMatching.js.map +1 -1
  17. package/dist/analyzer/program.js +2 -3
  18. package/dist/analyzer/program.js.map +1 -1
  19. package/dist/analyzer/sourceMapper.js +3 -0
  20. package/dist/analyzer/sourceMapper.js.map +1 -1
  21. package/dist/analyzer/typeEvaluator.js +39 -23
  22. package/dist/analyzer/typeEvaluator.js.map +1 -1
  23. package/dist/analyzer/typeGuards.js +16 -2
  24. package/dist/analyzer/typeGuards.js.map +1 -1
  25. package/dist/analyzer/typeUtils.js +40 -0
  26. package/dist/analyzer/typeUtils.js.map +1 -1
  27. package/dist/analyzer/typeVarContext.d.ts +1 -0
  28. package/dist/analyzer/typeVarContext.js +3 -0
  29. package/dist/analyzer/typeVarContext.js.map +1 -1
  30. package/dist/analyzer/types.d.ts +1 -1
  31. package/dist/analyzer/types.js +12 -4
  32. package/dist/analyzer/types.js.map +1 -1
  33. package/dist/languageServerBase.d.ts +3 -3
  34. package/dist/languageServerBase.js +6 -6
  35. package/dist/languageServerBase.js.map +1 -1
  36. package/dist/languageService/completionProvider.js +5 -11
  37. package/dist/languageService/completionProvider.js.map +1 -1
  38. package/dist/localization/localize.d.ts +3 -3
  39. package/dist/localization/localize.js +3 -1
  40. package/dist/localization/localize.js.map +1 -1
  41. package/dist/localization/package.nls.cs.json +5 -5
  42. package/dist/localization/package.nls.de.json +5 -5
  43. package/dist/localization/package.nls.en-us.json +8 -6
  44. package/dist/localization/package.nls.es.json +5 -5
  45. package/dist/localization/package.nls.fr.json +5 -5
  46. package/dist/localization/package.nls.it.json +5 -5
  47. package/dist/localization/package.nls.ja.json +5 -5
  48. package/dist/localization/package.nls.ko.json +5 -5
  49. package/dist/localization/package.nls.pl.json +5 -5
  50. package/dist/localization/package.nls.pt-br.json +5 -5
  51. package/dist/localization/package.nls.qps-ploc.json +2 -2
  52. package/dist/localization/package.nls.ru.json +5 -5
  53. package/dist/localization/package.nls.tr.json +5 -5
  54. package/dist/localization/package.nls.zh-cn.json +5 -5
  55. package/dist/localization/package.nls.zh-tw.json +5 -5
  56. package/dist/pyright.js +17 -1
  57. package/dist/pyright.js.map +1 -1
  58. package/dist/tests/config.test.js +7 -5
  59. package/dist/tests/config.test.js.map +1 -1
  60. package/dist/tests/docStringConversion.test.js +0 -22
  61. package/dist/tests/docStringConversion.test.js.map +1 -1
  62. package/dist/tests/fourslash/completions.params.fourslash.js +11 -0
  63. package/dist/tests/fourslash/completions.params.fourslash.js.map +1 -1
  64. package/dist/tests/fourslash/hover.docstring.split.fourslash.js +10 -0
  65. package/dist/tests/fourslash/hover.docstring.split.fourslash.js.map +1 -1
  66. package/dist/tests/typeEvaluator1.test.js +4 -0
  67. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  68. package/dist/tests/typeEvaluator2.test.js +8 -0
  69. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  70. package/dist/tests/typeEvaluator4.test.js +1 -1
  71. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/analyzer/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/analyzer/program.ts"],"names":[],"mappings":"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"}
@@ -355,6 +355,9 @@ class SourceMapper {
355
355
  result.push(decl);
356
356
  }
357
357
  }
358
+ else if ((0, declaration_1.isSpecialBuiltInClassDeclaration)(decl)) {
359
+ result.push(decl);
360
+ }
358
361
  else if ((0, declaration_1.isFunctionDeclaration)(decl)) {
359
362
  if (this._isStubThatShouldBeMappedToImplementation(decl.path)) {
360
363
  (0, collectionUtils_1.appendArray)(result, this._findFunctionOrTypeAliasDeclarations(decl, recursiveDeclCache));
@@ -1 +1 @@
1
- {"version":3,"file":"sourceMapper.js","sourceRoot":"","sources":["../../../src/analyzer/sourceMapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sourceMapper.js","sourceRoot":"","sources":["../../../src/analyzer/sourceMapper.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;AAIH,+EAAiE;AACjE,2EAA6D;AAC7D,+DAAwD;AAExD,yCAA2C;AAC3C,2CAA8C;AAC9C,mDAAgG;AAEhG,+CAcuB;AAIvB,+DAAmD;AACnD,2DAAsD;AAEtD,mCAA2F;AAC3F,2CAAgD;AAYhD,MAAa,YAAY;IACrB,YACY,eAA+B,EAC/B,QAA8B,EAC9B,UAAyB,EACzB,WAA6B,EAC7B,kBAAqC,EACrC,YAAqB,EACrB,YAAqB,EACrB,SAAqC,EACrC,YAA+B;QAR/B,oBAAe,GAAf,eAAe,CAAgB;QAC/B,aAAQ,GAAR,QAAQ,CAAsB;QAC9B,eAAU,GAAV,UAAU,CAAe;QACzB,gBAAW,GAAX,WAAW,CAAkB;QAC7B,uBAAkB,GAAlB,kBAAkB,CAAmB;QACrC,iBAAY,GAAZ,YAAY,CAAS;QACrB,iBAAY,GAAZ,YAAY,CAAS;QACrB,cAAS,GAAT,SAAS,CAA4B;QACrC,iBAAY,GAAZ,YAAY,CAAmB;IACxC,CAAC;IAEJ,WAAW,CAAC,YAAoB;;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,yCAAyC,CAAC,YAAY,CAAC;YAC5E,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,YAAY,CAAC;YACrD,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,0CAAE,UAAU,CAAC,CAAC;QAE1D,OAAO,WAAW;aACb,MAAM,CAAC,gBAAS,CAAC;aACjB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,WAAC,OAAA,MAAA,EAAE,CAAC,eAAe,EAAE,0CAAE,SAAS,CAAA,EAAA,CAAC;aAC5C,MAAM,CAAC,gBAAS,CAAC,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,QAAgB;;QAC1B,OAAO,MAAA,MAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,0CAAE,UAAU,CAAC,eAAe,EAAE,0CAAE,SAAS,CAAC;IACtF,CAAC;IAED,gBAAgB,CAAC,QAAqB;QAClC,IAAI,IAAA,gCAAkB,EAAC,QAAQ,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;SAC3D;aAAM,IAAI,IAAA,mCAAqB,EAAC,QAAQ,CAAC,EAAE;YACxC,OAAO,IAAI,CAAC,oCAAoC,CAAC,QAAQ,CAAC,CAAC;SAC9D;aAAM,IAAI,IAAA,mCAAqB,EAAC,QAAQ,CAAC,EAAE;YACxC,OAAO,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;SACnD;aAAM,IAAI,IAAA,oCAAsB,EAAC,QAAQ,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;SACpD;aAAM,IAAI,IAAA,8CAAgC,EAAC,QAAQ,CAAC,EAAE;YACnD,OAAO,IAAI,CAAC,oCAAoC,CAAC,QAAQ,CAAC,CAAC;SAC9D;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED,sBAAsB,CAAC,cAAsB,EAAE,IAAe,EAAE,YAAY,GAAG,KAAK;QAChF,MAAM,MAAM,GAA2C,EAAE,CAAC;QAC1D,IAAI,CAAC,yBAAyB,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,EAAU,EAAE,YAAY,CAAC,CAAC;QAC9F,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,2BAA2B,CAAC,cAAsB,EAAE,IAAe;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gCAAkB,EAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAqB,CAAC,CAAC;IACzF,CAAC;IAED,wBAAwB,CAAC,QAA6B;QAClD,OAAO,IAAI,CAAC,oCAAoC,CAAC,QAAQ,CAAC;aACrD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mCAAqB,EAAC,CAAC,CAAC,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAwB,CAAC,CAAC;IAC9C,CAAC;IAED,UAAU,CAAC,IAAY;QACnB,OAAO,IAAA,gCAAU,EAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,eAAe,CAAC,IAAY;QACxB,MAAM,gBAAgB,GAAG,IAAA,8BAAkB,EAAC,IAAI,CAAC,CAAC;QAClD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,GAAG,gBAAgB,IAAI,MAAM,KAAK,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,IAAI,EAAE;YAC7C,MAAM,IAAI,CAAC,CAAC;YACZ,MAAM,GAAG,GAAG,gBAAgB,IAAI,MAAM,KAAK,CAAC;SAC/C;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,oCAAoC,CACxC,QAAwC,EACxC,qBAAqB,IAAI,GAAG,EAAU;QAEtC,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,kBAAuB,EAAE;YAC/D,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YACtD,MAAM,WAAW,GAAG,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEzE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACtC,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAC/E,CAAC;SACL;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,iCAAiC,CAAC,QAA0B,EAAE,qBAAqB,IAAI,GAAG,EAAU;QACxG,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEzE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACtC,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAC/E,CAAC;IACN,CAAC;IAEO,oCAAoC,CACxC,QAA6B,EAC7B,qBAAqB,IAAI,GAAG,EAAU;QAEtC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEzE,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACnB,MAAM,SAAS,GAAG,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,SAAS,KAAK,SAAS,EAAE;gBACzB,OAAO,EAAE,CAAC;aACb;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACpD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACtC,IAAI,CAAC,6BAA6B,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAC9F,CAAC;SACL;aAAM;YACH,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACtC,IAAI,CAAC,+BAA+B,CAAC,UAAU,EAAE,YAAY,EAAE,kBAAkB,CAAC,CACrF,CAAC;SACL;IACL,CAAC;IAEO,yBAAyB,CAC7B,QAA6B,EAC7B,qBAAqB,IAAI,GAAG,EAAU;QAEtC,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,kBAAuB,EAAE;YAC/C,OAAO,EAAE,CAAC;SACb;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAElE,IAAI,SAAS,EAAE;YACX,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAEpD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACtC,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAC7F,CAAC;SACL;aAAM;YACH,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACtC,IAAI,CAAC,+BAA+B,CAAC,UAAU,EAAE,YAAY,EAAE,kBAAkB,CAAC,CACrF,CAAC;SACL;IACL,CAAC;IAEO,0BAA0B,CAAC,QAA8B;QAC7D,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;YACrB,OAAO,MAAM,CAAC;SACjB;QAED,MAAM,YAAY,GAAG,cAAc,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,MAAM,CAAC;SACjB;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxF,IAAI,CAAC,iBAAiB,EAAE;YACpB,OAAO,MAAM,CAAC;SACjB;QAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC7C,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE;YAC9C,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,oCAAoC,CAChE,gBAAuC,EACvC,kBAAkB,CACrB,EAAE;gBACC,IAAA,6BAAW,EACP,MAAM,EACN,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;qBACtE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,oCAAsB,EAAC,CAAC,CAAC,CAAC;qBACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAyB,CAAC,CAC7C,CAAC;aACL;SACJ;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,6BAA6B,CACjC,UAAsB,EACtB,SAAiB,EACjB,UAAkB,EAClB,SAA2D,EAC3D,kBAA+B;QAE/B,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAEhG,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gCAAkB,EAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAqB,CAAC,EAAE;YACvG,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,EAAE;gBACf,SAAS;aACZ;YAED,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACrE,IAAI,MAAM,EAAE;gBACR,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE;oBAChD,SAAS,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;iBAC/C;aACJ;SACJ;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,4BAA4B,CAChC,UAAsB,EACtB,SAAiB,EACjB,YAAoB,EACpB,kBAA+B;QAE/B,IAAI,MAAM,GAA0B,EAAE,CAAC;QAEvC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,MAAM,SAAS,MAAM,YAAY,EAAE,CAAC;QACjF,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,MAAM,CAAC;SACjB;QAED,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,MAAM,GAAG,IAAI,CAAC,6BAA6B,CACvC,UAAU,EACV,SAAS,EACT,YAAY,EACZ,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACpB,IAAI,IAAA,mCAAqB,EAAC,IAAI,CAAC,EAAE;gBAC7B,IAAI,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC3D,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;wBAChE,IAAI,IAAA,mCAAqB,EAAC,QAAQ,CAAC,EAAE;4BACjC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;yBACzB;qBACJ;iBACJ;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACrB;aACJ;QACL,CAAC,EACD,kBAAkB,CACrB,CAAC;QAEF,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,6BAA6B,CACjC,UAAsB,EACtB,SAAiB,EACjB,YAAoB,EACpB,kBAA+B;QAE/B,IAAI,MAAM,GAA2C,EAAE,CAAC;QAExD,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,MAAM,SAAS,MAAM,YAAY,EAAE,CAAC;QACjF,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,MAAM,CAAC;SACjB;QAED,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,MAAM,GAAG,IAAI,CAAC,6BAA6B,CACvC,UAAU,EACV,SAAS,EACT,YAAY,EACZ,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACpB,IAAI,IAAA,mCAAqB,EAAC,IAAI,CAAC,EAAE;gBAC7B,IAAI,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC3D,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC,oCAAoC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;iBAC/E;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACrB;aACJ;QACL,CAAC,EACD,kBAAkB,CACrB,CAAC;QAEF,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,+BAA+B,CACnC,UAAsB,EACtB,YAAoB,EACpB,kBAA+B;;QAE/B,MAAM,MAAM,GAA2C,EAAE,CAAC;QAE1D,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,MAAM,YAAY,EAAE,CAAC;QAClE,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,MAAM,CAAC;SACjB;QAED,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,MAAM,UAAU,GAAG,MAAA,UAAU,CAAC,eAAe,EAAE,0CAAE,SAAS,CAAC;QAC3D,IAAI,CAAC,UAAU,EAAE;YACb,2EAA2E;YAC3E,0BAA0B;YAC1B,OAAO,MAAM,CAAC;SACjB;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,IAAI,CAAC,wCAAwC,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;SACvG;aAAM;YACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;aACnE;SACJ;QAED,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,+BAA+B,CACnC,UAAsB,EACtB,YAAoB,EACpB,kBAA+B;;QAE/B,MAAM,MAAM,GAA2C,EAAE,CAAC;QAE1D,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,MAAM,YAAY,EAAE,CAAC;QAClE,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,MAAM,CAAC;SACjB;QAED,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,MAAM,UAAU,GAAG,MAAA,UAAU,CAAC,eAAe,EAAE,0CAAE,SAAS,CAAC;QAC3D,IAAI,CAAC,UAAU,EAAE;YACb,2EAA2E;YAC3E,0BAA0B;YAC1B,OAAO,MAAM,CAAC;SACjB;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,IAAI,CAAC,wCAAwC,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;SACvG;aAAM;YACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;aAC1E;SACJ;QAED,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,4BAA4B,CAChC,UAAsB,EACtB,aAAqB,EACrB,kBAA+B;;QAE/B,IAAI,UAAU,GAA2C,EAAE,CAAC;QAE5D,0EAA0E;QAC1E,MAAM,UAAU,GAAG,MAAA,UAAU,CAAC,eAAe,EAAE,0CAAE,SAAS,CAAC;QAC3D,IAAI,UAAU,EAAE;YACZ,IAAI,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;gBACxG,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC5C;YAED,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;gBACxC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAC3C,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAC9F,CAAC;aACL;SACJ;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,sBAAsB,CAC1B,UAAsB,EACtB,SAAiB,EACjB,UAAqB,EACrB,kBAA+B;QAE/B,MAAM,MAAM,GAA2C,EAAE,CAAC;QAE1D,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;QACjF,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,MAAM,CAAC;SACjB;QAED,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,oBAAyB,EAAE;YACpE,IAAI,CAAC,wCAAwC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;SACpG;aAAM;YACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;aAC1E;SACJ;QAED,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,wBAAwB,CAC5B,IAAiB,EACjB,MAA8C,EAC9C,kBAA+B;QAE/B,IAAI,IAAA,mCAAqB,EAAC,IAAI,CAAC,EAAE;YAC7B,IAAI,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC3D,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;aACjF;iBAAM;gBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;SACJ;aAAM,IAAI,IAAA,gCAAkB,EAAC,IAAI,CAAC,EAAE;YACjC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACjG,IAAI,YAAY,EAAE;gBACd,IAAI,IAAA,mCAAqB,EAAC,YAAY,CAAC,EAAE;oBACrC,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;iBAC3E;qBAAM,IAAI,IAAA,gCAAkB,EAAC,YAAY,CAAC,IAAI,IAAA,mCAAqB,EAAC,YAAY,CAAC,EAAE;oBAChF,IAAI,CAAC,+BAA+B,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;iBAClF;aACJ;SACJ;IACL,CAAC;IAEO,+BAA+B,CACnC,IAAiB,EACjB,MAA8C,EAC9C,kBAA+B;;QAE/B,IAAI,IAAA,gCAAkB,EAAC,IAAI,CAAC,EAAE;YAC1B,IAAI,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC3D,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;aACzF;iBAAM;gBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;SACJ;aAAM,IAAI,IAAA,8CAAgC,EAAC,IAAI,CAAC,EAAE;YAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrB;aAAM,IAAI,IAAA,mCAAqB,EAAC,IAAI,CAAC,EAAE;YACpC,IAAI,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC3D,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC,oCAAoC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;aAC5F;iBAAM;gBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;SACJ;aAAM,IAAI,IAAA,gCAAkB,EAAC,IAAI,CAAC,EAAE;YACjC,MAAM,YAAY,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,YAAY,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACzG,IAAI,YAAY,IAAI,CAAC,IAAA,gCAAkB,EAAC,YAAY,CAAC,EAAE;gBACnD,IAAI,CAAC,+BAA+B,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;aAClF;SACJ;aAAM,IAAI,IAAA,mCAAqB,EAAC,IAAI,CAAC,EAAE;YACpC,sHAAsH;YACtH,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;YAEhE,kIAAkI;YAClI,mHAAmH;YACnH,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,aAAa,mCAAI,IAAI,CAAC,IAAI,CAAC;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI,EAAE;gBACP,OAAO;aACV;YAED,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBAC9C,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;aAC9F;iBAAM,IAAI,IAAA,4BAAoB,EAAC,IAAI,CAAC,EAAE;gBACnC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,gBAAS,CAAC,EAAE;oBAC3F,IAAI,CAAC,+BAA+B,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;iBAClF;aACJ;iBAAM,IAAI,IAAA,2BAAmB,EAAC,IAAI,CAAC,EAAE;gBAClC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;aAC/E;SACJ;IACL,CAAC;IAEO,2BAA2B,CAAC,IAAsB;QACtD,kFAAkF;QAClF,mFAAmF;QACnF,sEAAsE;QACtE,+EAA+E;QAC/E,+EAA+E;QAC/E,gFAAgF;QAChF,4FAA4F;QAC5F,6EAA6E;QAC7E,oEAAoE;QACpE,qEAAqE;QACrE,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACzB,oDAAoD;YACpD,OAAO,IAAI,CAAC;SACf;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,aAAa,EAAE;YAC/D,OAAO,IAAI,CAAC;SACf;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU,EAAE;YACb,OAAO,IAAI,CAAC;SACf;QAED,MAAM,QAAQ,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,IAAI,CAAC;SACf;QAED,4EAA4E;QAC5E,0DAA0D;QAC1D,MAAM,YAAY,GAAG,IAAA,wBAAY,EAC7B,UAAU,EACV,aAAa,EAAE;aACV,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;aAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAC1B,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,IAAI,CAAC;SACf;QAED,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;QACpC,eAAe,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAEhD,OAAO,eAAe,CAAC;QAEvB,SAAS,aAAa;YAClB,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACxB;oBACI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC5B;oBACI,OAAQ,IAAI,CAAC,IAAI,CAAC,MAAyB,CAAC,MAAM,CAAC;gBACvD;oBACI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC5B;oBACI,OAAO,IAAA,mBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrC;QACL,CAAC;IACL,CAAC;IAEO,yBAAyB,CAC7B,UAAkB,EAClB,IAAe,EACf,MAA8C,EAC9C,kBAA+B,EAC/B,YAAY,GAAG,KAAK;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAE7F,MAAM,QAAQ,GAAG,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1G,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,yBAAyB,CAAC,CAAC;QAEvG,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YAClC,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;SACzG;IACL,CAAC;IAEO,eAAe,CAAC,QAAgB,EAAE,YAAqB,EAAE,UAAmB;QAChF,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,IAAI,IAAI,CAAC,yCAAyC,CAAC,QAAQ,CAAC,EAAE;YAC1D,IAAA,6BAAW,EAAC,WAAW,EAAE,IAAI,CAAC,gCAAgC,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;SACvG;aAAM;YACH,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,cAAc,EAAE;gBAChB,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;aAC/C;SACJ;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAEO,wCAAwC,CAC5C,UAAsB,EACtB,UAAkB,EAClB,MAA8C,EAC9C,kBAA+B;;QAE/B,6EAA6E;QAC7E,4BAA4B;QAC5B,MAAM,KAAK,GAAG,MAAA,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,0CAAE,WAAW,CAAC;QACjE,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;SACV;QAED,0CAA0C;QAC1C,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;YACjC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,eAAe,EAAE,EAAE;gBACzC,IACI,CAAC,IAAA,gCAAkB,EAAC,IAAI,CAAC;oBACzB,CAAC,IAAI,CAAC,IAAI;oBACV,IAAI,CAAC,IAAI,CAAC,QAAQ,wBAA6B;oBAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAC7B;oBACE,SAAS;iBACZ;gBAED,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,MAAM,UAAU,EAAE,CAAC;gBACjD,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;oBAClC,SAAS;iBACZ;gBAED,gEAAgE;gBAChE,yEAAyE;gBACzE,6EAA6E;gBAC7E,QAAQ;gBACR,EAAE;gBACF,yEAAyE;gBACzE,4EAA4E;gBAC5E,YAAY;gBACZ,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAEjC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;oBAClC,MAAM,UAAU,GAAG,MAAA,UAAU,CAAC,eAAe,EAAE,0CAAE,SAAS,CAAC;oBAC3D,IAAI,CAAC,UAAU,EAAE;wBACb,SAAS;qBACZ;oBAED,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;oBACrE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;wBACpB,IAAI,CAAC,wCAAwC,CACzC,UAAU,EACV,UAAU,EACV,MAAM,EACN,kBAAkB,CACrB,CAAC;qBACL;yBAAM;wBACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;4BACtB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CACxD,IAAI;4BACJ,uBAAuB,CAAC,IAAI,CAC/B,CAAC;4BACF,IAAI,CAAC,YAAY,EAAE;gCACf,SAAS;6BACZ;4BAED,IAAI,IAAA,mCAAqB,EAAC,YAAY,CAAC,IAAI,IAAA,gCAAkB,EAAC,YAAY,CAAC,EAAE;gCACzE,IAAI,CAAC,+BAA+B,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;6BAClF;iCAAM,IAAI,IAAA,mCAAqB,EAAC,YAAY,CAAC,EAAE;gCAC5C,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;6BAC3E;yBACJ;qBACJ;iBACJ;aACJ;SACJ;IACL,CAAC;IAEO,yBAAyB,CAAC,IAA2B,EAAE,UAAkB;QAC7E,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,OAAO,EAAE,CAAC;SACb;QAED,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,EAAE,CAAC;QAExC,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;IACvB,CAAC;IAEO,iBAAiB,CAAC,IAAe;QACrC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,IAAI,OAAO,GAA0B,IAAI,CAAC;QAC1C,OAAO,OAAO,KAAK,SAAS,EAAE;YAC1B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,OAAO,GAAG,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACvD;QAED,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAEO,gCAAgC,CACpC,YAAoB,EACpB,YAAqB,EACrB,UAAmB;;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,uBAAuB,CACtC,YAAY,EACZ,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,MAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,CAAC,WAAW,EAAE,CACzD,CAAC;QACF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAS,CAAC,CAAC;IACnG,CAAC;IAEO,uBAAuB,CAAC,YAAoB,EAAE,QAA4B;QAC9E,6EAA6E;QAC7E,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1G,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,OAAO,OAAO,CAAC;SAClB;QAED,yEAAyE;QACzE,2DAA2D;QAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE/E,qEAAqE;QACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,sBAAsB,CACjD,kBAAkB,CAAC,CAAC,CAAC,EACrB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,YAAY,CACpB,CAAC;YACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,OAAO,OAAO,CAAC;aAClB;SACJ;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,sBAAsB,CAAC,YAAoB,EAAE,QAA4B;QAC7E,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,yCAAyC,CAAC,YAAY,CAAC,EAAE;YAC5E,qDAAqD;YACrD,OAAO,CAAC,YAAY,CAAC,CAAC;SACzB;aAAM;YACH,sEAAsE;YACtE,OAAO,IAAA,mCAAe,EAClB,QAAQ,EACR,YAAY,EACZ,CAAC,CAAC,EAAE,EAAE;gBACF,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACnD,OAAO,eAAe;oBAClB,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;oBACzE,CAAC,CAAC,EAAE,CAAC;YACb,CAAC,EACD,IAAI,CAAC,YAAY,CACpB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC,CAAC,CAAC;SACtE;IACL,CAAC;IAEO,yCAAyC,CAAC,QAAgB;QAC9D,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;QAED,qHAAqH;QACrH,OAAO,IAAI,CAAC,eAAe;aACtB,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;aAClE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IACtC,CAAC;CACJ;AA/uBD,oCA+uBC;AAED,SAAgB,UAAU,CAAC,QAAgB;IACvC,OAAO,IAAA,mCAAuB,EAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;AAC1F,CAAC;AAFD,gCAEC"}
@@ -617,7 +617,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
617
617
  break;
618
618
  }
619
619
  case 4 /* AssignmentExpression */: {
620
- typeResult = getTypeOfExpression(node.rightExpression);
620
+ typeResult = getTypeOfExpression(node.rightExpression, flags, inferenceContext);
621
621
  assignTypeToExpression(node.name, typeResult.type, !!typeResult.isIncomplete, node.rightExpression,
622
622
  /* ignoreEmptyContainers */ true);
623
623
  break;
@@ -1381,6 +1381,10 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
1381
1381
  return undefined;
1382
1382
  }
1383
1383
  function getBoundMagicMethod(classType, memberName, selfType, recursionCount = 0) {
1384
+ if (recursionCount > types_1.maxTypeRecursionCount) {
1385
+ return undefined;
1386
+ }
1387
+ recursionCount++;
1384
1388
  const boundMethodResult = getTypeOfBoundMember(
1385
1389
  /* errorNode */ undefined, classType, memberName,
1386
1390
  /* usage */ undefined,
@@ -1391,6 +1395,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
1391
1395
  if ((0, types_1.isFunction)(boundMethodResult.type) || (0, types_1.isOverloadedFunction)(boundMethodResult.type)) {
1392
1396
  return boundMethodResult.type;
1393
1397
  }
1398
+ if ((0, types_1.isClassInstance)(boundMethodResult.type)) {
1399
+ return getBoundMagicMethod(boundMethodResult.type, '__call__', selfType !== null && selfType !== void 0 ? selfType : types_1.ClassType.cloneAsInstance(classType), recursionCount);
1400
+ }
1394
1401
  if ((0, types_1.isAnyOrUnknown)(boundMethodResult.type)) {
1395
1402
  const unknownFunction = types_1.FunctionType.createSynthesizedInstance('', 32768 /* SkipArgsKwargsCompatibilityCheck */);
1396
1403
  types_1.FunctionType.addDefaultParameters(unknownFunction);
@@ -4027,23 +4034,34 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
4027
4034
  // Simulate a call to the access method.
4028
4035
  const argList = [];
4029
4036
  // Provide "obj" argument.
4037
+ let objArgType;
4038
+ if (types_1.ClassType.isClassProperty(concreteMemberType)) {
4039
+ // Handle "class properties" as a special case. We need to pass
4040
+ // the class rather than the object instance in this case.
4041
+ objArgType = classType;
4042
+ }
4043
+ else if (isAccessedThroughObject) {
4044
+ objArgType = selfType !== null && selfType !== void 0 ? selfType : types_1.ClassType.cloneAsInstance(classType);
4045
+ }
4046
+ else {
4047
+ objArgType = getNoneType();
4048
+ }
4030
4049
  argList.push({
4031
4050
  argumentCategory: 0 /* Simple */,
4032
- typeResult: {
4033
- type: types_1.ClassType.isClassProperty(concreteMemberType)
4034
- ? classType
4035
- : isAccessedThroughObject
4036
- ? selfType !== null && selfType !== void 0 ? selfType : types_1.ClassType.cloneAsInstance(classType)
4037
- : getNoneType(),
4038
- },
4051
+ typeResult: { type: objArgType },
4039
4052
  });
4040
4053
  if (usage.method === 'get') {
4054
+ let classArgType;
4055
+ if (selfType) {
4056
+ classArgType = (0, typeUtils_1.convertToInstantiable)(selfType);
4057
+ }
4058
+ else {
4059
+ classArgType = isAccessedThroughObject ? types_1.ClassType.cloneAsInstantiable(classType) : classType;
4060
+ }
4041
4061
  // Provide "owner" argument.
4042
4062
  argList.push({
4043
4063
  argumentCategory: 0 /* Simple */,
4044
- typeResult: {
4045
- type: isAccessedThroughObject ? types_1.ClassType.cloneAsInstantiable(classType) : classType,
4046
- },
4064
+ typeResult: { type: classArgType },
4047
4065
  });
4048
4066
  }
4049
4067
  else if (usage.method === 'set') {
@@ -6699,7 +6717,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
6699
6717
  // validation is left to the caller.
6700
6718
  // This logic is based on PEP 3102: https://www.python.org/dev/peps/pep-3102/
6701
6719
  function matchFunctionArgumentsToParameters(errorNode, argList, typeResult, overloadIndex) {
6702
- var _a, _b, _c, _d, _e, _f, _g, _h;
6720
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
6703
6721
  const paramDetails = (0, parameterUtils_1.getParameterListDetails)(typeResult.type);
6704
6722
  let argIndex = 0;
6705
6723
  let matchedUnpackedListOfUnknownLength = false;
@@ -6927,12 +6945,10 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
6927
6945
  listElementType = undefined;
6928
6946
  }
6929
6947
  else {
6930
- const valueExpr = argList[argIndex].valueExpression;
6931
- const iteratorType = valueExpr
6932
- ? (_d = getTypeOfIterator({ type: argType, isIncomplete: argTypeResult.isIncomplete },
6933
- /* isAsync */ false, valueExpr)) === null || _d === void 0 ? void 0 : _d.type
6934
- : undefined;
6935
- listElementType = iteratorType !== null && iteratorType !== void 0 ? iteratorType : types_1.UnknownType.create();
6948
+ listElementType =
6949
+ (_e = (_d = getTypeOfIterator({ type: argType, isIncomplete: argTypeResult.isIncomplete },
6950
+ /* isAsync */ false, errorNode,
6951
+ /* emitNotIterableError */ false)) === null || _d === void 0 ? void 0 : _d.type) !== null && _e !== void 0 ? _e : types_1.UnknownType.create();
6936
6952
  if (paramDetails.params[paramIndex].param.category !== 1 /* ArgsList */) {
6937
6953
  matchedUnpackedListOfUnknownLength = true;
6938
6954
  }
@@ -6964,7 +6980,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
6964
6980
  paramType,
6965
6981
  requiresTypeVarMatching: (0, typeUtils_1.requiresSpecialization)(paramType),
6966
6982
  argument: funcArg,
6967
- errorNode: (_e = argList[argIndex].valueExpression) !== null && _e !== void 0 ? _e : errorNode,
6983
+ errorNode: (_f = argList[argIndex].valueExpression) !== null && _f !== void 0 ? _f : errorNode,
6968
6984
  paramName,
6969
6985
  isParamNameSynthesized: paramDetails.params[paramIndex].param.isNameSynthesized,
6970
6986
  mapsToVarArgList: isParamVariadic && remainingArgCount > remainingParamCount,
@@ -7267,7 +7283,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
7267
7283
  paramType,
7268
7284
  requiresTypeVarMatching: (0, typeUtils_1.requiresSpecialization)(paramType),
7269
7285
  argument: argList[argIndex],
7270
- errorNode: (_f = argList[argIndex].valueExpression) !== null && _f !== void 0 ? _f : errorNode,
7286
+ errorNode: (_g = argList[argIndex].valueExpression) !== null && _g !== void 0 ? _g : errorNode,
7271
7287
  paramName: paramNameValue,
7272
7288
  });
7273
7289
  trySetActive(argList[argIndex], paramDetails.params[paramInfoIndex].param);
@@ -7283,7 +7299,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
7283
7299
  paramType,
7284
7300
  requiresTypeVarMatching: (0, typeUtils_1.requiresSpecialization)(paramType),
7285
7301
  argument: argList[argIndex],
7286
- errorNode: (_g = argList[argIndex].valueExpression) !== null && _g !== void 0 ? _g : errorNode,
7302
+ errorNode: (_h = argList[argIndex].valueExpression) !== null && _h !== void 0 ? _h : errorNode,
7287
7303
  paramName: paramNameValue,
7288
7304
  });
7289
7305
  // Remember that this parameter has already received a value.
@@ -7332,7 +7348,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
7332
7348
  requiresTypeVarMatching: false,
7333
7349
  argument: argList[argIndex],
7334
7350
  argType: (0, types_1.isParamSpec)(argType) ? undefined : types_1.AnyType.create(),
7335
- errorNode: (_h = argList[argIndex].valueExpression) !== null && _h !== void 0 ? _h : errorNode,
7351
+ errorNode: (_j = argList[argIndex].valueExpression) !== null && _j !== void 0 ? _j : errorNode,
7336
7352
  });
7337
7353
  }
7338
7354
  }
@@ -15199,7 +15215,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
15199
15215
  // the return type. If a list of args is provided, the inference logic may take
15200
15216
  // into account argument types to infer the return type.
15201
15217
  function getFunctionEffectiveReturnType(type, args, inferTypeIfNeeded = true) {
15202
- const specializedReturnType = types_1.FunctionType.getSpecializedReturnType(type);
15218
+ const specializedReturnType = types_1.FunctionType.getSpecializedReturnType(type, /* includeInferred */ false);
15203
15219
  if (specializedReturnType) {
15204
15220
  return adjustCallableReturnType(specializedReturnType, /* trackedSignatures */ undefined);
15205
15221
  }